/* Repleader site styles. Section 17 tokens; section 22 look: dark by default, left sidebar.
   Theme: dark on :root, light under prefers-color-scheme: light, both overridable by data-theme. */
:root{color-scheme:dark;
--bg:#111318;--surface:#181b22;--raised:#20242d;--ink:#e8eaee;--muted:#a2aab6;--hairline:#2c313b;
--accent:#8ab4ff;--accent-bg:#18233d;--focus:#8ab4ff;--pos:#5cc98b;--pos-bg:#13291c;--neg:#ff8a80;--neg-bg:#341a1a;
--warn:#e8b45c;--warn-bg:#2f2513;--modeled:#c4a8ff;--modeled-bg:#251d38;--band:#1c2a44;--pill:#1d2129;--shadow:rgba(0,0,0,.45);
--c0:#e87bb4;--c1:#b388ff;--c2:#f2d55b;--c3:#5ad1c8;--c4:#b4e85a;--c5:#ff7a66;--c6:#64d97a;--c7:#6aa2ff;--c8:#ffa14f;--c9:#c9b8ff;
--font:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
--mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
--fs-xs:.75rem;--fs-sm:.875rem;--fs-base:1rem;--fs-md:1.125rem;--fs-lg:1.375rem;--fs-xl:1.75rem;--fs-stat:2rem;
--lh-tight:1.2;--lh-table:1.35;--lh-body:1.5;
--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--radius:4px;--page:1180px;--measure:68ch}
@media (prefers-color-scheme:light){:root:not([data-theme="dark"]){color-scheme:light;
--bg:#ffffff;--surface:#f5f6f8;--raised:#eceef2;--ink:#14171c;--muted:#545c69;--hairline:#d9dde3;
--accent:#1d4ed8;--accent-bg:#e8eefc;--focus:#1d4ed8;--pos:#146c3a;--pos-bg:#e6f4ea;--neg:#b3261e;--neg-bg:#fbe9e7;
--warn:#8a5200;--warn-bg:#fdf0d9;--modeled:#6a3fb5;--modeled-bg:#f1ebfa;--band:#dbe6fb;--pill:#eceef2;--shadow:rgba(20,23,28,.14);
--c0:#c03a7e;--c1:#7a4fd6;--c2:#9a7a00;--c3:#00807a;--c4:#5a8a00;--c5:#d0442e;--c6:#1f8a3c;--c7:#2563c9;--c8:#c25e00;--c9:#7d68c9}}
:root[data-theme="light"]{color-scheme:light;
--bg:#ffffff;--surface:#f5f6f8;--raised:#eceef2;--ink:#14171c;--muted:#545c69;--hairline:#d9dde3;
--accent:#1d4ed8;--accent-bg:#e8eefc;--focus:#1d4ed8;--pos:#146c3a;--pos-bg:#e6f4ea;--neg:#b3261e;--neg-bg:#fbe9e7;
--warn:#8a5200;--warn-bg:#fdf0d9;--modeled:#6a3fb5;--modeled-bg:#f1ebfa;--band:#dbe6fb;--pill:#eceef2;--shadow:rgba(20,23,28,.14);
--c0:#c03a7e;--c1:#7a4fd6;--c2:#9a7a00;--c3:#00807a;--c4:#5a8a00;--c5:#d0442e;--c6:#1f8a3c;--c7:#2563c9;--c8:#c25e00;--c9:#7d68c9}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--ink);font:400 var(--fs-base)/var(--lh-body) var(--font);font-variant-numeric:tabular-nums}
a{color:var(--accent);text-underline-offset:2px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:2px}
.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:8px;background:var(--bg);padding:4px 8px;z-index:9}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Shell */
.shell{display:grid;grid-template-columns:220px minmax(0,1fr);gap:40px;max-width:var(--page);margin:0 auto;padding:0 var(--s4)}
.side{position:sticky;top:0;align-self:start;height:100vh;overflow-y:auto;padding:24px 0 16px;display:flex;flex-direction:column}
.brand{display:flex;align-items:center;gap:8px;font-weight:700;font-size:15px;letter-spacing:.02em;color:var(--ink);text-decoration:none;margin:0 8px 18px}
.brand .logo{width:20px;height:20px;color:var(--accent);stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.brand .fillc{fill:currentColor;stroke:none}.brand .a1{opacity:.6}.brand .a2{opacity:.35}
.side ul{list-style:none;margin:0;padding:0}
.side li a,.side li span{display:flex;align-items:center;gap:10px;color:var(--muted);text-decoration:none;padding:7px 8px;border-radius:6px;font-size:14.5px}
.side li svg,.side-foot svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}
.side li a:hover,.side li a.on{color:var(--ink);background:var(--pill)}
.side li .soon{opacity:.75}
.chip-soon{margin-left:auto;font-size:11.5px;color:var(--muted);opacity:.8;font-weight:400}
.side-foot{margin-top:auto;padding:16px 8px 0}
.theme{display:flex;align-items:center;gap:8px;background:none;border:1px solid var(--hairline);color:var(--muted);font:inherit;font-size:13px;padding:6px 10px;border-radius:8px;cursor:pointer}
.theme:hover{color:var(--ink)}
.page{min-width:0;padding-top:20px}
main{min-width:0}
.crumbs ol{display:flex;flex-wrap:wrap;gap:var(--s2);list-style:none;padding:0;margin:0 0 6px;font-size:var(--fs-sm);color:var(--muted)}
.crumbs li+li::before{content:"/";margin-right:var(--s2)}
.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--ink)}

/* Header pattern */
.tabs{display:flex;gap:24px;border-bottom:1px solid var(--hairline);margin:0 0 18px;overflow-x:auto;scrollbar-width:none}
.tabs a,.tabs span{display:flex;align-items:center;gap:8px;padding:10px 2px;color:var(--muted);font-size:15px;white-space:nowrap;text-decoration:none;border-bottom:2px solid transparent}
.tabs a:hover{color:var(--ink)}.tabs a.on{color:var(--ink);border-bottom-color:var(--accent)}
.tabs .soon{opacity:.5}
.ic{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
h1{font-size:var(--fs-xl);line-height:var(--lh-tight);font-weight:700;margin:4px 0 8px;letter-spacing:-.01em}
h2{font-size:var(--fs-lg);line-height:var(--lh-tight);font-weight:600;margin:var(--s6) 0 var(--s2)}
h3{font-size:var(--fs-md);margin:var(--s5) 0 var(--s2)}
p,li{max-width:var(--measure)}
.lede{font-size:var(--fs-md);margin:0 0 6px}
.asof{font-size:var(--fs-sm);color:var(--muted);margin:0}
.ph{margin-bottom:var(--s4)}
.sh{display:flex;align-items:center;gap:10px;font-size:22px;margin:34px 0 2px;scroll-margin-top:16px}
.sh .ic{width:20px;height:20px;stroke:var(--ink)}
.share{display:inline-flex;color:var(--muted);padding:4px;border-radius:6px}
.share svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round}
.share:hover{color:var(--ink);background:var(--pill)}
.share.copied{color:var(--pos)}
.sub{color:var(--muted);margin:0}
.mut{color:var(--muted)}
.bar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:14px 0 8px}
.seg{display:inline-flex;background:var(--pill);border:1px solid var(--hairline);border-radius:8px;padding:3px}
.seg button,.seg span,.seg a{background:none;border:0;color:var(--muted);font:inherit;font-size:13.5px;padding:5px 12px;border-radius:6px;cursor:pointer;text-decoration:none}
.seg .on{color:var(--accent);background:var(--bg)}
.seg .soon{opacity:.5;cursor:default}
.segs{display:flex;flex-wrap:wrap;gap:8px}
.ao{fill:none;stroke:var(--ink);stroke-width:1.5;opacity:.8}
.today line{stroke:var(--muted);stroke-width:1}.today text{font-size:11px}
.dd{display:flex;gap:8px;margin-left:auto}
select{background:var(--pill);color:var(--ink);border:1px solid var(--hairline);border-radius:8px;padding:7px 10px;font:inherit;font-size:13.5px}

/* Stat strip */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:var(--s3);margin:var(--s4) 0 0}
.stats>div{background:var(--surface);border:1px solid var(--hairline);border-radius:10px;padding:12px 14px}
.stats dt{font-size:var(--fs-sm);color:var(--muted)}
.stats dd{margin:2px 0 0;font-size:var(--fs-stat);font-weight:600;line-height:var(--lh-tight)}
.stats .ss{margin:2px 0 0;font-size:var(--fs-sm);color:var(--muted)}
.stats .ss a{color:var(--muted)}
.estm{font-size:var(--fs-sm);font-weight:500;color:var(--muted);vertical-align:middle}
.kpi .est dd{background-image:repeating-linear-gradient(135deg,transparent 0 5px,color-mix(in srgb,var(--muted) 14%,transparent) 5px 7px);border-radius:4px}
details.how{margin:10px 0 0;font-size:var(--fs-sm)}details.how summary{cursor:pointer;color:var(--muted)}.howb{color:var(--muted)}

/* Charts */
.stackfig,figure.lf{margin:0}
.cw{position:relative}
svg.chart{display:block;width:100%;height:auto}
svg.chart.narrow{display:none}
svg.chart text{fill:var(--muted);font:12px var(--mono)}
svg.hbar text{font:13px var(--font);fill:var(--ink)}
.gr{stroke:var(--hairline);stroke-width:1}
.bd{fill:var(--band)}
.ln{fill:none;stroke:var(--accent);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.end{fill:var(--accent);stroke:var(--bg);stroke-width:1.5}
.hl{fill:var(--muted);opacity:.55}
.hov{pointer-events:none}
.k0{fill:var(--c0)}.k1{fill:var(--c1)}.k2{fill:var(--c2)}.k3{fill:var(--c3)}.k4{fill:var(--c4)}
.k5{fill:var(--c5)}.k6{fill:var(--c6)}.k7{fill:var(--c7)}.k8{fill:var(--c8)}.k9{fill:var(--c9)}
.b0{--kc:var(--c0)}.b1{--kc:var(--c1)}.b2{--kc:var(--c2)}.b3{--kc:var(--c3)}.b4{--kc:var(--c4)}
.b5{--kc:var(--c5)}.b6{--kc:var(--c6)}.b7{--kc:var(--c7)}.b8{--kc:var(--c8)}.b9{--kc:var(--c9)}
i.chip,i.dot,.tip i{background:var(--kc)}
.spark{display:block;width:96px;height:24px}.spark polyline{fill:none;stroke:var(--muted);stroke-width:1.5;stroke-linejoin:round}.spark circle{fill:var(--accent)}
.tip{position:absolute;pointer-events:none;background:var(--surface);border:1px solid var(--hairline);border-radius:10px;padding:10px 12px;min-width:250px;max-width:340px;font-size:13.5px;box-shadow:0 10px 30px var(--shadow);z-index:3}
.tip .d{display:inline-block;background:var(--ink);color:var(--bg);font-weight:600;border-radius:6px;padding:2px 8px;margin-bottom:4px}.tip .n{color:var(--muted);font-size:12.5px;margin-bottom:6px}
.tip .r{display:flex;justify-content:space-between;gap:16px;padding:2px 0}
.tip .r span:first-child{display:flex;align-items:center;gap:8px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tip .r span:last-child{font-variant-numeric:tabular-nums;white-space:nowrap}
.tip i{display:inline-block;width:4px;height:14px;border-radius:2px;flex:none}
.tip .t{border-top:1px solid var(--hairline);margin-top:6px;padding-top:6px}
.tip .e span:first-child{color:var(--muted)}

/* Tables */
.tw{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:var(--fs-sm);line-height:var(--lh-table);font-variant-numeric:tabular-nums}
caption{text-align:left;color:var(--muted);font-size:var(--fs-xs);padding:6px 0;caption-side:bottom}
caption a{color:var(--muted)}
th,td{padding:8px;border-bottom:1px solid var(--hairline);text-align:left;vertical-align:middle}
thead th{position:sticky;top:0;z-index:1;background:var(--bg);color:var(--muted);font-size:var(--fs-xs);font-weight:500;text-transform:uppercase;letter-spacing:.04em}
tbody tr:hover{background:var(--surface)}
tbody th{font-weight:500}
.n{text-align:right;white-space:nowrap}
.rk{color:var(--muted);width:34px}
td .sub,th .sub{display:block;font-size:var(--fs-xs);color:var(--muted);font-weight:400}
i.chip{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:8px;vertical-align:-1px}
td.sp{width:100px}
.src{font-size:var(--fs-xs)}.src a{color:var(--muted);text-decoration-style:dotted}
details.nums{margin-top:6px}
details.nums summary,details.receipt summary,aside.tools summary{cursor:pointer;color:var(--muted);font-size:var(--fs-sm)}
details.nums table{margin-top:6px}

/* Ranked list */
.lbh{display:none}
.rank{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:0 40px;margin:6px 0 10px}
.rank .row{position:relative;display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 10px 12px 0;border-bottom:1px solid var(--hairline);overflow:hidden}
.rank .row>span{position:relative;z-index:1}.rank .row>.sc{position:absolute;z-index:0}
.sc{position:absolute;left:34px;top:6px;bottom:6px;width:calc((100% - 34px) * var(--w,0));border-radius:4px;pointer-events:none;background:color-mix(in srgb,var(--kc) 11%,transparent)}
.sc::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:3px;border-radius:2px;background:var(--kc)}
th.nmc{position:relative}th.nmc .sc{left:0;top:3px;bottom:5px;width:calc(100% * var(--w,0))}th.nmc .sc::after{bottom:-5px}
th.nmc>a,th.nmc>.sub,th.nmc>i,th.nmc>span[data-src]{position:relative}
.lbt td,.ct td{text-align:right;white-space:nowrap}.lbt td:first-child{color:var(--muted);width:34px}.lbt.ls td:last-child{text-align:left;width:100px}
@media (max-width:1023px){.lbt.lo tr>:nth-child(4),.lbt.lo tr>:nth-child(5),.lbt:not(.lo) tr>:nth-child(4){display:none}}
@media (max-width:639px){.lbt tr>:first-child,.lbt.ls tr>:last-child{display:none}}
.more{font-size:var(--fs-sm);margin:4px 0 0}
.src-note{display:inline-block;font-size:var(--fs-xs);color:var(--muted);margin-top:6px}
.cn{font-size:1.15rem!important;font-family:var(--mono)}.cn a{color:var(--ink)}
.bar-fig{margin:8px 0;max-width:480px}
.w0{--w:0}.w1{--w:0.02}.w2{--w:0.04}.w3{--w:0.06}.w4{--w:0.08}.w5{--w:0.1}.w6{--w:0.12}.w7{--w:0.14}.w8{--w:0.16}.w9{--w:0.18}.w10{--w:0.2}.w11{--w:0.22}.w12{--w:0.24}.w13{--w:0.26}.w14{--w:0.28}.w15{--w:0.3}.w16{--w:0.32}.w17{--w:0.34}.w18{--w:0.36}.w19{--w:0.38}.w20{--w:0.4}.w21{--w:0.42}.w22{--w:0.44}.w23{--w:0.46}.w24{--w:0.48}.w25{--w:0.5}.w26{--w:0.52}.w27{--w:0.54}.w28{--w:0.56}.w29{--w:0.58}.w30{--w:0.6}.w31{--w:0.62}.w32{--w:0.64}.w33{--w:0.66}.w34{--w:0.68}.w35{--w:0.7}.w36{--w:0.72}.w37{--w:0.74}.w38{--w:0.76}.w39{--w:0.78}.w40{--w:0.8}.w41{--w:0.82}.w42{--w:0.84}.w43{--w:0.86}.w44{--w:0.88}.w45{--w:0.9}.w46{--w:0.92}.w47{--w:0.94}.w48{--w:0.96}.w49{--w:0.98}.w50{--w:1}
.rank .k{color:var(--muted)}
.rank .nm{display:block;font-size:15.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rank .nm a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--hairline);text-underline-offset:4px}
.rank .nm a:hover{text-decoration-color:var(--ink)}
.rank .by{display:block;color:var(--muted);font-size:13px}
.rank .v{text-align:right}.rank .v b{display:block;font-weight:600}.rank .v span{color:var(--muted);font-size:13px}
.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:8px;vertical-align:0}
.lb .tw{margin-top:8px}

/* Prose, notes, method, receipt */
.note{color:var(--muted);font-size:13.5px;margin:12px 0 0}
.note a,.related a{color:var(--muted)}
.method{padding-left:20px}.method li{margin:6px 0}
.srcs{padding-left:20px;font-size:var(--fs-sm)}
.related{font-size:var(--fs-sm);color:var(--muted)}
code,pre{font-family:var(--mono);font-size:.88em}
code{background:var(--surface);padding:0 .25em;border-radius:3px}
pre{background:var(--surface);padding:.7rem .9rem;overflow-x:auto;white-space:pre-wrap;border-radius:6px}
pre code{background:none;padding:0}
details.receipt{margin:28px 0 0;font-size:var(--fs-sm)}
details.receipt table{max-width:520px}
[data-modeled]{text-decoration:underline dotted var(--modeled);text-underline-offset:3px}
.badge{display:inline-block;padding:1px var(--s2);border:1px solid var(--hairline);border-radius:var(--radius);font-size:var(--fs-xs);font-weight:600;color:var(--muted);background:var(--surface)}
.ok{color:var(--pos);background:var(--pos-bg)}.warn{color:var(--warn);background:var(--warn-bg)}
.bad{color:var(--neg);background:var(--neg-bg)}.mod{color:var(--modeled);background:var(--modeled-bg)}

/* Phase 0 content classes */
.muted,.small{color:var(--muted)}.small{font-size:.9rem}
main>.note,.callout{background:var(--surface);border-left:3px solid var(--accent);padding:.6rem .9rem;margin:1rem 0;color:var(--ink);font-size:var(--fs-base)}
dl.facts{display:grid;grid-template-columns:max-content 1fr;gap:.3rem 1rem}
dl.facts dt{font-weight:600}dl.facts dd{margin:0}
form{display:grid;gap:.75rem;margin:.75rem 0;max-width:640px}
label{display:grid;gap:.25rem;font-weight:600;font-size:.95rem}
label span.hint{font-weight:400;color:var(--muted);font-size:.88rem}
input,textarea{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--hairline);padding:.45rem .55rem;border-radius:6px;width:100%}
button[type="submit"]{font:inherit;font-weight:600;color:var(--bg);background:var(--ink);border:0;padding:.55rem 1rem;border-radius:6px;justify-self:start;cursor:pointer}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.modeled-tag{font-size:.75em;text-transform:uppercase;letter-spacing:.04em;color:var(--modeled)}
.state-fresh{color:var(--pos)}.state-stale,.state-never{color:var(--warn)}
span.src{border-bottom:1px dotted var(--muted);font-size:inherit}

/* Tools and footer */
aside.tools{border-top:1px solid var(--hairline);margin-top:40px;padding-top:12px;display:flex;flex-wrap:wrap;gap:8px 32px}
aside.tools details{flex:1 1 280px}
footer.site{border-top:1px solid var(--hairline);margin-top:20px;padding:14px 0 40px;font-size:13.5px;color:var(--muted)}
footer.site ul{list-style:none;padding:0;margin:.5rem 0;display:flex;flex-wrap:wrap;gap:.2rem 1rem}
footer.site a{color:var(--muted)}
footer .disclaimer{color:var(--ink);font-weight:600}

/* Responsive: data-p 2 hides under 640px, 3 under 1024px */
@media (max-width:1023px){[data-p="3"],.p3{display:none}}
@media (max-width:860px){
.shell{grid-template-columns:1fr;gap:0}
.side{position:static;height:auto;padding:14px 0 6px;border-bottom:1px solid var(--hairline)}
.side ul{display:flex;flex-wrap:wrap;gap:2px}
.side li a,.side li span{padding:5px 8px;font-size:13.5px}
.chip-soon{display:none}
.side-foot{padding:8px 8px 0;margin:0}
}
@media (max-width:639px){
[data-p="2"]{display:none}
svg.chart.wide{display:none}svg.chart.narrow{display:block}
thead th{position:static}
.rank{grid-template-columns:1fr}
.stats dd{font-size:1.6rem}
.tip{min-width:200px}
}
@media (prefers-reduced-motion:no-preference){.seg button,.side li a{transition:color .15s,background .15s}}
