/* ═══════════════════════════════════════════════════════════
   WATERMELON GHOST — PRINT DOCUMENT (PDF)
   Purpose-built A4 report layout. Namespace: .wgp
   Brand: JetBrains Mono labels · Space Grotesk text · WM red
   ═══════════════════════════════════════════════════════════ */

:root {
  --wgp-ink:    #111111;
  --wgp-soft:   #444444;
  --wgp-muted:  #666666;
  --wgp-dim:    #999999;
  --wgp-line:   #e2e2e2;
  --wgp-line2:  #d0d0d0;
  --wgp-bg:     #fafafa;
  --wgp-bg2:    #f3f3f3;
  --wgp-red:    #E8394A;
  --wgp-green:  #3DAA6B;
  --wgp-amber:  #F2A93C;
  --wgp-blue:   #2b9cc9;
  --wgp-red-a:  rgba(232,57,74,0.06);
  --wgp-green-a:rgba(61,170,107,0.08);
  --wgp-blue-a: rgba(43,156,201,0.07);
}

@page { size: A4; }

/* Hide app chrome when print doc is active */
body:has(.wgp) .r-nav,
body:has(.wgp) .r-footer,
body:has(.wgp) .r-sidebar,
body:has(.wgp) .r-mobile-menu,
body:has(.wgp) .r-toast { display: none !important; }
body:has(.wgp) { background: #fff; }

.wgp {
  background: #fff;
  color: var(--wgp-ink);
  font-family: 'Space Grotesk', sans-serif;
  font-size: 9.5px;
  line-height: 1.55;
  max-width: 740px;
  margin: 0 auto;
  padding: 24px;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}
@media print {
  .wgp { max-width: none; padding: 0; }
}

/* ── primitives ─────────────────────────────── */
.wgp .mono,
.wgp-label {
  font-family: 'JetBrains Mono', monospace;
}
.wgp-label {
  font-size: 6.5px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--wgp-dim);
}
.wgp-label.red { color: var(--wgp-red); }
.wgp p { margin: 0; }

.wgp-pb { break-after: page; }
.wgp-keep { break-inside: avoid; }

/* tags / pills */
.wgp-tag {
  display: inline-block;
  font-family: 'JetBrains Mono', monospace;
  font-size: 6.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  padding: 2px 6px 1.5px;
  border-radius: 2px;
  vertical-align: middle;
}
.wgp-tag.red    { color: var(--wgp-red);   background: rgba(232,57,74,0.10); }
.wgp-tag.green  { color: #2e8655;          background: rgba(61,170,107,0.13); }
.wgp-tag.amber  { color: #b07415;          background: rgba(242,169,60,0.16); }
.wgp-tag.blue   { color: #1d7ea6;          background: rgba(43,156,201,0.12); }
.wgp-tag.gray   { color: var(--wgp-muted); background: var(--wgp-bg2); }
.wgp-tag.outline{ color: #2e8655; background: none; border: 1px solid #7ec9a0; }

/* score bars */
.wgp-bar {
  height: 3px;
  background: #ececec;
  border-radius: 1.5px;
  overflow: hidden;
  margin-top: 4px;
}
.wgp-bar > div { height: 100%; border-radius: 1.5px; background: var(--wgp-amber); }
.wgp-bar > div.strong   { background: var(--wgp-green); }
.wgp-bar > div.critical { background: var(--wgp-red); }

/* severity value colors */
.wgp .v-strong   { color: #2e8655; }
.wgp .v-weak     { color: #b07415; }
.wgp .v-critical { color: var(--wgp-red); }

/* ── section headers ────────────────────────── */
.wgp-section { margin-top: 22px; }
.wgp-sec-head {
  display: flex;
  align-items: baseline;
  gap: 8px;
  padding-bottom: 6px;
  border-bottom: 2px solid var(--wgp-ink);
  margin-bottom: 12px;
  break-after: avoid;
}
.wgp-sec-head h2 {
  font-size: 16px;
  font-weight: 700;
  letter-spacing: -0.3px;
  line-height: 1.1;
  margin: 0;
}
.wgp-sec-head .pill {
  font-family: 'JetBrains Mono', monospace;
  font-size: 6.5px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--wgp-red);
  margin-left: auto;
  text-align: right;
}
.wgp-sub-head {
  display: flex;
  align-items: baseline;
  gap: 8px;
  border-bottom: 1px solid var(--wgp-line2);
  padding-bottom: 4px;
  margin: 16px 0 8px;
  break-after: avoid;
}
.wgp-sub-head h3 { font-size: 12px; font-weight: 700; margin: 0; letter-spacing: -0.2px; }
.wgp-sub-head .pill {
  font-family: 'JetBrains Mono', monospace;
  font-size: 6px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--wgp-red);
  margin-left: auto;
  text-align: right;
}
.wgp-eyebrow {
  font-family: 'JetBrains Mono', monospace;
  font-size: 7px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: var(--wgp-red);
  margin-bottom: 6px;
}
.wgp-eyebrow::before { content: "—— "; }

.wgp-intro { font-size: 9.5px; color: var(--wgp-soft); max-width: 560px; margin-bottom: 12px; }

/* ── cover ──────────────────────────────────── */
.wgp-cover-top {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  font-family: 'JetBrains Mono', monospace;
  font-size: 7px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--wgp-muted);
  padding-bottom: 8px;
  border-bottom: 2px solid var(--wgp-ink);
  margin-bottom: 14px;
}
.wgp-cover-top .wm { color: var(--wgp-ink); }
.wgp-hero {
  position: relative;
  margin-bottom: 18px;
  break-inside: avoid;
}
.wgp-hero img {
  width: 100%;
  height: 215px;
  object-fit: cover;
  display: block;
  filter: saturate(0.95);
}
.wgp-hero-tag {
  position: absolute;
  left: 14px;
  bottom: 14px;
  background: rgba(8,8,8,0.85);
  color: #fff;
  padding: 9px 12px;
  max-width: 230px;
}
.wgp-hero-tag .wgp-label { color: #999; margin-bottom: 3px; }
.wgp-hero-tag .name { font-size: 11px; font-weight: 700; }
.wgp-hero-tag .desc { font-size: 7.5px; color: #ccc; margin-top: 2px; }

.wgp-cover h1 {
  font-size: 42px;
  font-weight: 700;
  letter-spacing: -1.8px;
  line-height: 0.98;
  margin: 4px 0 2px;
}
.wgp-cover h1 .light { font-weight: 300; color: var(--wgp-muted); }
.wgp-cover .subtitle {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--wgp-soft);
  margin: 6px 0 16px;
}
.wgp-cover-meta {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  border-top: 1px solid var(--wgp-line);
  border-bottom: 1px solid var(--wgp-line);
  padding: 12px 0;
  margin-bottom: 16px;
}
.wgp-cover-meta .cell .wgp-label { margin-bottom: 3px; }
.wgp-cover-meta .cell .v   { font-size: 10px; font-weight: 600; line-height: 1.35; }
.wgp-cover-meta .cell .sub { font-size: 8px; color: var(--wgp-muted); margin-top: 1px; }

.wgp-cover-score {
  display: flex;
  gap: 22px;
  align-items: flex-start;
  background: var(--wgp-bg);
  border: 1px solid var(--wgp-line);
  border-left: 3px solid var(--wgp-red);
  padding: 16px 18px;
  margin-bottom: 14px;
  break-inside: avoid;
}
.wgp-cover-score .num {
  font-size: 54px;
  font-weight: 700;
  letter-spacing: -2.5px;
  line-height: 0.9;
}
.wgp-cover-score .over { font-family: 'JetBrains Mono', monospace; font-size: 10px; color: var(--wgp-dim); margin-left: 4px; }
.wgp-cover-score .left  { flex-shrink: 0; }
.wgp-cover-score .left .wgp-label { margin-bottom: 6px; }
.wgp-cover-score .left .pos { font-size: 8px; color: var(--wgp-muted); margin-top: 8px; max-width: 170px; line-height: 1.45; }
.wgp-cover-score .right { border-left: 1px solid var(--wgp-line2); padding-left: 22px; }
.wgp-cover-score .right .quote { font-size: 11.5px; font-weight: 600; font-style: italic; line-height: 1.5; letter-spacing: -0.1px; }
.wgp-cover-score .right .desc  { font-size: 8.5px; color: var(--wgp-muted); margin-top: 8px; }

.wgp-winter-snap {
  display: flex;
  gap: 22px;
  border: 1px solid var(--wgp-line);
  border-left: 3px solid var(--wgp-blue);
  background: var(--wgp-blue-a);
  padding: 13px 18px;
  break-inside: avoid;
}
.wgp-winter-snap .num { font-size: 30px; font-weight: 700; letter-spacing: -1.5px; line-height: 1; }
.wgp-winter-snap .left { flex: 1.2; }
.wgp-winter-snap .left .wgp-label { color: #1d7ea6; margin-bottom: 5px; }
.wgp-winter-snap .left .cap { font-size: 8px; color: var(--wgp-muted); margin-top: 6px; line-height: 1.5; }
.wgp-winter-snap .right { flex: 1; border-left: 1px solid rgba(43,156,201,0.25); padding-left: 22px; }
.wgp-winter-snap .right .wgp-label { margin-bottom: 4px; }
.wgp-winter-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  font-size: 8.5px;
  padding: 2.5px 0;
  border-bottom: 1px solid rgba(43,156,201,0.15);
}
.wgp-winter-row:last-child { border-bottom: none; }
.wgp-winter-row .n { color: var(--wgp-muted); }
.wgp-winter-row .s { font-weight: 700; }
.wgp-winter-row .g { font-family: 'JetBrains Mono', monospace; font-size: 7.5px; color: var(--wgp-red); min-width: 38px; text-align: right; }
.wgp-winter-row .g.pos { color: #2e8655; }

/* ── score band (dashboard/winter) ──────────── */
.wgp-band {
  display: flex;
  align-items: center;
  gap: 26px;
  background: var(--wgp-bg);
  border: 1px solid var(--wgp-line);
  border-left: 3px solid var(--wgp-red);
  padding: 13px 18px;
  margin-bottom: 14px;
  break-inside: avoid;
}
.wgp-band.blue { border-left-color: var(--wgp-blue); }
.wgp-band .num { font-size: 34px; font-weight: 700; letter-spacing: -1.6px; line-height: 1; }
.wgp-band .cell .wgp-label { margin-bottom: 4px; }
.wgp-band .cell .v { font-size: 11px; font-weight: 600; font-style: italic; }
.wgp-band .cell .sub { font-size: 8px; margin-top: 2px; }
.wgp-band .sep { width: 1px; align-self: stretch; background: var(--wgp-line2); }

/* ── key findings ───────────────────────────── */
.wgp-findings { display: grid; grid-template-columns: 1fr 1fr; gap: 0 22px; }
.wgp-finding {
  display: flex;
  gap: 8px;
  padding: 6px 0;
  border-bottom: 1px solid var(--wgp-line);
  break-inside: avoid;
}
.wgp-finding .n {
  font-family: 'JetBrains Mono', monospace;
  font-size: 8px;
  font-weight: 700;
  color: var(--wgp-red);
  flex-shrink: 0;
  padding-top: 1px;
}
.wgp-finding p { font-size: 8.5px; color: var(--wgp-soft); line-height: 1.5; }

/* ── decision moment rows ───────────────────── */
.wgp-moments { border-top: 1px solid var(--wgp-line2); }
.wgp-moment {
  display: grid;
  grid-template-columns: 64px 1fr 150px;
  gap: 14px;
  align-items: center;
  padding: 8px 0;
  border-bottom: 1px solid var(--wgp-line);
  break-inside: avoid;
}
.wgp-moment .code {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9px;
  font-weight: 700;
  color: var(--wgp-red);
  letter-spacing: 0.06em;
}
.wgp-moment .code .m { display: block; font-size: 6px; font-weight: 600; color: var(--wgp-dim); letter-spacing: 0.12em; margin-top: 1px; }
.wgp-moment .name { font-size: 11px; font-weight: 700; }
.wgp-moment .q { font-size: 7.5px; color: var(--wgp-muted); margin-top: 1px; }
.wgp-moment .score { text-align: right; }
.wgp-moment .score .row { display: flex; align-items: baseline; justify-content: flex-end; gap: 7px; }
.wgp-moment .score .v { font-size: 17px; font-weight: 700; letter-spacing: -0.5px; }

/* ── deep dives 2-up ────────────────────────── */
.wgp-dives { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.wgp-dive {
  border: 1px solid var(--wgp-line);
  border-top: 2px solid var(--wgp-amber);
  padding: 10px 12px;
  break-inside: avoid;
}
.wgp-dive.strong { border-top-color: var(--wgp-green); }
.wgp-dive .head { display: flex; align-items: baseline; gap: 6px; margin-bottom: 2px; }
.wgp-dive .head h4 { font-size: 11.5px; font-weight: 700; margin: 0; }
.wgp-dive .head .v { font-size: 15px; font-weight: 700; margin-left: auto; letter-spacing: -0.4px; }
.wgp-dive .head .over { font-family: 'JetBrains Mono', monospace; font-size: 7px; color: var(--wgp-dim); }
.wgp-dive .plats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 6px;
  margin: 8px 0 7px;
  padding: 6px 8px;
  background: var(--wgp-bg);
}
.wgp-dive .plats .cell .wgp-label { font-size: 5.5px; margin-bottom: 1px; }
.wgp-dive .plats .cell .pv { font-size: 10.5px; font-weight: 700; }
.wgp-dive p { font-size: 8px; color: var(--wgp-soft); line-height: 1.5; }
.wgp-dive p.note { font-size: 7.5px; color: var(--wgp-dim); font-style: italic; margin-top: 4px; }

/* ── callouts ───────────────────────────────── */
.wgp-callout {
  border: 1px solid var(--wgp-line);
  background: var(--wgp-bg);
  padding: 10px 14px;
  margin-top: 12px;
  break-inside: avoid;
}
.wgp-callout.alert { background: var(--wgp-red-a); border-color: rgba(232,57,74,0.25); }
.wgp-callout.blue  { background: var(--wgp-blue-a); border-color: rgba(43,156,201,0.3); }
.wgp-callout .wgp-label { margin-bottom: 4px; }
.wgp-callout p { font-size: 8.5px; color: var(--wgp-soft); line-height: 1.55; }

/* ── quote block ────────────────────────────── */
.wgp-quote {
  border-left: 3px solid var(--wgp-red);
  background: var(--wgp-bg);
  padding: 13px 18px;
  margin-top: 14px;
  break-inside: avoid;
}
.wgp-quote h3 { font-size: 13px; font-weight: 600; font-style: italic; letter-spacing: -0.2px; line-height: 1.4; margin: 0 0 6px; }
.wgp-quote p { font-size: 8.5px; color: var(--wgp-soft); }

/* ── tables ─────────────────────────────────── */
.wgp-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 8.5px;
}
.wgp-table th {
  font-family: 'JetBrains Mono', monospace;
  font-size: 6px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--wgp-dim);
  text-align: left;
  padding: 4px 8px 4px 0;
  border-bottom: 1.5px solid var(--wgp-ink);
}
.wgp-table td {
  padding: 4.5px 8px 4.5px 0;
  border-bottom: 1px solid var(--wgp-line);
  color: var(--wgp-soft);
  vertical-align: top;
}
.wgp-table td.name { font-weight: 600; color: var(--wgp-ink); }
.wgp-table td.num  { font-family: 'JetBrains Mono', monospace; font-size: 8px; }
.wgp-table td.num.accent { color: var(--wgp-red); font-weight: 700; }
.wgp-table tr.self td { background: rgba(232,57,74,0.05); }
.wgp-table tr.self td.name { color: var(--wgp-red); }
.wgp-table tr { break-inside: avoid; }
.wgp-table .dist { width: 110px; height: 4px; background: #ececec; border-radius: 2px; margin-top: 3px; overflow: hidden; }
.wgp-table .dist > div { height: 100%; background: #b5b5b5; border-radius: 2px; }
.wgp-table .dist > div.self { background: var(--wgp-red); }
.wgp-tnote { font-size: 7.5px; color: var(--wgp-dim); margin-top: 6px; line-height: 1.5; }

/* ── zero-mention gap cards ─────────────────── */
.wgp-zm {
  border: 1px solid var(--wgp-line);
  border-left: 3px solid var(--wgp-red);
  padding: 9px 12px;
  margin-bottom: 8px;
  break-inside: avoid;
}
.wgp-zm.uncontested { border-left-color: var(--wgp-green); }
.wgp-zm .head { display: flex; align-items: baseline; gap: 8px; margin-bottom: 5px; }
.wgp-zm .head h4 { font-size: 10px; font-weight: 700; margin: 0; letter-spacing: -0.1px; }
.wgp-zm .head .meta { margin-left: auto; display: flex; gap: 5px; align-items: baseline; flex-shrink: 0; }
.wgp-zm .grid { display: grid; grid-template-columns: 150px 1fr; gap: 3px 14px; }
.wgp-zm .cell .wgp-label { margin-bottom: 1px; }
.wgp-zm .cell .v { font-size: 8px; color: var(--wgp-soft); line-height: 1.5; }
.wgp-zm .cell .v.name { font-weight: 600; color: var(--wgp-ink); }

/* ── competitor cards ───────────────────────── */
.wgp-comp {
  border: 1px solid var(--wgp-line);
  padding: 10px 12px;
  margin-bottom: 8px;
  break-inside: avoid;
}
.wgp-comp .head { display: flex; align-items: baseline; gap: 8px; margin-bottom: 7px; }
.wgp-comp .head h4 { font-size: 11px; font-weight: 700; margin: 0; }
.wgp-comp .stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  background: var(--wgp-bg);
  padding: 7px 10px;
  margin-bottom: 6px;
}
.wgp-comp .stats .cell .wgp-label { font-size: 5.5px; margin-bottom: 1px; }
.wgp-comp .stats .cell .v { font-size: 11px; font-weight: 700; }
.wgp-comp .stats .cell .v.accent { color: var(--wgp-red); }
.wgp-comp .terr { font-size: 8px; color: var(--wgp-soft); margin-bottom: 4px; }
.wgp-comp .terr b { color: var(--wgp-ink); font-weight: 600; }
.wgp-comp p.desc { font-size: 8px; color: var(--wgp-muted); line-height: 1.5; }

/* ── action cards ───────────────────────────── */
.wgp-tier-head {
  margin: 18px 0 10px;
  padding-bottom: 5px;
  border-bottom: 2px solid var(--wgp-ink);
  break-after: avoid;
}
.wgp-tier-head h3 { font-size: 14px; font-weight: 800; letter-spacing: -0.2px; margin: 0; }
.wgp-tier-head .sub {
  font-family: 'JetBrains Mono', monospace;
  font-size: 6.5px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--wgp-red);
  margin-top: 2px;
}
.wgp-action {
  border: 1px solid var(--wgp-line);
  margin-bottom: 10px;
}
.wgp-action .strip {
  font-family: 'JetBrains Mono', monospace;
  font-size: 6.5px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--wgp-red);
  background: var(--wgp-bg2);
  padding: 4px 12px;
  break-after: avoid;
}
.wgp-action .body { padding: 9px 12px 10px; }
.wgp-action h4 { font-size: 11px; font-weight: 700; margin: 0 0 6px; break-after: avoid; }
.wgp-ghost {
  border-left: 2px solid var(--wgp-amber);
  background: var(--wgp-bg);
  padding: 6px 10px;
  margin-bottom: 6px;
}
.wgp-ghost .wgp-label { color: #b07415; margin-bottom: 2px; }
.wgp-ghost p { font-size: 8px; color: var(--wgp-soft); line-height: 1.5; margin-bottom: 4px; }
.wgp-ghost p:last-child { margin-bottom: 0; }
.wgp-action .ctx { font-size: 8px; color: var(--wgp-soft); line-height: 1.5; margin-bottom: 6px; }
.wgp-action .move-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 6.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--wgp-red);
  margin-bottom: 4px;
  break-after: avoid;
}
.wgp-check { list-style: none; margin: 0; padding: 0; }
.wgp-check li {
  position: relative;
  padding: 3px 0 3px 14px;
  font-size: 8px;
  color: var(--wgp-soft);
  line-height: 1.5;
  border-bottom: 1px solid #f0f0f0;
  break-inside: avoid;
}
.wgp-check li:last-child { border-bottom: none; }
.wgp-check li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 6px;
  width: 6px;
  height: 6px;
  border: 1px solid var(--wgp-line2);
  border-radius: 1px;
}
.wgp-action .foot {
  display: flex;
  gap: 18px;
  border-top: 1px solid var(--wgp-line);
  margin-top: 7px;
  padding-top: 5px;
  break-inside: avoid;
}
.wgp-action .foot span {
  font-family: 'JetBrains Mono', monospace;
  font-size: 6.5px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--wgp-dim);
  line-height: 1.6;
}
.wgp-action .foot span:first-child { color: var(--wgp-soft); font-weight: 700; flex-shrink: 0; }
.wgp-action .atext { font-size: 8px; color: var(--wgp-soft); line-height: 1.55; }
.wgp-action .atext p { margin-bottom: 5px; }
.wgp-action .atext p:last-child { margin-bottom: 0; }

/* today callout */
.wgp-today {
  border: 1px solid rgba(232,57,74,0.3);
  border-left: 3px solid var(--wgp-red);
  background: var(--wgp-red-a);
  padding: 11px 14px;
  margin-bottom: 14px;
  break-inside: avoid;
}
.wgp-today .wgp-label { color: var(--wgp-red); margin-bottom: 5px; }
.wgp-today p { font-size: 8.5px; color: var(--wgp-soft); line-height: 1.55; margin-bottom: 6px; }
.wgp-today p.action { font-weight: 600; color: var(--wgp-ink); margin-bottom: 0; }

/* what not to do */
.wgp-warnings { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.wgp-warning {
  border: 1px solid var(--wgp-line);
  padding: 8px 11px;
  break-inside: avoid;
}
.wgp-warning h4 { font-size: 9.5px; font-weight: 700; margin: 0 0 3px; color: var(--wgp-red); }
.wgp-warning p { font-size: 7.5px; color: var(--wgp-muted); line-height: 1.5; }

/* ── doc footer ─────────────────────────────── */
.wgp-doc-footer {
  margin-top: 26px;
  padding-top: 10px;
  border-top: 2px solid var(--wgp-ink);
  text-align: center;
  font-family: 'JetBrains Mono', monospace;
  font-size: 7px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--wgp-dim);
  line-height: 1.8;
}
