/* MS Target Tracker v7: design tokens. Every colour, size and weight used below comes from this block.
   Palette: Radix Colors v3 (MIT) Slate + Indigo + Green/Amber/Red step 11 (light status steps darkened to clear
   4.5:1 on every surface). Theme: light-dark() follows prefers-color-scheme; [data-theme] (header toggle) overrides. */
:root{color-scheme:light dark;
/* neutral ramp (Slate 1-12) */
--n1:light-dark(#fcfcfd,#111113);--n2:light-dark(#f9f9fb,#18191b);--n3:light-dark(#f0f0f3,#212225);--n4:light-dark(#e8e8ec,#272a2d);
--n6:light-dark(#d9d9e0,#363a3f);--n7:light-dark(#cdced6,#43484e);--n9:light-dark(#8b8d98,#696e77);--n11:light-dark(#60646c,#b0b4ba);--n12:light-dark(#1c2024,#edeef0);
/* accent (Indigo) */
--a2:light-dark(#f7f9ff,#141726);--a3:light-dark(#edf2fe,#182449);--a9:#3e63dd;--a10:light-dark(#3358d4,#5472e4);--a11:light-dark(#3a5bc7,#9eb1ff);
/* semantic roles */
--bg:var(--n1);--surface:light-dark(#ffffff,#18191b);--sunk:var(--n2);--hover:var(--n3);--selected:var(--a2);
--border:var(--n6);--border-strong:var(--n7);--control-border:light-dark(#80838d,#696e77);
--text:var(--n12);--text-2:var(--n11);--link:var(--a11);--focus:light-dark(#3e63dd,#9eb1ff);
--on-accent:#ffffff;--accent:var(--a9);--accent-hover:var(--a10);--accent-subtle:var(--a3);
--live:light-dark(#1a7a4f,#3dd68c);--maybe:light-dark(#9a5a00,#ffca16);--dead:light-dark(#c4282d,#ff9592);--main:var(--n11);--unsrc:var(--n11);
--pos:var(--live);--neg:var(--dead);
--warn-subtle:light-dark(#fefbe9,#1d180f);--warn-line:light-dark(#e2a336,#8f6424);--bad-subtle:light-dark(#fff7f7,#201314);--bad-line:light-dark(#eb8e90,#b54548);--ok-subtle:light-dark(#f4fbf6,#121b17);--ok-line:light-dark(#5bb98b,#2f7c57);
--scrim:light-dark(rgb(28 32 36/.4),rgb(0 0 0/.6));--shadow:0 1px 2px light-dark(rgb(28 32 36/.08),rgb(0 0 0/.4)),0 4px 16px light-dark(rgb(28 32 36/.08),rgb(0 0 0/.35));
/* type: one family, 6 sizes, 2 weights, 3 line-heights */
--font:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif;
--fs-1:.75rem;--fs-2:.8125rem;--fs-3:.9375rem;--fs-4:1.0625rem;--fs-5:1.25rem;--fs-6:1.625rem;
--w-regular:400;--w-strong:600;--lh-tight:1.25;--lh-snug:1.4;--lh-body:1.55;--track-label:.06em;
/* space + shape */
--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--r-sm:6px;--r:10px;--r-full:999px;--hdr:52px;--ring:2px}
:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}
*{box-sizing:border-box}html{scroll-padding-top:calc(var(--hdr) + var(--s4))}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:var(--fs-3);line-height:var(--lh-body);font-weight:var(--w-regular);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}
button,input,select{font:inherit;color:inherit}
b,strong,th{font-weight:var(--w-strong)}
a{color:var(--link);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--link) 45%,transparent);text-underline-offset:2px;text-decoration-thickness:1px;overflow-wrap:anywhere}
a:hover{text-decoration-color:currentColor}
:focus-visible{outline:var(--ring) solid var(--focus);outline-offset:2px;border-radius:var(--r-sm)}
h1{font-size:var(--fs-6);line-height:var(--lh-tight);letter-spacing:-.015em;margin:0 0 var(--s2);font-weight:var(--w-strong)}
h2{font-size:var(--fs-5);line-height:var(--lh-tight);letter-spacing:-.01em;margin:0 0 var(--s1);font-weight:var(--w-strong)}
h3{font-size:var(--fs-4);line-height:var(--lh-tight);font-weight:var(--w-strong)}
p{margin:.5em 0}section p{max-width:78ch}
.label,.dlabel,.hero-h,.fl,dl.kvs dt{font-size:var(--fs-1);line-height:var(--lh-snug);font-weight:var(--w-strong);color:var(--text-2);letter-spacing:var(--track-label);text-transform:uppercase}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
[hidden]{display:none!important}
/* header */
header.site{position:sticky;top:0;z-index:20;background:var(--bg);border-bottom:1px solid var(--border)}
.bar{max-width:1240px;margin:0 auto;padding:0 var(--s5);display:flex;align-items:center;gap:var(--s2);height:var(--hdr)}
.brand{font-weight:var(--w-strong);color:var(--text);white-space:nowrap;text-decoration:none}
.topnav{display:flex;gap:2px;margin-left:var(--s3)}
.topnav a,.navbtn{padding:6px 10px;border-radius:var(--r-sm);color:var(--text-2);font-size:var(--fs-2);font-weight:var(--w-strong);background:none;border:0;cursor:pointer;text-decoration:none}
.topnav a:hover,.navbtn:hover{color:var(--text);background:var(--hover)}.topnav a[aria-current=page]{color:var(--text);background:var(--hover)}
/* top nav dropdowns + Fluz sub-tabs */
.topnav{align-items:center}
.navdd{position:relative}
.navdd>summary{list-style:none;padding:6px 10px;border-radius:var(--r-sm);color:var(--text-2);font-size:var(--fs-2);font-weight:var(--w-strong);cursor:pointer;white-space:nowrap;user-select:none}
.navdd>summary::-webkit-details-marker{display:none}
.navdd>summary:hover,.navdd[open]>summary{color:var(--text);background:var(--hover)}
.navdd>summary.on{color:var(--text);background:var(--hover)}
.ddmenu{position:absolute;top:calc(100% + 6px);left:0;min-width:230px;display:flex;flex-direction:column;padding:6px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);box-shadow:var(--shadow);z-index:30}
.ddmenu a{padding:8px 10px;border-radius:var(--r-sm);color:var(--text);text-decoration:none;font-size:var(--fs-2);white-space:nowrap}
.ddmenu a:hover{background:var(--hover)}.ddmenu a[aria-current=page]{background:var(--accent-subtle);color:var(--link);font-weight:var(--w-strong)}
.subtabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin:0 0 var(--s4);overflow-x:auto}
.subtabs a{padding:8px 14px;color:var(--text-2);text-decoration:none;font-weight:var(--w-strong);font-size:var(--fs-2);border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}
.subtabs a:hover{color:var(--text)}.subtabs a[aria-current=page]{color:var(--text);border-bottom-color:var(--accent)}
@media (max-width:1000px){.topnav{display:none}#menu-btn{display:block}}
.icon-btn{border:1px solid var(--control-border);background:var(--surface);color:var(--text);width:36px;height:36px;border-radius:var(--r-sm);font-size:var(--fs-4);cursor:pointer;line-height:1;flex:none}
.icon-btn:hover{background:var(--hover)}
#menu-btn{display:none}
.theme{margin-left:auto;display:flex;align-items:center}
.theme-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid var(--control-border);border-radius:var(--r-full);background:var(--surface);color:var(--text-2);font-size:var(--fs-2);font-weight:var(--w-strong);cursor:pointer;white-space:nowrap}
.theme-btn:hover{color:var(--text);background:var(--hover)}
.jump{display:none}.jump select{max-width:160px;padding:6px 8px;border-radius:var(--r-sm);border:1px solid var(--control-border);background:var(--surface);color:var(--text);font-size:var(--fs-2)}
/* drawer */
.drawer{position:fixed;inset:0 auto 0 0;width:min(320px,86vw);background:var(--surface);border-right:1px solid var(--border);z-index:50;overflow-y:auto;padding:var(--s3) var(--s3) var(--s6);box-shadow:var(--shadow)}
.drawer-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--s1)}
.dgroup{display:flex;flex-direction:column;padding:10px 0;border-top:1px solid var(--border)}.dgroup:first-of-type{border-top:0}
.dlabel{margin:0 10px var(--s1)}
.dgroup a{padding:var(--s2) 10px;border-radius:var(--r-sm);color:var(--text);text-decoration:none}.dgroup a:hover{background:var(--hover)}.dgroup a[aria-current=page]{background:var(--accent-subtle);color:var(--link);font-weight:var(--w-strong)}
.scrim{position:fixed;inset:0;background:var(--scrim);z-index:40}body.noscroll{overflow:hidden}
/* layout */
.shell{max-width:1240px;margin:0 auto;padding:0 var(--s5)}
main{min-width:0;padding:var(--s6) 0 var(--s2)}
.side{display:none}
@media (min-width:1180px){
 .shell.has-side{display:grid;grid-template-columns:184px minmax(0,1fr);gap:var(--s7)}
 .side{display:flex;flex-direction:column;position:sticky;top:calc(var(--hdr) + var(--s5));align-self:start;max-height:calc(100vh - var(--hdr) - var(--s7));overflow:auto;padding:var(--s6) 0 0;font-size:var(--fs-2);line-height:var(--lh-snug)}
 .side .dlabel{margin:0 0 var(--s2)}.side a{color:var(--text-2);padding:var(--s1) 0 var(--s1) 10px;border-left:2px solid var(--border);text-decoration:none}
 .side a:hover{color:var(--text)}.side a.on{color:var(--text);border-left-color:var(--accent);font-weight:var(--w-strong)}
}
@media (max-width:1179px){.jump{display:block}.theme{margin-left:0}.jump{margin-left:auto}}
.crumb{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:var(--fs-2);color:var(--text-2);margin:0 0 var(--s2)}.crumb b{color:var(--text);font-weight:var(--w-strong)}
.page-head{margin:0 0 var(--s5)}.summary{color:var(--text-2);font-size:var(--fs-4);max-width:72ch;margin:0}
.toc{display:none}
/* sections */
section.card-sec{padding:var(--s6) 0 var(--s1);margin:var(--s2) 0 0;border-top:1px solid var(--border)}
.caption{color:var(--text-2);margin:2px 0 var(--s3);font-size:var(--fs-2);max-width:80ch}
.checked{display:inline-block;vertical-align:middle;margin-left:6px;padding:1px 8px;border:1px solid var(--border-strong);border-radius:var(--r-full);font-size:var(--fs-1);font-weight:var(--w-regular);color:var(--text-2);letter-spacing:0}
details>summary{cursor:pointer;list-style:none}details>summary::-webkit-details-marker{display:none}
details>summary h2{display:inline}
section.card-sec>details>summary::before,.disclose>summary::before{content:"";display:inline-block;width:.45em;height:.45em;border-right:2px solid var(--text-2);border-bottom:2px solid var(--text-2);transform:rotate(-45deg);margin:0 10px 2px 2px;transition:transform .15s}
section.card-sec>details[open]>summary::before,.disclose[open]>summary::before{transform:rotate(45deg)}
/* what changed */
.changes{border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--r);background:var(--surface);padding:var(--s4) 20px;margin:0 0 var(--s6)}
.wc-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s3);margin-bottom:6px}.wc-head h2{font-size:var(--fs-4)}.wc-head a{font-size:var(--fs-2);white-space:nowrap}
.wc-tag{display:inline-block;font-size:var(--fs-2);font-weight:var(--w-strong);color:var(--text-2);margin-right:6px;white-space:nowrap}
.wc-latest .wc-tag{color:var(--text)}
.wc-text{margin:2px 0 0;max-width:none;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.wc-latest.open .wc-text{display:block}
.wc-more,.linkbtn{background:none;border:0;padding:0;color:var(--link);font-size:var(--fs-2);font-weight:var(--w-strong);cursor:pointer}.wc-more:hover,.linkbtn:hover{text-decoration:underline}
.wc-prev{list-style:none;margin:10px 0 0;padding:10px 0 0;border-top:1px solid var(--border);font-size:var(--fs-2);color:var(--text-2)}.wc-prev li{margin:3px 0}
.stats{margin:10px 0 0;font-size:var(--fs-2);color:var(--text-2)}.stats b{color:var(--text)}
/* status: colour + distinct shape + text label (WCAG 1.4.1) */
.badge{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-2);font-weight:var(--w-strong);white-space:nowrap;line-height:var(--lh-snug)}
.badge:before{content:"";width:8px;height:8px;flex:none;background:currentColor}
.b-live{color:var(--live)}.b-live:before{border-radius:50%}
.b-maybe{color:var(--maybe)}.b-maybe:before{width:9px;height:8px;clip-path:polygon(50% 0,100% 100%,0 100%)}
.b-dead{color:var(--dead)}.b-dead:before{width:8px;height:8px;clip-path:polygon(20% 0,50% 30%,80% 0,100% 20%,70% 50%,100% 80%,80% 100%,50% 70%,20% 100%,0 80%,30% 50%,0 20%)}
.b-main{color:var(--main)}.b-main:before{background:none;border:2px solid currentColor;border-radius:50%;box-sizing:border-box}
.b-unsrc{color:var(--unsrc)}.b-unsrc:before{background:none;border:2px dashed currentColor;border-radius:2px;box-sizing:border-box}
.chip{display:inline;font-weight:var(--w-strong);border-radius:var(--r-sm);padding:0 var(--s1)}
.tone-success{color:var(--live)}.tone-warning{color:var(--maybe)}.tone-danger{color:var(--dead)}.tone-neutral{color:var(--text)}
.chip-unsrc{color:var(--text-2);background:var(--hover);font-weight:var(--w-regular);font-size:var(--fs-1);white-space:nowrap}
td a[target]:after,dd a[target]:after,p a[target]:after,li a[target]:after{content:"↗";font-size:var(--fs-1);margin-left:1px;display:inline-block;text-decoration:none}
.callout{border-left:3px solid var(--accent);background:var(--accent-subtle);padding:10px 14px;border-radius:0 var(--r-sm) var(--r-sm) 0;margin:var(--s3) 0;max-width:90ch}
.callout .lead{margin-right:var(--s1)}
.callout-warning{border-left-color:var(--warn-line);background:var(--warn-subtle)}.callout-danger{border-left-color:var(--bad-line);background:var(--bad-subtle)}.callout-success{border-left-color:var(--ok-line);background:var(--ok-subtle)}
/* toolbar + controls */
.toolbar{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s3);align-items:center;padding:var(--s2) 0;margin:0 0 var(--s1);background:var(--bg)}
.toolbar.sticky{position:sticky;top:var(--hdr);z-index:6;border-bottom:1px solid var(--border)}
.tfilter{flex:1 1 220px;max-width:380px;padding:7px 11px;border:1px solid var(--control-border);border-radius:var(--r-sm);background:var(--surface);color:var(--text);font-size:var(--fs-2)}
.tfilter::placeholder{color:var(--text-2);opacity:1}
.count{font-size:var(--fs-2);color:var(--text-2);white-space:nowrap}
.seg{display:inline-flex;flex-wrap:wrap;gap:2px;padding:3px;background:var(--hover);border-radius:var(--r)}
.seg button{border:1px solid transparent;background:transparent;color:var(--text-2);padding:5px 11px;border-radius:var(--r-sm);cursor:pointer;font-size:var(--fs-2);font-weight:var(--w-strong)}
.seg button .n{font-weight:var(--w-regular);margin-left:2px}
.seg button:hover{color:var(--text)}
.seg button.on{background:var(--surface);color:var(--text);border-color:var(--control-border)}
.grid{display:flex;flex-wrap:wrap;gap:var(--s3);align-items:center;margin:10px 0}
.sel select{padding:6px 10px;border-radius:var(--r-sm);border:1px solid var(--control-border);background:var(--surface);color:var(--text)}
/* tables */
.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:var(--r);margin:var(--s2) 0 14px;background:var(--surface)}
table.data{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--fs-2);line-height:var(--lh-snug)}
th,td{padding:9px var(--s3);border-bottom:1px solid var(--border);text-align:left;vertical-align:top}
th{background:var(--sunk);font-size:var(--fs-1);color:var(--text-2);white-space:nowrap;user-select:none;letter-spacing:var(--track-label);text-transform:uppercase}
th[tabindex]{cursor:pointer}th[tabindex]:hover{color:var(--text)}
th[aria-sort=ascending]:after{content:" ↑"}th[aria-sort=descending]:after{content:" ↓"}
tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:var(--hover)}
.wide table.data td{min-width:110px}.wide table.data td:first-child{min-width:150px}
/* ledger */
.ledger{overflow:visible;border-radius:var(--r)}
.ledger thead th{position:sticky;top:calc(var(--hdr) + 51px);z-index:3}
.ledger thead th:first-child{border-top-left-radius:var(--r)}.ledger thead th:last-child{border-top-right-radius:var(--r)}
.lt .c-rank{width:36px;color:var(--text-2);padding-right:var(--s1)}
.lt .c-name{min-width:200px;max-width:300px}.lt .nm{color:var(--text);font-weight:var(--w-strong);text-decoration:none}.lt a.nm:hover{color:var(--link);text-decoration:underline}
.lt .c-st{white-space:nowrap}.lt .c-cost{min-width:150px;font-weight:var(--w-strong)}.lt .c-lim{min-width:150px}.lt .c-sec{min-width:110px;color:var(--text-2)}
.lt td.c-ex,.lt th.c-ex{width:40px;padding-left:0;text-align:right}
.clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
tr.lr{cursor:pointer}tr.lr.open td{background:var(--selected);border-bottom-color:transparent}
tr.lr.open .clamp{display:block}
.exp{width:28px;height:28px;border:1px solid var(--control-border);border-radius:var(--r-sm);background:var(--surface);cursor:pointer;display:inline-grid;place-items:center;padding:0}
.exp:before{content:"";width:6px;height:6px;border-right:2px solid var(--text-2);border-bottom:2px solid var(--text-2);transform:rotate(45deg) translate(-1px,-1px);transition:transform .15s}
.exp[aria-expanded=true]:before{transform:rotate(-135deg) translate(-1px,-1px)}.exp:hover{background:var(--hover)}
tr.ld td{background:var(--selected);padding:var(--s1) var(--s4) var(--s4) var(--s7);border-bottom:1px solid var(--border)}tr.ld:hover td{background:var(--selected)}
tr.lr.open td:first-child{box-shadow:inset 3px 0 0 var(--accent)}tr.ld td{box-shadow:inset 3px 0 0 var(--accent)}
dl.kvs{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--s3) 28px;margin:0 0 var(--s3)}
dl.kvs .kv{min-width:0}dl.kvs dt{margin:0 0 2px}dl.kvs dd{margin:0;overflow-wrap:anywhere}
.m-only{display:none}
.btn{display:inline-flex;justify-content:center;align-items:center;gap:6px;padding:var(--s2) 14px;border-radius:var(--r-sm);background:var(--accent);color:var(--on-accent);font-weight:var(--w-strong);font-size:var(--fs-2);border:0;cursor:pointer;white-space:nowrap;text-decoration:none}
.btn:hover{background:var(--accent-hover);text-decoration:none}
.btn-ghost{background:var(--surface);color:var(--text);border:1px solid var(--control-border);display:flex;margin:14px auto 0}.btn-ghost:hover{background:var(--hover)}
.disclose{margin:var(--s1) 0 14px}.disclose>summary{font-size:var(--fs-2);font-weight:var(--w-strong);color:var(--text-2);padding:6px 0}.disclose>summary:hover{color:var(--text)}
/* deep-dive summary + key/value lists */
.hero{margin:0 0 var(--s5);padding:18px 20px;border:1px solid var(--border);border-radius:var(--r);background:var(--surface)}
.hero-h{margin:0 0 var(--s2)}
dl.sum,dl.props{margin:0}
dl.sum .kv,dl.props .kv{display:grid;grid-template-columns:minmax(120px,200px) 1fr;gap:var(--s4);padding:9px 0;border-bottom:1px solid var(--border)}
dl.sum .kv:last-child,dl.props .kv:last-child{border-bottom:0}
dl.sum dt,dl.props dt{font-weight:var(--w-strong);color:var(--text-2);font-size:var(--fs-2)}dl.sum dd,dl.props dd{margin:0;min-width:0;max-width:80ch}
dl.sum .kv:first-child{padding-top:0}
.verdict{margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.verdict p{margin:var(--s1) 0 0;max-width:80ch}
.fl{display:block}
.cta{margin:calc(-1 * var(--s2)) 0 var(--s5)}
/* steps, rows, link lists */
ol.steps{padding-left:1.3em;max-width:80ch}ol.steps li{margin:0 0 10px;padding-left:var(--s1)}ol.steps li::marker{color:var(--text-2);font-weight:var(--w-strong)}ol.steps div{color:var(--text-2)}
ul.rows{list-style:none;padding:0;margin:0;max-width:90ch}ul.rows li{border-bottom:1px solid var(--border);padding:10px 0}ul.rows li:last-child{border-bottom:0}
.row-head{display:flex;justify-content:space-between;gap:var(--s2)}.meta{color:var(--text-2);font-size:var(--fs-1)}
ul.cards{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:0 var(--s5)}
ul.cards li{border-bottom:1px solid var(--border)}
.card{display:flex;flex-direction:column;padding:10px 0;color:var(--text);text-decoration:none}.card:hover .card-title{color:var(--link);text-decoration:underline}
.card-title{font-weight:var(--w-strong)}.card-meta{color:var(--text-2);font-size:var(--fs-1)}
footer{margin:36px 0 var(--s5);color:var(--text-2);font-size:var(--fs-1);border-top:1px solid var(--border);padding-top:var(--s3)}
.dsrc{white-space:nowrap}
.totop{position:fixed;right:var(--s4);bottom:var(--s4);width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--surface);border:1px solid var(--control-border);color:var(--text);font-size:var(--fs-4);box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:opacity .2s;z-index:30;text-decoration:none}
.totop.show{opacity:1;pointer-events:auto}
/* explorer */
#explorer{border-top:0;padding-top:0}
.ex-bar{position:sticky;top:var(--hdr);z-index:6;background:var(--bg);padding:var(--s2) 0;border-bottom:1px solid var(--border);margin-bottom:var(--s2)}
.ex-top{display:flex;gap:var(--s2);align-items:center}.ex-top .tfilter{max-width:none}
.ex-filters>summary{display:inline-block;margin-top:var(--s2);font-size:var(--fs-2);font-weight:var(--w-strong);color:var(--text-2);padding:6px 10px;border:1px solid var(--control-border);border-radius:var(--r-sm);white-space:nowrap}
.ex-panel{display:flex;flex-wrap:wrap;gap:var(--s2);align-items:center;margin-top:var(--s2)}
.ex-panel select{padding:6px var(--s2);border-radius:var(--r-sm);border:1px solid var(--control-border);background:var(--surface);color:var(--text);font-size:var(--fs-2)}
.ex-seg button.on:before{content:"✓ ";color:var(--link)}
.ex-list{list-style:none;margin:0;padding:0;border:1px solid var(--border);border-radius:var(--r);background:var(--surface)}
.ex-row{display:grid;grid-template-columns:minmax(160px,1.1fr) minmax(220px,1.6fr) minmax(160px,1.2fr) auto;gap:var(--s1) var(--s4);align-items:baseline;padding:10px 14px;border-bottom:1px solid var(--border);font-size:var(--fs-2)}
.ex-row:last-child{border-bottom:0}.ex-row:hover{background:var(--hover)}
.ex-name{font-weight:var(--w-strong);display:flex;gap:var(--s2);align-items:baseline;flex-wrap:wrap}
.ex-rates b{color:var(--pos)}.ex-rates .pr{color:var(--maybe);font-weight:var(--w-strong)}
.ex-meta{color:var(--text-2);font-size:var(--fs-1)}.ex-go{white-space:nowrap;font-size:var(--fs-2)}
.ex-list:empty{display:none}
.ex-wrap{margin-top:0}.ex-table{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--fs-2);line-height:var(--lh-snug)}
.ex-table th.num,.ex-table td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.ex-table td.ex-name{min-width:180px}.ex-table td.ex-name b{font-weight:var(--w-strong)}.ex-table .badge{font-size:var(--fs-1);margin-left:4px}
.ex-sub{color:var(--text-2);font-size:var(--fs-1);margin-top:2px;white-space:normal}
.ex-table b.pos{color:var(--pos)}.ex-table .pr{color:var(--maybe);font-weight:var(--w-strong)}
.ex-table th[aria-sort]{color:var(--text)}
/* mid widths */
@media (min-width:761px) and (max-width:1000px){.lt .c-sec{display:none}.m-only{display:block}}
/* mobile */
@media (max-width:760px){
 :root{--fs-6:1.375rem;--fs-5:1.125rem;--fs-4:1rem}
 .bar{padding:0 var(--s3);gap:var(--s2)}.topnav{display:none}#menu-btn{display:block}
 .theme-btn .tl{display:none}.theme-btn{padding:6px 9px}
 .jump select{max-width:130px}
 .shell{padding:0 14px}main{padding:var(--s4) 0 var(--s1)}
 section.card-sec{padding:22px 0 2px}
 .changes{padding:14px;margin-bottom:20px}
 .wc-prev li{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
 .toolbar{gap:var(--s2)}.toolbar .seg{width:100%;display:flex}.toolbar .seg button{flex:1 1 auto;padding:6px}.tfilter{max-width:none}
 .ledger{border:0;background:none;overflow:visible}
 .lt,.lt tbody{display:block}.lt thead{display:none}
 .lt tr.lr{display:grid;grid-template-columns:26px minmax(0,1fr) auto;grid-template-areas:"rank name st" ". cost ex" ". lim ex";column-gap:var(--s2);row-gap:2px;padding:var(--s3) var(--s1) var(--s3) 0;border-bottom:1px solid var(--border)}
 .lt tr.lr td{display:block;border:0;padding:0;background:none!important;min-width:0;max-width:none;box-shadow:none!important}
 .lt .c-rank{grid-area:rank;padding-top:1px}.lt .c-name{grid-area:name;line-height:var(--lh-snug)}.lt .c-st{grid-area:st;text-align:right}
 .lt .c-cost{grid-area:cost;font-size:var(--fs-2)}.lt .c-lim{grid-area:lim;color:var(--text-2);font-size:var(--fs-2)}.lt .c-sec{display:none!important}
 .lt td.c-ex{grid-area:ex;align-self:center;width:auto}
 tr.lr.open{background:var(--selected);border-bottom-color:transparent!important;border-radius:var(--r-sm) var(--r-sm) 0 0;box-shadow:inset 3px 0 0 var(--accent)}
 .lt tr.ld{display:block}.lt tr.ld td{display:block;padding:var(--s1) var(--s3) 14px 34px;border-radius:0 0 var(--r-sm) var(--r-sm)}
 dl.kvs{grid-template-columns:1fr;gap:10px}.m-only{display:block}
 tr.ld .btn{width:100%}
 .table-wrap:not(.ledger){border:0;background:none;overflow:visible}
 table.data:not(.lt) thead{display:none}table.data:not(.lt),table.data:not(.lt) tbody,table.data:not(.lt) tr,table.data:not(.lt) td{display:block;width:100%}
 table.data:not(.lt) tr{padding:10px 0;border-bottom:1px solid var(--border)}
 table.data:not(.lt) td{border:0;padding:2px 0;min-width:0!important;background:none!important}
 table.data:not(.lt) td:before{content:attr(data-label);display:block;font-size:var(--fs-1);color:var(--text-2);font-weight:var(--w-strong);letter-spacing:var(--track-label);text-transform:uppercase}
 table.data:not(.lt) td:first-child{font-weight:var(--w-strong)}table.data:not(.lt) td:first-child:before{display:none}
 dl.sum .kv,dl.props .kv{grid-template-columns:1fr;gap:2px}
 .hero{padding:14px}
 ul.cards{grid-template-columns:1fr}
 .ex-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name go" "rates rates" "meta meta";padding:10px var(--s3)}
 .ex-name{grid-area:name}.ex-rates{grid-area:rates}.ex-meta{grid-area:meta}.ex-go{grid-area:go}
 .ex-panel select{flex:1 1 45%;min-width:0}.ex-panel select:first-child{flex-basis:100%}
}
/* Auth (Clerk): sign-in, sign-up, waitlist, pending pages and the header user menu */
.userbtn{display:flex;align-items:center;margin-left:var(--s2);min-width:28px;min-height:28px}
.userbtn[hidden]{display:none}
main.auth{max-width:480px;margin:0 auto;padding:var(--s7) var(--s4) var(--s6)}
main.auth .summary{font-size:var(--fs-3);margin-bottom:var(--s5)}
.clerk-root{min-height:120px}
.auth-loading,.auth-foot{color:var(--text-2);font-size:var(--fs-2)}
.auth-foot{margin-top:var(--s5)}
.auth-msg{margin-top:var(--s4);padding:var(--s3) var(--s4);border-left:3px solid var(--warn-line);background:var(--warn-subtle);border-radius:var(--r-sm);font-size:var(--fs-2)}
.auth-msg .btn{margin-left:var(--s2)}
.auth-actions{display:flex;gap:var(--s2);margin-top:var(--s4)}
.auth-actions .auth-ghost{margin:0}
@media (max-width:480px){.jump select{max-width:100px}.userbtn{margin-left:0}}
/* Request-access form (/waitlist) and admin list (/requests) */
.req-form{display:flex;flex-direction:column;gap:var(--s4);margin-bottom:var(--s4)}
.req-form[hidden]{display:none}
.field{display:flex;flex-direction:column;gap:6px}
.field label{font-weight:var(--w-strong);font-size:var(--fs-3)}
.field .opt{font-weight:var(--w-regular);color:var(--text-2)}
.field .hint{margin:0;color:var(--text-2);font-size:var(--fs-2);line-height:var(--lh-snug)}
.field input{font:inherit;font-size:16px;padding:10px 12px;border:1px solid var(--control-border);border-radius:var(--r-sm);background:var(--surface);color:var(--text);min-height:44px;box-sizing:border-box;width:100%}
.field input:focus-visible{outline:var(--ring) solid var(--focus);outline-offset:1px}
.field input[aria-invalid=true]{border-color:var(--dead)}
.field .err{margin:0;color:var(--dead);font-size:var(--fs-2);font-weight:var(--w-strong)}
.req-submit{min-height:44px;font-size:var(--fs-3)}
.req-submit:disabled{opacity:.6;cursor:wait}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.clerk-root[hidden]{display:none}
.auth-msg.ok{border-left-color:var(--ok-line);background:var(--ok-subtle)}
.auth-msg.info{border-left-color:var(--a9);background:var(--a2)}
.auth-msg:focus{outline:none}
main.admin{max-width:1000px;margin:0 auto;padding:var(--s6) var(--s4)}
.rq-table{width:100%;border-collapse:collapse;font-size:var(--fs-2)}
.rq-table th,.rq-table td{text-align:left;padding:var(--s2) var(--s3);border-bottom:1px solid var(--border);vertical-align:top}
.rq-table th{color:var(--text-2);font-weight:var(--w-strong)}
.rq-act{white-space:nowrap}.rq-act .btn{margin:0 4px 4px 0;display:inline-flex}
.muted{color:var(--text-2)}
@media (max-width:640px){.rq-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.rq-table tr{display:block;border-bottom:1px solid var(--border);padding:var(--s2) 0}.rq-table td{display:block;border:0;padding:2px 0}}

/* fluz trends */
.tr-range{margin:0 0 var(--s2)}.tr-table td{white-space:nowrap}.tr-table td.ex-name{white-space:normal}
.tr-table .up{color:var(--pos);font-weight:var(--w-strong)}.tr-table .down{color:var(--neg,#c53d52);font-weight:var(--w-strong)}.na{color:var(--text-2)}
.tr-row{cursor:pointer}.tr-row.open td{background:var(--hover)}.spark{display:block;color:var(--link)}
.tr-detail td{background:var(--sunk);white-space:normal}.tr-detail-in{display:flex;flex-wrap:wrap;gap:var(--s4);align-items:flex-start}
.tr-chart{max-width:100%;height:auto;color:var(--link);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm)}
.tr-chart circle{fill:currentColor}.tr-chart .ax{fill:var(--text-2);font-size:11px}.tr-list{margin:var(--s2) 0;padding-left:18px;font-size:var(--fs-2);columns:2}
.nowrap{white-space:nowrap}
/* Deep links (lib/anchors.mjs): copy-link button per row / section heading, and a brief highlight on arrival */
.cl{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-left:6px;padding:0;border:0;border-radius:var(--r-sm);background:none;color:var(--text-2);font:inherit;font-size:var(--fs-1);font-weight:var(--w-strong);line-height:1;vertical-align:middle;cursor:pointer;opacity:0;transition:opacity .15s}
.cl::before{content:"#"}.cl.ok::before{content:"✓"}.cl.ok{opacity:1;color:var(--link)}
tr:hover .cl,h2:hover .cl,.cl:focus-visible,.cl.ok{opacity:1}.cl:hover{background:var(--hover);color:var(--link)}
@media (hover:none){.cl{opacity:.55}}
tr[id],section[id]{scroll-margin-top:96px}
@keyframes ms-flash{0%,35%{background:var(--accent-subtle)}100%{background:transparent}}
tr.flash>td{animation:ms-flash 2.4s ease-out}section.flash{animation:ms-flash 2.4s ease-out}
tr.flash{animation:ms-flash 2.4s ease-out}
