:root{
  
  --ink:#0F172A; --bar:#0F172A; --chart-hot:#0F172A; --body-c:#1F2937; --muted:#5B6472; --line:#E5E3DC; --paper:#FAFAF7; --card:#FFFFFF;
  --green:#16A34A; --green-strong:#15803D; --green-deep:#166534; --green-hover:#22C55E; --green-soft:rgba(34,197,94,.14);
  --chip-ink:#14532D;
  --hot:#B91C1C; --warm:#B45309; --cool:#475569;
  --sans:'Inter','SF Pro Text',-apple-system,'Helvetica Neue',Arial,sans-serif;
  --serif:Georgia,'Iowan Old Style','Times New Roman',serif;
}
@page{ margin:14mm 13mm; }
*{ box-sizing:border-box; }
html{ background:var(--paper); scroll-behavior:smooth; }
body{ margin:0; background:var(--paper); color:var(--body-c); font-family:var(--serif); font-size:16px; line-height:1.65; -webkit-font-smoothing:antialiased; }
a{ color:var(--green-strong); text-decoration:none; }
a:hover{ text-decoration:underline; }
a:focus-visible{ outline:2px solid var(--green); outline-offset:2px; border-radius:2px; }
code{ background:#EEF0EA; padding:0 5px; border-radius:4px; font-size:.85em; }
.wrap{ max-width:1060px; margin:0 auto; padding:0 22px; }
.skip{ position:absolute; left:-9999px; font-family:var(--sans); }
.skip:focus{ left:12px; top:12px; z-index:200; background:#fff; color:var(--ink); padding:8px 14px; border-radius:8px; box-shadow:0 2px 10px rgba(0,0,0,.2); }


.topbar{ position:sticky; top:0; z-index:60; background:var(--bar); border-bottom:3px solid var(--green); }
.bar-in{ display:flex; justify-content:space-between; align-items:center; padding:13px 0; }
.brand{ font-family:var(--sans); font-weight:900; letter-spacing:.16em; font-size:15px; color:#fff; display:flex; align-items:center; gap:10px; white-space:nowrap; }
.brand-mark{ width:14px; height:14px; background:var(--green); border-radius:3px; flex:0 0 auto; }
.brand-hq{ color:var(--green-hover); margin-left:2px; }
.bar-right{ font-family:var(--sans); font-size:12px; color:#CBD5E1; display:flex; gap:12px; align-items:center; }
.bar-tag{ border:1px solid rgba(255,255,255,.28); padding:3px 11px; border-radius:999px; font-size:11px; letter-spacing:.1em; text-transform:uppercase; }


.hero{ padding:46px 0 28px; border-bottom:1px solid var(--line); }
.hero-tags{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; font-family:var(--sans); }
.hero-arc{ background:var(--green-soft); color:var(--chip-ink); font-weight:700; font-size:11px; letter-spacing:.09em; text-transform:uppercase; padding:4px 11px; border-radius:999px; }
.hero-date{ color:var(--muted); font-size:13px; }
.hero-h{ font-family:var(--sans); font-weight:900; font-size:clamp(30px,4.6vw,46px); line-height:1.06; letter-spacing:-.015em; color:var(--ink); margin:16px 0 12px; max-width:920px; }
.hero-deck{ font-family:var(--serif); font-size:19px; line-height:1.55; color:#3A4553; max-width:760px; margin:0 0 20px; }
.hero-cta{ display:inline-block; font-family:var(--sans); font-weight:700; font-size:14px; color:#fff; background:var(--green-strong); padding:10px 18px; border-radius:8px; }
.hero-cta:hover{ background:var(--green-deep); text-decoration:none; }


h2{ font-family:var(--sans); font-weight:900; font-size:23px; letter-spacing:-.01em; color:var(--ink); margin:38px 0 16px; position:relative; padding-left:15px; }
h2:before{ content:""; position:absolute; left:0; top:5px; bottom:5px; width:5px; background:var(--green); border-radius:3px; }
h2 .sub{ font-family:var(--sans); font-size:13px; color:var(--muted); font-weight:500; letter-spacing:0; margin-left:6px; }
.sec-tag{ font-family:var(--sans); font-size:10px; font-weight:800; letter-spacing:.11em; text-transform:uppercase; padding:4px 10px; border-radius:999px; vertical-align:3px; margin-left:10px; }
.sec-tag.oppo{ background:var(--cool); color:#fff; }


.rundown{ margin:26px 0 0; background:var(--card); border:1px solid var(--line); border-radius:14px; padding:6px 24px 14px; }
.rundown h2{ margin-top:18px; }
.rundown ol{ list-style:none; counter-reset:rd; margin:0; padding:0; }
.rundown li{ counter-increment:rd; position:relative; padding:11px 0 11px 54px; border-top:1px dashed var(--line); font-size:16px; line-height:1.6; }
.rundown li:first-child{ border-top:0; }
.rundown li:before{ content:counter(rd,decimal-leading-zero); position:absolute; left:2px; top:10px; font-family:var(--sans); font-weight:900; font-size:21px; color:var(--green); letter-spacing:-.02em; }


.bars{ display:flex; flex-direction:column; gap:6px; background:var(--card); border:1px solid var(--line); border-radius:14px; padding:18px 20px; }
.bar-row{ display:flex; align-items:center; gap:10px; font-family:var(--sans); font-size:12px; }
.bar-l{ width:200px; text-align:right; color:var(--body-c); }
.bar-t{ flex:1; background:#EEF0EA; border-radius:5px; height:14px; overflow:hidden; }
.bar-f{ display:block; height:100%; background:var(--green); border-radius:5px; }

.bar-f.hot{ background:var(--chart-hot); }
.bar-v{ width:22px; font-weight:800; color:var(--muted); }


.grid{ display:grid; grid-template-columns:1fr 1fr; gap:18px; align-items:start; }
.story{ background:var(--card); border:1px solid var(--line); border-radius:14px; padding:20px 22px; box-shadow:0 1px 3px rgba(15,23,42,.05); break-inside:avoid; scroll-margin-top:80px; }
.story:first-child{ grid-column:1 / -1; }
.story h3{ font-family:var(--sans); font-weight:800; font-size:21px; line-height:1.22; letter-spacing:-.01em; color:var(--ink); margin:10px 0 8px; }
.story:first-child h3{ font-size:26px; }
.meta{ display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
.pill{ font-family:var(--sans); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.1em; color:#fff; padding:4px 11px; border-radius:999px; white-space:nowrap; }
.pill.hot{ background:var(--hot); } .pill.warm{ background:var(--warm); } .pill.cool{ background:var(--cool); }
.chip{ font-family:var(--sans); font-size:10px; text-transform:uppercase; letter-spacing:.06em; font-weight:700; background:#EEF1F4; color:var(--cool); padding:4px 9px; border-radius:6px; }
.conf{ font-family:var(--sans); font-size:11px; display:inline-flex; align-items:center; gap:5px; color:var(--muted); }
.conf i{ width:8px; height:8px; border-radius:50%; display:inline-block; }
.conf.high i{ background:var(--green); } .conf.med i{ background:var(--warm); } .conf.low i{ background:#9AA0A6; }
.arc{ font-family:'SF Mono',Menlo,monospace; font-size:10px; color:var(--chip-ink); background:var(--green-soft); padding:3px 8px; border-radius:6px; }
.what{ margin:8px 0; }
.why{ margin:12px 0; background:#F4F6F1; border-left:4px solid var(--green); padding:10px 14px; border-radius:0 10px 10px 0; display:block; }
.lbl{ display:block; font-family:var(--sans); font-size:10px; text-transform:uppercase; letter-spacing:.12em; font-weight:800; color:var(--green-strong); margin-bottom:3px; }
.fa{ display:flex; gap:10px; margin:12px 0; }
.fa>div{ flex:1; padding:10px 13px; border-radius:10px; font-size:15px; line-height:1.55; }
.fa .for{ background:#F0F7F2; border:1px solid #CFE5D6; }
.fa .against{ background:#FBF1F0; border:1px solid #EBD0CC; }
.tag{ display:inline-block; font-family:var(--sans); font-size:10px; font-weight:800; letter-spacing:.1em; padding:2px 8px; border-radius:5px; margin-right:7px; color:#fff; vertical-align:1px; }
.for .tag{ background:var(--green-strong); } .against .tag{ background:var(--hot); }
.contra{ margin:12px 0; background:#F6F7F9; border-left:4px solid var(--ink); padding:10px 14px; border-radius:0 10px 10px 0; }
.contra .lbl{ color:var(--ink); }
.sowhat{ margin:12px 0 0; font-size:14px; color:#41505F; border-top:1px dotted var(--line); padding-top:10px; }
.sowhat strong{ color:var(--green-strong); font-family:var(--sans); font-size:13px; }
.src{ font-size:12px; color:var(--muted); margin:10px 0 0; line-height:1.7; }
.src-lbl{ font-family:var(--sans); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.1em; color:var(--muted); margin-right:6px; }


.ideas .idea{ display:flex; gap:14px; align-items:flex-start; background:var(--card); border:1px solid var(--line); border-radius:12px; padding:13px 17px; margin-bottom:9px; break-inside:avoid; }
.rank{ font-family:var(--sans); font-weight:900; font-size:22px; color:var(--green); min-width:26px; line-height:1.1; }
.idea-b{ flex:1; font-size:15px; line-height:1.6; }
.itag{ display:inline-block; font-family:var(--sans); font-size:10px; font-weight:800; letter-spacing:.1em; padding:3px 9px; border-radius:6px; margin-right:8px; color:#fff; vertical-align:1px; }
.itag.for{ background:var(--green-strong); } .itag.against{ background:var(--hot); } .itag.contra{ background:var(--bar); }


.cold blockquote{ margin:0; font-family:var(--serif); font-style:italic; font-size:20px; line-height:1.55; color:var(--ink); border-left:5px solid var(--green); padding:8px 0 8px 24px; }
.cold .cap{ font-family:var(--sans); font-size:12px; color:var(--muted); margin-top:8px; }


.gen h3,.gen h4{ margin:14px 0 4px; font-family:var(--sans); font-size:13px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; color:var(--cool); padding:0; }
.gen h3:before,.gen h4:before{ display:none; }
.gen ul{ margin:6px 0; padding-left:20px; }
.gen li{ margin:5px 0; }
.tbl-wrap{ overflow-x:auto; }
.gen table{ border-collapse:collapse; width:100%; font-size:13px; margin:8px 0; font-family:var(--sans); }
.gen th,.gen td{ border:1px solid var(--line); padding:6px 10px; text-align:left; vertical-align:top; }
.gen th{ background:#F3F4F0; font-size:11px; text-transform:uppercase; letter-spacing:.06em; }
.gen tr:nth-child(even) td{ background:#FBFBF8; }
.gen.oppo{ background:#F1F4F8; border:1px solid #D7DEE8; border-radius:14px; padding:8px 22px 16px; }
.gen.oppo h2{ margin-top:16px; }
.gen.oppo h2:before{ background:var(--cool); }
.appendix{ margin-top:44px; border-top:2px solid var(--line); padding-top:6px; }
.appendix h2{ font-size:16px; color:var(--muted); }
.appendix h2:before{ background:var(--muted); }


.site-foot{ background:var(--bar); color:#94A3B8; margin-top:52px; border-top:3px solid var(--green); }
.foot-in{ display:flex; justify-content:space-between; align-items:center; gap:14px; flex-wrap:wrap; padding:24px 0; font-family:var(--sans); font-size:13px; }


.hint{ margin:20px 0 0; background:var(--green-soft); border:1px solid #CDE9D6; color:#14532D; border-radius:10px; padding:11px 15px; font-family:var(--sans); font-size:13px; }


.pill,.tag,.itag,.sec-tag,.bar-t,.bar-f,.brand-mark{ -webkit-print-color-adjust:exact; print-color-adjust:exact; }
main{ scroll-margin-top:80px; }


@media (max-width:860px){
  .grid{ grid-template-columns:1fr; }
  .fa{ flex-direction:column; }
  .brand{ font-size:13px; letter-spacing:.1em; }
  .bar-in{ flex-wrap:wrap; }
  .bar-l{ width:118px; font-size:11px; }
  .bar-row{ font-size:11px; }
  .hero{ padding:30px 0 22px; }
  .hero-deck{ font-size:17px; }
  .bar-tag{ display:none; }
  .foot-in{ flex-direction:column; align-items:flex-start; }
  .story{ padding:16px 16px; }
  .story:first-child h3{ font-size:22px; }
}


@media print{
  html,body{ background:#fff; }
  .wrap{ max-width:100%; padding:0; }
  .hero{ padding:6px 0 14px; }
  .grid{ display:block; }
  .story{ margin-bottom:12px; box-shadow:none; }
  .site-foot{ background:#fff; color:var(--muted); border-top:2px solid var(--line); }
  .site-foot .brand{ color:var(--ink); }
  .site-foot .brand-hq{ color:var(--green-strong); }
  h2{ break-after:avoid; }
}


@font-face{
  font-family:'Inter';
  font-style:normal;
  font-weight:100 900;
  font-display:swap;
  src:url(/static/fonts/inter-var.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

.brand{ text-decoration:none; }
a.brand:hover{ text-decoration:none; }
.nav{ display:flex; gap:18px; font-family:var(--sans); font-size:13px; font-weight:600; align-items:center; }
.nav a{ color:#CBD5E1; padding-bottom:2px; }
.nav a:hover{ color:#fff; text-decoration:none; }
.nav a.on{ color:#fff; border-bottom:2px solid var(--green); }
details.drop{ position:relative; }
details.drop summary{ list-style:none; cursor:pointer; color:#CBD5E1; padding-bottom:2px; }
details.drop summary::-webkit-details-marker{ display:none; }
details.drop summary::after{ content:" \25BE"; font-size:10px; margin-left:2px; }
details.drop[data-on] summary{ color:#fff; border-bottom:2px solid var(--green); }
details.drop[open] summary{ color:#fff; }
.drop-menu{ position:absolute; right:0; top:26px; background:var(--bar); border:1px solid #273449; border-radius:10px; padding:8px 0; min-width:170px; display:flex; flex-direction:column; z-index:60; box-shadow:0 10px 30px rgba(15,23,42,.35); }
.drop-menu a{ padding:8px 16px; white-space:nowrap; }
.drop-menu a:hover{ background:#1E293B; }
.drop-sep{ height:1px; background:#273449; margin:6px 0; }
.tiles{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.tiles.four{ grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); }
.tile{ background:var(--card); border:1px solid var(--line); border-radius:14px; padding:16px 18px; display:block; color:var(--body-c); }
a.tile:hover{ text-decoration:none; border-color:var(--green); }
.tile h3{ font-family:var(--sans); font-weight:800; font-size:17px; margin:0 0 6px; color:var(--ink); display:flex; align-items:center; gap:8px; }
.tile h3 a{ color:var(--ink); }
.tile h3 a:hover{ color:var(--green-deep); text-decoration:none; }
.hicon{ width:20px; height:20px; color:var(--green-strong); flex:0 0 auto; }
.tile ul a{ color:#3A4553; }
.tile ul a:hover{ color:var(--green-deep); }
.tile.sm h3{ font-size:15px; }
.tile p{ font-size:14px; color:var(--muted); margin:0 0 10px; line-height:1.5; }
.tile.sm p{ margin:0; font-size:13px; }
.tile .cnt{ font-family:var(--sans); font-size:11px; font-weight:700; color:var(--chip-ink); background:var(--green-soft); padding:3px 10px; border-radius:999px; }
.b-item{ display:flex; gap:14px; align-items:flex-start; padding:13px 0; border-top:1px dashed var(--line); }
.b-item:first-child{ border-top:0; }
.b-item .pill{ margin-top:3px; flex:0 0 auto; }
.b-item h3{ font-family:var(--sans); font-weight:800; font-size:17px; margin:0 0 3px; color:var(--ink); }
.b-item h3 a{ color:var(--ink); }
.b-item p{ margin:0; font-size:14px; color:#3A4553; }
.b-wrap{ background:var(--card); border:1px solid var(--line); border-radius:14px; padding:8px 22px; }
.from{ font-family:var(--sans); font-size:11px; color:var(--muted); background:#EEF1F4; padding:3px 9px; border-radius:6px; }
.from a{ color:var(--chip-ink); }
a.arc{ text-decoration:none; }
a.arc:hover{ text-decoration:underline; }
.c-row{ display:flex; gap:12px; align-items:flex-start; padding:11px 0; border-top:1px dashed var(--line); }
.c-row:first-child{ border-top:0; }
.c-row .pill{ margin-top:2px; flex:0 0 auto; }
.c-b strong{ font-family:var(--sans); font-size:15px; color:var(--ink); }
.c-b strong a{ color:var(--ink); }
.c-date{ font-family:var(--sans); font-size:11px; color:var(--muted); margin-left:8px; }
.c-what{ font-size:14px; color:#4A5768; margin-top:2px; }
.hub-head p{ font-family:var(--serif); font-size:17px; color:#3A4553; max-width:720px; margin:6px 0 0; }
.about h2{ margin-top:34px; }
.about p, .about li{ font-size:16px; }
.about .keybox{ background:var(--card); border:1px solid var(--line); border-radius:14px; padding:6px 22px 14px; margin:14px 0; }
.about dt{ font-family:var(--sans); font-weight:800; font-size:14px; color:var(--ink); margin-top:12px; }
.about dd{ margin:3px 0 0; font-size:15px; color:#3A4553; }
.cta-row{ display:flex; gap:12px; flex-wrap:wrap; margin:22px 0 0; }
.btn{ display:inline-block; font-family:var(--sans); font-weight:700; font-size:14px; color:#fff; background:var(--green-strong); padding:10px 18px; border-radius:8px; }
.btn:hover{ background:var(--green-deep); text-decoration:none; }
.btn.ghost{ background:transparent; color:var(--green-strong); border:1px solid var(--green); }
.btn.ghost:hover{ background:var(--green-soft); }
.site-foot{ margin-top:60px; }
.foot-in{ padding:44px 0 28px; }
.foot-cols{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:44px; padding-bottom:32px; border-bottom:1px solid #273449; }
.foot-brand .brand{ margin-bottom:14px; }
.foot-tag{ font-family:var(--serif); font-size:14px; line-height:1.55; color:#94A3B8; margin:0; max-width:280px; }
.foot-col{ display:flex; flex-direction:column; gap:8px; }
.foot-col h4{ font-family:var(--sans); font-weight:800; font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:#fff; margin:0 0 6px; }
.foot-col a{ color:#94A3B8; font-family:var(--sans); font-size:13px; }
.foot-col a:hover{ color:#fff; text-decoration:none; }
.foot-bar{ display:flex; flex-wrap:wrap; gap:6px 22px; margin-top:22px; font-family:var(--sans); font-size:12px; color:#9AA6B8; }
.foot-priv{ color:#94A3B8; }

.foot-links{ display:flex; flex-wrap:wrap; gap:4px 18px; margin:12px 0 8px; font-family:var(--sans); font-size:12px; }
.foot-links a{ color:#94A3B8; }
.foot-links a:hover{ color:#fff; }

.ed-row{ display:flex; gap:18px; align-items:baseline; padding:16px 0; border-top:1px dashed var(--line); flex-wrap:wrap; }
.ed-row:first-child{ border-top:0; }
.ed-date{ font-family:var(--sans); font-weight:800; font-size:16px; min-width:150px; }
.ed-date a{ color:var(--ink); }
.ed-lead{ flex:1; min-width:260px; font-size:15px; color:#3A4553; }
.ed-lead a{ color:var(--ink); font-weight:700; font-family:var(--sans); }
.ed-counts{ font-family:var(--sans); font-size:12px; color:var(--muted); }

.sl{ background:var(--card); border:1px solid var(--line); border-radius:14px; padding:18px 22px; margin:0 0 14px; }
.sl h3{ font-family:var(--sans); font-weight:800; font-size:17px; margin:0 0 4px; color:var(--ink); }
.sl-meta{ font-family:var(--sans); font-size:12px; color:var(--muted); margin-bottom:8px; display:flex; gap:14px; flex-wrap:wrap; }
.sl-meta .first{ color:var(--chip-ink); font-weight:700; }
.sl-tl{ margin:8px 0 0; }
.sl-tl .c-row{ padding:8px 0; }

.rd{ display:flex; gap:16px; padding:14px 0; border-top:1px dashed var(--line); }
.rd:first-child{ border-top:0; }
.rd-date{ font-family:var(--sans); font-weight:800; font-size:13px; color:#fff; background:var(--bar); border-radius:8px; padding:6px 10px; height:fit-content; min-width:76px; text-align:center; flex:0 0 auto; }
.rd-date.soon{ background:var(--green-strong); }
.rd-b h3{ font-family:var(--sans); font-weight:800; font-size:16px; margin:0 0 3px; color:var(--ink); }
.rd-b p{ margin:0; font-size:14px; color:#3A4553; }
.rd-trk{ font-family:var(--sans); font-size:11px; color:var(--muted); margin-top:4px; }



.s-box{ width:100%; box-sizing:border-box; font-family:var(--sans); font-size:17px; padding:14px 18px; border:2px solid var(--line); border-radius:12px; background:var(--card); color:var(--ink); }
.s-box:focus{ outline:none; border-color:var(--green); }
.s-meta{ font-family:var(--sans); font-size:13px; color:var(--muted); margin:10px 0 4px; }

.src-cat h3{ margin-bottom:6px; }
.src-note{ font-family:var(--sans); font-size:12px; color:var(--muted); }
.badge{ font-family:var(--sans); font-size:11px; font-weight:700; padding:2px 8px; border-radius:999px; white-space:nowrap; }
.badge.rss{ background:var(--green-soft); color:var(--chip-ink); }
.badge.web{ background:#EEF1F4; color:#475569; }

.mx{ background:var(--card); border:1px solid var(--line); border-radius:14px; padding:18px 22px; overflow-x:auto; }
.mx-row{ display:flex; align-items:flex-end; gap:10px; padding:10px 0; border-top:1px dashed var(--line); }
.mx-row:first-child{ border-top:0; }
.mx-lab{ font-family:var(--sans); font-weight:700; font-size:13px; width:190px; flex:0 0 auto; align-self:center; }
.mx-lab a{ color:var(--ink); }
.mx-cells{ display:flex; gap:8px; align-items:flex-end; flex:1; }
.mx-cell{ display:flex; flex-direction:column; align-items:center; gap:3px; width:52px; }
.mx-bar{ width:26px; background:var(--green); border-radius:4px 4px 0 0; min-height:2px; display:block; }
.mx-bar.zero{ background:var(--line); }
.mx-v{ font-family:var(--sans); font-size:11px; color:var(--muted); min-height:13px; }
.mx-head{ display:flex; gap:8px; margin-left:200px; margin-bottom:4px; }
.mx-head span{ width:52px; text-align:center; font-family:var(--sans); font-size:11px; font-weight:700; color:var(--muted); }
.drop-menu a.on{ color:#fff; background:#1E293B; border-bottom:0; }
.hub-chip{ padding-left:8px; }
.spark{ display:block; width:100%; height:22px; margin-top:10px; opacity:.85; }

.gmi-btn{ font-family:var(--sans); font-weight:700; font-size:13px; color:#fff; background:var(--green-strong); border:0; border-radius:999px; padding:7px 14px; cursor:pointer; }
.gmi-btn:hover{ background:var(--green-deep); }
.team-link{ color:#94A3B8; font-size:12px; border:1px solid #334155; border-radius:999px; padding:6px 12px; }
.team-link:hover{ color:#fff; border-color:#94A3B8; text-decoration:none; }
.team-out{ font-family:var(--sans); font-weight:600; font-size:12px; color:#94A3B8; background:none; border:1px solid #334155; border-radius:999px; padding:6px 12px; cursor:pointer; }
.team-out:hover{ color:#fff; border-color:#94A3B8; }
.gmi-back{ position:fixed; inset:0; background:rgba(15,23,42,.55); z-index:100; display:flex; align-items:flex-start; justify-content:center; padding:12vh 18px 0; }
.gmi-back[hidden]{ display:none; } 
.gmi-box{ background:var(--card); border-radius:16px; padding:26px 28px; max-width:560px; width:100%; box-shadow:0 24px 60px rgba(15,23,42,.35); }
.gmi-box h3{ font-family:var(--sans); font-weight:800; font-size:20px; margin:0 0 6px; color:var(--ink); }
.gmi-sub{ font-size:14px; color:var(--muted); margin:0 0 14px; }
.gmi-actions{ display:flex; gap:10px; flex-wrap:wrap; margin-top:14px; align-items:center; }
.gmi-actions .btn{ border:0; cursor:pointer; }
.gmi-close{ background:none; border:0; font-family:var(--sans); font-size:13px; color:var(--muted); cursor:pointer; margin-left:auto; }
.gmi-close:hover{ color:var(--ink); }
.gmi-note{ font-family:var(--sans); font-size:13px; color:var(--chip-ink); margin:10px 0 0; }

.home-hero{ padding:44px 0 24px; border:0; }
.home-eyebrow{ font-family:var(--sans); font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--chip-ink); margin:0 0 14px; }
.home-h{ font-size:clamp(40px,7vw,84px); line-height:1.02; letter-spacing:-.02em; margin:0 0 14px; color:var(--ink); }
.home-sub{ font-family:var(--serif); font-size:19px; line-height:1.55; color:#3A4553; max-width:640px; margin:0 0 22px; }

.lead-card{ background:var(--card); border:1px solid var(--line); border-left:6px solid var(--green); border-radius:14px; padding:22px 26px 20px; margin:8px 0 34px; }
.lead-eyebrow{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; font-family:var(--sans); font-size:12px; color:var(--muted); }
.lead-lab{ font-weight:800; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--chip-ink); }
.lead-h{ font-family:var(--sans); font-weight:800; font-size:clamp(24px,3vw,32px); line-height:1.2; letter-spacing:-.01em; margin:10px 0 8px; color:var(--ink); }
.lead-h a{ color:var(--ink); }
.lead-h a:hover{ color:var(--green-deep); text-decoration:none; }
.lead-deck{ font-family:var(--serif); font-size:17px; color:#3A4553; margin:0 0 10px; }
.lead-cta a{ font-family:var(--sans); font-weight:700; font-size:13px; color:var(--green-strong); }


.rd-b h3, .sl h3{ text-transform:none; letter-spacing:0; color:var(--ink); }

.pill.warm{ background:#92400E; }

.fa .against .tag{ background:var(--cool); }

.rd-date{ background:#fff; color:var(--ink); border:1px solid var(--line); }
.rd-date.soon{ background:var(--green-strong); color:#fff; border:0; }

.ideas .idea-b a{ color:var(--ink); }
.ideas .idea-b a:hover{ color:var(--green-deep); }

.story p a, .story aside a, .about p a, .c-what a, .rd-b p a, .s-meta a{ text-decoration:underline; text-underline-offset:2px; }

.topbar.scrolled{ box-shadow:0 2px 12px rgba(15,23,42,.28); }

.jump{ display:flex; gap:8px; flex-wrap:wrap; margin-top:16px; }
.jump a{ font-family:var(--sans); font-size:12px; font-weight:700; color:var(--chip-ink); background:var(--green-soft); padding:6px 12px; border-radius:999px; }
.jump a:hover{ background:var(--green); color:#fff; text-decoration:none; }

.b-meta{ font-family:var(--sans); font-size:11px; color:var(--muted); white-space:nowrap; }

.ics{ font-family:var(--sans); font-size:11px; font-weight:700; color:var(--green-strong); border:1px solid var(--green); border-radius:6px; padding:1px 7px; vertical-align:2px; margin-left:6px; }
.ics:hover{ background:var(--green-soft); text-decoration:none; }

.num-tbl{ margin-top:10px; font-family:var(--sans); font-size:13px; }
.num-tbl summary{ cursor:pointer; color:var(--muted); }
.num-tbl table{ margin-top:8px; border-collapse:collapse; }
.num-tbl td, .num-tbl th{ border:1px solid var(--line); padding:4px 12px; text-align:left; font-size:13px; }

.ed-counts .pill{ margin-left:4px; }

.mx.no-scroll::after{ display:none; }

.story .what, .story .why, .story .contra, .story .sowhat, .about p, .about li, .about dd,
.hero-deck, .home-sub, .lead-deck, .c-what, .rd-b p, .rundown li, .b-item p, .hub-head p,
.gen p, .gen li, .sub-p{ max-width: 70ch; }
.about ul{ padding-left:22px; display:grid; gap:8px; }
.subscribe h2{ border:0; padding-left:0; }
.subscribe h2::before{ content:none; }
.story-h1{ font-family:var(--sans); font-weight:800; font-size:clamp(24px,3.4vw,34px); line-height:1.2; letter-spacing:-.01em; margin:6px 0 10px; color:var(--ink); }
@media (max-width:640px){ .hero-h{ line-height:1.12; } }
.pill{ font-size:11px; }
.arc, .from{ font-size:11px; }
.mx-v, .ics{ font-size:11px; }
.hero-h, .lead-h{ text-wrap:balance; }
.tile ul{ padding-left:18px; margin:10px 0 0; display:grid; gap:6px; font-size:13px; line-height:1.45; }
.ds-n, .rank{ line-height:1.15; }
.num-tbl td, .num-tbl th, .tbl-wrap td, .tbl-wrap th{ padding:8px 14px; }
.arc, code{ font-family:ui-monospace,'SF Mono',Menlo,Consolas,monospace; }
.aging{ color:#B45309; font-weight:700; }
.jump{ position:sticky; top:70px; z-index:40; background:var(--paper); padding:8px 0; }
.rundown li a.rd-jump{ color:inherit; text-decoration:none; }
.rundown li a.rd-jump:hover{ color:var(--green-deep); }
.mnav summary::marker{ content:""; }
.mnav summary::-webkit-details-marker{ display:none; }
.c-b strong a{ text-decoration:underline; text-underline-offset:2px; text-decoration-color:rgba(22,163,74,.4); }
.c-b strong a:hover{ text-decoration-color:var(--green-deep); }
.sub-nav{ background:transparent; border:1px solid var(--green); color:var(--green-hover); text-decoration:none; }
.sub-nav:hover{ background:var(--green-strong); color:#fff; text-decoration:none; }

@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }

.subscribe{ background:var(--bar); border-radius:16px; padding:30px 34px; margin:34px 0; }
.subscribe h2{ color:#fff; margin:0 0 6px; border:0; padding:0; }
.sub-p{ color:#94A3B8; font-family:var(--sans); font-size:14px; margin:0 0 16px; }
.sub-form{ display:flex; gap:10px; flex-wrap:wrap; }
.sub-form input{ flex:1; min-width:220px; font-family:var(--sans); font-size:15px; padding:11px 16px; border-radius:8px; border:1px solid #334155; background:#1E293B; color:#fff; }
.sub-form input::placeholder{ color:#64748B; }
.sub-form .btn{ border:0; cursor:pointer; }
.subscribe .gmi-note{ color:var(--green-hover); }

.s-filters{ display:flex; gap:8px; flex-wrap:wrap; align-items:center; margin-top:10px; }
.s-filters select{ font-family:var(--sans); font-size:13px; padding:8px 12px; border-radius:8px; border:1px solid var(--line); background:var(--card); color:var(--ink); }
.f-heat{ font-family:var(--sans); font-size:13px; font-weight:600; padding:8px 14px; border-radius:999px; border:1px solid var(--line); background:var(--card); color:var(--body-c); cursor:pointer; }
.f-heat.on{ background:var(--green-strong); color:#fff; border-color:var(--green-strong); }

.mnav{ display:none; }
.mnav summary{ font-size:18px; padding:2px 8px; }
@media (max-width:700px){
  .nav > a, .nav > details.drop:not(.mnav){ display:none; }
  .mnav{ display:block; }
  .nav{ flex-wrap:nowrap; }
  .gmi-btn{ font-size:12px; padding:6px 11px; }
}

.mx-stack{ display:flex; flex-direction:column-reverse; width:26px; border-radius:4px 4px 0 0; overflow:hidden; }
.mx-seg{ width:26px; display:block; }
.mx-seg.hot{ background:var(--hot); }
.mx-seg.warm{ background:#D97706; }
.mx-seg.cool{ background:#94A3B8; }

.hero-grid{ display:grid; grid-template-columns:1.5fr 1fr; gap:40px; align-items:center; }
.desk-stats{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.ds{ background:var(--card); border:1px solid var(--line); border-radius:14px; padding:18px 16px; text-align:center; }
.ds-n{ display:block; font-family:var(--sans); font-weight:800; font-size:34px; color:var(--green-strong); letter-spacing:-.02em; }
.ds-l{ display:block; font-family:var(--sans); font-size:12px; font-weight:600; color:var(--muted); margin-top:2px; text-transform:uppercase; letter-spacing:.06em; }
@media (max-width:860px){ .hero-grid{ grid-template-columns:1fr; gap:20px; } .desk-stats{ max-width:420px; } }

.stale{ background:#FEF3C7; border:1px solid #F59E0B; border-radius:10px; padding:10px 16px; font-family:var(--sans); font-size:14px; color:#78350F; margin-bottom:18px; }
.pager{ display:flex; justify-content:space-between; gap:12px; margin:34px 0 0; font-family:var(--sans); font-size:14px; font-weight:700; }
.share{ margin:10px 0 0; }
.copy-btn{ font-family:var(--sans); font-size:12px; font-weight:700; color:var(--muted); background:none; border:1px solid var(--line); border-radius:6px; padding:4px 10px; cursor:pointer; }
.copy-btn:hover{ color:var(--ink); border-color:var(--muted); }
.story-h{ color:var(--ink); }
.story-h:hover{ color:var(--green-deep); text-decoration:none; }


.dateline{ font-family:var(--sans); font-size:12.5px; color:var(--muted); margin:0 0 10px; }
.dothis{ background:var(--card); border:1px solid var(--line); border-left:4px solid var(--green-strong); border-radius:12px; padding:18px 22px; margin:26px 0; }
.dothis h2{ margin-top:0; }
.dothis ol{ margin:10px 0 0; padding-left:20px; }
.dothis li{ margin:8px 0; }
.calc{ display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:12px; margin:14px 0; }
.calc label{ font-family:var(--sans); font-size:12.5px; color:var(--muted); display:flex; flex-direction:column; gap:5px; }
.calc input{ font-family:var(--sans); font-size:15px; padding:9px 10px; border-radius:8px; border:1px solid var(--line); background:var(--card); color:var(--ink); }
.calc-out{ font-weight:600; background:var(--green-soft); border-radius:10px; padding:12px 16px; }
.sec-tag, .chip, .lbl, .tag, .src-lbl, .itag{ font-size:11px; }
details.drop summary::after{ font-size:11px; }
a.ds{ text-decoration:none; }
a.ds:hover .ds-n{ color:var(--green-strong); }
.b-item h3 a:hover{ text-decoration:underline; }
.terms-row{ font-family:var(--sans); font-size:12.5px; }
.tile ul{ margin:8px 0 0; padding-left:16px; font-size:13px; line-height:1.5; }
.tile ul li{ margin:3px 0; }
.ds-n{ line-height:1.2; }
.theme-btn{ background:none; border:1px solid var(--line); border-radius:8px; color:inherit; cursor:pointer; font-size:14px; line-height:1; padding:6px 8px; }
.to-top{ position:fixed; right:18px; bottom:18px; z-index:60; width:40px; height:40px; border-radius:50%; border:1px solid var(--line); background:var(--card); color:var(--ink); font-size:16px; cursor:pointer; box-shadow:0 2px 10px rgba(0,0,0,.15); }
@media (prefers-color-scheme: dark){
  html:not([data-theme="light"]){ --paper:#0B1220; --card:#111A2C; --ink:#E7EBF2; --body-c:#C7CEDA; --muted:#8B96A8; --line:#243149; --green-soft:rgba(34,197,94,.16); --chip-ink:#6EE7A0; --bar:#0D1526; --chart-hot:#CBD5E1; }
  html:not([data-theme="light"]) .rd-date{ background:var(--card); color:var(--ink); border-color:var(--line); }
  html:not([data-theme="light"]) .rd-date.soon{ background:var(--green-strong); color:#fff; }
  html:not([data-theme="light"]) .chip{ background:#1E293B; color:#A9B4C4; }
  html:not([data-theme="light"]) .what, html:not([data-theme="light"]) .c-what, html:not([data-theme="light"]) .rd-b p, html:not([data-theme="light"]) .b-item p, html:not([data-theme="light"]) .tile p, html:not([data-theme="light"]) .ed-lead{ color:var(--body-c); }
  html:not([data-theme="light"]) .why{ background:#0F1B2E; }
  html:not([data-theme="light"]) .fa .for{ background:rgba(34,197,94,.08); }
  html:not([data-theme="light"]) .fa .against{ background:rgba(185,28,28,.1); }
  html:not([data-theme="light"]) .contra{ background:#0F1B2E; }
  html:not([data-theme="light"]) .num-tbl td, html:not([data-theme="light"]) .num-tbl th{ border-color:var(--line); }
  html:not([data-theme="light"]) .copy-btn{ border-color:var(--line); color:var(--muted); }
  html:not([data-theme="light"]) .story p a, html:not([data-theme="light"]) .story aside a, html:not([data-theme="light"]) .about p a, html:not([data-theme="light"]) .c-what a, html:not([data-theme="light"]) .rd-b p a, html:not([data-theme="light"]) .s-meta a, html:not([data-theme="light"]) .lead-cta a, html:not([data-theme="light"]) .ics, html:not([data-theme="light"]) .gmi-note, html:not([data-theme="light"]) .sub-note{ color:#4ADE80; }
  html:not([data-theme="light"]) .btn.ghost{ color:#4ADE80; border-color:#22C55E; }
  html:not([data-theme="light"]) .num-tbl th, html:not([data-theme="light"]) .tbl-wrap th{ background:#16223A; color:var(--ink); }
  html:not([data-theme="light"]) .num-tbl td, html:not([data-theme="light"]) .tbl-wrap td{ background:transparent; color:var(--body-c); border-color:var(--line); }
  html:not([data-theme="light"]) .tbl-wrap tr:nth-child(even) td{ background:#0F1B2E; }
  html:not([data-theme="light"]) .why{ border-left-color:var(--green); }
  html:not([data-theme="light"]) .fa .for{ border-color:rgba(34,197,94,.25); }
  html:not([data-theme="light"]) .fa .against{ border-color:rgba(185,28,28,.3); }
  html:not([data-theme="light"]) .tile ul a{ color:var(--body-c); }
  html:not([data-theme="light"]) .jump{ background:var(--paper); }
  html:not([data-theme="light"]) .hero-deck, html:not([data-theme="light"]) .home-sub, html:not([data-theme="light"]) .lead-deck, html:not([data-theme="light"]) .hub-head p, html:not([data-theme="light"]) .about p, html:not([data-theme="light"]) .about li, html:not([data-theme="light"]) .about dd, html:not([data-theme="light"]) .sowhat, html:not([data-theme="light"]) .idea-b, html:not([data-theme="light"]) .rundown li, html:not([data-theme="light"]) .cold blockquote, html:not([data-theme="light"]) .gen p, html:not([data-theme="light"]) .gen li, html:not([data-theme="light"]) .gen td, html:not([data-theme="light"]) .src, html:not([data-theme="light"]) .sub-p, html:not([data-theme="light"]) .gmi-sub, html:not([data-theme="light"]) .s-meta, html:not([data-theme="light"]) .ed-counts, html:not([data-theme="light"]) .b-meta, html:not([data-theme="light"]) .c-date, html:not([data-theme="light"]) .sl-meta, html:not([data-theme="light"]) .rd-trk, html:not([data-theme="light"]) .mx-v, html:not([data-theme="light"]) .num-tbl summary{ color:var(--body-c); }
  html:not([data-theme="light"]) .hero-deck, html:not([data-theme="light"]) .home-sub, html:not([data-theme="light"]) .lead-deck{ color:#B9C2D0; }
  html:not([data-theme="light"]) .c-date, html:not([data-theme="light"]) .rd-trk, html:not([data-theme="light"]) .mx-v, html:not([data-theme="light"]) .b-meta, html:not([data-theme="light"]) .ed-counts, html:not([data-theme="light"]) .sl-meta, html:not([data-theme="light"]) .s-meta, html:not([data-theme="light"]) .num-tbl summary{ color:var(--muted); }
  html:not([data-theme="light"]) .src{ color:var(--muted); }
  html:not([data-theme="light"]) h1, html:not([data-theme="light"]) h2, html:not([data-theme="light"]) h3, html:not([data-theme="light"]) .hero-h, html:not([data-theme="light"]) .lead-h, html:not([data-theme="light"]) .idea-b a, html:not([data-theme="light"]) .about dt, html:not([data-theme="light"]) .gen h2, html:not([data-theme="light"]) .gen h3{ color:var(--ink); }
  html:not([data-theme="light"]) .bar-l, html:not([data-theme="light"]) .bar-v{ color:var(--body-c); }
  html:not([data-theme="light"]) blockquote{ color:var(--body-c); }
  html:not([data-theme="light"]) body{ background:var(--paper); color:var(--body-c); }
  html:not([data-theme="light"]) .from{ background:#1E293B; color:#94A3B8; }
  html:not([data-theme="light"]) .stale{ background:#3A2E10; border-color:#A16207; color:#FDE68A; }
  html:not([data-theme="light"]) .s-filters select, html:not([data-theme="light"]) .sub-form input{ background:#1E293B; color:#E7EBF2; border-color:#334155; }
  html:not([data-theme="light"]) .mx-seg.cool{ background:#64748B; }
  html:not([data-theme="light"]) img, html:not([data-theme="light"]) .gmi-box{  }
  html:not([data-theme="light"]) .gmi-box{ background:var(--card); }
}

html[data-theme="dark"]{ --paper:#0B1220; --card:#111A2C; --ink:#E7EBF2; --body-c:#C7CEDA; --muted:#8B96A8; --line:#243149; --green-soft:rgba(34,197,94,.16); --chip-ink:#6EE7A0; --bar:#0D1526; --chart-hot:#CBD5E1; }
html[data-theme="dark"] .rd-date{ background:var(--card); color:var(--ink); border-color:var(--line); }
html[data-theme="dark"] .rd-date.soon{ background:var(--green-strong); color:#fff; }
html[data-theme="dark"] .chip{ background:#1E293B; color:#A9B4C4; }
html[data-theme="dark"] .what, html[data-theme="dark"] .c-what, html[data-theme="dark"] .rd-b p, html[data-theme="dark"] .b-item p, html[data-theme="dark"] .tile p, html[data-theme="dark"] .ed-lead{ color:var(--body-c); }
html[data-theme="dark"] .why{ background:#0F1B2E; }
html[data-theme="dark"] .fa .for{ background:rgba(34,197,94,.08); }
html[data-theme="dark"] .fa .against{ background:rgba(185,28,28,.1); }
html[data-theme="dark"] .contra{ background:#0F1B2E; }
html[data-theme="dark"] .num-tbl td, html[data-theme="dark"] .num-tbl th{ border-color:var(--line); }
html[data-theme="dark"] .copy-btn{ border-color:var(--line); color:var(--muted); }
html[data-theme="dark"] .story p a, html[data-theme="dark"] .story aside a, html[data-theme="dark"] .about p a, html[data-theme="dark"] .c-what a, html[data-theme="dark"] .rd-b p a, html[data-theme="dark"] .s-meta a, html[data-theme="dark"] .lead-cta a, html[data-theme="dark"] .ics, html[data-theme="dark"] .gmi-note, html[data-theme="dark"] .sub-note{ color:#4ADE80; }
html[data-theme="dark"] .btn.ghost{ color:#4ADE80; border-color:#22C55E; }
html[data-theme="dark"] .num-tbl th, html[data-theme="dark"] .tbl-wrap th{ background:#16223A; color:var(--ink); }
html[data-theme="dark"] .num-tbl td, html[data-theme="dark"] .tbl-wrap td{ background:transparent; color:var(--body-c); border-color:var(--line); }
html[data-theme="dark"] .tbl-wrap tr:nth-child(even) td{ background:#0F1B2E; }
html[data-theme="dark"] .why{ border-left-color:var(--green); }
html[data-theme="dark"] .fa .for{ border-color:rgba(34,197,94,.25); }
html[data-theme="dark"] .fa .against{ border-color:rgba(185,28,28,.3); }
html[data-theme="dark"] .tile ul a{ color:var(--body-c); }
html[data-theme="dark"] .jump{ background:var(--paper); }
html[data-theme="dark"] .hero-deck, html[data-theme="dark"] .home-sub, html[data-theme="dark"] .lead-deck, html[data-theme="dark"] .hub-head p, html[data-theme="dark"] .about p, html[data-theme="dark"] .about li, html[data-theme="dark"] .about dd, html[data-theme="dark"] .sowhat, html[data-theme="dark"] .idea-b, html[data-theme="dark"] .rundown li, html[data-theme="dark"] .cold blockquote, html[data-theme="dark"] .gen p, html[data-theme="dark"] .gen li, html[data-theme="dark"] .gen td, html[data-theme="dark"] .src, html[data-theme="dark"] .sub-p, html[data-theme="dark"] .gmi-sub, html[data-theme="dark"] .s-meta, html[data-theme="dark"] .ed-counts, html[data-theme="dark"] .b-meta, html[data-theme="dark"] .c-date, html[data-theme="dark"] .sl-meta, html[data-theme="dark"] .rd-trk, html[data-theme="dark"] .mx-v, html[data-theme="dark"] .num-tbl summary{ color:var(--body-c); }
html[data-theme="dark"] .hero-deck, html[data-theme="dark"] .home-sub, html[data-theme="dark"] .lead-deck{ color:#B9C2D0; }
html[data-theme="dark"] .c-date, html[data-theme="dark"] .rd-trk, html[data-theme="dark"] .mx-v, html[data-theme="dark"] .b-meta, html[data-theme="dark"] .ed-counts, html[data-theme="dark"] .sl-meta, html[data-theme="dark"] .s-meta, html[data-theme="dark"] .num-tbl summary{ color:var(--muted); }
html[data-theme="dark"] .src{ color:var(--muted); }
html[data-theme="dark"] h1, html[data-theme="dark"] h2, html[data-theme="dark"] h3, html[data-theme="dark"] .hero-h, html[data-theme="dark"] .lead-h, html[data-theme="dark"] .idea-b a, html[data-theme="dark"] .about dt, html[data-theme="dark"] .gen h2, html[data-theme="dark"] .gen h3{ color:var(--ink); }
html[data-theme="dark"] .bar-l, html[data-theme="dark"] .bar-v{ color:var(--body-c); }
html[data-theme="dark"] blockquote{ color:var(--body-c); }
html[data-theme="dark"] body{ background:var(--paper); color:var(--body-c); }
html[data-theme="dark"] .from{ background:#1E293B; color:#94A3B8; }
html[data-theme="dark"] .stale{ background:#3A2E10; border-color:#A16207; color:#FDE68A; }
html[data-theme="dark"] .s-filters select, html[data-theme="dark"] .sub-form input{ background:#1E293B; color:#E7EBF2; border-color:#334155; }
html[data-theme="dark"] .mx-seg.cool{ background:#64748B; }
html[data-theme="dark"] img, html[data-theme="dark"] .gmi-box{  }
html[data-theme="dark"] .gmi-box{ background:var(--card); }
@media (max-width:860px){
  .tiles, .tiles.four{ grid-template-columns:1fr; }
  .nav{ gap:12px; font-size:12px; flex-wrap:wrap; justify-content:flex-end; }
  .mx-lab{ width:110px; font-size:11px; }
  .mx-cell, .mx-head span{ width:34px; }
  .mx-head{ margin-left:120px; }
  .ed-date{ min-width:0; }
  .mx::after{ content:"scroll for more →"; display:block; text-align:right; font-family:var(--sans); font-size:11px; color:var(--muted); margin-top:6px; }
  .foot-cols{ grid-template-columns:1fr 1fr; gap:28px; }
  .foot-brand{ grid-column:1 / -1; }
}
@media (max-width:520px){
  .foot-cols{ grid-template-columns:1fr; }
}
@media print{
  .site-foot .foot-links a{ color:#5B6472; }
  details.drop, .s-box{ display:none; }
}