/* =========================================================================
   ShadowGraph Intelligence — SGI-2026-CIB-002
   The Fake Academics · impersonation-network report · body styles.
   Masthead / sticky nav / closing / footer come from ../assets/sgi-chrome.css;
   the main-site header comes from ../assets/sitenav.css. This sheet styles
   only the report body.
   ========================================================================= */

:root{
  --bg:#f4f6f8; --bg-2:#eaedf1; --card:#ffffff; --card-2:#f7f9fb;
  --ink:#141e2d; --ink-soft:#33404f; --ink-faint:#65727f; --ink-ghost:#8e939c;
  --rule:#dde2e8; --rule-soft:#e9edf1;

  --amber:#b6913f; --amber-bright:#d2ae5b; --amber-deep:#8a6b2c; --amber-wash:#f3ecda;
  --brass:#c69a3e; --brass-soft:#dcb866; --brass-wash:#f5ecd6;
  --oxblood:#bd5638; --oxblood-deep:#9a4329; --oxblood-wash:#f6e6df;
  --slate:#5f7e96; --slate-wash:#e6ecf1;
  --purple:#7b6aa8; --purple-wash:#ebe7f3;
  --good:#2f7d57; --good-wash:#e3efe7;

  --dark:#0a0a0c; --dark-2:#121215; --dark-3:#1b1c22; --dark-rule:#2a2b31;
  --on-dark:#ffffff; --on-dark-soft:#c8cacf; --on-dark-faint:#a3a6ad;

  --serif:'Space Grotesk','Segoe UI',Arial,sans-serif;
  --display:'Space Grotesk','Segoe UI',Arial,sans-serif;
  --sans:'IBM Plex Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,system-ui,sans-serif;
  --mono:'IBM Plex Mono','SFMono-Regular',ui-monospace,'Cascadia Mono',Consolas,monospace;

  --maxw:1120px; --measure:680px; --gutter:clamp(16px,4vw,40px);
  --radius:4px; --radius-lg:9px;
  --shadow:0 1px 2px rgba(20,30,45,.05),0 10px 30px -20px rgba(20,30,45,.30);
  --shadow-card:0 1px 0 var(--rule),0 14px 34px -26px rgba(20,30,45,.34);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%; scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto} }

body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:var(--sans); font-size:17px; line-height:1.62;
  font-feature-settings:"kern" 1,"liga" 1; text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
img,svg{max-width:100%; height:auto; display:block}
/* inline content images must shrink on phones */
.section img{max-width:min(720px,100%)}
a{color:var(--amber-deep); text-decoration:none; border-bottom:1px solid rgba(182,145,63,.35)}
a:hover{color:var(--amber); border-bottom-color:var(--amber)}
::selection{background:rgba(182,145,63,.26)}

.wrap{max-width:var(--maxw); margin:0 auto; padding:0 var(--gutter)}
.measure{max-width:var(--measure)}
.section{padding:clamp(40px,7vw,84px) 0; border-top:1px solid var(--rule)}
p{margin:0 0 1.05em}
.muted{color:var(--ink-faint)}

/* eyebrows / headings ---------------------------------------------------- */
.section-eyebrow{
  font-family:var(--mono); font-weight:700; font-size:.82rem;
  letter-spacing:.08em; text-transform:uppercase; color:var(--amber-deep);
  display:flex; align-items:baseline; gap:.7em; margin:0 0 .2em;
}
.section-eyebrow::before{content:"// "; color:var(--amber); font-weight:600}
.section-eyebrow .num{color:var(--amber); font-variant-numeric:tabular-nums}
.section-title{
  font-family:var(--serif); font-weight:600; line-height:1.12;
  font-size:clamp(1.6rem,3.4vw,2.5rem); letter-spacing:-.01em;
  margin:.1em 0 .15em; color:var(--ink);
}
.section-sub{font-family:var(--sans); color:var(--ink-faint);
  font-size:clamp(1rem,1.9vw,1.15rem); margin:0 0 1.6em}
h3{font-family:var(--serif); font-weight:600; font-size:1.3rem; letter-spacing:-.01em; margin:1.8em 0 .5em}
h3.sub-h{margin-top:2em}
h4{font-family:var(--sans); font-weight:700; font-size:.95rem; letter-spacing:.02em; margin:1.4em 0 .4em}

/* callouts --------------------------------------------------------------- */
.callout{border:1px solid var(--rule); border-left-width:4px; background:var(--card);
  border-radius:var(--radius); padding:clamp(16px,3vw,24px); margin:1.8em 0; box-shadow:var(--shadow)}
.callout .label{font-family:var(--sans); font-weight:700; font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; margin-bottom:.5em; display:flex; align-items:center; gap:.6em}
.callout.scope{border-left-color:var(--brass); background:linear-gradient(180deg,var(--brass-wash),var(--card))}
.callout.scope .label{color:var(--brass)}
.callout.key{border-left-color:var(--amber); background:linear-gradient(180deg,var(--amber-wash),var(--card))}
.callout.key .label{color:var(--amber-deep)}
.callout.key .big{font-family:var(--serif); font-size:clamp(1.2rem,2.6vw,1.6rem); line-height:1.3; color:var(--ink)}
.callout.warn{border-left-color:var(--oxblood); background:linear-gradient(180deg,var(--oxblood-wash),var(--card))}
.callout.warn .label{color:var(--oxblood)}
.callout.neg{border-left-color:var(--purple); background:linear-gradient(180deg,var(--purple-wash),var(--card))}
.callout.neg .label{color:var(--purple)}
.callout p:last-child{margin-bottom:0}
.callout ul{margin:.3em 0 0; padding-left:1.2em}
.callout li{margin:.35em 0; font-size:.95rem; color:var(--ink-soft)}
.callout li b{color:var(--ink)}

/* tier / lead badges ------------------------------------------------------ */
.tier{display:inline-flex; align-items:center; gap:.45em; font-family:var(--mono); font-weight:700; font-size:.6rem; letter-spacing:.08em; text-transform:uppercase; padding:.3em .6em; border-radius:3px; border:1px solid; vertical-align:middle}
.tier.proven{color:#1c5b3b; background:var(--good-wash); border-color:#bcd9c8}
.tier.probable{color:var(--amber-deep); background:var(--brass-wash); border-color:#e4d3a3}
.tier.lead{color:var(--oxblood-deep); background:var(--oxblood-wash); border-color:#e6c9c4}
.tier.neg{color:var(--purple); background:var(--purple-wash); border-color:#cfc8e0}
.tier.floor{color:var(--ink-faint); background:var(--bg-2); border-color:var(--rule)}

/* chips ------------------------------------------------------------------- */
.chip{display:inline-flex; align-items:center; gap:.4em; font-family:var(--sans); font-weight:700;
  font-size:.62rem; letter-spacing:.1em; text-transform:uppercase; padding:.3em .6em; border-radius:3px;
  background:var(--bg-2); color:var(--ink-soft); border:1px solid var(--rule); white-space:nowrap}
.chip.dot::before{content:""; width:7px; height:7px; border-radius:50%; background:currentColor}
.chip.amber{color:var(--amber-deep); background:var(--amber-wash); border-color:#e4d3a3}
.chip.red{color:var(--oxblood); background:var(--oxblood-wash); border-color:#e6c9c4}

/* stat rows --------------------------------------------------------------- */
.statrow{display:flex; flex-wrap:wrap; gap:10px; margin:1.3em 0}
.statrow .bigstat{flex:1 1 150px; background:var(--card); border:1px solid var(--rule); border-left:4px solid var(--amber); border-radius:var(--radius); padding:14px 16px; box-shadow:var(--shadow)}
.statrow .bigstat .n{font-family:var(--serif); font-weight:600; font-size:clamp(1.5rem,3vw,2.1rem); color:var(--amber-deep); font-variant-numeric:tabular-nums; line-height:1}
.statrow .bigstat .l{font-size:.82rem; color:var(--ink-soft); margin-top:.45em; line-height:1.35}
.statrow .bigstat.alarm{border-left-color:var(--oxblood)} .statrow .bigstat.alarm .n{color:var(--oxblood)}
.statrow .bigstat.good{border-left-color:var(--good)} .statrow .bigstat.good .n{color:var(--good)}

/* grids / cards ------------------------------------------------------------ */
.grid{display:grid; gap:16px}
.grid.cols-2{grid-template-columns:repeat(2,1fr)}
.card{background:var(--card); border:1px solid var(--rule); border-radius:var(--radius-lg); padding:clamp(16px,2.4vw,22px); box-shadow:var(--shadow-card)}
.card h3{margin-top:0}
.factlist{list-style:none; margin:.3em 0 0; padding:0}
.factlist li{padding:.42em 0; border-top:1px solid var(--rule-soft); font-size:.92rem; color:var(--ink-soft); line-height:1.45}
.factlist li:first-child{border-top:none}
.factlist b{color:var(--ink)}

/* charts ------------------------------------------------------------------- */
.viz{background:var(--card); border:1px solid var(--rule); border-radius:var(--radius-lg); padding:clamp(14px,2.4vw,22px); box-shadow:var(--shadow-card); margin:1.4em 0}
.viz .viz-head{display:flex; flex-wrap:wrap; justify-content:space-between; align-items:baseline; gap:8px; margin-bottom:8px}
.viz .viz-title{font-weight:700; font-size:.95rem}
.viz .viz-src{font-family:var(--mono); font-size:.72rem; color:var(--ink-ghost)}
.viz svg{width:100%; height:auto; overflow:visible}
.viz .legend{display:flex; flex-wrap:wrap; gap:12px; margin-top:10px; font-size:.78rem; color:var(--ink-soft)}
.viz .legend .key{display:inline-flex; align-items:center; gap:.45em}
.viz .legend .sw{width:12px; height:12px; border-radius:3px; display:inline-block}
.gridline{stroke:var(--rule-soft); stroke-dasharray:2 3}
.bar{transition:opacity .15s}
.bar:hover{opacity:.82}
.fig-cap{font-family:var(--mono); font-size:.76rem; color:var(--ink-faint); margin:.5em 0 0; letter-spacing:.01em; line-height:1.55}

/* tooltip ------------------------------------------------------------------ */
.tooltip{position:fixed; z-index:60; max-width:290px; background:var(--ink); color:#f2f4f6; padding:10px 12px;
  border-radius:6px; font-size:.82rem; line-height:1.4; pointer-events:none; opacity:0; transform:translateY(4px);
  transition:opacity .12s,transform .12s; box-shadow:0 10px 30px -10px rgba(0,0,0,.5)}
.tooltip.on{opacity:1; transform:translateY(0)}
.tooltip .tt-title{font-weight:700; margin-bottom:3px}
.tooltip .tt-sub{color:#c1c8d0; font-size:.74rem}

/* BLUF band ---------------------------------------------------------------- */
.bluf-band{background:linear-gradient(180deg,var(--bg-2),var(--bg)); border-top:1px solid var(--rule); border-bottom:1px solid var(--rule)}
.bluf{counter-reset:bl; list-style:none; margin:1.2em 0 1.1em; padding:0; display:grid; gap:13px; max-width:880px}
.bluf li{position:relative; padding:15px 18px 15px 62px; background:var(--card); border:1px solid var(--rule); border-left:4px solid var(--amber); border-radius:var(--radius); box-shadow:var(--shadow); font-size:1.02rem; line-height:1.5; counter-increment:bl}
.bluf li::before{content:counter(bl); position:absolute; left:0; top:0; bottom:0; width:46px; display:flex; align-items:center; justify-content:center; font-family:var(--serif); font-weight:600; font-size:1.4rem; color:var(--amber-deep); background:var(--amber-wash); border-right:1px solid var(--rule)}
.bluf li .tier{margin-left:.5em}
.bluf-note{font-size:.9rem; color:var(--ink-faint); max-width:880px; line-height:1.55}

/* origin exhibit ------------------------------------------------------------ */
.bluf-exhibit{margin:1.6em auto 1.3em; max-width:560px; text-align:center}
.bluf-exhibit-cap{font-size:.94rem; color:var(--ink-soft); margin:0 0 .8em; line-height:1.5}
.post-shot{display:block; border:1px solid var(--rule); border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-card); background:#fff; text-decoration:none; border-bottom:none; transition:border-color .15s ease, transform .15s ease}
.post-shot img{display:block; width:100%; height:auto; max-width:100%}
.post-shot-tag{display:block; font-family:var(--mono); font-size:.72rem; color:var(--amber-deep); padding:8px 12px; border-top:1px solid var(--rule); background:var(--card-2); text-align:left}
.post-shot:hover{border-color:var(--amber); transform:translateY(-2px)}
.origin-quote{margin:1.2em 0; padding:16px 20px; border-left:3px solid var(--amber); background:var(--card); border-radius:var(--radius); box-shadow:var(--shadow); text-align:left; font-size:1rem; line-height:1.6; color:var(--ink-soft); font-style:italic}
.origin-quote b{color:var(--ink)}

/* quote / artifact cards ---------------------------------------------------- */
.post{background:var(--card); border:1px solid var(--rule); border-radius:var(--radius-lg); padding:18px 18px 14px; box-shadow:var(--shadow-card); position:relative}
.post .funcs{display:flex; flex-wrap:wrap; gap:6px; margin-bottom:11px}
.post .head{display:flex; align-items:center; gap:11px; margin-bottom:10px}
.post .avatar{width:42px; height:42px; border-radius:50%; flex:0 0 42px; overflow:hidden; background:
  radial-gradient(circle at 30% 30%, var(--amber-bright), var(--amber-deep)); color:#fff;
  display:grid; place-items:center; font-family:var(--serif); font-weight:600; font-size:1.05rem}
.post .avatar img{width:100%; height:100%; object-fit:cover}
.post .who{line-height:1.2}
.post .who .name{font-weight:700; font-size:.96rem}
.post .who .handle{color:var(--ink-faint); font-size:.84rem}
.post .body{font-size:1.02rem; line-height:1.5; margin:.2em 0 .7em}
.post .body[dir=rtl]{text-align:right; line-height:1.75}
.post .trans{font-size:.95rem; line-height:1.5; color:var(--ink-soft); font-style:italic; margin:0 0 .7em}
.post .signif{font-size:.86rem; color:var(--ink-soft); border-top:1px dashed var(--rule); padding-top:.6em; margin:0}
.post .metrics{display:flex; flex-wrap:wrap; gap:14px; padding-top:10px; border-top:1px solid var(--rule-soft); margin-top:.7em; font-size:.78rem; color:var(--ink-faint); font-family:var(--mono)}
.post .metrics a{border-bottom:none; font-weight:600}
.quote-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(310px,1fr)); gap:14px; margin:1.2em 0}

/* roster cards --------------------------------------------------------------- */
.roster{display:grid; grid-template-columns:repeat(auto-fill,minmax(255px,1fr)); gap:14px; margin:1.2em 0}
.rcard{background:var(--card); border:1px solid var(--rule); border-top:3px solid var(--slate); border-radius:var(--radius-lg); padding:15px 16px; box-shadow:var(--shadow-card); display:flex; flex-direction:column; gap:8px}
.rcard.anchor{border-top-color:var(--oxblood)}
.rcard .rc-head{display:flex; align-items:center; gap:11px}
.rcard .rc-avwrap{position:relative; flex:0 0 54px; width:54px; height:54px}
.rcard .rc-avwrap .rc-av{width:54px; height:54px; flex:0 0 54px}
.rcard .rc-stamp{position:absolute; top:50%; left:50%; transform:translate(-50%,-50%) rotate(-18deg);
  font-family:var(--mono); font-weight:700; font-size:.62rem; letter-spacing:.08em; text-transform:uppercase;
  color:#c0392b; border:1.6px solid #c0392b; border-radius:3px; padding:1px 5px; line-height:1.1;
  background:rgba(255,246,244,.55); box-shadow:0 0 0 1px rgba(192,57,43,.12); pointer-events:none; white-space:nowrap;
  text-shadow:0 1px 0 rgba(255,255,255,.4)}
.rcard .rc-av{width:46px; height:46px; border-radius:50%; object-fit:cover; flex:0 0 46px; border:1px solid var(--rule); background:var(--bg-2)}
.rcard .rc-av.ph{display:grid; place-items:center; font-family:var(--serif); font-weight:600; color:var(--ink-faint)}
.rcard .rc-id{min-width:0}
.rcard .rc-persona{font-family:var(--serif); font-weight:600; font-size:1.08rem; line-height:1.2}
.rcard .rc-handle{font-family:var(--mono); font-size:.8rem; color:var(--ink-faint); border-bottom:none}
.rcard .rc-wears{font-size:.84rem; color:var(--ink-soft); line-height:1.4; border-top:1px solid var(--rule-soft); padding-top:8px}
.rcard .rc-wears b{color:var(--oxblood-deep)}
.rcard .rc-meta{display:grid; grid-template-columns:1fr 1fr; gap:4px 10px; font-size:.76rem; color:var(--ink-faint); font-family:var(--mono); border-top:1px solid var(--rule-soft); padding-top:8px; margin-top:auto}
.rcard .rc-meta b{color:var(--ink); font-weight:600}
.rcard .rc-age{font-family:var(--mono); font-size:.72rem; color:var(--amber-deep); background:var(--amber-wash); border:1px solid #e4d3a3; border-radius:4px; padding:3px 8px; align-self:flex-start}
.reserves{display:flex; flex-wrap:wrap; gap:8px; margin:.8em 0 0}
.reserve{background:var(--card-2); border:1px dashed var(--rule); border-radius:6px; padding:8px 12px; font-family:var(--mono); font-size:.76rem; color:var(--ink-faint); line-height:1.5}
.reserve b{color:var(--ink-soft); display:block}

/* victims -------------------------------------------------------------------- */
.victims{display:grid; grid-template-columns:repeat(auto-fill,minmax(290px,1fr)); gap:14px; margin:1.2em 0}
.vcard{background:var(--card); border:1px solid var(--rule); border-left:4px solid var(--good); border-radius:var(--radius-lg); padding:16px 18px; box-shadow:var(--shadow-card)}
.vcard .v-head{display:flex; align-items:center; gap:12px; margin-bottom:.4em}
.vcard .v-av{width:54px; height:54px; border-radius:50%; object-fit:cover; flex:0 0 54px; border:2px solid var(--good); background:var(--bg-2)}
.vcard .v-name{font-family:var(--serif); font-weight:600; font-size:1.1rem}
.vcard .v-role{font-size:.88rem; color:var(--ink-soft); margin:.3em 0 .5em; line-height:1.45}
.vcard .v-note{font-size:.82rem; color:var(--ink-faint); border-top:1px solid var(--rule-soft); padding-top:.6em; line-height:1.5}
.vcard .v-note b{color:var(--ink-soft)}
.vcard .v-imp{font-family:var(--mono); font-size:.7rem; color:var(--oxblood-deep); background:var(--oxblood-wash); border:1px solid #e6c9c4; border-radius:4px; padding:2px 7px; display:inline-block; margin-top:.5em}

/* signature matrix ------------------------------------------------------------ */
.table-scroll{overflow-x:auto; -webkit-overflow-scrolling:touch; border:1px solid var(--rule); border-radius:var(--radius-lg); background:var(--card)}
.swipe-hint{display:none}
@media(max-width:760px){ .swipe-hint{display:block; font-family:var(--mono); font-size:.72rem; color:var(--amber-deep); margin:0 0 7px; text-align:right} }
table.mtx{border-collapse:collapse; width:100%; min-width:760px; font-size:.82rem; background:var(--card)}
table.mtx th, table.mtx td{padding:9px 8px; border-bottom:1px solid var(--rule-soft); text-align:center}
table.mtx thead th{font-family:var(--mono); font-size:.6rem; letter-spacing:.03em; text-transform:uppercase; color:var(--ink-faint); background:var(--card-2); line-height:1.3; vertical-align:bottom}
table.mtx td.ph{font-family:var(--mono); font-weight:600; font-size:.78rem; text-align:left; color:var(--ink); white-space:nowrap}
table.mtx td .on{display:inline-block; width:13px; height:13px; border-radius:50%; background:var(--amber); border:2px solid var(--amber-wash)}
table.mtx td .neg{display:inline-block; width:13px; height:13px; border-radius:50%; background:var(--purple); border:2px solid var(--purple-wash)}
table.mtx td .off{color:#c9ced4; font-size:.8rem}
table.mtx tr:last-child td{border-bottom:none}

/* installation micro-timeline -------------------------------------------------- */
.install{display:grid; gap:14px; margin:1.2em 0}
.inst-row{display:grid; grid-template-columns:minmax(120px,180px) 1fr; gap:14px; align-items:center; background:var(--card); border:1px solid var(--rule); border-radius:var(--radius-lg); padding:14px 16px; box-shadow:var(--shadow)}
.inst-big{font-family:var(--serif); font-weight:700; font-size:clamp(1.7rem,4vw,2.5rem); color:var(--oxblood); line-height:1}
.inst-big small{display:block; font-family:var(--mono); font-size:.66rem; font-weight:600; color:var(--ink-faint); margin-top:5px; letter-spacing:.04em; text-transform:uppercase}
@media(max-width:560px){ .inst-row{grid-template-columns:1fr; gap:8px} }

/* target set -------------------------------------------------------------------- */
.tset{display:grid; gap:12px; margin:1.2em 0}
.ts-row{background:var(--card); border:1px solid var(--rule); border-radius:var(--radius-lg); padding:13px 16px; box-shadow:var(--shadow)}
.ts-top{display:flex; justify-content:space-between; align-items:baseline; gap:10px; flex-wrap:wrap}
.ts-name{font-weight:700; font-size:.98rem}
.ts-n{font-family:var(--mono); font-size:.74rem; color:var(--ink-faint)}
.ts-track{height:8px; background:var(--rule-soft); border-radius:5px; margin:7px 0 9px; overflow:hidden}
.ts-fill{display:block; height:100%; border-radius:5px; background:linear-gradient(90deg,var(--amber),var(--amber-bright))}
.ts-row.strand .ts-fill{background:linear-gradient(90deg,var(--oxblood),#d2725a)}
.ts-ex{display:flex; flex-wrap:wrap; gap:6px}
.ts-ex span{font-size:.76rem; color:var(--ink-soft); background:var(--bg-2); border:1px solid var(--rule); border-radius:4px; padding:2px 8px; line-height:1.5}

/* series band (call-back cards) -------------------------------------------------- */
.series-band{background:var(--card-2); border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); padding:clamp(28px,5vw,52px) 0}
.series-lead{font-family:var(--mono); font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--amber-deep); margin-bottom:.7em}
.series-lead::before{content:"// "; color:var(--amber)}
.series-cards{display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:1em}
.series-card{display:flex; flex-direction:column; background:var(--card); border:1px solid var(--rule); border-left:3px solid var(--amber); border-radius:var(--radius-lg); padding:15px 17px; box-shadow:var(--shadow); text-decoration:none; border-bottom:none; transition:transform .12s, border-color .12s}
.series-card:hover{border-color:var(--amber); transform:translateY(-2px)}
.series-card .sc-k{font-family:var(--mono); font-size:.64rem; color:var(--ink-faint); text-transform:uppercase; letter-spacing:.06em}
.series-card .sc-t{font-family:var(--serif); font-weight:600; font-size:1.02rem; color:var(--ink); margin:.3em 0 .25em; line-height:1.25}
.series-card .sc-d{font-size:.86rem; color:var(--ink-soft); line-height:1.45}
.series-card .sc-cta{font-family:var(--mono); font-size:.74rem; color:var(--amber-deep); margin-top:.6em}
.series-card:hover .sc-cta{color:var(--amber)}
@media(max-width:680px){.series-cards{grid-template-columns:1fr}}

/* partial email selectors -------------------------------------------------------- */
.sel-panel{display:grid; gap:8px; margin:1em 0; max-width:520px}
.sel-row{display:flex; justify-content:space-between; align-items:center; gap:12px; background:var(--card); border:1px solid var(--rule); border-left:3px solid var(--amber); border-radius:var(--radius); padding:10px 14px; box-shadow:var(--shadow)}
.sel-h{font-family:var(--mono); font-weight:600; font-size:.85rem; border-bottom:none}
.sel-mask{font-family:var(--mono); font-size:.92rem; color:var(--oxblood-deep); letter-spacing:.03em}

/* hypotheses --------------------------------------------------------------------- */
.hyp{margin:0 0 18px; background:var(--card); border:1px solid var(--rule); border-radius:var(--radius-lg); padding:16px 18px; box-shadow:var(--shadow)}
.hyp-head{display:flex; justify-content:space-between; align-items:baseline; gap:10px; flex-wrap:wrap}
.hyp-name{font-family:var(--display); font-weight:600; font-size:1.02rem; color:var(--ink)}
.hyp-name .rk{color:var(--amber); font-family:var(--mono); font-size:.8rem; margin-right:.5em}
.hyp-label{font-family:var(--mono); font-size:.66rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase}
.hyp-barwrap{height:9px; background:var(--rule-soft); border-radius:5px; overflow:hidden; margin:8px 0}
.hyp-bar{height:100%; border-radius:5px}
.hyp p{font-size:.9rem; color:var(--ink-soft); line-height:1.5; margin:.3em 0 0}
.hyp p b{color:var(--ink)}
.verdict{background:var(--dark); color:#fff; border-radius:10px; padding:22px 24px; margin:1.4em 0}
.verdict .vk{font-family:var(--mono); font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; color:var(--on-dark-faint)}
.verdict .vmain{font-family:var(--display); font-size:clamp(1.15rem,2.4vw,1.5rem); font-weight:600; color:var(--amber-bright); line-height:1.35; margin:.35em 0}
.verdict .vnote{font-size:.9rem; color:var(--on-dark-soft); line-height:1.55; border-top:1px solid var(--dark-rule); padding-top:.7em; margin:.7em 0 0}

/* corrections --------------------------------------------------------------------- */
.corrs{display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:14px; margin:1.2em 0}
.corr{background:var(--card); border:1px solid var(--rule); border-top:4px solid var(--oxblood); border-radius:var(--radius-lg); padding:16px 18px; box-shadow:var(--shadow-card)}
.corr .c-was{font-family:var(--mono); font-size:.78rem; color:var(--oxblood-deep); text-decoration:line-through; text-decoration-thickness:1px}
.corr .c-now{font-family:var(--serif); font-weight:600; font-size:1.05rem; margin:.35em 0 .5em}
.corr .c-why{font-size:.88rem; color:var(--ink-soft); line-height:1.55; border-top:1px solid var(--rule-soft); padding-top:.6em}

/* watch cards ---------------------------------------------------------------------- */
.watch{display:grid; grid-template-columns:repeat(auto-fill,minmax(270px,1fr)); gap:14px; margin:1.2em 0}
.wcard{background:var(--card); border:1px solid var(--rule); border-left:4px solid var(--slate); border-radius:var(--radius-lg); padding:15px 17px; box-shadow:var(--shadow)}
.wcard h4{margin:0 0 .35em; font-size:1rem; font-family:var(--serif)}
.wcard p{font-size:.88rem; color:var(--ink-soft); margin:0; line-height:1.5}

/* engagement caveat inside the same visual block ------------------------------------ */
.eng-caveat{border:1px solid #e4d3a3; border-left:4px solid var(--brass); background:var(--brass-wash); border-radius:var(--radius); padding:13px 16px; font-size:.92rem; color:var(--ink-soft); line-height:1.55; margin-top:12px}
.eng-caveat b{color:var(--ink)}

/* contest (do / don't claim) --------------------------------------------------------- */
.contest{display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:1.4em 0}
.contest .col{border:1px solid var(--rule); border-radius:var(--radius); padding:18px; background:var(--card)}
.contest .col.claimside{border-top:3px solid var(--amber)}
.contest .col.contestside{border-top:3px solid var(--oxblood)}
.contest h4{margin:.1em 0 .6em; font-size:.74rem; letter-spacing:.12em; text-transform:uppercase}
.contest .claimside h4{color:var(--amber-deep)} .contest .contestside h4{color:var(--oxblood)}
.contest ul{margin:0; padding-left:1.1em; font-size:.92rem; color:var(--ink-soft)}
.contest li{margin:.32em 0}

/* responsive -------------------------------------------------------------------------- */
@media (max-width:680px){
  body{font-size:16px}
  .grid.cols-2,.contest{grid-template-columns:1fr}
  .quote-grid{grid-template-columns:1fr}
}
@media (max-width:380px){ :root{--gutter:14px} }
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important}
}

/* print ---------------------------------------------------------------------------------- */
@media print{
  *{-webkit-print-color-adjust:exact !important; print-color-adjust:exact !important}
  html,body{background:#fff}
  .sgi-tocbar,.tooltip,header.nav,.swipe-hint{display:none !important}
  main > section[id]{break-before:page}
  .callout,.bigstat,.statrow,.post,.rcard,.vcard,.corr,.wcard,.viz,figure,table{break-inside:avoid}
  h1,h2,h3,h4,.section-title,.section-eyebrow{break-after:avoid}
  img,svg{max-width:100% !important; height:auto}
}
