/* Checkout Bench additions on top of the template's tokens.css + styles.css. Uses only template tokens. */
.kicker{display:inline-flex;align-items:center;gap:8px;height:28px;padding:0 12px 0 6px;border-radius:999px;background:var(--soft-pill-bg);font-size:13px;font-weight:500;color:var(--text-secondary)}
.kicker b{background:var(--bg-default);border:1px solid var(--border-default);border-radius:999px;padding:2px 8px;font-size:12px;color:var(--text-default)}
.hero2{padding:56px 0 24px}
.hero2 h1{max-width:16ch}
.hero2 .lede{margin-top:16px;max-width:60ch;font-size:18px;line-height:1.5;color:var(--text-secondary)}
.hero2 .row{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}
@media (max-width:787.98px){.hero2 h1{font-size:36px;letter-spacing:-1px}}

.example{display:inline-flex;align-items:center;gap:6px;font:500 11px/1 var(--font-mono);text-transform:uppercase;letter-spacing:-.3px;color:var(--amber-11);background:var(--amber-3);border:1px solid var(--amber-6);border-radius:0;padding:4px 8px;white-space:nowrap}
.example::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--amber-9)}
.real{color:var(--green-11);background:var(--green-3);border-color:var(--green-6)}
.real::before{background:var(--green-9)}

/* facts strip */
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:32px 0 8px}
.fact{background:var(--bg-subtle);border:1px solid var(--border-default);border-radius:20px;padding:18px}
.fact .n{font-size:32px;font-weight:600;letter-spacing:-1px}
.fact p{margin-top:6px;font-size:14px;color:var(--text-secondary);line-height:1.45}

/* carousel */
.carousel{padding:48px 0}
.car-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}
.car-head p{color:var(--text-secondary);font-size:15px;margin-top:6px;max-width:60ch}
.tabs{display:flex;gap:6px;flex-wrap:wrap}
.tab{height:36px;padding:0 14px;border-radius:999px;border:1px solid var(--border-default);font-size:14px;font-weight:500;color:var(--text-secondary);display:inline-flex;align-items:center;gap:8px}
.tab span{font:600 11px/1 var(--font-mono);width:20px;height:20px;border-radius:6px;display:grid;place-items:center;background:var(--bg-element);color:var(--text-default)}
.tab[aria-selected=true]{background:var(--btn-primary-bg);color:var(--btn-primary-text);border-color:transparent}
.tab[aria-selected=true] span{background:rgba(255,255,255,.18);color:inherit}
.stage{position:relative;overflow:hidden;border-radius:32px;background:var(--bg-subtle);border:1px solid var(--border-default)}
.track{display:flex;transition:transform .45s var(--ease-out-quart)}
.slide{flex:0 0 100%;padding:40px;display:grid;gap:32px}
@media (max-width:787.98px){.slide{padding:24px}}
.slide-top{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
@media (max-width:1007.98px){.slide-top{grid-template-columns:1fr}}
.slide .opt{font:500 12px/1 var(--font-mono);text-transform:uppercase;color:var(--text-tertiary);letter-spacing:-.4px}
.slide h3{margin-top:12px;font-size:44px;font-weight:600;line-height:1.08;letter-spacing:-1.6px;max-width:18ch}
@media (max-width:787.98px){.slide h3{font-size:32px}}
.slide .sub{margin-top:14px;font-size:17px;line-height:1.5;color:var(--text-secondary);max-width:56ch}
.slide .row{display:flex;gap:8px;margin-top:22px;flex-wrap:wrap}
.cells{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
@media (max-width:1007.98px){.cells{grid-template-columns:1fr 1fr}}
@media (max-width:567.98px){.cells{grid-template-columns:1fr}}
.cell{background:var(--bg-default);border:1px solid var(--border-default);border-radius:20px;padding:18px;font-size:14px;line-height:1.5}
.cell h4{font:500 11px/1 var(--font-mono);text-transform:uppercase;color:var(--text-tertiary);margin-bottom:10px}
.cell ul,.cell ol{display:flex;flex-direction:column;gap:6px}
.cell ul li{padding-left:14px;position:relative}.cell ul li::before{content:"";position:absolute;left:0;top:9px;width:5px;height:5px;border-radius:50%;background:var(--text-quaternary)}
.cell ol{counter-reset:s}.cell ol li{counter-increment:s;padding-left:24px;position:relative}
.cell ol li::before{content:counter(s);position:absolute;left:0;top:1px;width:18px;height:18px;border-radius:6px;background:var(--bg-element);font:600 11px/18px var(--font-mono);text-align:center}
.cell.price{background:var(--blue-2);border-color:var(--blue-6)}
.car-nav{display:flex;align-items:center;justify-content:space-between;margin-top:16px}
.dots{display:flex;gap:8px}.dots button{width:8px;height:8px;border-radius:50%;background:var(--slate-6)}
.dots button[aria-current=true]{width:24px;border-radius:999px;background:var(--text-default)}
.arrows{display:flex;gap:8px}.arrows button{width:40px;height:40px;border-radius:50%;border:1px solid var(--border-default);display:grid;place-items:center}
.arrows button:hover{background:var(--bg-hover)}.arrows .flip{transform:rotate(180deg)}

/* mini mocks inside slides */
.mini{background:var(--bg-default);border:1px solid var(--border-default);border-radius:24px;padding:18px;box-shadow:var(--shadow-sm);font-size:13px;min-height:260px;display:flex;flex-direction:column;gap:10px}
.mini-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.mini-title{font-weight:600;font-size:14px}
.mrow{display:grid;grid-template-columns:90px 1fr 42px;align-items:center;gap:10px}
.bar{height:8px;border-radius:999px;background:var(--bg-element);overflow:hidden}.bar i{display:block;height:100%;background:var(--blue-9);border-radius:inherit}
.num{font-family:var(--font-mono);text-align:right}
.msg{background:var(--bg-element);border-radius:16px 16px 16px 4px;padding:10px 12px;font-size:14px;max-width:90%}
.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;font-family:var(--font-mono);font-size:12px}
.kv dt{color:var(--text-tertiary)}
pre.code{background:var(--slate-12);color:var(--slate-1);border-radius:16px;padding:14px;font:12px/1.55 var(--font-mono);overflow:auto;white-space:pre}
[data-theme="dark"] pre.code{background:var(--slate-2);color:var(--slate-12);border:1px solid var(--border-default)}
.dial{display:flex;align-items:center;gap:18px}
.dial .ring{width:96px;height:96px;border-radius:50%;display:grid;place-items:center;font-size:26px;font-weight:600;background:conic-gradient(var(--amber-9) 0 58%,var(--bg-element) 0)}
.dial .ring b{width:74px;height:74px;border-radius:50%;background:var(--bg-default);display:grid;place-items:center}
.alert{border:1px solid var(--red-6);background:var(--red-2);border-radius:16px;padding:12px}
.alert strong{color:var(--red-11)}

/* status pills */
.st{display:inline-flex;align-items:center;gap:6px;font:600 11px/1 var(--font-mono);text-transform:uppercase;padding:4px 8px;border-radius:999px;white-space:nowrap}
.st.pass{background:var(--green-3);color:var(--green-11)}.st.fail{background:var(--red-3);color:var(--red-11)}.st.na{background:var(--bg-element);color:var(--text-tertiary)}.st.warn{background:var(--amber-3);color:var(--amber-11)}

/* SUITE */
.suite{display:grid;grid-template-columns:220px 1fr;gap:24px;padding:24px 0 64px}
@media (max-width:1007.98px){.suite{grid-template-columns:1fr}}
.side{position:sticky;top:76px;align-self:start;display:flex;flex-direction:column;gap:4px}
@media (max-width:1007.98px){.side{position:static;flex-direction:row;flex-wrap:wrap}}
.side a{display:flex;align-items:center;justify-content:space-between;height:38px;padding:0 12px;border-radius:12px;font-size:14px;font-weight:500;color:var(--text-secondary)}
.side a[aria-current=page]{background:var(--bg-element);color:var(--text-default)}
.side .lbl{font:500 11px/1 var(--font-mono);text-transform:uppercase;color:var(--text-tertiary);padding:12px 12px 6px}
.banner{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--amber-6);background:var(--amber-2);border-radius:16px;padding:12px 14px;font-size:14px;line-height:1.5;margin-bottom:20px}
.panel{display:none}.panel.on{display:block}
.ph{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.ph p{color:var(--text-secondary);font-size:14px;margin-top:6px;max-width:70ch;line-height:1.5}
.card{background:var(--bg-default);border:1px solid var(--border-default);border-radius:20px;overflow:hidden}
.card+.card{margin-top:16px}
.card-h{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--border-default);font-weight:600;font-size:14px;gap:8px;flex-wrap:wrap}
.card-b{padding:18px}
table.t{width:100%;border-collapse:collapse;font-size:13.5px}
.t th{font:500 11px/1 var(--font-mono);text-transform:uppercase;color:var(--text-tertiary);text-align:left;padding:12px 14px;border-bottom:1px solid var(--border-default);white-space:nowrap}
.t td{padding:12px 14px;border-bottom:1px solid var(--border-secondary);vertical-align:middle}
.t tr:last-child td{border-bottom:0}
.t .mono{font-size:12.5px}
.scroll{overflow-x:auto}
.heat{display:inline-block;min-width:46px;text-align:center;padding:5px 6px;border-radius:8px;font:600 12px/1 var(--font-mono)}
.chips{display:flex;gap:6px;flex-wrap:wrap}.chip2{font-size:11.5px;padding:3px 8px;border-radius:999px;background:var(--bg-element);color:var(--text-secondary);white-space:nowrap}
.filters{display:flex;gap:8px;flex-wrap:wrap}
.sel{height:34px;padding:0 12px;border:1px solid var(--border-default);border-radius:10px;font-size:13px;display:inline-flex;align-items:center;gap:6px;color:var(--text-secondary)}
.grid2{display:grid;grid-template-columns:1.25fr 1fr;gap:16px}
@media (max-width:1007.98px){.grid2{grid-template-columns:1fr}}
.tl{display:flex;flex-direction:column}
.tl li{display:grid;grid-template-columns:44px 16px 1fr;gap:10px;padding:8px 0;font-size:13.5px;line-height:1.45;position:relative}
.tl .tm{font:12px/1.45 var(--font-mono);color:var(--text-tertiary)}
.tl .pt{width:10px;height:10px;border-radius:50%;margin-top:5px;background:var(--green-9)}
.tl .pt.warn{background:var(--amber-9)}.tl .pt.fail{background:var(--red-9)}
.tl .k{font:500 11px/1 var(--font-mono);text-transform:uppercase;color:var(--text-tertiary);margin-right:6px}
.cmp{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:567.98px){.cmp{grid-template-columns:1fr}}
.box{border:1px solid var(--border-default);border-radius:14px;padding:12px;font-size:13.5px;line-height:1.5}
.box h5{font:500 11px/1 var(--font-mono);text-transform:uppercase;color:var(--text-tertiary);margin-bottom:8px}
.box.bad{border-color:var(--red-6);background:var(--red-2)}.box.good{border-color:var(--green-6);background:var(--green-2)}
.checks li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--border-secondary);font-size:13.5px}
.checks li:last-child{border-bottom:0}
.checks small{display:block;color:var(--text-tertiary);font-size:12px;margin-top:2px}
.quote-msg{font-size:20px;font-weight:500;letter-spacing:-.3px;line-height:1.35}
.meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.slide,.slide-top>*,.cells>*{min-width:0}
.slide h3{overflow-wrap:break-word}
.t td.mono:first-child{white-space:nowrap}
@media (max-width:787.98px){.nav .example{display:none}.nav .btn-36{padding:0 12px;font-size:13px}.tabs{overflow-x:auto;flex-wrap:nowrap;max-width:100%}.tab{flex:none}.stage{border-radius:24px}}
/* Nook docs */
.doc{min-width:0;max-width:820px;font-size:15px;line-height:1.65;color:var(--text-default)}
.doc .stamp{position:sticky;top:68px;z-index:2}
.doc h1{margin:4px 0 12px}
.doc h2{font-size:20px;font-weight:600;margin:32px 0 10px;scroll-margin-top:120px}
.doc h3{font-size:16px;font-weight:600;margin:22px 0 8px}
.doc p,.doc ul,.doc ol{margin:0 0 12px}
.doc ul,.doc ol{padding-left:22px}
.doc li{margin:4px 0}
.doc li ul{margin:4px 0 0}
.doc a{color:var(--text-default);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--text-tertiary)}
.doc code{font-family:var(--font-mono);font-size:.86em;background:var(--bg-element);padding:1px 5px;border-radius:6px;overflow-wrap:anywhere}
.doc pre{background:var(--bg-element);border-radius:12px;padding:14px 16px;overflow-x:auto;margin:0 0 14px}
.doc pre code{background:none;padding:0;font-size:12.5px;line-height:1.55;overflow-wrap:normal;white-space:pre}
.doc .scroll{margin:0 0 16px}
.doc table.t td{vertical-align:top;font-size:14px;line-height:1.5}
.doc blockquote{border-left:3px solid var(--amber-6);padding-left:12px;margin:0 0 12px;color:var(--text-secondary)}
.doc .doc-md{margin-top:32px;font-size:13px}
@media (max-width:1007.98px){.doc .stamp{position:static}}
.doc table.t td:first-child{min-width:150px}.doc table.t td:first-child code{overflow-wrap:normal;word-break:normal}
.doc ul{list-style:disc}.doc ol{list-style:decimal}.doc li::marker{color:var(--text-tertiary)}.doc td code{white-space:nowrap;overflow-wrap:normal}
/* charts: BeUI / ReUI style, hand-built SVG + CSS */
.charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.charts .wide{grid-column:1/-1}
@media (max-width:1007.98px){.charts{grid-template-columns:1fr}}
.ch{margin:0;background:var(--bg-default);border:1px solid var(--border-default);border-radius:0;display:flex;flex-direction:column;min-width:0}
.ch-h{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 20px 6px}
.ch-h h3{font-size:15px;font-weight:600;letter-spacing:-.2px}
.ch-h p{font-size:13px;color:var(--text-secondary);margin-top:2px}
.ch-b{padding:12px 20px 14px;flex:1}
.ch-f{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 20px;border-top:1px solid var(--border-default);font-size:11.5px;color:var(--text-tertiary)}
.ch-note{font-size:12px;color:var(--text-tertiary);margin-top:10px}
.ch .mono,.ch b{font-variant-numeric:tabular-nums}
.ch{--c1:var(--slate-12);--c2:var(--slate-9);--c3:var(--slate-6);--c4:var(--slate-11);--c5:var(--slate-4);--acc:var(--green-9)}
.vb svg{width:100%;display:block;overflow:visible}
.vb .grid line{stroke:var(--border-default);stroke-dasharray:1.2 1.2;stroke-width:.3;vector-effect:non-scaling-stroke}
.vb rect{fill:var(--c3);transition:fill .15s}
.vb rect.acc{fill:var(--c1)}
.vb rect:hover{fill:var(--acc)}
.vb-x{display:grid;gap:2px;margin-top:8px}
.vb-x span{font-size:10.5px;color:var(--text-tertiary);text-align:center;font-family:var(--font-mono);display:flex;flex-direction:column;gap:2px;white-space:nowrap}
.vb-x b{color:var(--text-default);font-weight:500}
.hb{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:9px}
.hb li{display:grid;grid-template-columns:minmax(110px,38%) 1fr auto;align-items:center;gap:10px;font-size:12.5px}
.hb-k{color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hb-k.mono{font-size:11.5px}
.hb-k small{color:var(--text-quaternary);font-size:10.5px}
.hb-t,.st3,.rg{position:relative;height:10px;border-radius:4px;background:var(--bg-subtle);overflow:hidden;display:flex}
.hb-t i{display:block;height:100%;background:var(--c2);border-radius:4px}
.hb-t i.acc{background:var(--c1)}
.hb-v{font-size:12px;text-align:right;min-width:48px}
.st3 i{display:block;height:100%}
.st3 .s1,.lg .s1,.dn .s1{background:var(--c1);stroke:var(--c1)}
.st3 .s2,.lg .s2,.dn .s2{background:var(--c3);stroke:var(--c3)}
.st3 .s3,.lg .s3,.dn .s3{background:var(--amber-8);stroke:var(--amber-8)}
.lg .s4,.dn .s4{background:var(--c2);stroke:var(--c2)}
.lg .s5,.dn .s5{background:var(--c5);stroke:var(--c5)}
.rg i{position:absolute;top:0;bottom:0;background:var(--c3);border-radius:4px}
.rg b{position:absolute;top:-1px;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:var(--c1);border:2px solid var(--bg-default)}
.lg{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:14px;font-size:11.5px;color:var(--text-secondary)}
.lg span{display:inline-flex;align-items:center;gap:6px}
.lg i{width:8px;height:8px;border-radius:50%;display:inline-block}
.lg .dot{background:var(--c1)}
.dn{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.dn svg{width:150px;height:150px;flex:none}
.dn circle{transition:stroke-width .15s}
.dn circle:hover{stroke-width:6.5}
.dn-n{font:600 7px var(--font-sans);text-anchor:middle;fill:var(--text-default)}
.dn-l{font:400 3px var(--font-mono);text-anchor:middle;fill:var(--text-tertiary)}
.dn ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:7px;flex:1;min-width:170px}
.dn li{display:grid;grid-template-columns:10px 1fr auto 36px;gap:8px;align-items:center;font-size:12.5px}
.dn li i{width:8px;height:8px;border-radius:50%}
.dn li small{color:var(--text-tertiary);text-align:right}
.trk{position:relative;padding:4px 8px 0}
.trk-line{position:absolute;left:8px;right:8px;top:40px;height:2px;background:var(--border-default)}
.trk ol{list-style:none;padding:0;margin:0;position:relative;height:118px;margin:0 0 0}
.trk li{position:absolute;top:0;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:4px;width:84px;text-align:center}
.trk li:nth-child(even){top:52px}
.trk li b{order:2;width:12px;height:12px;border-radius:50%;background:var(--c1);border:2px solid var(--bg-default);box-shadow:0 0 0 1px var(--c3)}
.trk li:nth-child(even) b{order:0}
.trk li span{font-size:11px;order:1}
.trk li em{font-style:normal;font-size:11px;color:var(--text-secondary);order:3;line-height:1.2}
.trk li:nth-child(odd) span{order:0}.trk li:nth-child(odd) em{order:1}.trk li:nth-child(odd) b{order:2;margin-top:2px}
.trk li:nth-child(odd){top:0}
.trk-ax{position:relative;height:16px;border-top:1px dashed var(--border-default);margin-top:6px}
.trk-ax span{position:absolute;transform:translateX(-50%);font:10px var(--font-mono);color:var(--text-quaternary);top:3px}
.mt td{vertical-align:middle}
.mbar{display:inline-block;width:70px;height:6px;border-radius:3px;background:var(--bg-subtle);margin-right:8px;vertical-align:middle;overflow:hidden}
.mbar i{display:block;height:100%;background:var(--c2);border-radius:3px}
.mbar i.acc{background:var(--c1)}
.pv{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px}
.pv-k{font-size:13px;margin-bottom:6px}.pv-k small{color:var(--text-tertiary);margin-left:6px;font-size:11px}
.pv-b{display:flex;height:26px;border-radius:6px;overflow:hidden;background:var(--bg-subtle)}
.pv-a{background:var(--c2);color:var(--bg-default);font:500 11px/26px var(--font-mono);padding-left:8px;white-space:nowrap}
.pv-x{flex:1;background:repeating-linear-gradient(135deg,var(--amber-4) 0 4px,var(--amber-6) 4px 8px);color:var(--amber-12);font:500 11px/26px var(--font-mono);text-align:center;min-width:56px}
.pv-t{font-size:12px;margin-top:5px;color:var(--text-secondary)}
.cov{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.cov li{border:1px solid var(--border-default);border-radius:10px;padding:8px 10px;display:flex;flex-direction:column;gap:2px;font-size:12.5px;background:var(--bg-subtle)}
.cov li small{font-size:10.5px;color:var(--text-tertiary);font-family:var(--font-mono)}
.cov li.q{background:var(--slate-12);color:var(--slate-1);border-color:var(--slate-12)}
.cov li.q small{color:var(--slate-6)}
.hc{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(11,minmax(0,1fr));gap:6px}
.hc li{aspect-ratio:1;border-radius:8px;background:color-mix(in oklab,var(--green-9) calc(var(--a)*100%),var(--bg-subtle));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0}
.hc li span{font-size:13px;font-weight:600;color:var(--slate-12)}
.hc li small{font-size:9.5px;color:var(--slate-11);white-space:nowrap}
@media (max-width:787.98px){.hc{grid-template-columns:repeat(6,1fr)}.cov{grid-template-columns:repeat(2,1fr)}.hb li{grid-template-columns:minmax(90px,36%) 1fr auto}}
/* browser replay placeholders */
.rps{display:grid;grid-template-columns:2.2fr 1fr .9fr;gap:16px;align-items:start}
.rps.two{grid-template-columns:2.4fr 1fr}
@media (max-width:787.98px){.rps,.rps.two{grid-template-columns:1fr}.rps .rp-9x16{max-width:260px}}
.rp{margin:0;position:relative;border:1px dashed var(--border-secondary,var(--border-default));border-radius:16px;background:repeating-linear-gradient(135deg,var(--bg-subtle) 0 10px,var(--bg-default) 10px 20px);overflow:hidden;display:flex;flex-direction:column}
.rp-chrome{display:flex;align-items:center;gap:5px;padding:8px 10px;border-bottom:1px dashed var(--border-default);background:var(--bg-default);font:11px var(--font-mono);color:var(--text-tertiary)}
.rp-chrome i{width:7px;height:7px;border-radius:50%;background:var(--slate-5)}
.rp-chrome span{margin-left:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rp-in{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;padding:12px;color:var(--text-secondary);font-size:12.5px}
.rp-in strong{font-size:14px;color:var(--text-default)}
.rp-in .mono{font-size:11px;color:var(--text-quaternary)}
.rp-in svg{width:28px;height:28px;padding:7px;border-radius:50%;background:var(--bg-default);border:1px solid var(--border-default)}
/* ---------- polish: runs, run pages (BeUI/ReUI look) ---------- */
.ic{width:16px;height:16px;flex:none;display:inline-block;vertical-align:-3px}
.ic-xs{width:13px;height:13px;vertical-align:-2px}
.ic-h{width:26px;height:26px;vertical-align:-3px;margin-right:10px;color:var(--text-tertiary)}
.tone-green{--t3:var(--green-3);--t2:var(--green-2);--t6:var(--green-7);--t9:var(--green-9);--t11:var(--green-11)}
.tone-amber{--t3:var(--amber-3);--t2:var(--amber-2);--t6:var(--amber-7);--t9:var(--amber-9);--t11:var(--amber-11)}
.tone-red{--t3:var(--red-3);--t2:var(--red-2);--t6:var(--red-7);--t9:var(--red-9);--t11:var(--red-11)}
.tone-blue{--t3:var(--blue-3);--t2:var(--blue-2);--t6:var(--blue-7);--t9:var(--blue-9);--t11:var(--blue-11)}
/* outcome badge */
.ob{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px 0 8px;border-radius:999px;font:600 12.5px/1 var(--font-sans);border:1px solid var(--t6,var(--border-default));background:var(--t3,var(--bg-subtle));color:var(--t11,var(--text-secondary));white-space:nowrap;max-width:100%}
.ob code{font:500 11px/1 var(--font-mono);opacity:.85;padding-left:6px;border-left:1px solid var(--t6,var(--border-default));overflow:hidden;text-overflow:ellipsis}
.ob-green{--t3:var(--green-3);--t6:var(--green-7);--t11:var(--green-11)}
.ob-amber{--t3:var(--amber-3);--t6:var(--amber-7);--t11:var(--amber-11)}
.ob-red{--t3:var(--red-3);--t6:var(--red-7);--t11:var(--red-11)}
.ob-blue{--t3:var(--blue-3);--t6:var(--blue-7);--t11:var(--blue-11)}
.ob-neutral{--t3:var(--bg-subtle);--t6:var(--border-default);--t11:var(--text-secondary)}
.ob-big{height:38px;font-size:15px;padding:0 14px 0 11px;gap:8px}.ob-big .ic{width:19px;height:19px}.ob-big code{font-size:12px}
/* chips */
.cp{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:4px 10px;border-radius:8px;background:var(--bg-subtle);border:1px solid var(--border-default);font-size:12.5px;max-width:100%}
.cp .ic{width:14px;height:14px;color:var(--text-tertiary)}
.cp-l{color:var(--text-tertiary);font-size:11.5px}
.cp-v{color:var(--text-default);font-weight:500;overflow:hidden;text-overflow:ellipsis}
.mono,.cp-v.mono,.ts-t,.res-price .mono{font-variant-numeric:tabular-nums}
.rc-chips{display:flex;flex-wrap:wrap;gap:6px}
/* hero */
.hero2{display:flex;flex-direction:column;gap:10px;margin-bottom:28px}
.hero2 h1{display:flex;align-items:center}
.hero2-badges{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.hero2-sub{font-size:16px;line-height:1.55;color:var(--text-secondary);max-width:760px}
.back{display:inline-flex;align-items:center;gap:6px;font:500 12px var(--font-mono);text-transform:uppercase;color:var(--text-tertiary);width:max-content}
.back:hover{color:var(--text-default)}
.srcnote{display:flex;gap:6px;align-items:flex-start;font-size:12.5px;line-height:1.5;color:var(--text-tertiary);margin-top:14px}
.srcnote .ic{margin-top:2px}
.hh{display:inline-flex;align-items:center;gap:8px}.hh .ic{color:var(--text-tertiary)}
.hh small{font-weight:400;color:var(--text-tertiary);font-size:12.5px}
/* "Shopper said" */
.shop{position:relative;border:1px solid var(--border-default);border-radius:16px;background:var(--bg-subtle);padding:14px 16px 16px}
.shop-h{display:flex;align-items:center;gap:7px;font:600 11.5px/1 var(--font-mono);text-transform:uppercase;letter-spacing:.2px;color:var(--text-tertiary);margin-bottom:8px}
.shop-h .ic{width:15px;height:15px;color:var(--blue-11)}
.shop blockquote{margin:0;font-size:16px;line-height:1.5;color:var(--text-default);font-weight:500;padding-left:12px;border-left:3px solid var(--blue-8)}
.shop.lg blockquote{font-size:19px;line-height:1.45}
.shop.sm{padding:10px 12px 12px;border-radius:12px}.shop.sm blockquote{font-size:15px}
/* run cards on the list */
.rcs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
@media (max-width:1007.98px){.rcs{grid-template-columns:1fr}}
.rc{position:relative;display:flex;flex-direction:column;gap:12px;padding:18px 18px 16px 22px;border-radius:20px;border:1px solid var(--border-default);background:linear-gradient(180deg,var(--t2) 0,var(--bg-default) 120px);color:inherit;text-decoration:none;overflow:hidden;transition:border-color .2s,box-shadow .2s,transform .2s}
.rc::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--t9)}
.rc:hover{border-color:var(--t6);box-shadow:0 6px 24px -12px var(--t9);transform:translateY(-1px)}
.rc-top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.rc-store{display:inline-flex;align-items:center;gap:8px;font-size:17px;font-weight:600}
.rc-store .ic{width:18px;height:18px;color:var(--text-tertiary)}
.rc-sub{margin-top:-4px}
.rc-lbl,.res-h{display:flex;align-items:center;gap:7px;font:600 11.5px/1 var(--font-mono);text-transform:uppercase;letter-spacing:.2px;color:var(--t11);margin-bottom:6px}
.rc-res p{font-size:14.5px;line-height:1.5;color:var(--text-secondary)}
.rc-open{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--t11);margin-top:2px}
.rc-open .ic{transition:transform .2s}.rc:hover .rc-open .ic{transform:translateX(3px)}
/* run page layout */
.rd{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:24px;align-items:start}
@media (max-width:1007.98px){.rd{grid-template-columns:1fr}}
.rd-main{display:flex;flex-direction:column}
.rd-card{border-radius:20px}
.rd-side{position:sticky;top:84px}
.panel.tone-green .hero2,.panel.tone-amber .hero2,.panel.tone-red .hero2,.panel.tone-blue .hero2{border-top:3px solid var(--t9);padding-top:16px}
/* flow connector */
.flow{display:flex;align-items:center;gap:10px;height:44px;padding-left:22px}
.flow svg{width:12px;height:44px;overflow:visible}
.flow path{fill:none;stroke:var(--border-secondary,var(--slate-7));stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.flow span{font:500 11px var(--font-mono);text-transform:uppercase;color:var(--text-quaternary)}
/* timeline */
.tl2{position:relative}
.tl2-line{position:absolute;left:15px;top:16px;bottom:16px;width:2px;height:calc(100% - 32px)}
.tl2-line line{stroke:var(--slate-7);stroke-width:2}
.tl2 ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;position:relative}
.ts{display:grid;grid-template-columns:32px 1fr;gap:12px;align-items:start}
.ts-ic{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:var(--bg-default);border:1px solid var(--border-default);color:var(--text-secondary);position:relative;z-index:1}
.ts-ok .ts-ic{border-color:var(--green-7);color:var(--green-11);background:var(--green-2)}
.ts-warn .ts-ic{border-color:var(--amber-7);color:var(--amber-11);background:var(--amber-2)}
.ts-fail .ts-ic{border-color:var(--red-7);color:var(--red-11);background:var(--red-2)}
.ts-b{padding-top:2px}
.ts-h{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:3px}
.ts-k{font:600 11.5px/1 var(--font-mono);text-transform:uppercase;letter-spacing:.2px;color:var(--text-secondary)}
.ts-t{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;color:var(--text-tertiary)}
.ts-b p{font-size:14.5px;line-height:1.5;color:var(--text-default)}
/* result */
.res{position:relative;border-radius:20px;border:1px solid var(--t6);background:linear-gradient(180deg,var(--t3) 0,var(--t2) 100%);padding:16px 18px 18px 22px;overflow:hidden}
.res::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--t9)}
.res-b{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.res-price{display:flex;flex-direction:column;align-items:flex-start;gap:4px;flex-basis:100%}
.res-pl{font:500 11px var(--font-mono);text-transform:uppercase;color:var(--t11)}
.res-price .mono{font-size:22px;font-weight:600;letter-spacing:-.3px}
.res-s{font-size:15px;line-height:1.55;color:var(--text-default);margin-bottom:12px}
.res .cp{background:var(--bg-default)}
.rd .checks li span{font-size:14px}.rd .checks small{font-size:12.5px;line-height:1.45}
/* ---------- subtle line animations (only when motion is OK) ---------- */
@media (prefers-reduced-motion:no-preference){
  .js [data-anim] .tl2-line line,.js .flow path{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.1s var(--ease-out-quart,cubic-bezier(.25,1,.5,1))}
  .js .flow path.hd{transition-delay:.45s;transition-duration:.35s}
  .js [data-anim].in .tl2-line line,.js .flow.in path{stroke-dashoffset:0}
  .js .tl2 .ts{opacity:0;transform:translateY(4px);transition:opacity .4s,transform .4s}
  .js .tl2.in .ts{opacity:1;transform:none}
  .js .tl2.in .ts:nth-child(2){transition-delay:.08s}.js .tl2.in .ts:nth-child(3){transition-delay:.16s}.js .tl2.in .ts:nth-child(4){transition-delay:.24s}.js .tl2.in .ts:nth-child(5){transition-delay:.32s}.js .tl2.in .ts:nth-child(6){transition-delay:.4s}.js .tl2.in .ts:nth-child(7){transition-delay:.48s}
  .js .rc[data-anim],.js .res[data-anim]{opacity:0;transform:translateY(6px);transition:opacity .45s,transform .45s,border-color .2s,box-shadow .2s}
  .js .rc[data-anim].in,.js .res[data-anim].in{opacity:1;transform:none}
  .js .rc[data-anim].in:hover{transform:translateY(-1px)}
  .js .ch .vb rect{transform-box:fill-box;transform-origin:50% 100%;transform:scaleY(0);transition:transform .7s var(--ease-out-quart,ease)}
  .js .ch.in .vb rect{transform:scaleY(1)}
  .js .ch .hb-t i,.js .ch .st3 i,.js .ch .rg i,.js .ch .mbar i{transform-origin:0 50%;transform:scaleX(0);transition:transform .8s var(--ease-out-quart,ease)}
  .js .ch.in .hb-t i,.js .ch.in .st3 i,.js .ch.in .rg i,.js .ch.in .mbar i{transform:scaleX(1)}
  .js .ch .trk-line{transform-origin:0 50%;transform:scaleX(0);transition:transform 1.2s var(--ease-out-quart,ease)}
  .js .ch.in .trk-line{transform:scaleX(1)}
  .js .ch .dn circle{stroke-dasharray:0 100!important;transition:stroke-dasharray 1s var(--ease-out-quart,ease)}
  .js .ch.in .dn circle{stroke-dasharray:var(--da)!important}
  .js .ch .pv-a{clip-path:inset(0 100% 0 0);transition:clip-path .9s var(--ease-out-quart,ease)}
  .js .ch.in .pv-a{clip-path:inset(0 0 0 0)}
}
/* landing mini: shopper + result */
.mini .shop{margin:2px 0 10px}
.mini .mres{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}
/* ---------- test flight ---------- */
.tone-purple,.ob-purple{--t3:var(--purple-3);--t2:var(--purple-2);--t6:var(--purple-7);--t9:var(--purple-9);--t11:var(--purple-11)}
.tone-slate,.ob-slate{--t3:var(--slate-3);--t2:var(--slate-2);--t6:var(--slate-7);--t9:var(--slate-9);--t11:var(--slate-11)}
.panel.tone-purple .hero2,.panel.tone-slate .hero2{border-top:3px solid var(--t9);padding-top:16px}
.rev{height:24px;font-size:11.5px}
.tf-meta{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.tf-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:20px}
.tf-stat{border:1px solid var(--border-default);border-radius:14px;padding:12px 14px;background:var(--bg-default);display:flex;flex-direction:column;gap:4px}
.tf-stat b{font-size:22px;font-weight:600;letter-spacing:-.3px;color:var(--text-default)}
.tf-stat span{font-size:12.5px;line-height:1.35;color:var(--text-secondary)}
.tf-help{font-size:13.5px;line-height:1.5;color:var(--text-secondary);margin:0 0 12px;max-width:760px}
.tf-legend{display:flex;flex-wrap:wrap;gap:8px 14px;margin-bottom:16px}
.tf-lg{display:inline-flex;align-items:center;gap:6px}.tf-lg b{font-size:13px;color:var(--text-secondary)}
.tf-grid{display:flex;flex-direction:column;gap:8px}
.tf-row{display:grid;grid-template-columns:minmax(200px,1.1fr) 1fr 1fr;gap:8px;align-items:stretch}
.tf-hrow{position:sticky;top:64px;z-index:2;background:var(--bg-default);padding:4px 0}
.tf-mh{display:flex;align-items:center;gap:6px;font:600 11.5px/1 var(--font-mono);text-transform:uppercase;letter-spacing:.2px;color:var(--text-tertiary);padding:4px 2px}
.tf-case{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:12px;background:var(--bg-subtle);border:1px solid var(--border-default)}
.tf-id{font-weight:600;font-size:13px;color:var(--text-default)}
.tf-st{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--text-tertiary)}
.tf-t{font-size:13px;line-height:1.4;color:var(--text-secondary)}
.tf-cell{position:relative;display:flex;flex-direction:column;gap:5px;padding:10px 12px 10px 15px;border-radius:12px;border:1px solid var(--t6);background:linear-gradient(180deg,var(--t3),var(--t2));color:inherit;text-decoration:none;overflow:hidden;transition:transform .15s,box-shadow .15s}
.tf-cell::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--t9)}
.tf-cell:hover{transform:translateY(-1px);box-shadow:0 4px 14px -6px var(--t6)}
.tf-cell:focus-visible{outline:2px solid var(--t9);outline-offset:2px}
.tf-cg{display:inline-flex;align-items:center;gap:5px;font:600 12px/1.2 var(--font-sans);color:var(--t11)}
.tf-cs{font-size:13.5px;line-height:1.4;color:var(--text-default)}
.tf-cm{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;color:var(--text-tertiary)}
.tf-notes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.tf-notes li{display:flex;gap:8px;font-size:14px;line-height:1.5;color:var(--text-default)}.tf-notes .ic{margin-top:4px;color:var(--green-11);flex:none}
.tf-model{display:flex;align-items:center;gap:6px;font:500 13.5px/1.4 var(--font-mono);color:var(--text-secondary);margin:-2px 0 2px}
.shop-h small{font:400 11.5px var(--font-sans);text-transform:none;color:var(--text-quaternary);margin-left:6px;letter-spacing:0}
.tf-what{font-size:15px;line-height:1.6;color:var(--text-default);margin:0}
.tf-also{display:flex;gap:7px;margin:12px 0 0;padding:10px 12px;border-radius:10px;background:var(--amber-2);border:1px solid var(--amber-6);font-size:13.5px;line-height:1.5;color:var(--amber-12)}.tf-also .ic{color:var(--amber-11);margin-top:3px;flex:none}
.tf-orig{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--text-secondary);margin:2px 0 10px}.tf-orig code{font:500 12px var(--font-mono);padding:2px 6px;border-radius:6px;background:var(--bg-default);border:1px solid var(--t6);color:var(--t11);word-break:break-all}
.res-next{margin-top:4px;padding:12px 14px;border-radius:12px;background:var(--bg-default);border:1px solid var(--t6)}
.res-next .res-pl{display:inline-flex;align-items:center;gap:5px;margin-bottom:4px}
.res-next p{font-size:14.5px;line-height:1.55;color:var(--text-default);margin:0}
@media (max-width:1023.98px){.tf-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:787.98px){.tf-row{grid-template-columns:1fr 1fr}.tf-case{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:4px 10px}.tf-hrow .tf-mh:first-child{display:none}.tf-hrow{top:56px}.tf-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (prefers-reduced-motion:no-preference){.js .tf-cell[data-anim]{opacity:0;transform:translateY(4px);transition:opacity .45s,transform .45s}.js .tf-cell[data-anim].in{opacity:1;transform:none}}
/* Test flight: real prompts + catalog numbers */
.scrub{font-family:var(--font-mono,ui-monospace,monospace);font-size:.82em;padding:1px 6px;border-radius:6px;background:var(--surface-2,rgba(127,127,127,.12));color:var(--text-secondary);white-space:nowrap;font-style:normal}
.tf-fu{display:flex;gap:8px;align-items:flex-start;margin:10px 0 0;font-size:13px;color:var(--text-secondary)}
.tf-prods li{align-items:flex-start}
.tf-pn{display:flex;flex-direction:column;gap:3px}
.tf-pn small{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
code.pid{font-family:var(--font-mono,ui-monospace,monospace);font-size:12px;padding:1px 6px;border-radius:6px;background:var(--surface-2,rgba(127,127,127,.12));color:var(--text-primary,inherit);letter-spacing:.02em;user-select:all}
.tf-none{margin:0;font-size:13px;color:var(--text-secondary)}
.tf-t{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.rd-main>.shop.lg+.rd-card{margin-top:16px}
/* ---------- plain look (sher-md light: white, thin borders, black and gray text) ---------- */
.suite{--pl-bg:var(--bg2,#EFEFEF);--pl-sub:var(--bg-subtle,#EFEFEF);--pl-line:var(--border-default,#CFCFD4);--pl-line2:var(--border-secondary,#BDBDC4);--pl-ink:var(--text-default,#0A1F5C);--pl-ink2:var(--text-secondary,#4A5578);--pl-ink3:var(--text-tertiary,#7A8299);--pl-link:var(--text-link,#0033A0);--pl-ok:var(--text-success,#0033A0);--pl-warn:var(--text-warning,#FF5A1F);--pl-bad:var(--text-danger,#FF5A1F);font-family:var(--font-sans);color:var(--pl-ink)}
.suite .tone-green,.suite .tone-amber,.suite .tone-red,.suite .tone-blue,.suite .tone-purple,.suite .tone-slate{--t2:var(--pl-bg);--t3:var(--pl-sub);--t6:var(--pl-line2);--t9:var(--pl-line2);--t11:var(--pl-ink2)}
.suite .rc{background:var(--pl-bg);border:1px solid var(--pl-line);border-radius:16px;padding:18px;box-shadow:0 1px 2px rgba(0,0,0,.03)}
.suite .rc::before,.suite .res::before{display:none}
.suite .rc:hover{border-color:var(--pl-line2);box-shadow:0 4px 16px -8px rgba(0,0,0,.12);transform:none}
.suite .rc-open{color:var(--pl-link)}
.suite .rc-lbl,.suite .res-h{color:var(--pl-ink3)}
.suite .rc-res p,.suite .hero2-sub{color:var(--pl-ink2)}
.suite .ob{background:var(--pl-sub);border:1px solid var(--pl-line);color:var(--pl-ink)}
.suite .ob code{border-left-color:var(--pl-line);color:var(--pl-ink3);opacity:1}
.suite .ob-green .ic{color:var(--pl-ok)}.suite .ob-red .ic{color:var(--pl-bad)}.suite .ob-amber .ic{color:var(--pl-warn)}.suite .ob-blue .ic{color:var(--pl-link)}
.suite .example,.suite .example.real{background:var(--pl-sub);border-color:var(--pl-line);color:var(--pl-ink2)}
.suite .example::before{background:var(--pl-ink3)}.suite .example.real::before{background:var(--pl-ok)}
.suite .banner{background:var(--pl-sub);border-color:var(--pl-line)}
.suite .shop{background:var(--pl-sub);border-color:var(--pl-line)}
.suite .shop-h,.suite .shop-h .ic{color:var(--pl-ink3)}
.suite .shop blockquote{border-left-color:var(--pl-line2)}
.suite .cp{background:var(--pl-bg);border-color:var(--pl-line)}
.suite .res{background:var(--pl-bg);border:1px solid var(--pl-line)}
.suite .panel.tone-green .hero2,.suite .panel.tone-amber .hero2,.suite .panel.tone-red .hero2,.suite .panel.tone-blue .hero2{border-top:0;padding-top:0}
.suite .ts-ok .ts-ic,.suite .ts-warn .ts-ic,.suite .ts-fail .ts-ic{background:var(--pl-bg);border-color:var(--pl-line)}
.suite .ts-ok .ts-ic{color:var(--pl-ok)}.suite .ts-warn .ts-ic{color:var(--pl-warn)}.suite .ts-fail .ts-ic{color:var(--pl-bad)}
.suite .card{border-color:var(--pl-line);box-shadow:none}
/* ---------- home: 'Open the test suite' dialog (plain look) ---------- */
.tsd{--i1:var(--text-default,#0A1F5C);--i2:var(--text-secondary,#4A5578);--i3:var(--text-tertiary,#7A8299);--ln:var(--border-default,#CFCFD4);--ln2:var(--border-secondary,#BDBDC4);--sub:var(--bg-subtle,#EFEFEF);--okc:var(--text-success,#0033A0);--noc:var(--text-danger,#FF5A1F);--bg:var(--bg-overlay,#EFEFEF);--lnk:var(--text-link,#0033A0);--b1bg:var(--btn-primary-bg,#0033A0);--b1tx:var(--btn-primary-text,#fff);--b1hv:var(--btn-primary-hover,#002B8A);--cs:light;
  width:min(640px,calc(100vw - 32px));max-height:min(760px,calc(100dvh - 32px));padding:0;border:1px solid var(--ln2);border-radius:16px;background:var(--bg);color:var(--i1);
  font-family:var(--font-sans);font-size:14px;line-height:1.5;box-shadow:0 24px 64px -24px rgba(0,0,0,.25);color-scheme:var(--cs);overflow:hidden}
.tsd[open]{position:fixed;inset:0;margin:auto}
.tsd [hidden]{display:none!important}
.tsd::backdrop{background:rgba(0,0,0,.32)}
.tsd-in{display:flex;flex-direction:column;max-height:inherit;margin:0}
.tsd-h{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 24px 12px}
.tsd-h h2{margin:2px 0 0;font-size:18px;font-weight:600;letter-spacing:-.01em;color:var(--i1)}
.tsd-step{margin:0;font-size:12px;color:var(--i3);font-variant-numeric:tabular-nums}
.tsd-x{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--ln);border-radius:8px;background:var(--bg);color:var(--i2);cursor:pointer;flex:none}
.tsd-x:hover{border-color:var(--ln2);color:var(--i1)}
.tsd-prog{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:0;padding:0 24px 16px;list-style:none;font-size:12px;color:var(--i3)}
.tsd-prog li{border-top:2px solid var(--ln);padding-top:6px}
.tsd-prog li.on,.tsd-prog li.done{border-top-color:var(--i1);color:var(--i1)}
.tsd-body{padding:0 24px 8px;overflow-y:auto;border-top:1px solid var(--ln)}
.tsd-desc{margin:16px 0;color:var(--i2)}
.tsd-pane{padding:16px 0 12px}.tsd-pane[data-step="1"]{padding-top:0}
.tsd fieldset{border:0;margin:0;padding:0}
.tsd legend{font-weight:500;margin-bottom:8px;padding:0}
.tsd-f{display:flex;flex-direction:column;gap:6px;margin-top:4px;font-weight:500}
.tsd-f+.tsd-err+.tsd-f,.tsd-err+.tsd-f{margin-top:16px}
.tsd-f em{font-style:normal;font-weight:400;color:var(--i3);margin-left:4px}
.tsd input[type=url],.tsd input[type=email]{height:40px;padding:0 12px;border:1px solid var(--ln2);border-radius:10px;background:var(--bg);color:var(--i1);font:inherit;font-weight:400}
.tsd input:focus-visible,.tsd button:focus-visible,.tsd a:focus-visible,.tsd textarea:focus-visible,.tsd-opt:focus-within,.tsd-chip:focus-within{outline:2px solid var(--lnk);outline-offset:2px}
.tsd input[aria-invalid=true]{border-color:var(--noc)}
.tsd-err{margin:6px 0 0;font-size:13px;color:var(--noc)}
.tsd-mut{color:var(--i2)}.tsd-small{font-size:13px;margin:8px 0 0}
.tsd-opt{display:flex;gap:12px;align-items:flex-start;padding:12px;border:1px solid var(--ln);border-radius:10px;margin-bottom:8px;cursor:pointer}
.tsd-opt:hover{border-color:var(--ln2)}
.tsd-opt input,.tsd-chip input{accent-color:var(--i1);width:16px;height:16px;margin:2px 0 0;flex:none}
.tsd-opt b{display:block;font-weight:500}.tsd-opt small{display:block;color:var(--i2);font-size:13px}
.tsd-note{display:flex;gap:8px;align-items:flex-start;margin:12px 0 0;padding:12px;background:var(--sub);border:1px solid var(--ln);border-radius:10px;color:var(--i1)}
.tsd-chips{display:flex;flex-wrap:wrap;gap:8px}
.tsd-chip{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 12px;border:1px solid var(--ln2);border-radius:999px;cursor:pointer;font-family:var(--font-mono);font-size:13px}
.tsd-chip input{margin:0}
.tsd-chip:has(input:checked){border-color:var(--i1);background:var(--sub)}
.tsd-ic{width:16px;height:16px;flex:none;margin-top:2px}.tsd-ic.ok{color:var(--okc)}.tsd-ic.no{color:var(--noc)}
.tsd-rep{border:1px solid var(--ln);border-radius:12px;padding:16px;margin-top:8px}
.tsd-rep-h{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.tsd-pill{display:inline-flex;gap:6px;align-items:center;height:26px;padding:0 10px;border:1px solid var(--ln);border-radius:999px;font-size:12px;background:var(--sub)}
.tsd-pill .tsd-ic{margin:0;width:14px;height:14px}
.tsd-kv{display:grid;grid-template-columns:80px 1fr;gap:6px 12px;margin:12px 0 0;font-size:13px}
.tsd-kv dt{color:var(--i3)}.tsd-kv dd{margin:0}
.tsd-rep h3{margin:16px 0 8px;font-size:12px;font-weight:500;color:var(--i3);text-transform:uppercase;letter-spacing:.04em}
.tsd-steps,.tsd-checks{list-style:none;margin:0;padding:0;font-size:13px}
.tsd-steps li{display:grid;grid-template-columns:16px 64px 1fr auto;gap:10px;align-items:start;padding:8px 0;border-top:1px solid var(--ln)}
.tsd-st-k{font-family:var(--font-mono);color:var(--i3);font-size:12px;padding-top:1px}
.tsd-st-time{font-family:var(--font-mono);color:var(--i3);font-size:12px;font-variant-numeric:tabular-nums}
.tsd-checks li{display:grid;grid-template-columns:16px 1fr auto;gap:10px;padding:6px 0;border-top:1px solid var(--ln)}
.tsd-done{display:flex;gap:8px;align-items:flex-start;margin:16px 0 0}
.tsd-sum{width:100%;margin-top:12px;padding:12px;border:1px solid var(--ln2);border-radius:10px;font:12px/1.5 var(--font-mono);color:var(--i1);background:var(--sub);resize:vertical;box-sizing:border-box}
.tsd-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.tsd-pane .tsd-row{margin-top:12px}
.tsd-f2{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 24px;border-top:1px solid var(--ln);flex-wrap:wrap}
.tsd-link{font-size:13px;color:var(--i2);text-decoration:underline;text-underline-offset:3px}
.tsd a{color:inherit}.tsd-body a{color:var(--lnk)}
.tsd-b1,.tsd-b2{display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 16px;border-radius:999px;font:500 14px/1 var(--font-sans);cursor:pointer;text-decoration:none}
.tsd-b1{background:var(--b1bg);color:var(--b1tx);border:1px solid var(--b1bg)}.tsd-b1:hover{background:var(--b1hv)}
.tsd-b2{background:var(--bg);color:var(--i1)!important;border:1px solid var(--ln2)}.tsd-b2:hover{border-color:var(--i3)}
@media (max-width:560px){
  .tsd[open]{width:100vw;max-width:100vw;max-height:92dvh;margin:auto 0 0;border-radius:16px 16px 0 0;border-bottom:0}
  .tsd-h,.tsd-body,.tsd-f2{padding-left:16px;padding-right:16px}.tsd-prog{padding:0 16px 12px}
  .tsd-steps li{grid-template-columns:16px 1fr auto}.tsd-st-k{display:none}
  .tsd-kv{grid-template-columns:1fr}.tsd-kv dt{margin-top:4px}
  .tsd-f2{flex-direction:column-reverse;align-items:stretch}.tsd-f2 .tsd-row{justify-content:flex-end}.tsd-link{text-align:center}
}
.tsd-hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}
.tsd-mono{font-family:var(--font-mono);color:var(--i1)}
#tsd-ok[hidden],#tsd-fail[hidden]{display:none}
.rc-note{display:flex;gap:8px;align-items:flex-start;margin:10px 0 0;padding:8px 10px;border:1px solid var(--amber-6);background:var(--amber-2);border-radius:8px;font-size:13px;line-height:1.45;font-weight:500;color:var(--text-primary,inherit)}
.rc-note .ic{color:var(--amber-11);width:16px;height:16px;flex:none;margin-top:1px}
.hero2 .rc-note{max-width:720px;margin-top:12px}
/* ---------- plain look in dark mode: same layout, colors from tokens.css (light values above stay as-is) ---------- */
[data-theme="dark"] .suite{--pl-bg:var(--bg-default);--pl-sub:var(--bg-subtle);--pl-line:var(--border-secondary);--pl-line2:var(--border-default);--pl-ink:var(--text-default);--pl-ink2:var(--text-secondary);--pl-ink3:var(--text-tertiary);--pl-link:var(--text-link);--pl-ok:var(--text-success);--pl-warn:var(--text-warning);--pl-bad:var(--text-danger)}
[data-theme="dark"] .tsd{--i1:var(--text-default);--i2:var(--text-secondary);--i3:var(--text-tertiary);--ln:var(--border-secondary);--ln2:var(--border-default);--sub:var(--bg-subtle);--okc:var(--text-success);--noc:var(--text-danger);--bg:var(--bg-overlay);--lnk:var(--text-link);--b1bg:var(--btn-primary-bg);--b1tx:var(--btn-primary-text);--b1hv:var(--btn-primary-hover);--cs:dark;box-shadow:0 24px 64px -24px rgba(0,0,0,.7)}
[data-theme="dark"] .tsd::backdrop{background:rgba(0,0,0,.6)}
[data-theme="dark"] .suite .rc{box-shadow:none}
@media (prefers-color-scheme: dark){
  :root:where(:not([data-theme="light"])) .suite{--pl-bg:var(--bg-default);--pl-sub:var(--bg-subtle);--pl-line:var(--border-secondary);--pl-line2:var(--border-default);--pl-ink:var(--text-default);--pl-ink2:var(--text-secondary);--pl-ink3:var(--text-tertiary);--pl-link:var(--text-link);--pl-ok:var(--text-success);--pl-warn:var(--text-warning);--pl-bad:var(--text-danger)}
  :root:where(:not([data-theme="light"])) .tsd{--i1:var(--text-default);--i2:var(--text-secondary);--i3:var(--text-tertiary);--ln:var(--border-secondary);--ln2:var(--border-default);--sub:var(--bg-subtle);--okc:var(--text-success);--noc:var(--text-danger);--bg:var(--bg-overlay);--lnk:var(--text-link);--b1bg:var(--btn-primary-bg);--b1tx:var(--btn-primary-text);--b1hv:var(--btn-primary-hover);--cs:dark;box-shadow:0 24px 64px -24px rgba(0,0,0,.7)}
  :root:where(:not([data-theme="light"])) .tsd::backdrop{background:rgba(0,0,0,.6)}
  :root:where(:not([data-theme="light"])) .suite .rc{box-shadow:none}
}

/* Redesign (Nov 3, 2026), after inference-rebuild: hairline-joined cells instead of separate rounded boxes, one
   headline, the stores with real runs as a strip, and the five directions as cards that are all visible. */
.cells{gap:1px;background:var(--border-default);border:1px solid var(--border-default);border-radius:16px;overflow:hidden}
.cells>.cell{border:0;border-radius:0}
.facts{gap:1px;margin:20px 0 0;background:var(--border-default);border:1px solid var(--border-default);border-radius:16px;overflow:hidden}
.fact{border:0;border-radius:0;background:var(--bg-default)}
.fact .n{font-size:28px;font-weight:500;letter-spacing:-.6px;font-variant-numeric:tabular-nums}
.charts{gap:1px;background:var(--border-default);border:1px solid var(--border-default);border-radius:16px;overflow:hidden}
.charts>.ch{border:0;border-radius:0}
.hero3 h1{display:block;max-width:20ch;text-wrap:balance}
.hero3 h1 em{font-style:normal;white-space:nowrap;padding:0 .14em;border:1px solid var(--border-default);border-radius:.16em;background:var(--bg-subtle)}
.strip{padding:8px 0 0}
.strip-label{font:500 12px/1 var(--font-mono);text-transform:uppercase;letter-spacing:-.3px;color:var(--text-tertiary);margin-bottom:12px}
.ss{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;background:var(--border-default);border:1px solid var(--border-default);border-radius:14px;overflow:hidden}
.ss-cell{background:var(--bg-default);height:60px;display:flex;align-items:center;justify-content:center;gap:10px;font-size:14px;font-weight:500}
.ss-cell img{width:24px;height:24px;border-radius:6px}
.report-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:16px;margin-top:16px;align-items:start}
.report-grid .cells{grid-template-columns:1fr}
.dirs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;margin-top:20px;background:var(--border-default);border:1px solid var(--border-default);border-radius:20px;overflow:hidden}
.dir{grid-column:span 2;background:var(--bg-default);padding:24px;display:flex;flex-direction:column;gap:12px;min-width:0;scroll-margin-top:80px}
.dir:nth-child(-n+2){grid-column:span 3}
.dir-tag{align-self:flex-start;font:500 11px/1 var(--font-mono);text-transform:uppercase;letter-spacing:-.2px;padding:4px 7px;border:1px solid var(--border-default);border-radius:5px;color:var(--text-secondary)}
.dir h3{font-size:22px;font-weight:600;letter-spacing:-.5px;line-height:1.2;text-wrap:balance}
.dir>p{font-size:14.5px;line-height:1.5;color:var(--text-secondary)}
.dir-vis .mini{min-height:0;box-shadow:none;border-radius:14px}
.dir-more summary{cursor:pointer;font-size:13px;color:var(--text-secondary)}
.dir-more .cells{grid-template-columns:1fr;margin-top:10px}
.dir-link{margin-top:auto;display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:500}
@media (max-width:1007.98px){.dirs{grid-template-columns:1fr}.dir,.dir:nth-child(-n+2){grid-column:auto}.ss{grid-template-columns:repeat(3,minmax(0,1fr))}.report-grid{grid-template-columns:1fr}}
@media (max-width:560px){.ss{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Suite runs as one table, like the lab's Runs */
.runs-t td{vertical-align:top}
.runs-t .row-link{display:inline-flex;align-items:center;gap:6px;font-weight:600;white-space:nowrap}
.runs-t .said{min-width:240px;max-width:360px;color:var(--text-secondary)}
.runs-t .ob code{display:none}
.runs-t .ob{white-space:nowrap}
.runs-t .r,.t th.r{text-align:right}
.runs-t .when{white-space:nowrap}
.runs-t td:nth-child(5){max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.t th{padding:10px 14px;background:var(--bg-subtle)}
.t td{padding:10px 14px}
/* Docs, after inference-rebuild's: section tabs, grouped navigation, Markdown tools, entry cards, method badges */
.doc-tabs{display:flex;gap:2px;margin:0 0 16px;border-bottom:1px solid var(--border-default)}
.doc-tabs a{padding:8px 12px;margin-bottom:-1px;font-size:14px;font-weight:500;color:var(--text-secondary);border-bottom:2px solid transparent}
.doc-tabs a[aria-current=page]{color:var(--text-default);border-bottom-color:var(--text-default)}
.doc-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px;margin:8px 0 12px}
.doc-head h1{margin:0}
.doc-tools{display:flex;gap:6px}
.doc-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:8px 0 24px;background:var(--border-default);border:1px solid var(--border-default);border-radius:14px;overflow:hidden}
.doc-card{display:flex;flex-direction:column;gap:4px;padding:14px 16px;background:var(--bg-default);color:var(--text-default);text-decoration:none}
.doc-card:last-child:nth-child(odd){grid-column:1/-1}
.doc .doc-card b{font-weight:600}
.doc-card:hover{background:var(--bg-subtle)}
.doc-card span{font-size:13px;line-height:1.45;color:var(--text-secondary)}
.doc .m{display:inline-block;margin-right:4px;padding:1px 5px;border-radius:4px;font:600 10.5px/1.4 var(--font-mono)}
.doc .m-get{background:var(--green-3);color:var(--green-11)}
.doc .m-post{background:var(--blue-3);color:var(--blue-11)}
.doc .m-put,.doc .m-patch{background:var(--amber-3);color:var(--amber-11)}
.doc .m-delete{background:var(--red-3);color:var(--red-11)}
@media (max-width:640px){.doc-cards{grid-template-columns:1fr}}

/* ===== BeUI charts on the home page (scripts/beui.py; ports of beui.dev funnel-chart, composition-chart, heat-calendar,
   bump-chart, order-book, liquidity-heatmap). Mobile first checks at 375 and 390 px. ===== */
.bx-dir{display:block;margin-bottom:4px;font:500 10.5px/1.2 var(--font-mono);text-transform:uppercase;letter-spacing:.02em;color:var(--text-tertiary)}
.bx-head{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:40px}
.bx button{font:inherit;color:inherit;-webkit-tap-highlight-color:transparent}
.bx button:focus-visible{outline:2px solid var(--blue-9);outline-offset:1px}
/* shared tooltip surface (BeUI: rounded-lg border bg px-2.5 py-1 text-xs shadow-lg) */
.bt-tip{position:fixed;left:0;top:0;z-index:80;display:grid;gap:2px;max-width:min(272px,calc(100vw - 16px));padding:6px 10px;border:1px solid var(--border-default);border-radius:8px;background:var(--bg-default);color:var(--text-default);font-size:12px;line-height:1.35;box-shadow:0 10px 24px -8px rgb(0 0 0/.25),0 2px 6px -2px rgb(0 0 0/.12);pointer-events:none;opacity:0;transition:opacity .12s;font-variant-numeric:tabular-nums}
.bt-tip.on{opacity:1}
.bt-tip .tt-k{color:var(--text-secondary);font-size:11.5px}
.bt-tip .tt-h{font-weight:600;margin-bottom:2px}
.bt-tip .tt-row{display:grid;grid-template-columns:8px 1fr auto auto;gap:4px 8px;align-items:center}
.bt-tip .tt-row i{width:8px;height:8px;border-radius:2px}
.bt-tip .tt-two{display:flex;justify-content:space-between;gap:16px;color:var(--text-secondary);font-size:11.5px}
.bt-tip .tt-big{display:flex;align-items:baseline;gap:8px}.bt-tip .tt-big b{font-size:18px}

/* funnel-chart */
.fn-plot{position:relative}
.fn-hor{height:240px}.fn-vert{display:none;height:392px}
.fn-plot svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.fn-plot path{transition:opacity .2s}
.fn-plot.hl path:not(.on){opacity:.35}
.fn-plot ol{position:absolute;inset:0;display:grid;list-style:none;margin:0;padding:0}
.fn-hor ol{grid-template-columns:repeat(var(--n),minmax(0,1fr))}.fn-vert ol{grid-template-rows:repeat(var(--n),minmax(0,1fr))}
.fn-plot li{display:flex;min-width:0}
.fn-plot button{flex:1;display:flex;align-items:center;justify-content:center;border:0;background:none;padding:0;cursor:pointer;min-width:0}
.fn-pill{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border-radius:999px;background:color-mix(in oklab,var(--bg-default) 94%,transparent);border:1px solid var(--border-default);box-shadow:0 1px 2px rgb(0 0 0/.08);font-size:12px;white-space:nowrap}
.fn-v{font-weight:600}.fn-l{display:none;color:var(--text-secondary)}
.fn-vert .fn-l{display:inline}
.fn-lg{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:14px;font-size:12px}
.fn-lg span{display:inline-flex;align-items:center;gap:6px}.fn-lg i{width:8px;height:8px;border-radius:50%}.fn-lg small{color:var(--text-tertiary);font-size:11px}
.fn-sum{display:flex;justify-content:space-between;gap:8px 16px;flex-wrap:wrap;margin-top:12px;padding-top:10px;border-top:1px solid var(--border-default);font-size:13px}
@media (max-width:699.98px){.fn-hor{display:none}.fn-vert{display:block}}

/* composition-chart */
.cmx-top{display:flex;justify-content:space-between;font-size:11.5px;color:var(--text-secondary);margin-bottom:6px}
.cmx-top span:first-child{color:var(--text-default);font-weight:500}
.cmx-plot{position:relative;height:256px}
@media (min-width:640px){.cmx-plot{height:300px}}
.cmx-plot svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.cmx-grid line{stroke:var(--border-default);stroke-width:1;vector-effect:non-scaling-stroke}
.cmx-x{stroke:var(--text-tertiary);stroke-width:1;stroke-dasharray:3 3;vector-effect:non-scaling-stroke;transition:x1 .2s,x2 .2s}
.cmx-plot rect{transition:opacity .2s}
.cmx-plot>button{position:absolute;top:0;bottom:0;border:0;background:none;padding:0;cursor:pointer;border-radius:6px}
.cmx-plot>button:focus-visible{outline-offset:-2px}
.cmx-xl{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));margin-top:8px;font-size:11.5px;text-align:center;line-height:1.25}
.cmx-xl span{min-width:0;overflow-wrap:anywhere}.cmx-xl small{display:block;font-size:10.5px;color:var(--text-tertiary)}
.cmx-xl span.on{font-weight:600}
.cmx-lg{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:6px;margin-top:14px}
.cmx-lg button,.bp-lg button{display:flex;align-items:center;gap:10px;text-align:left;padding:6px 8px;border-radius:8px;border:1px solid transparent;background:none;cursor:pointer;min-width:0;min-height:40px;transition:background .15s,border-color .15s,opacity .15s}
.cmx-lg button:hover,.bp-lg button:hover{background:var(--bg-subtle)}
.cmx-lg button[aria-pressed=true],.bp-lg button[aria-pressed=true]{border-color:var(--border-default);background:var(--bg-subtle)}
.cmx-lg i{flex:none;width:4px;height:26px;border-radius:2px}
.cmx-lg button>span{display:grid;font-size:12px;line-height:1.3}.cmx-lg b{font-size:14px}
.cmx[data-hl=quoted] rect:not([data-s=quoted]),.cmx[data-hl=fair_q] rect:not([data-s=fair_q]),.cmx[data-hl=assistant] rect:not([data-s=assistant]),.cmx[data-hl=backend] rect:not([data-s=backend]),.cmx[data-hl=operator] rect:not([data-s=operator]){opacity:.18}
.cmx[data-hl=quoted] .cmx-lg button:not([data-s=quoted]),.cmx[data-hl=fair_q] .cmx-lg button:not([data-s=fair_q]),.cmx[data-hl=assistant] .cmx-lg button:not([data-s=assistant]),.cmx[data-hl=backend] .cmx-lg button:not([data-s=backend]),.cmx[data-hl=operator] .cmx-lg button:not([data-s=operator]){opacity:.5}
@media (max-width:479.98px){.cmx-lg{grid-template-columns:1fr 1fr}.cmx-xl{font-size:10.5px}}

/* heat-calendar */
.hc2{--hc:var(--green-9);--cell:30px;--gap:5px}
.hc2-wrap{display:flex;gap:20px 28px;align-items:flex-start;flex-wrap:wrap}
.hc2-g{display:grid;grid-template-columns:auto repeat(var(--w),var(--cell));grid-template-rows:14px repeat(7,var(--cell));gap:var(--gap)}
.hc2-d{grid-column:1;align-self:center;padding-right:4px;font:10px/1 var(--font-mono);color:var(--text-tertiary)}
.hc2-m{grid-row:1;font:10px/14px var(--font-mono);color:var(--text-tertiary);white-space:nowrap}
.hc2-c{position:relative;width:var(--cell);height:var(--cell);padding:0;border:0;background:none;border-radius:5px;cursor:pointer;transition:transform .15s}
.hc2-c i,.hc2-steps button{background:color-mix(in oklab,var(--hc) var(--s),color-mix(in oklab,var(--slate-12) 6%,transparent))}
.hc2-c[data-b="0"] i,.hc2-steps button[data-step="0"]{background:color-mix(in oklab,var(--slate-12) 6%,transparent)}
.hc2-c i{position:absolute;inset:0;border-radius:inherit;transition:opacity .2s,box-shadow .15s}
.hc2-c:hover{transform:translateY(-1px) scale(1.06)}
.hc2-c.sel i{box-shadow:inset 0 0 0 2px var(--text-default)}
.hc2-c.pin i{box-shadow:inset 0 0 0 2px var(--text-default),0 0 0 2px var(--bg-default),0 0 0 3px var(--text-default)}
.hc2[data-f="0"] .hc2-c:not([data-b="0"]) i,.hc2[data-f="1"] .hc2-c:not([data-b="1"]) i,.hc2[data-f="2"] .hc2-c:not([data-b="2"]) i,.hc2[data-f="3"] .hc2-c:not([data-b="3"]) i,.hc2[data-f="4"] .hc2-c:not([data-b="4"]) i{opacity:.2}
.hc2-stats{display:grid;gap:12px;margin:18px 0 0}
.hc2-stats dt{font-size:11.5px;color:var(--text-tertiary)}.hc2-stats dd{margin:0;font-size:15px;font-weight:600}
.hc2-lg{display:flex;justify-content:space-between;align-items:center;gap:8px 16px;flex-wrap:wrap;margin-top:14px;font-size:12px}
.hc2-steps{display:inline-flex;align-items:center;gap:4px}
.hc2-steps button{width:14px;height:14px;border-radius:3px;border:0;padding:0;cursor:pointer;position:relative}
.hc2-steps button::after{content:"";position:absolute;inset:-8px -2px}
.hc2-steps button[aria-pressed=true]{box-shadow:0 0 0 2px var(--bg-default),0 0 0 3px var(--text-default)}
.hc2-steps>span:first-child{margin-right:4px}.hc2-steps>span:last-child{margin-left:4px}

/* bump-chart */
.bp-plot{position:relative}.bp-m{display:none}
.bp-plot svg{display:block;width:100%;height:auto;overflow:visible}
.bp-grid line{stroke:var(--border-default);stroke-dasharray:2 5}
.bp-xl text{font:10px var(--font-mono);fill:var(--text-tertiary)}.bp-m .bp-xl text{font-size:11.5px}
.bp-line{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.bp-m .bp-line{stroke-width:2.4}
.bp-glow{fill:none;stroke-width:7;stroke-linecap:round;opacity:0;transition:opacity .2s}
.bp-end{font-size:11px;font-weight:500}
.bp-s,.bp-pt{transition:opacity .2s}
.bp-pts{position:absolute;inset:0;pointer-events:none}
.bp-pt{position:absolute;width:30px;height:30px;margin:-15px 0 0 -15px;padding:0;border:0;background:none;display:grid;place-items:center;pointer-events:auto;cursor:pointer;border-radius:50%}
.bp-pt span{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:var(--bg-default);border:1.5px solid currentColor;font:600 9px/1 var(--font-mono);transition:transform .15s,background .15s,color .15s}
.bp-pt:hover span,.bp-pt:focus-visible span,.bp-pt.on span{transform:scale(1.15);background:var(--pc);border-color:var(--pc);color:#fff}
.bp-lg{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:12px}
.bp-tbl{margin-top:14px;overflow:hidden}
.bp-tbl table{width:100%;border-collapse:collapse;font:12px var(--font-mono);font-variant-numeric:tabular-nums}
.bp-tbl caption{text-align:left;font:500 11.5px var(--font-sans,inherit);color:var(--text-tertiary);padding-bottom:6px}
.bp-tbl th,.bp-tbl td{padding:5px 4px;border-top:1px solid var(--border-default);text-align:center;white-space:nowrap}
.bp-tbl thead th{font-weight:500;font-size:10.5px;color:var(--text-tertiary);border-top:0}
.bp-tbl tbody th{text-align:left;font-weight:500;font-family:var(--font-sans,inherit);overflow:hidden;text-overflow:ellipsis;max-width:150px}
@media (max-width:1007.98px){.bp-tbl{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);margin:0}}
.bp-lg button{gap:8px;font-size:12px;border-color:var(--border-default)}
.bp-lg i{flex:none;width:8px;height:8px;border-radius:50%}
.bp-n{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bp-lg small{color:var(--text-tertiary);font-size:11px}
.bp[data-hl=luna] .bp-s:not([data-s=luna]),.bp[data-hl=deepseek] .bp-s:not([data-s=deepseek]),.bp[data-hl=grok] .bp-s:not([data-s=grok]),.bp[data-hl=gemini] .bp-s:not([data-s=gemini]),
.bp[data-hl=luna] .bp-pt:not([data-s=luna]),.bp[data-hl=deepseek] .bp-pt:not([data-s=deepseek]),.bp[data-hl=grok] .bp-pt:not([data-s=grok]),.bp[data-hl=gemini] .bp-pt:not([data-s=gemini]){opacity:.22}
.bp[data-hl=luna] .bp-s[data-s=luna] .bp-glow,.bp[data-hl=deepseek] .bp-s[data-s=deepseek] .bp-glow,.bp[data-hl=grok] .bp-s[data-s=grok] .bp-glow,.bp[data-hl=gemini] .bp-s[data-s=gemini] .bp-glow{opacity:.16}
@media (max-width:639.98px){.bp-d{display:none}.bp-m{display:block}.bp-lg{grid-template-columns:1fr 1fr}}

/* order-book */
.obk{--bid:var(--green-11);--ask:var(--red-11);font:12px/1.2 var(--font-mono);font-variant-numeric:tabular-nums;border:1px solid var(--border-default);border-radius:16px;overflow:hidden}
.obk-h,.obk-r{display:grid;grid-template-columns:1.6fr 1fr 1fr;align-items:center;gap:8px;padding:0 12px}
.obk-h{padding-top:8px;padding-bottom:8px;font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);border-bottom:1px solid var(--border-default)}
.obk-h span:not(:first-child),.obk-r>span:nth-child(n+3){text-align:right}
.obk-r{position:relative;width:100%;height:32px;border:0;background:none;font:inherit;color:var(--text-default);cursor:pointer;transition:background .15s}
.obk-r.ask{--side:var(--ask)}.obk-r.bid{--side:var(--bid)}
.obk-r>span{position:relative;min-width:0;white-space:nowrap}
.obk-r .obk-p{color:var(--side);text-align:left}
.obk-r .obk-p small{margin-left:6px;font-size:9.5px;text-transform:uppercase;color:var(--text-tertiary)}
.obk-r.out .obk-p{opacity:.75}
.obk .obk-bar{position:absolute;inset:0;background:var(--side);opacity:.12;transform-origin:right;transform:scaleX(var(--f));transition:transform .6s var(--ease-out-quart,cubic-bezier(.25,1,.5,1))}
.obk-r.inr{background:color-mix(in oklab,var(--side) 7%,transparent)}
.obk-r.act{background:color-mix(in oklab,var(--side) 14%,transparent)}
.obk-edge{display:flex;justify-content:flex-end;align-items:center;height:20px;padding:0 12px;border-top:1px dashed var(--border-default);border-bottom:1px dashed var(--border-default);font-size:10px;color:var(--text-tertiary)}
.obk-spread{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap;padding:10px 12px;border-top:1px solid var(--border-default);border-bottom:1px solid var(--border-default);background:var(--bg-subtle)}
.obk-ref{font-size:16px;font-weight:600}
.obk-bal{padding:10px 12px;border-top:1px solid var(--border-default)}
.obk-bal-k{display:flex;justify-content:space-between;gap:8px;font-size:10.5px;margin-bottom:6px}
.obk-bal-k .bid{color:var(--bid)}.obk-bal-k .ask{color:var(--ask)}
.obk-bal-b{height:4px;border-radius:999px;background:color-mix(in oklab,var(--ask) 25%,transparent);overflow:hidden}
.obk-bal-b i{display:block;height:100%;width:calc(var(--r)*100%);border-radius:inherit;background:color-mix(in oklab,var(--bid) 60%,transparent)}
.obk-sum{margin:0;padding:10px 12px;border-top:1px solid var(--border-default);font-size:11.5px;line-height:1.45;min-height:52px}
.obk-sum b{color:var(--text-default)}

/* liquidity-heatmap */
.lq{--rh:18px}
.lq-wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.lq-plot{position:relative;min-width:0}
.lq-g{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));grid-auto-rows:var(--rh);gap:2px}
.lq-c{display:block;min-width:0;padding:0;border:0;border-radius:2px;background:color-mix(in oklab,var(--slate-12) 5%,transparent)}
.lq-c.cap:not(.on){background:color-mix(in oklab,var(--amber-9) 22%,transparent)}
.lq-c.on{background:var(--c);cursor:pointer;transition:transform .15s,box-shadow .15s}
.lq-c.on:hover,.lq-c.on:focus-visible{position:relative;z-index:1;box-shadow:0 0 0 1.5px var(--bg-default),0 0 0 3px var(--text-default);outline:0}
.lq-plot svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.lq-plot path{fill:none;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-linecap:round}
.lq-sh{stroke:rgb(0 0 0/.5);stroke-width:4}.lq-ln{stroke:#fff;stroke-width:1.5}
.lq-ax{display:grid;grid-template-rows:repeat(var(--r),var(--rh));gap:2px;font-size:10px;color:var(--text-tertiary);align-items:center;white-space:nowrap}
.lq-ax .cap,.lq-capk{color:var(--amber-11);font-weight:600}
.lq-xl{display:flex;justify-content:space-between;margin:6px 60px 0 0;font-size:10px;color:var(--text-tertiary)}
.lq-lg{display:flex;justify-content:space-between;align-items:center;gap:8px 16px;flex-wrap:wrap;margin-top:12px;font-size:11.5px;color:var(--text-secondary)}
.lq-ramp{display:inline-flex;align-items:center;gap:2px;font:10px var(--font-mono)}.lq-ramp i{width:14px;height:8px;border-radius:2px}.lq-ramp span{margin:0 4px}
@media (max-width:559.98px){.lq{--rh:15px}.lq-ax .odd{visibility:hidden}.lq-xl span:nth-child(even){visibility:hidden}}

/* card padding on phones */
@media (max-width:559.98px){.bx .ch-h{padding:16px 14px 4px}.bx .ch-b{padding:10px 14px 14px}.bx .ch-f{padding:10px 14px}.hc2{--cell:30px;--gap:5px}.hc2-wrap{gap:16px 24px}}

@media (prefers-reduced-motion:no-preference){
  .js .bx .fn-plot path{opacity:0;transform:scale(.96);transform-origin:center;transform-box:fill-box;transition:opacity .45s calc(var(--i)*70ms),transform .6s calc(var(--i)*70ms) var(--ease-out-quart,cubic-bezier(.25,1,.5,1))}
  .js .bx.in .fn-plot path{opacity:1;transform:none}
  .js .bx.in .fn-plot.hl path:not(.on){opacity:.35}
  .js .bx .cmx-plot rect{transform:scaleY(0);transform-origin:bottom;transform-box:view-box;transition:transform .7s calc(var(--i)*60ms) var(--ease-out-quart,cubic-bezier(.25,1,.5,1)),opacity .2s}
  .js .bx.in .cmx-plot rect{transform:none}
  .js .bx .hc2-c i{transform:scale(.4);opacity:0;transition:transform .35s calc(var(--i)*35ms),opacity .35s calc(var(--i)*35ms)}
  .js .bx.in .hc2-c i{transform:none;opacity:1}
  .js .bx .bp-line{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1s calc(var(--i)*90ms) var(--ease-out-quart,cubic-bezier(.25,1,.5,1))}
  .js .bx.in .bp-line{stroke-dashoffset:0}
  .js .bx .bp-pt span{opacity:0;transition:opacity .3s calc(.25s + var(--i)*70ms),transform .15s,background .15s,color .15s}
  .js .bx.in .bp-pt span{opacity:1}
  .js .bx .obk-bar{transform:scaleX(0)}
  .js .bx.in .obk-bar{transform:scaleX(var(--f))}
  .js .bx .lq-g{opacity:0;transition:opacity .6s}.js .bx .lq-plot svg{opacity:0;transition:opacity .5s .4s}
  .js .bx.in .lq-g,.js .bx.in .lq-plot svg{opacity:1}
}

/* ---- Home as a research report (scripts/build.py report_html), after inference-rebuild's blog posts: a centered
   header with breadcrumbs, date, sources and three findings; a sticky "On this page" column; numbered sections whose
   charts are captioned Figure 1, 2, ... in page order. ---- */
.rpt-head{padding:88px 0 8px;text-align:center}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:6px;font-size:13px;color:var(--text-tertiary)}
.crumbs li+li::before{content:"/";margin-right:6px;color:var(--text-quaternary)}
.crumbs a{color:var(--text-secondary)}
.crumbs a:hover{color:var(--text-default)}
.crumbs [aria-current]{color:var(--text-default)}
.rpt-date{margin-top:28px;color:var(--text-tertiary)}
.rpt-title{max-width:22ch;margin:12px auto 0;text-wrap:balance}
.rpt-sub{max-width:60ch;margin:14px auto 0;font-size:17px;line-height:1.55;color:var(--text-secondary)}
.rpt-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 28px;margin:24px auto 0;font-size:13px}
.rpt-meta div{display:flex;gap:8px;align-items:baseline}
.rpt-meta dt{font:500 11px/1 var(--font-mono);text-transform:uppercase;letter-spacing:-.3px;color:var(--text-tertiary)}
.rpt-meta dd{margin:0;color:var(--text-secondary)}
.rpt-find{list-style:none;margin:40px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--border-default);border:1px solid var(--border-default);border-radius:16px;overflow:hidden;text-align:left}
.rpt-find li{background:var(--bg-default);padding:20px 22px 22px}
.rpt-find b{display:block;font-size:30px;line-height:1.1;font-weight:600;letter-spacing:-1px;font-variant-numeric:tabular-nums}
.rpt-find p{margin-top:8px;font-size:14px;line-height:1.5;color:var(--text-secondary)}
.rpt-find a{white-space:nowrap}

.rpt{display:grid;grid-template-columns:232px minmax(0,1fr);gap:56px;align-items:start;padding-top:24px}
.rpt-side{position:sticky;top:92px;display:flex;flex-direction:column;gap:20px;padding-top:80px}
.rpt-toc ol{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:2px;border-left:1px solid var(--border-secondary)}
.rpt-toc .eyebrow{color:var(--text-tertiary)}
.rpt-toc a{display:flex;gap:10px;align-items:baseline;margin-left:-1px;padding:6px 10px;border-left:1px solid transparent;font-size:13.5px;line-height:1.35;color:var(--text-secondary)}
.rpt-toc a span{font:500 11px var(--font-mono);color:var(--text-quaternary)}
.rpt-toc a:hover{color:var(--text-default)}
.rpt-toc a[aria-current]{border-left-color:var(--text-default);color:var(--text-default);font-weight:500}
.rpt-cta{display:flex;flex-direction:column;gap:10px;padding:16px;border:1px solid var(--border-default);border-radius:14px;background:var(--bg-subtle)}
.rpt-cta b{font-size:14px;line-height:1.35}
.rpt-cta p{font-size:13px;line-height:1.5;color:var(--text-secondary)}
.rpt-cta .btn{align-self:flex-start}
.rpt-cta-link{font-size:13px}

.rpt-main{min-width:0;counter-reset:fig}
.rpt-sec{padding-top:80px;scroll-margin-top:72px}
.rpt-sh{display:grid;gap:6px;margin-bottom:24px}
.rpt-n{font:500 12px/1 var(--font-mono);color:var(--text-tertiary)}
.rpt-t{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.rpt-lede{max-width:68ch;margin-top:2px;font-size:15.5px;line-height:1.55;color:var(--text-secondary)}
.rpt-main .cells.rpt-steps{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.rpt-main .cells.rpt-private{grid-template-columns:repeat(2,minmax(0,1fr))}
.rpt-main .facts{margin:0 0 16px}
.rpt-main .charts,.rpt-main .report-grid{margin-top:16px}
.rpt-main .bx-previews{margin-top:48px}
.rpt-main .faq-list{max-width:none;margin:0}
.rpt-main figure.ch{counter-increment:fig}
.rpt-main figure.ch .ch-h h3::before{content:"Figure " counter(fig) ". ";color:var(--text-tertiary);font-weight:500}
.rpt-main .dirs figure.ch{counter-increment:none}
.rpt-main .dirs figure.ch .ch-h h3::before{content:none}

@media (max-width:1100px){
 .rpt{grid-template-columns:minmax(0,1fr);gap:0}
 .rpt-side{display:none}
}
@media (max-width:760px){
 .rpt-head{padding-top:64px}
 .rpt-find,.rpt-main .cells.rpt-private,.rpt-main .cells.rpt-steps{grid-template-columns:minmax(0,1fr)}
 .rpt-meta{flex-direction:column;align-items:center}
 .rpt-sec{padding-top:56px}
}
.theme-nav{all:unset;cursor:pointer;display:grid;place-items:center;width:36px;height:36px;border-radius:10px;color:var(--text-secondary)}
.theme-nav:hover{background:var(--bg-subtle);color:var(--text-default)}
.theme-nav:focus-visible{outline:2px solid var(--text-link);outline-offset:2px}
.rpt{padding-bottom:96px}
.rpt-cta .rpt-cta-link{font-size:13px;font-weight:500}
