
:root{--top:rgba(18,18,18,.96);--scale:linear-gradient(90deg,#252525,#1bb880,#27eaa6);--errsub:rgba(240,74,74,.12);--seg-on:var(--bk);--g:#27eaa6;--g2:#1bb880;--g3:#515151;--gsub:rgba(39,234,166,.12);--bk:#121212;--bk2:#191919;--bk3:#252525;--bk4:#303030;--gr:#515151;--gr2:#6e6e6e;--wh:#fefefe;--wm:rgba(254,254,254,.62);--wf:rgba(254,254,254,.42);--line:rgba(255,255,255,.08);--line2:rgba(255,255,255,.16);--err:#f04a4a;--warn:#f5c842;--sans:'DM Sans',sans-serif;--mono:'JetBrains Mono',ui-monospace,monospace;--pad:clamp(18px,4vw,48px);--max:1320px;color-scheme:dark}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body{background:var(--bk);color:var(--wh);font-family:var(--sans);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100vh}
a{color:var(--g);text-decoration:none}a:hover{color:var(--g2)}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
.mono{font-family:var(--mono)}
/* nav */
.top{position:sticky;top:0;z-index:50;background:var(--top);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.top-bar{display:flex;align-items:center;gap:28px;height:60px}
.brand{display:flex;align-items:center;gap:12px;flex:none;color:var(--wh)}
.brand img{height:30px;width:auto;display:block}
.pnav{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;flex:1}
.pnav::-webkit-scrollbar{display:none}
.pnav a{font-size:14px;font-weight:500;color:var(--wm);padding:8px 12px;white-space:nowrap}
.pnav a:hover{color:var(--wh)}
.pnav a.on{color:var(--wh);box-shadow:inset 0 -2px 0 var(--g)}
@keyframes pulse{50%{opacity:.35}}
/* page heads */
.hero{padding:clamp(48px,7vw,88px) 0 clamp(36px,5vw,56px)}
.eyebrow{font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--g);margin-bottom:18px}
.h1{font-size:clamp(36px,5.6vw,72px);font-weight:700;letter-spacing:-.035em;line-height:1.02;max-width:16ch;text-wrap:balance}
.h1 em{font-style:normal;color:var(--g)}
.sub{font-size:clamp(16px,1.5vw,19px);color:var(--wm);max-width:62ch;margin-top:22px;text-wrap:pretty;line-height:1.6}
.sec{padding:clamp(40px,5vw,64px) 0 0}
.sec-h{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:10px 24px;padding-bottom:16px;border-bottom:1px solid var(--line2);margin-bottom:28px}
.sec-h h2{font-size:clamp(22px,2.4vw,30px);font-weight:700;letter-spacing:-.02em;line-height:1.15}
.sec-h p{font-size:14px;color:var(--wm);max-width:66ch;flex-basis:100%;text-wrap:pretty}
.sec-h .k{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--gr2)}
/* KPI strip */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-top:clamp(36px,5vw,56px)}
.kpi{background:var(--bk2);padding:24px 24px 22px}
.kpi-l{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gr2);margin-bottom:14px}
.kpi-v{font-size:clamp(34px,3.6vw,46px);font-weight:700;letter-spacing:-.03em;line-height:1}
.kpi-v.g{color:var(--g)}
.kpi-d{font-size:14px;color:var(--wm);margin-top:10px;line-height:1.45;text-wrap:pretty}
.kpi-s{font-family:var(--mono);font-size:11px;color:var(--gr2);margin-top:10px}
/* readings strip */
.reads{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.read{padding:14px 16px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.read-l{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--gr2);margin-bottom:6px}
.read-v{font-family:var(--mono);font-size:17px;font-weight:500}
.read-v.up{color:var(--g)}.read-v.dn{color:var(--err)}
/* ledger */
.ledger{width:100%;border-collapse:collapse}
.ledger th{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--gr2);text-align:left;padding:0 12px 12px 0;border-bottom:1px solid var(--line2)}
.ledger td{padding:13px 12px 13px 0;border-bottom:1px solid var(--line);vertical-align:middle}
.ledger tbody tr.r{cursor:pointer}
.ledger tbody tr.r:hover td{background:var(--bk2)}
.ledger .grp td{padding:30px 0 10px;border-bottom:1px solid var(--line2)}
.ledger .grp a{font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--g)}
.ledger .grp a span{color:var(--gr2);margin-left:10px;letter-spacing:.04em}
.l-n{font-size:15px;color:var(--wh)}
.l-v{font-family:var(--mono);font-size:15px;font-weight:500;white-space:nowrap}
.l-c{font-size:13px;white-space:nowrap}
.l-s{font-size:12px;color:var(--gr2)}
.l-t{width:96px;text-align:right}
.up{color:var(--g)}.dn{color:var(--err)}.nt{color:var(--wf)}
/* theme head */
.th{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:end}
.th-stat{border-left:1px solid var(--line2);padding-left:clamp(20px,3vw,36px)}
.th-stat .v{font-size:clamp(52px,7vw,96px);font-weight:700;letter-spacing:-.04em;line-height:.95;color:var(--g)}
.th-stat .d{font-size:14px;color:var(--wm);margin-top:14px;max-width:38ch;text-wrap:pretty}
.intro{font-size:17px;line-height:1.7;color:var(--wm);max-width:78ch;text-wrap:pretty}
/* cards */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,380px),1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.card{background:var(--bk);padding:26px 26px 22px;display:flex;flex-direction:column;min-width:0}
.c-e{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--g);margin-bottom:10px;display:flex;align-items:center;gap:8px}
.c-e i{width:6px;height:6px;border-radius:50%;background:var(--g);animation:pulse 2s infinite}
.c-t{font-size:18px;font-weight:600;letter-spacing:-.01em;line-height:1.3;text-wrap:pretty}
.c-k{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin:14px 0 18px}
.c-v{font-size:clamp(26px,2.4vw,34px);font-weight:700;letter-spacing:-.03em;line-height:1.05;text-wrap:balance}
.c-d{font-size:13px;font-weight:500}
.c-u{font-family:var(--mono);font-size:11px;color:var(--gr2);letter-spacing:.04em;margin-bottom:8px}
.c-ch{margin:0 0 6px;flex:1}
.c-ch svg{display:block;width:100%;max-width:620px;height:auto;overflow:visible}
.c-n{font-size:14px;line-height:1.6;color:var(--wm);margin-top:16px;padding-top:14px;border-top:1px solid var(--line);text-wrap:pretty}
.c-n p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.c-n.open p{display:block}
.c-n button{font-size:13px;color:var(--g);margin-top:6px}
.c-s{font-size:12px;color:var(--gr2);margin-top:12px;line-height:1.5}
.c-s a{color:var(--wf);border-bottom:1px solid var(--line2)}
.c-s a:hover{color:var(--wh)}
/* html charts */
.hb{display:grid;gap:9px}
.hb-r{display:grid;grid-template-columns:minmax(90px,34%) minmax(0,1fr) auto;gap:12px;align-items:center;font-size:13px}
.hb-l{color:var(--wm);line-height:1.3;text-wrap:pretty}
.hb-r.f .hb-l{color:var(--wh);font-weight:600}
.hb-t{height:10px;background:var(--bk3);position:relative}
.hb-f{position:absolute;left:0;top:0;bottom:0;background:var(--g)}
.hb-r.m .hb-f{background:var(--gr)}
.hb-r.ref .hb-f{background:transparent;border:1px dashed var(--gr2)}
.hb-r.bad .hb-f{background:var(--err)}
.hb-v{font-family:var(--mono);font-size:13px;color:var(--wh);min-width:52px;text-align:right}
.hb-mark{position:absolute;top:-4px;bottom:-4px;border-left:1px dashed var(--wf)}
.hb-note{font-family:var(--mono);font-size:11px;color:var(--gr2);margin-top:4px}
.stk{display:flex;height:22px;gap:2px;margin-bottom:16px}
.stk div{height:100%}
.stk-l{display:grid;gap:8px}
.stk-r{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:10px;align-items:center;font-size:13px;color:var(--wm)}
.stk-r i{width:10px;height:10px}
.stk-r b{font-family:var(--mono);font-weight:500;color:var(--wh)}
.legend{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:12px;color:var(--wm);margin-top:10px}
.legend span{display:inline-flex;align-items:center;gap:8px}
.legend i{width:14px;height:3px;display:block}
/* stats grid */
.stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.stat{background:var(--bk2);padding:22px 22px 20px}
.stat .v{font-size:30px;font-weight:700;letter-spacing:-.025em;line-height:1.05}
.stat .l{font-size:14px;color:var(--wm);margin-top:10px;line-height:1.5;text-wrap:pretty}
.stat .s{font-family:var(--mono);font-size:11px;color:var(--gr2);margin-top:10px;line-height:1.5}
.panel-h{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:12px 40px;padding:36px 0 20px}
.panel-h h3{font-size:20px;font-weight:700;letter-spacing:-.015em}
.panel-h p{font-size:15px;color:var(--wm);line-height:1.6;text-wrap:pretty}
.pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-top:0}
/* segmented */
.seg{display:inline-flex;border:1px solid var(--line2);flex-wrap:wrap}
.seg button{font-size:13px;font-weight:500;padding:9px 16px;color:var(--wm);border-right:1px solid var(--line2)}
.seg button:last-child{border-right:0}
.seg button:hover{color:var(--wh)}
.seg button.on{background:var(--g);color:var(--bk)}
/* states */
.st-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:20px}
.st-grid>div{background:var(--bk);padding:24px}
.map svg{width:100%;height:auto;display:block;max-height:640px}
.map path{transition:opacity .15s}
.map path:hover{opacity:.75}
.scale{display:flex;align-items:center;gap:12px;font-family:var(--mono);font-size:11px;color:var(--gr2);margin-top:14px}
.scale i{flex:0 0 160px;height:8px;background:var(--scale)}
.desc{font-size:14px;color:var(--wm);max-width:80ch;margin-top:16px;line-height:1.6;text-wrap:pretty}
.tbl{width:100%;border-collapse:collapse;font-size:14px}
.tbl th{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--gr2);text-align:right;padding:0 0 12px 16px;border-bottom:1px solid var(--line2);white-space:nowrap}
.tbl th:first-child{text-align:left;padding-left:0}
.tbl th button{font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit}
.tbl th button:hover,.tbl th.on button{color:var(--g)}
.tbl td{padding:11px 0 11px 16px;border-bottom:1px solid var(--line);text-align:right;vertical-align:middle}
.tbl td:first-child{text-align:left;padding-left:0;color:var(--wh)}
.cell{display:flex;align-items:center;justify-content:flex-end;gap:10px;font-family:var(--mono);font-size:13px}
.cell i{display:block;width:70px;height:6px;background:var(--bk3);position:relative;flex:none}
.cell i b{position:absolute;left:0;top:0;bottom:0;background:var(--gr)}
.tbl td.on .cell i b{background:var(--g)}
.scroll{overflow-x:auto}
/* questions */
.verdict{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;margin-top:40px}
.vbar{display:flex;height:14px;gap:2px}
.vleg{display:flex;flex-wrap:wrap;gap:8px 24px;font-size:14px;color:var(--wm);margin-top:14px}
.vleg span{display:inline-flex;align-items:center;gap:8px}
.vleg i{width:10px;height:10px}
.vleg b{font-family:var(--mono);color:var(--wh);font-weight:500}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.chip{font-size:13px;padding:7px 14px;border:1px solid var(--line2);color:var(--wm)}
.chip:hover{color:var(--wh);border-color:var(--wf)}
.chip.on{background:var(--wh);color:var(--bk);border-color:var(--wh)}
.qg{font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--g);padding:28px 0 12px;grid-column:1/-1;background:var(--bk)}
.qcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,480px),1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.q-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
.q-n{font-family:var(--mono);font-size:12px;color:var(--gr2);letter-spacing:.08em}
.badge{font-size:12px;font-weight:600;padding:4px 10px;white-space:nowrap;text-align:right}
.badge.up{background:var(--gsub);color:var(--g)}
.badge.dn{background:var(--errsub);color:var(--err)}
.badge.nt{background:var(--line);color:var(--wm)}
.q-q{font-size:19px;font-weight:600;letter-spacing:-.01em;line-height:1.35;margin-bottom:12px;text-wrap:pretty}
.q-a{font-size:14px;color:var(--wm);line-height:1.65;margin-bottom:16px;text-wrap:pretty}
.sigs{border-top:1px solid var(--line)}
.sig{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:9px 0;border-bottom:1px solid var(--line);font-size:13px;color:var(--wm)}
.sig b{font-family:var(--mono);font-weight:500;text-align:right}
.q-f{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;margin-top:14px;font-size:12px}
.q-f span{font-family:var(--mono);color:var(--gr2)}
/* builders */
.b-n{font-family:var(--mono);font-size:12px;color:var(--gr2);letter-spacing:.1em;margin-bottom:12px}
.b-t{font-size:24px;font-weight:700;letter-spacing:-.02em;line-height:1.2;margin-bottom:18px}
.b-row{display:grid;grid-template-columns:110px minmax(0,1fr);gap:16px;padding:14px 0;border-top:1px solid var(--line);font-size:14px;line-height:1.6;color:var(--wm)}
.b-row b{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gr2);padding-top:3px}
.b-row.gap b{color:var(--err)}.b-row.build b{color:var(--g)}
.b-row.build{color:var(--wh)}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:16px}
.tags span{font-family:var(--mono);font-size:11px;padding:4px 9px;background:var(--gsub);color:var(--g)}
/* sources & footer */
.srcs{columns:2 340px;column-gap:48px;font-size:13px;line-height:1.5}
.srcs a{display:block;color:var(--wm);padding:8px 0;border-bottom:1px solid var(--line);break-inside:avoid}
.srcs a:hover{color:var(--wh)}
.foot{margin-top:clamp(64px,8vw,112px);border-top:1px solid var(--line);padding:40px 0 48px}
.foot-in{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:32px 64px}
.foot img{height:34px;margin-bottom:18px}
.foot p{font-size:13px;color:var(--wf);line-height:1.65;max-width:70ch}
.foot nav{display:grid;gap:10px;font-size:14px;align-content:start}
.foot nav a{color:var(--wm)}.foot nav a:hover{color:var(--g)}
.tip{position:fixed;z-index:80;pointer-events:none;background:var(--wh);color:var(--bk);font-size:12px;padding:6px 9px;font-family:var(--mono);white-space:nowrap;opacity:0;transition:opacity .1s}
@media(max-width:900px){.th,.panel-h,.st-grid,.foot-in{grid-template-columns:1fr}.th-stat{border-left:0;padding-left:0;border-top:1px solid var(--line2);padding-top:24px}}
@media(max-width:640px){.top-bar{gap:14px}.l-s,.ledger th.l-s{display:none}.l-t{width:64px}.card{padding:22px 18px 18px}.b-row{grid-template-columns:1fr;gap:4px}.verdict{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* border grids: no grey fill in empty cells */
.cards,.qcards,.stats,.kpis,.pair{background:none;gap:0;border:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.cards>*,.qcards>*,.stats>*,.kpis>*,.pair>*{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.pair{border-top:0}
.qg{padding-left:26px}

.q-ch{background:var(--bk2);padding:18px 18px 14px;margin:0 0 18px}
.q-cht{font-size:14px;font-weight:600;color:var(--wh);margin:-2px 0 14px;line-height:1.35}
.q-ch .c-s{margin-top:10px}
.q-ch .c-ch{max-width:520px}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.tiles div{background:var(--bk2);padding:18px 16px}
.tiles b{display:block;font-family:var(--mono);font-size:24px;font-weight:500;color:var(--g);letter-spacing:-.02em}
.tiles span{display:block;font-size:13px;color:var(--wm);margin-top:8px;line-height:1.4}
.cards.wide{grid-template-columns:repeat(auto-fill,minmax(min(100%,600px),1fr))}
.donut{display:grid;grid-template-columns:minmax(140px,190px) minmax(0,1fr);gap:28px;align-items:center}
.donut svg{width:100%;height:auto;display:block}
@media(max-width:480px){.donut{grid-template-columns:1fr}.donut svg{max-width:200px}}
.st-txt{font-size:14px;line-height:1.6;color:var(--wm);margin:10px 0 18px;max-width:60ch;text-wrap:pretty}
.slope-card .c-ch{max-width:900px}
.tbl .cell{white-space:nowrap}
.tbl td:first-child{white-space:nowrap}
.tbl .cell i{width:48px}
.sx{display:grid;gap:7px}
.sx-r{display:grid;grid-template-columns:minmax(110px,170px) minmax(0,1fr);gap:14px;align-items:center}
.sx-l{font-size:14px;color:var(--wm)}
.sx-r.f .sx-l{color:var(--wh);font-weight:700}
.sx-r.f{padding-bottom:10px;margin-bottom:4px;border-bottom:1px solid var(--line2)}
.sx-b{display:flex;height:24px;gap:2px}
.sx-b>div{display:flex;align-items:center;justify-content:center;min-width:0}
.sx-b span{font-family:var(--mono);font-size:11.5px;color:#fefefe}
.sx-b span.dk{color:var(--bk);font-weight:600}
@media(max-width:560px){.sx-r{grid-template-columns:1fr;gap:4px}}
.sx{gap:12px}.sx-p{display:grid;grid-template-columns:62px minmax(0,1fr);gap:3px 10px;align-items:center}
.sx-k{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--gr2)}
.sx-b.wk{height:16px}.sx-b.wk span{font-size:10.5px}
.sx-na{font-size:12px;color:var(--gr2)}
.db{display:grid;gap:6px}
.db-r{display:grid;grid-template-columns:minmax(100px,130px) minmax(0,1fr) 96px;gap:12px;align-items:center;font-size:13px}
.db-l{color:var(--wm)}.db-r.f .db-l{color:var(--wh);font-weight:700}
.db-t{position:relative;height:16px}
.db-t::before{content:"";position:absolute;left:0;right:0;top:50%;border-top:1px solid var(--line)}
.db-t.ax::before{display:none}
.db-t i{position:absolute;top:50%;height:3px;margin-top:-1.5px;background:var(--gr)}
.db-t b{position:absolute;top:50%;width:11px;height:11px;margin:-5.5px 0 0 -5.5px;border-radius:50%;background:var(--g)}
.db-t b.o{background:var(--bk);border:1.5px solid var(--wm)}
.db-v{font-family:var(--mono);font-size:12px;color:var(--wf);text-align:right;white-space:nowrap}.db-v span{color:var(--g)}
.db-t.ax span{position:absolute;top:0;transform:translateX(-50%);font-family:var(--mono);font-size:11px;color:var(--gr2)}
.wb-h,.wb-r{display:grid;grid-template-columns:minmax(110px,150px) minmax(0,1fr) minmax(0,1fr);gap:10px 20px;align-items:center}
.wb-h{margin-bottom:16px;align-items:start}.wb{display:grid;gap:7px}
@media(max-width:720px){.wb-h,.wb-r{grid-template-columns:1fr}.wb-h>div:first-child{display:none}.wb-r{padding-bottom:8px;border-bottom:1px solid var(--line)}}
.wsh{font-family:var(--mono);font-size:11px;color:var(--gr2);text-align:right;margin-top:3px;padding-right:80px}
.wb-h.wb1,.wb-r.wb1{grid-template-columns:minmax(110px,150px) minmax(0,1fr)}
.gp{display:grid;gap:8px}.gp-r{display:grid;grid-template-columns:minmax(140px,260px) minmax(0,1fr);gap:14px;align-items:center}
.gp-b{display:grid;gap:3px}.gp-b>div{display:flex;align-items:center;gap:8px;height:10px}.gp-b i{display:block;height:10px;min-width:2px}.gp-b span{font-family:var(--mono);font-size:11px;color:var(--wm)}
.tbl.ss td{vertical-align:top}.tbl.ss td:first-child{padding-top:13px}
.ss-v{font-family:var(--mono);font-size:14px;color:var(--wh)}.ss-s{font-size:11.5px;color:var(--gr2);margin-top:3px;white-space:nowrap}
.ss-mix{display:flex;height:12px;gap:1px;margin-top:3px}
.tbl.ss tr.ss-g td{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--g);padding-top:22px;text-align:left}
@media(max-width:640px){.gp-r{grid-template-columns:1fr;gap:4px}}

.hb-g{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--wm);margin:14px 0 8px}.hb-g:first-child{margin-top:0}
.hb-r.f .hb-f{background:var(--g)}.hb-r.m .hb-f{background:var(--gr)}

/* ---- light mode ---- */
:root[data-theme="light"]{--g:#1bb880;--g2:#1bb880;--g3:#6e6e6e;--gfill:#27eaa6;--gsub:rgba(39,234,166,.18);--bk:#fefefe;--bk2:#f5f5f3;--bk3:#e6e6e3;--bk4:#d6d6d2;--gr:#9a9a9a;--gr2:#6e6e6e;--wh:#121212;--wm:rgba(18,18,18,.68);--wf:rgba(18,18,18,.5);--line:rgba(0,0,0,.09);--line2:rgba(0,0,0,.18);--err:#d13b3b;--errsub:rgba(209,59,59,.1);--top:rgba(254,254,254,.96);--scale:linear-gradient(90deg,#d8fcec,#27eaa6,#1bb880);color-scheme:light}
/* light mode: base green for fills and display text; Green Dark for small text and links */
:root[data-theme="light"] .h1 em{color:var(--gfill)}
:root[data-theme="light"] .th-stat .v,:root[data-theme="light"] .kpi-v.g{color:var(--gfill)}
:root[data-theme="light"] .hb-f,:root[data-theme="light"] .pnav a.on{box-shadow:none}
:root[data-theme="light"] .pnav a.on{box-shadow:inset 0 -2px 0 var(--gfill)}
:root[data-theme="light"] .rail a.on{border-bottom-color:var(--gfill)}
:root[data-theme="light"] .hb-f,:root[data-theme="light"] .hb-r.f .hb-f,:root[data-theme="light"] .cell i b,:root[data-theme="light"] .tbl td.on .cell i b,:root[data-theme="light"] .gp-b i,:root[data-theme="light"] .tags span{background:var(--gfill)}
:root[data-theme="light"] .hb-r.m .hb-f{background:var(--gr)}
:root[data-theme="light"] .tags span{color:var(--bk)}
:root[data-theme="light"] .badge.up{background:var(--gfill);color:var(--bk)}
:root[data-theme="light"] .seg button.on{background:var(--gfill);color:var(--bk)}
:root[data-theme="light"] .chip.on{background:var(--wh);color:var(--bk)}
:root[data-theme="light"] .tip{background:var(--wh);color:var(--bk)}
:root[data-theme="light"] .sx-b span.dk,:root[data-theme="light"] .hb-f span{color:#fefefe}
:root[data-theme="light"] .tags span{background:var(--gsub)}
.theme{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;color:var(--wm);flex:none;border:1px solid var(--line2)}
.theme:hover{color:var(--wh);border-color:var(--wf)}
:root[data-theme="light"] .h1 em{text-shadow:none}

/* ---- story ---- */
.sy-hero .h1{max-width:20ch}
.sy-wrap{display:grid;gap:0}
.sy-part{padding:clamp(56px,8vw,112px) 0 20px;border-bottom:1px solid var(--line2);margin-bottom:8px}
.sy-part span{font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--g)}
.sy{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(28px,5vw,80px);align-items:center;min-height:min(78vh,620px);padding:clamp(36px,5vw,64px) 0;border-bottom:1px solid var(--line)}
.sy-n{font-size:clamp(64px,10vw,136px);font-weight:700;letter-spacing:-.045em;line-height:.95;color:var(--g);text-wrap:balance}
:root[data-theme="light"] .sy-n{color:var(--gfill)}
.sy-l{font-size:clamp(20px,2.2vw,28px);font-weight:600;letter-spacing:-.015em;line-height:1.25;margin-top:18px;text-wrap:balance;max-width:24ch}
.sy-t{font-size:clamp(15px,1.3vw,17px);line-height:1.65;color:var(--wm);margin-top:16px;max-width:52ch;text-wrap:pretty}
.sy-ch{min-width:0}
.sy-ch svg{display:block;width:100%;height:auto;overflow:visible}
.sy-ct{font-size:13px;font-weight:600;color:var(--wm);margin-bottom:14px}
.sy-ch .c-s{margin-top:14px}
.sy-bd .b-row{grid-template-columns:96px minmax(0,1fr);font-size:15px}
.sy-bd .b-row:first-child{border-top:0;padding-top:0}
.sy-end p{font-size:17px;line-height:1.65;color:var(--wm);max-width:60ch}
@media(max-width:860px){.sy{grid-template-columns:1fr;min-height:0;gap:24px}}
.sy-q{font-size:14px;font-weight:600;color:var(--wm);margin-bottom:14px;line-height:1.4}.sy-q .q-n{margin-right:6px}.sy-q a{margin-left:4px}
.sy-sigs{margin-top:16px}.sy-sigs .sig{font-size:13px}
.sy-ch .q-ch{background:none;padding:0;margin:0}.sy-ch .q-ch .c-e{display:none}.sy-ch .q-ch .c-s{display:none}.sy-ch .q-cht{font-size:13px;font-weight:600;color:var(--wm);margin:0 0 14px}
.stk-r.f span{color:var(--wh);font-weight:600}
.gp-b i.gf,.legend i.gf{background:var(--g)!important}.gp-b i.gm,.legend i.gm{background:var(--gr)!important}
:root[data-theme="light"] .gp-b i.gf,:root[data-theme="light"] .legend i.gf{background:var(--gfill)!important}
.gp-b>div{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 48px;align-items:center}.gp-b i{display:block;justify-self:start;max-width:100%}.gp-b span{flex:none}
.pn-sep{flex:none;width:1px;height:18px;background:var(--line2);margin:0 10px;align-self:center}
.pn-t{display:flex;gap:2px;flex:none}
.pn-t a{font-size:13px;color:var(--wf);padding:8px 10px}
.pn-t a:hover{color:var(--wh)}
.pn-t a.on{color:var(--g);box-shadow:inset 0 -2px 0 var(--g)}
:root[data-theme="light"] .pn-t a.on{color:var(--g2);box-shadow:inset 0 -2px 0 var(--gfill)}
.pnav{align-items:center}
.tbl.si td{vertical-align:top}.tbl.si td:nth-child(3){min-width:150px}.tbl.si .cell{justify-content:flex-start}.tbl.si th:nth-child(2),.tbl.si td:nth-child(2){text-align:left}
.iw{display:grid;gap:10px}
.iw-h,.iw-r{display:grid;grid-template-columns:minmax(110px,190px) minmax(0,1fr) 130px;gap:14px;align-items:center}
.iw-h span{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--gr2)}
.iw-l{font-size:13.5px;color:var(--wm);line-height:1.25}
.iw-b{display:flex;align-items:center;gap:8px;min-width:0}
.iw-bar{display:flex;height:16px;gap:1px;min-width:4px}.iw-bar>div{min-width:0}
.iw-b b{font-family:var(--mono);font-size:12px;font-weight:500;color:var(--wh)}
.iw-p{display:flex;align-items:center;gap:8px}.iw-p i{display:block;height:4px;background:var(--line2);max-width:50px;flex:none}
.iw-p span{font-family:var(--mono);font-size:12.5px;color:var(--wh)}
@media(max-width:560px){.iw-h{display:none}.iw-r{grid-template-columns:1fr auto;gap:4px 10px}.iw-l{grid-column:1/-1}}

/* ---------- mobile ---------- */
html{-webkit-text-size-adjust:100%}
body{overflow-x:clip}
.mnav-b{display:none;align-items:center;justify-content:center;width:40px;height:40px;color:var(--wh);border:1px solid var(--line2);flex:none}
.mnav-b svg{display:block}
.mnav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--bk2);border-bottom:1px solid var(--line2);max-height:calc(100vh - 56px);overflow-y:auto}
.mnav.open{display:block}
.mnav-in{display:grid;padding:8px var(--pad) 24px}
.mnav-in a{display:flex;align-items:baseline;gap:14px;padding:14px 0;font-size:16px;color:var(--wm);border-bottom:1px solid var(--line)}
.mnav-in a b{font-family:var(--mono);font-size:11px;font-weight:500;color:var(--gr2);min-width:22px}
.mnav-in a.on{color:var(--g)}.mnav-in a.on b{color:var(--g)}
.mnav-k{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gr2);padding:22px 0 6px}
:root[data-theme="light"] .mnav-in a.on,:root[data-theme="light"] .mnav-in a.on b{color:var(--gt,var(--g2))}
@media(max-width:900px){
 .pnav{display:none}
 .mnav-b{display:inline-flex}
 .top-bar{height:56px;justify-content:space-between}
 .top-bar .brand{margin-right:auto}
}
@media(max-width:640px){
 :root{--pad:18px}
 html{scroll-padding-top:68px}
 .hero{padding:36px 0 28px}
 .h1{font-size:clamp(30px,8.6vw,40px)}
 .sub,.intro{font-size:15px}
 .sec{padding-top:36px}
 .sec-h{margin-bottom:20px}
 .sec-h h2{font-size:21px}
 .kpis{grid-template-columns:1fr 1fr}
 .kpi{padding:16px 14px}
 .kpi-v{font-size:26px}
 .kpi-d{font-size:13px}
 .stats{grid-template-columns:1fr 1fr}
 .stat{padding:16px 14px}.stat .v{font-size:22px}.stat .l{font-size:13px}
 .th-stat .v{font-size:48px}
 .seg,.chips{display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;max-width:100%;margin-right:calc(-1*var(--pad));padding-right:var(--pad)}
 .seg::-webkit-scrollbar,.chips::-webkit-scrollbar{display:none}
 .seg button,.chip{flex:none;white-space:nowrap}
 .st-grid>div{padding:16px}
 .c-t{font-size:16px}
 .c-v{font-size:26px}
 .c-n{font-size:13.5px}
 .q-q{font-size:17px}
 .b-t{font-size:20px}
 .sy{padding:32px 0;gap:20px}
 .sy-n{font-size:clamp(40px,13vw,64px);overflow-wrap:anywhere}
 .sy-l{font-size:19px}
 .sy-t{font-size:15px}
 .sy-part{padding:48px 0 14px}
 .sy-bd .b-row{grid-template-columns:1fr;gap:4px}
 .wsh{padding-right:0;text-align:left}
 .tbl{font-size:13px}
 .tbl td,.tbl th{padding-left:12px}
 .scroll{position:relative;-webkit-overflow-scrolling:touch}
 .foot{padding:28px 0 36px}
 .verdict{margin-top:28px}
 .hb-r{grid-template-columns:minmax(80px,38%) minmax(0,1fr) auto;gap:8px;font-size:12.5px}
}
@media(max-width:640px){.q-top{flex-wrap:wrap;align-items:flex-start}.badge{white-space:normal;text-align:left}}
@media(max-width:560px){.iw-r{grid-template-columns:minmax(0,1fr) max-content}.iw-p i{display:none}.iw-p{min-width:max-content}}

/* ---------- extras ---------- */
.c-tk{font-size:14px;line-height:1.5;color:var(--wh);margin:8px 0 0;text-wrap:pretty}
.q-ch .c-tk{margin:-6px 0 14px;font-size:13px;color:var(--wm)}
.mys{flex:none;max-width:240px;height:38px;padding:0 28px 0 10px;font:500 13px var(--sans);color:var(--wh);background:var(--bk2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23999' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 10px center/10px 6px;border:1px solid var(--line2);border-radius:0;appearance:none;-webkit-appearance:none;cursor:pointer}
.mys:hover,.mys:focus{border-color:var(--g);outline:0}
.hb-r.me .hb-l{color:var(--wh);font-weight:700}.hb-r.me .hb-t{outline:1.5px solid var(--wh);outline-offset:2px}
.hb-l em{display:block;font-style:normal;font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--g);margin-top:2px}
.map path.me{stroke:var(--wh);stroke-width:2}
.tbl tbody tr.me td{background:var(--gsub)}.tbl tbody tr.me td:first-child{color:var(--g);font-weight:700}
.sx-r.me .sx-l,.wb-r.me .sx-l{color:var(--g);font-weight:700}
.mys-s{padding-top:0}
.mys-h{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:14px}.mys-h .c-e{margin:0}.mys-h b{font-size:20px;font-weight:700}
.mys-h button{font-size:13px;color:var(--wf);border-bottom:1px solid var(--line2)}.mys-h button:hover{color:var(--wh)}
.mys-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,170px),1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.mys-i{padding:14px 16px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bk2)}
.mys-l{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--gr2)}
.mys-v{font-family:var(--mono);font-size:19px;font-weight:500;color:var(--g);margin-top:6px}
.mys-n{font-size:12px;color:var(--wf);margin-top:4px}
.mys-f{font-size:12px;color:var(--gr2);margin-top:10px}
.mys-e{font-size:14px;color:var(--wm);padding:14px 16px;border:1px dashed var(--line2)}

@media(max-width:640px){.mys{max-width:100%}}
.mys-h{align-items:center}.mys-hint{font-size:13px;color:var(--wf);flex:1 1 260px}
@media(max-width:640px){}
.brand span{display:inline-block;font-family:var(--sans);font-size:15px;font-weight:600;letter-spacing:-.01em;text-transform:none;padding-left:12px;border-left:1px solid var(--line2);color:var(--wh)}
.foot-name{font-size:15px;font-weight:600;color:var(--wh);margin:-8px 0 14px}
@media(max-width:640px){.brand span{display:inline-block;font-size:14px;padding-left:10px}}
.beta{font-style:normal;font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--g);border:1px solid var(--g);padding:2px 6px;margin-left:8px;line-height:1;align-self:center}
:root[data-theme="light"] .beta{color:var(--gt,#1bb880);border-color:var(--gt,#1bb880)}
.foot nav a.foot-cta{color:var(--g)}.foot nav a.foot-cta:hover{color:var(--wh)}
.foot p.foot-ai{margin-top:10px;font-size:12px;color:var(--gr2)}
.foot-k{color:var(--wm);font-weight:600}
.foot p.foot-about{color:var(--wm);font-size:14px;margin-bottom:10px}
.rp{border:1px solid var(--line2);background:var(--bk2);color:var(--wh);padding:0;width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 32px);margin:auto}
.rp::backdrop{background:rgba(0,0,0,.6)}
.rp-f{display:grid;gap:16px;padding:24px 26px 26px}
.rp-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.rp-top h2{font-size:20px;font-weight:700;letter-spacing:-.01em;line-height:1.25}
.rp-x{font-size:26px;line-height:1;color:var(--wf);padding:0 4px}.rp-x:hover{color:var(--wh)}
.rp-t{border:0;display:flex;flex-wrap:wrap;gap:8px}
.rp-t legend{font-size:13px;color:var(--wm);margin-bottom:8px}
.rp-t label{display:inline-flex;align-items:center;gap:8px;font-size:14px;padding:8px 12px;border:1px solid var(--line2);cursor:pointer}
.rp-t label:has(input:checked){border-color:var(--g);color:var(--g)}
.rp-t input{accent-color:var(--g)}
.rp-l{display:grid;gap:6px;font-size:13px;color:var(--wm)}.rp-l span{color:var(--gr2)}
.rp-l input,.rp-l textarea{font:15px var(--sans);color:var(--wh);background:var(--bk);border:1px solid var(--line2);padding:10px 12px;border-radius:0;width:100%;resize:vertical}
.rp-l input:focus,.rp-l textarea:focus{outline:0;border-color:var(--g)}
.rp-b{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.rp-s{font-size:14px;font-weight:600;padding:11px 22px;background:var(--g);color:#121212}.rp-s:disabled{opacity:.6}
.rp-m{font-size:13px;color:var(--wm)}
:root[data-theme="light"] .rp-s{background:var(--gfill,#27eaa6)}
