/* Print: the one-page scout card.

   Loaded with media="print", so these rules are unconditional inside this
   file — no inner @media wrapper. That also lets ?preview=print re-link it
   as media="all" and check the printed layout on screen.

   Inverted to light on purpose. A dark card burns a cartridge and the
   percentile fills die on the page. Every bar keeps an explicit border and
   every coloured cell carries a printed number, so meaning survives a mono
   printer and forced-colors mode alike. */

@page {
  size: A4 portrait;
  margin: 10mm 9mm;
}

:root {
  --bg: #fff;
  --panel: #fff;
  --panel-2: #fafafa;
  --hair: #b9bec6;
  --grid: #dcdfe4;
  --ink: #14171c;
  --ink-2: #4a505a;
  --ink-3: #6d747e;
  --ink-hi: #000;
  --win: #1c7a48;
  --loss: #a4302f;
  --atk: #b2432f;
  --def: #14685e;
}

* {
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

html, body {
  background: #fff !important;
  color: #14171c !important;
  font-size: 8.4pt;
  line-height: 1.32;
}
body { padding-top: 0; }

.topbar, footer.site, .team-head, .noprint, .tabs { display: none !important; }

/* A disclosure is a screen affordance: on paper there is nothing to click,
   so anything collapsed prints open. Print must never lose a fact that the
   screen merely folded away. */
details > summary { list-style: none; }
details > summary::-webkit-details-marker { display: none; }
details > summary::before { content: none !important; }
details > *:not(summary) { display: block !important; }
main { min-height: 0; padding: 0; }
.shell { max-width: none; padding: 0; margin: 0; }
a { color: inherit !important; text-decoration: none !important; }
a[href]::after { content: none !important; }

/* -------- card -------- */
.card { display: block; }

.card-head {
  display: flex; align-items: flex-start; gap: 10mm;
  border-bottom: 1.4pt solid #14171c; padding-bottom: 2.5mm; margin-bottom: 3mm;
  break-inside: avoid;
}
.card-eyebrow {
  font-size: 6.6pt; letter-spacing: .16em; text-transform: uppercase; color: #6d747e;
  font-weight: 700;
}
.card-head h1 { font-size: 19pt; letter-spacing: -.01em; margin: .6mm 0 .4mm; }
.card-sub { font-size: 7.2pt; color: #4a505a; }
.card-rec { display: flex; gap: 6mm; margin-left: auto; text-align: right; }
.card-rec div b {
  display: block; font-size: 13pt; font-weight: 650; line-height: 1;
  font-variant-numeric: proportional-nums;
}
.card-rec div span {
  display: block; font-size: 6.2pt; letter-spacing: .1em; text-transform: uppercase;
  color: #6d747e; margin-top: .6mm;
}

.card-row {
  display: grid; grid-template-columns: 1fr 1fr; gap: 6mm;
  margin-bottom: 3.5mm; break-inside: avoid;
}
.card-row:has(.wide) { grid-template-columns: 78mm 1fr; }
.card-block { break-inside: avoid; min-width: 0; }

.card-block h2 {
  font-size: 7pt; letter-spacing: .14em; text-transform: uppercase; font-weight: 800;
  color: #14171c; border-bottom: .6pt solid #14171c; padding-bottom: .8mm;
  margin: 0 0 1.6mm;
}
.card-block h2:not(:first-child) { margin-top: 4mm; }

.card-list { list-style: none; margin: 0 0 1mm; padding: 0; }
.card-list li { margin-bottom: 1.4mm; font-size: 8pt; }
.card-list li b { font-weight: 700; }

.dimtext { color: #5a616b; font-size: 7pt; }
.n { color: #6d747e; font-size: 6.8pt; }

.exploitline {
  font-size: 7.4pt; margin: 1mm 0 0; padding-left: 2mm;
  border-left: 1.2pt solid #14171c;
}

/* -------- card tables -------- */
.cardtbl { width: 100%; border-collapse: collapse; font-size: 7.4pt; }
.cardtbl th {
  font-size: 6.2pt; letter-spacing: .07em; text-transform: uppercase; color: #4a505a;
  font-weight: 700; text-align: right; border-bottom: .5pt solid #9aa0a8;
  padding: 0 1.4mm .6mm;
}
.cardtbl th:first-child, .cardtbl td:first-child, .cardtbl .l { text-align: left; padding-left: 0; }
.cardtbl td {
  text-align: right; padding: .7mm 1.4mm; border-bottom: .4pt solid #e2e5e9;
  font-variant-numeric: tabular-nums;
}
.cardtbl tfoot td {
  border: 0; font-size: 6.4pt; color: #6d747e; text-align: left; padding-top: 1mm;
}
.cardtbl tr.dimrow td { color: #8a9099; }

.agents { margin: 0; display: flex; flex-wrap: wrap; gap: 1mm 2mm; font-size: 7.2pt; }
.agents span {
  border: .5pt solid #b9bec6; border-left: 1.4pt solid #14171c;
  padding: .5mm 1.4mm; border-radius: .6mm;
}
.agents.flex span { border-left-style: dashed; }
.agents b { text-transform: capitalize; }
.agents i { color: #6d747e; font-style: normal; }

/* -------- plane in print -------- */
.cardplane .plane { width: 100%; height: auto; }
.cardplane .plane .ghost { fill: #b3b8c0; opacity: .75; }
.cardplane .plane .ell { fill: #d8dde4; stroke: #9aa0a8; stroke-width: .3; }
.cardplane .plane .pt { fill: #14171c !important; stroke: #fff; stroke-width: .6; }
.cardplane .plane .plab { fill: #14171c; font-size: 3.2px; }
.cardplane .plane .qlab { fill: #6d747e; }
.cardplane .plane .tick { fill: #6d747e; }
.cardplane .plane .axtitle { fill: #4a505a; }
.cardplane .plane .gridline { stroke: #e2e5e9; }
.cardplane .plane .midline { stroke: #6d747e; }
.cardplane .plane .axisline { stroke: #9aa0a8; }

.card-foot {
  border-top: .8pt solid #14171c; padding-top: 1.8mm; margin-top: 2mm;
  display: grid; gap: .8mm; font-size: 6.4pt; color: #4a505a;
  break-inside: avoid;
}
.card-foot b { color: #14171c; }
.card-foot .src { color: #8a9099; letter-spacing: .06em; }

/* -------- generic pages, if someone prints one -------- */
.panel { border: .5pt solid #b9bec6; background: #fff; break-inside: avoid; }
.sec h2 { color: #14171c; }
.strip { background: #f1f3f5; border: .4pt solid #dcdfe4; }
.strip .tick { background: #8a9099; opacity: 1; }
.strip .dot { background: #14171c !important; box-shadow: none; }
.tbl td, .tbl th { border-color: #dcdfe4; }
h2, h3 { break-after: avoid; }
table, figure, .headline, .pressure, .series { break-inside: avoid; }
