:root{--bg:#07080a;--panel:#0c0e11;--panel2:#111419;--line:#1c2027;--line2:#151920;--text:#d9dee7;--muted:#6f7889;--dim:#4a5261;
--pos:#22c55e;--neg:#ef4444;--warn:#eab308;--acc:#3EC5FF;--acc2:#7FD8FF;--tok-ring:#0c0e11;
--mono:"JetBrains Mono","IBM Plex Mono",ui-monospace,"SF Mono",Menlo,monospace;--sans:"Inter",ui-sans-serif,system-ui,sans-serif;
--rng-track:#1a1e25;--rng-in:rgba(34,197,94,.35);--rng-dot:#7FD8FF;--rng-halo:rgba(127,216,255,.3)}
*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--text);font:12.5px/1.45 var(--sans);-webkit-font-smoothing:antialiased}
.app{display:grid;grid-template-columns:212px minmax(0,1fr) 370px;height:calc(100vh - var(--disc-h,24px))}
kbd{font:600 10px var(--mono);padding:1px 5px;border:1px solid var(--line);border-bottom-width:2px;border-radius:4px;color:var(--text);background:var(--panel2)}
.side{background:var(--panel);border-right:1px solid var(--line);padding:14px 12px;overflow:auto;display:flex;flex-direction:column;gap:18px}
.addf{display:flex;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--bg)}
.addf input{flex:1;min-width:0;background:none;border:0;color:var(--text);font:11.5px var(--mono);padding:8px 9px;outline:none}
.addf button{border:0;background:var(--panel2);color:var(--acc);font:700 13px var(--mono);padding:0 11px;cursor:pointer;border-left:1px solid var(--line)}
.addf:focus-within{border-color:var(--acc)}
.gh{font:700 10px var(--mono);letter-spacing:.14em;color:var(--dim);margin-bottom:6px;display:flex;justify-content:space-between}
.it{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:5px;cursor:pointer;font:12px var(--mono);color:var(--muted);transition:background .12s,color .12s}
.it:hover{background:var(--panel2);color:var(--text)}.it.on{color:var(--text);background:#14181e}
.it .sq{width:8px;height:8px;border-radius:2px;border:1px solid var(--dim)}.it.on .sq{background:var(--acc);border-color:var(--acc)}
.it .n{margin-left:auto;color:var(--dim);font-size:11px}.it .rm{margin-left:auto;color:var(--dim);opacity:0}.it:hover .rm{opacity:1}.it .rm:hover{color:var(--neg)}
.keys div{font-size:11px;color:var(--muted);margin:4px 0;display:flex;gap:4px;align-items:center}
.center{display:flex;flex-direction:column;min-width:0;border-right:1px solid var(--line)}
.ticker{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--line);background:var(--panel)}
.tk{padding:10px 12px;border-right:1px solid var(--line2);min-width:0}.tk:last-child{border-right:0}
.tk span{display:block;font:600 9.5px var(--mono);letter-spacing:.12em;color:var(--dim)}
.tk b{display:block;font:600 16px var(--mono);margin-top:3px;letter-spacing:-.02em;white-space:nowrap}
.tk i{font:10.5px var(--mono);font-style:normal;color:var(--muted);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tk.hero b{font-size:20px}
.tabbar{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 10px 0 0}
.tabs{display:flex}.tabs button{border:0;background:none;color:var(--muted);font:600 11.5px var(--mono);padding:11px 14px;cursor:pointer;border-bottom:2px solid transparent;letter-spacing:.02em}
.tabs button u{text-decoration:none;color:var(--dim);margin-right:4px}
.tabs button:hover{color:var(--text)}.tabs button.on{color:var(--acc);border-bottom-color:var(--acc)}
#q{background:var(--bg);border:1px solid var(--line);color:var(--text);font:11.5px var(--mono);border-radius:5px;padding:6px 9px;width:180px;outline:none}#q:focus{border-color:var(--acc)}
.pane{flex:1;overflow:auto;min-height:0}
.tw{overflow:auto}
table{width:100%;border-collapse:collapse;font:12px var(--mono);font-variant-numeric:tabular-nums}
th{position:sticky;top:0;background:var(--panel);color:var(--dim);font:700 9.5px var(--mono);letter-spacing:.12em;text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);cursor:pointer;white-space:nowrap;user-select:none;z-index:1}
th.r,td.r{text-align:right}th:hover{color:var(--text)}th.s{color:var(--acc)}
td{padding:7px 8px;border-bottom:1px solid var(--line2);white-space:nowrap}
tr.row{cursor:pointer;transition:background .08s}tr.row:hover{background:#0f1216}
tr.row.sel{background:#16140b;box-shadow:inset 2px 0 0 var(--acc)}
.pc{display:flex;align-items:center;gap:8px}.pc b{font-weight:600;color:var(--text)}.pc small{color:var(--dim)}
.dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:6px}.dot.in{background:var(--pos);box-shadow:0 0 6px var(--pos)}.dot.out{background:var(--warn)}.dot.cl{background:var(--dim)}
.mr{display:inline-block;width:78px;vertical-align:middle}.mr .rng-l{display:none}.mr .rng-track{height:4px}.mr .rng-now{width:8px;height:8px;margin:-4px 0 0 -4px;box-shadow:none}.mr .rng-closed{height:auto;font-size:10px}
.ev{font:700 10px var(--mono);padding:2px 6px;border-radius:3px;letter-spacing:.04em}
.ev.deposit,.ev.add{background:#1b1730;color:#a78bfa}.ev.claim{background:#0f2417;color:var(--pos)}.ev.withdraw{background:#2a1212;color:var(--neg)}.ev.rebalance{background:#2a2108;color:var(--warn)}.ev.compound{background:#0b2230;color:var(--acc2)}
td a{color:var(--acc2);text-decoration:none}
.wf{height:calc(100% - 60px);min-height:320px;padding:18px 18px 0;position:relative}
.note{padding:10px 18px;color:var(--muted);font-size:11.5px}
.status{border-top:1px solid var(--line);padding:6px 12px;font:11px var(--mono);color:var(--muted);background:var(--panel);display:flex;gap:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.status .w{color:var(--warn)}
.insp{background:var(--panel);overflow:auto;padding:16px}
.ph{color:var(--muted);height:100%;display:grid;place-items:center;font:12px var(--mono)}
.ih{display:flex;align-items:center;gap:10px}.ih h2{margin:0;font:700 17px var(--mono)}.ih small{display:block;color:var(--muted);font:11px var(--mono)}
.ib{font:700 30px var(--mono);letter-spacing:-.03em;margin:14px 0 2px}
.isub{font:12px var(--mono);color:var(--muted)}
.sec{margin-top:16px;border-top:1px solid var(--line);padding-top:12px}
.sec h4{margin:0 0 10px;font:700 9.5px var(--mono);letter-spacing:.14em;color:var(--dim)}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line2);border:1px solid var(--line2);border-radius:6px;overflow:hidden}
.grid div{background:var(--panel);padding:8px 10px}.grid span{display:block;font:600 9.5px var(--mono);letter-spacing:.08em;color:var(--dim)}.grid b{font:600 13px var(--mono)}
.ich{height:170px;position:relative}
.mwf{height:150px;position:relative}
.ilog{font:11px var(--mono)}.ilog div{display:grid;grid-template-columns:56px 82px 1fr;gap:8px;padding:4px 0;border-bottom:1px dashed var(--line2)}.ilog .u{text-align:right}
.disc{min-height:38px;display:block;padding:8px 16px;font-size:10.5px;line-height:1.45;color:var(--muted);border-top:1px solid var(--line);background:var(--panel)}
.disc b{color:var(--text);margin-right:6px}
@media(max-width:1250px){.app{grid-template-columns:200px minmax(0,1fr) 340px}.ticker{grid-template-columns:repeat(4,1fr)}}
@media(max-width:899px){
 html,body{height:auto}.app{display:flex;flex-direction:column;height:auto}
 .side{border-right:0;border-bottom:1px solid var(--line);gap:12px}.keys{display:none}
 .grp #wl,.grp #cl,.grp #fl{display:flex;flex-wrap:wrap;gap:4px}.it{border:1px solid var(--line)}
 .ticker{grid-template-columns:repeat(2,1fr)}.tk{border-bottom:1px solid var(--line2)}.tk.hero{grid-column:span 2}
 .tabs button{padding:10px 9px;font-size:11px}.tabs button u{display:none}#q{display:none}
 .pane{max-height:none;overflow:visible}.tw{overflow-x:auto}
 .wf{height:300px}.insp{border-top:1px solid var(--line)}.disc{height:auto;white-space:normal;padding:12px 14px}
}

#pane-pos{display:flex;flex-direction:column}#pane-pos .tw{flex:1;min-height:0}
.dock{display:grid;grid-template-columns:1.3fr 1fr;border-top:1px solid var(--line);height:250px;flex:none}
.dk{display:flex;flex-direction:column;min-width:0;border-right:1px solid var(--line)}.dk:last-child{border-right:0}
.dkh{font:700 9.5px var(--mono);letter-spacing:.14em;color:var(--dim);padding:9px 12px;border-bottom:1px solid var(--line2);background:var(--panel)}
.dkc{flex:1;position:relative;padding:8px 10px 4px;min-height:0}
.tape{overflow:auto;font:11.5px var(--mono)}
.tp{display:grid;grid-template-columns:56px 96px 1fr 80px;gap:8px;align-items:center;padding:6px 12px;border-bottom:1px solid var(--line2);cursor:pointer}.tp:hover{background:#0f1216}.tp .r{text-align:right}
@media(max-width:899px){.dock{grid-template-columns:1fr;height:auto}.dkc{height:220px}}

.ticker{grid-template-columns:repeat(8,1fr)}
.tbr{display:flex;gap:8px;align-items:center}.sh{border:1px solid var(--acc);background:none;color:var(--acc);font:700 10.5px var(--mono);letter-spacing:.1em;border-radius:5px;padding:6px 10px;cursor:pointer}.sh:hover{background:var(--acc);color:#000}
.ystats{margin:16px 18px 0;grid-template-columns:repeat(6,1fr)}
.alc{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line2);height:100%}.ac{background:var(--bg);padding:18px}.ac h4{margin:0 0 12px;font:700 9.5px var(--mono);letter-spacing:.14em;color:var(--dim)}
.acd{height:190px;position:relative;margin-bottom:14px}.al{font-family:var(--mono);font-size:11.5px}
.comp-h b{font-family:var(--mono);font-size:12px}.comp-h>span:last-child{font-family:var(--mono)}
.prox{font-family:var(--mono);font-size:9.5px;letter-spacing:.06em;margin-left:6px;vertical-align:1px}
@media(max-width:1250px){.ticker{grid-template-columns:repeat(4,1fr)}}
@media(max-width:899px){.ystats{grid-template-columns:repeat(2,1fr)}.alc{grid-template-columns:1fr}.tbr .sh{display:none}}
.tabs button{white-space:nowrap;padding:11px 11px}#q{width:140px}
.tk span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pane[hidden]{display:none!important}

/* v1 polish */
.ticker{grid-template-columns:repeat(auto-fit,minmax(118px,1fr))}
@media(max-width:1250px){.ticker{grid-template-columns:repeat(auto-fit,minmax(118px,1fr))}}
.tk.hero{min-width:140px}
.vt{display:inline-flex;border:1px solid var(--line);border-radius:6px;overflow:hidden}.vt button{border:0;background:none;color:var(--muted);font:600 10.5px var(--mono);padding:6px 9px;cursor:pointer;letter-spacing:.04em}.vt button+button{border-left:1px solid var(--line)}.vt button.on{background:#16140b;color:var(--acc)}.vt button:hover{color:var(--text)}
.mhero{display:none}
.cards{display:none}
body.cardsmode #pane-pos .tw{display:none}
body.cardsmode .cards{display:grid;flex:1;min-height:0;overflow:auto;align-content:start;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;padding:14px}
.ec{position:relative;padding:16px 16px 14px;border-radius:14px;background:linear-gradient(180deg,#0f1216,#0b0d10);border:1px solid var(--line);cursor:pointer;transition:transform .2s cubic-bezier(.2,.8,.2,1),border-color .2s,box-shadow .2s;animation:ecin .45s both;overflow:hidden}
.ec::before{content:"";position:absolute;inset:0 0 auto 0;height:90px;background:radial-gradient(260px 90px at 85% 0,var(--glow),transparent);pointer-events:none}
.ec.g-pos{--glow:rgba(34,197,94,.16)}.ec.g-neg{--glow:rgba(239,68,68,.15)}
.ec:hover{transform:translateY(-2px);border-color:#2a303a;box-shadow:0 14px 40px rgba(0,0,0,.5)}.ec.sel{border-color:var(--acc);box-shadow:0 0 0 1px var(--acc) inset}
@keyframes ecin{from{opacity:0;transform:translateY(6px)}}
.ec-h{display:flex;align-items:center;gap:10px;position:relative}.ec-n b{display:block;font:700 14px var(--mono)}.ec-n small{color:var(--muted);font:11px var(--mono)}
.st{margin-left:auto;font:700 9.5px var(--mono);letter-spacing:.08em;padding:3px 7px;border-radius:4px;white-space:nowrap}.st.in{color:var(--pos);background:#0f2417}.st.out{color:var(--warn);background:#2a2108}.st.cl{color:var(--muted);background:#14181e}
.ec-m{display:flex;justify-content:space-between;align-items:flex-end;margin:14px 0 12px;position:relative}
.ec-p{font:700 26px var(--mono);letter-spacing:-.04em;line-height:1}.ec-r{font:11.5px var(--mono);color:var(--muted);margin-top:6px}
.ec-x{display:flex;justify-content:space-between;align-items:center;font:11px var(--mono);color:var(--muted);margin-bottom:8px}.ec-x .prox{margin-left:0}
.ec-f{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:12px;padding-top:11px;border-top:1px solid var(--line2)}.ec-f span{display:block;font:600 9px var(--mono);letter-spacing:.1em;color:var(--dim)}.ec-f b{font:600 12.5px var(--mono)}
.ec-s{position:absolute;right:12px;bottom:12px;opacity:0;transform:translateY(4px);transition:.18s;border:1px solid var(--acc);background:#0b0d10;color:var(--acc);font:700 10px var(--mono);letter-spacing:.06em;border-radius:5px;padding:5px 9px;cursor:pointer}
.ec:hover .ec-s{opacity:1;transform:none}.ec-s:hover{background:var(--acc);color:#000}
.ec:hover .ec-f{opacity:.25}.ec-f{transition:opacity .18s}
.ih{position:relative}.ihs{margin-left:auto}.ix{display:none}
@media(max-width:899px){
 :root{--disc-h:0px}
 .side .grp:not(:first-of-type){display:none}.side{padding:12px}
 .ticker,.tabbar .vt{display:none}
 .mhero{display:block;padding:22px 16px 18px;background:radial-gradient(500px 220px at 90% -10%,rgba(62,197,255,.16),transparent),var(--bg);border-bottom:1px solid var(--line)}
 .mh-l{font:700 10px var(--mono);letter-spacing:.14em;color:var(--dim)}
 .mh-v{font:800 52px/1.05 var(--sans);letter-spacing:-.05em;margin:8px 0 12px;font-variant-numeric:tabular-nums}
 .mh-c{display:flex;gap:6px;flex-wrap:wrap}.pill{font:600 11.5px var(--mono);padding:5px 10px;border-radius:99px;background:#11151a;border:1px solid var(--line);color:var(--text)}.pill small{color:var(--muted)}
 .sh2{margin-left:auto;border-color:var(--acc);color:var(--acc);cursor:pointer;background:none}
 .mh-g{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line2);border:1px solid var(--line2);border-radius:10px;overflow:hidden;margin-top:16px}.mh-g div{background:var(--panel);padding:10px 12px}.mh-g span{display:block;font:600 9.5px var(--mono);letter-spacing:.1em;color:var(--dim);text-transform:uppercase}.mh-g b{font:600 15px var(--mono)}
 #pane-pos .tw{display:none!important}
 #pane-pos .cards{display:grid!important;grid-template-columns:1fr;gap:12px;padding:14px;overflow:visible}
 .ec-s{opacity:1;transform:none;position:static;margin-top:12px;width:100%;padding:9px}.ec:hover .ec-f{opacity:1}
 .dock{display:none}
 .insp{display:none}
 .insp.open{display:block;position:fixed;inset:0;z-index:100;padding:18px 16px 40px;overflow:auto;animation:ecin .25s both}
 .insp.open .ix{display:block;position:sticky;top:0;margin-left:auto;z-index:3;width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:#11151a;color:var(--text);font-size:14px;cursor:pointer}
 body.lock{overflow:hidden}
 .tabs{overflow-x:auto}
}
/* layout: footer in normal flow, never overlapping */
body{display:flex;flex-direction:column;height:100vh}
.app{flex:1;min-height:0;height:auto}
.disc{flex:none}
.ticker{grid-template-columns:repeat(8,minmax(0,1fr))}
.tk{padding:9px 10px}.tk b{font-size:15px}.tk.hero b{font-size:18px}.tk.hero{min-width:0}
.vt button,.sh,.tabs button{white-space:nowrap}
.ih small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:190px}
.ihs{padding:5px 8px;font-size:10px;flex:none}
.ich .ld{position:absolute;inset:0;display:grid;place-items:center;color:var(--dim);font:11px var(--mono)}
@media(max-width:1400px){.app{grid-template-columns:188px minmax(0,1fr) 330px}.tk{padding:8px 8px}.tk span{font-size:8.5px;letter-spacing:.08em}.tk b{font-size:13.5px}.tk.hero b{font-size:16px}.tk i{font-size:9.5px}.tabs button{padding:11px 8px}#q{width:110px}}
@media(min-width:1800px){.app{grid-template-columns:240px minmax(0,1fr) 420px}.tk b{font-size:17px}.tk.hero b{font-size:22px}}
@media(max-width:899px){body{display:block;height:auto}.ticker{display:none}}
@media(max-width:1400px){#t th:nth-child(6),#t td:nth-child(6),#t th:nth-child(10),#t td:nth-child(10),#t th:nth-child(12),#t td:nth-child(12){display:none}}
.ih{padding-right:0}.ih>div{min-width:0;flex:1}.ih small{max-width:none}
@media(max-width:899px){.side .grp{display:block!important}.side .grp:has(#cl),.side .grp:has(#fl),.side .keys{display:none!important}.side{gap:10px}}
.eqm{margin:14px 18px 0}
@media(max-width:1400px){.tabs button u{display:none}#q{width:92px}}
.app{grid-template-rows:minmax(0,1fr)}.insp,.center,.side{min-height:0}
body.cardsmode .cards{grid-auto-rows:max-content}
/* 1280–1599: narrower inspector, fewer table columns, ticker sub-labels wrap instead of truncating */
@media(min-width:900px) and (max-width:1599px){
 .app{grid-template-columns:188px minmax(0,1fr) 320px}
 #t th:nth-child(10),#t td:nth-child(10),#t th:nth-child(11),#t td:nth-child(11),#t th:nth-child(12),#t td:nth-child(12){display:none}
 .tk i{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.25}
 .tk span{overflow:visible;text-overflow:clip}
 #t td,#t th{padding-left:6px;padding-right:6px}
}
@media(min-width:900px) and (max-width:1400px){#t th:nth-child(6),#t td:nth-child(6){display:none}}
@media(min-width:900px) and (max-width:1599px){
 .insp .rng-l{display:grid;grid-template-columns:1fr 1fr;row-gap:2px}.insp .rng-l span:last-child{text-align:right}
 .insp .rng-l .rng-mid{grid-column:1/-1;grid-row:2;text-align:center}
 .status{gap:10px}.status>*:nth-child(2){display:none}
}
/* chains: badges + per-chain breakdown (dark only) */
.chb{display:inline-block;font:700 8.5px/1 var(--mono);letter-spacing:.07em;padding:3px 5px;border-radius:3px;color:var(--cc);background:color-mix(in srgb,var(--cc) 13%,#07080a);border:1px solid color-mix(in srgb,var(--cc) 38%,transparent);margin-right:6px;vertical-align:1px;white-space:nowrap}
.chb.big{font-size:11px;padding:4px 7px}
.chainbar{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line);background:var(--bg)}
.cbx{padding:8px 12px;border-right:1px solid var(--line2);cursor:pointer;min-width:0}.cbx:last-child{border-right:0}.cbx:hover{background:#0f1216}.cbx.on{background:#11151b;box-shadow:inset 0 -2px 0 var(--acc)}
.cbh{display:flex;align-items:center;gap:2px;font:600 11px var(--mono);white-space:nowrap}.cbh b{color:var(--text);margin-right:8px}.cbh span{color:var(--dim);font-size:10px}
.cbh span.chb{color:var(--cc)}
.cbg{display:grid;grid-template-columns:repeat(4,auto);gap:2px 12px;margin-top:5px}.cbg span{display:block;font:600 8.5px var(--mono);letter-spacing:.1em;color:var(--dim)}.cbg b{font:600 12px var(--mono);white-space:nowrap}.cbg small{color:var(--muted);font-weight:500}
.cbe{font:10.5px var(--mono);color:var(--dim);margin-top:7px}
.it .chb{margin-right:6px}.it .n{margin-left:auto}
.mh-ch{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 2px}.mh-ch .pill{display:inline-flex;align-items:center;cursor:pointer}
.tp span .chb{margin-right:5px}
@media(max-width:1599px){.cbg{grid-template-columns:repeat(2,auto)}}
@media(max-width:899px){.chainbar{grid-template-columns:1fr 1fr}.cbx{border-bottom:1px solid var(--line2)}.cbh{flex-wrap:wrap;white-space:normal;row-gap:2px}.cbh>span:not(.chb){flex-basis:100%}}

/* Poolie additions */
.nv{display:flex;flex-direction:column;gap:2px}.nv a{font:12px var(--mono);color:var(--muted);padding:5px 8px;border-radius:5px;text-decoration:none}.nv a:hover{background:var(--panel2);color:var(--text)}
.gh .plan{font:700 9px var(--mono);letter-spacing:.08em;padding:1px 6px;border-radius:4px;background:var(--panel2);color:var(--muted);text-decoration:none}.gh .plan.pro{background:#3EC5FF22;color:#A8E6FF}
tr.lockrow td{color:var(--muted);background:repeating-linear-gradient(135deg,#0c0e11,#0c0e11 8px,#0e1116 8px,#0e1116 16px);text-align:center;padding:14px}
tr.lockrow a{color:#A8E6FF}.it.locked{opacity:.5}.it.locked:after{content:"PRO";margin-left:6px;font:700 9px var(--mono);color:#A8E6FF}
@media (max-width:899px){.side .grp.rg .gh{display:none}.side .grp.rg .nv{flex-direction:row;overflow-x:auto;gap:6px;padding-bottom:2px}.side .grp.rg .nv a{white-space:nowrap;border:1px solid var(--line);font-size:11.5px}}
/* Paywall + modal styles for the terminal (scoped copies of poolie.css rules) */
.pw .eyb,#rg-modal .eyb{font:700 11px var(--mono);letter-spacing:.16em;color:var(--acc)}.pw .lead{color:var(--muted);font-size:15px}.pw .mut{color:var(--muted)}.pw .dim{color:var(--dim)}.pw .small{font-size:12px}.pw .mono{font-family:var(--mono)}
.pw .row,#rg-modal .row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:16px}
.pw .btn,#rg-modal .btn{display:inline-flex;align-items:center;gap:6px;font:700 12px var(--mono);padding:10px 16px;border-radius:7px;border:1px solid var(--line);background:var(--panel2);color:var(--text);cursor:pointer;text-decoration:none}.pw .btn.p,#rg-modal .btn.p{background:var(--acc);border-color:var(--acc);color:#03121F}
.pw{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at 50% 0,#FFD23F14,transparent 50%),radial-gradient(ellipse at 50% 100%,#1F8FE022,transparent 55%),#03080Df2;backdrop-filter:blur(6px);overflow:auto}
.pw-p{max-width:620px;text-align:center;background:var(--panel);border:1px solid #3EC5FF55;border-radius:18px;padding:34px 34px 24px;box-shadow:0 40px 120px #000c}
.pw-p h1{font-size:34px;margin:8px 0 10px}.pw-p .lead{margin:0 auto 14px}.pw-mk{width:56px;height:56px;margin:0 auto 14px}
.pw-p ul{list-style:none;padding:0;margin:0 auto 20px;text-align:left;max-width:470px}.pw-p li{padding:5px 0 5px 24px;position:relative;color:var(--text)}.pw-p li:before{content:"✓";position:absolute;left:0;color:var(--acc);font-weight:700}
.pw-p a{color:var(--acc)}.pw-p .btn{color:var(--text)}.pw-p .btn.p{color:#03121F}
tr.click{cursor:pointer}tr.click:hover td{background:#3EC5FF0d}
#rg-modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center}#rg-modal[hidden]{display:none}
.rgm-bg{position:absolute;inset:0;background:#000b;backdrop-filter:blur(3px)}.rgm-p{position:relative;max-width:460px;width:calc(100% - 32px);background:var(--panel);border:1px solid #2a3245;border-radius:14px;padding:26px 26px 22px;box-shadow:0 30px 80px #000}
.rgm-x{position:absolute;top:12px;right:12px;border:0;background:none;color:var(--muted);font-size:14px;cursor:pointer}
#rg-modal h3{margin:8px 0 8px;font-size:20px}#rg-modal .mut{color:var(--muted)}#rg-modal .small{font-size:12px}
#t .ck{width:26px;padding-left:10px!important;padding-right:0!important}#t .ck input{accent-color:#3EC5FF;cursor:pointer;margin:0}.sh.on{background:#3EC5FF;color:#03121F}.igs{display:block;width:calc(100% - 0px);margin:10px 0 2px;padding:8px 10px;text-align:center}
@media(max-width:1600px){.tbr{gap:5px}.tbr .sh{padding:6px 7px;letter-spacing:.06em}#q{width:96px}.tabs button{padding:11px 7px}.tabs button u{display:none}}

.vlt .vr{display:flex;align-items:center;justify-content:space-between;padding:3px 8px;font:500 11.5px var(--mono);color:var(--text)}.vlt .vs{padding:0 8px 4px;font:10px var(--mono);color:var(--dim)}.vlt em{font:700 9px var(--mono);letter-spacing:.08em;font-style:normal;padding:1px 6px;border-radius:8px;border:1px solid}.vlt .lv{color:#34d399;border-color:#34d39955}.vlt .sn{color:#FFD23F;border-color:#FFD23F55}

/* Positions filters (status · range · asset), multi-select and its share bar */
#pane-pos .pfb{flex:none}
.pfb{padding:10px 12px 9px;border-bottom:1px solid var(--line);background:var(--bg);display:flex;flex-direction:column;gap:8px}
.pfr{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.pseg{display:inline-flex;border:1px solid var(--line);border-radius:6px;overflow:hidden;max-width:100%}
.pseg button{border:0;background:none;color:var(--muted);font:600 11px var(--mono);padding:7px 10px;cursor:pointer;white-space:nowrap}
.pseg button+button{border-left:1px solid var(--line)}.pseg button:hover{color:var(--text)}
.pseg button.on{background:#14181e;color:var(--acc)}
.pseg i{font-style:normal;color:var(--dim);margin-left:6px}
.pseg.dis{opacity:.4}.pseg.dis button{cursor:default}
.psel{margin-left:auto;border:1px solid var(--line);background:none;color:var(--text);font:600 11px var(--mono);padding:7px 12px;border-radius:6px;cursor:pointer}.psel.on{border-color:var(--acc);color:var(--acc)}
.ptk{display:flex;gap:6px;overflow-x:auto;align-items:center;scrollbar-width:none;-webkit-overflow-scrolling:touch}.ptk::-webkit-scrollbar{display:none}
.ptl{font:700 9.5px var(--mono);letter-spacing:.12em;color:var(--dim);margin-right:2px;flex:none}
.ptk button{flex:none;border:1px solid var(--line);background:none;color:var(--muted);font:600 11px var(--mono);padding:5px 9px;border-radius:99px;cursor:pointer}
.ptk button:hover{color:var(--text)}.ptk button.on{border-color:var(--acc);color:var(--acc)}
.ptk i{font-style:normal;color:var(--dim);margin-left:5px}
.psum{display:flex;gap:4px 12px;flex-wrap:wrap;font:11px var(--mono);color:var(--muted);align-items:center}
.psum .pos{color:var(--pos)}.psum .neg{color:var(--neg)}
.prs{margin-left:auto;border:0;background:none;color:var(--acc2);font:600 11px var(--mono);cursor:pointer;padding:0}
.ec{background:var(--panel)}.ec::before{display:none}.ec:hover{box-shadow:none}
.ec-ck{flex:none;width:18px;height:18px;border:1px solid var(--dim);border-radius:4px;display:grid;place-items:center}
.ec.pk{border-color:var(--acc)}.ec.pk .ec-ck{background:var(--acc);border-color:var(--acc)}
.ec.pk .ec-ck::after{content:"";width:5px;height:9px;border:solid #03121F;border-width:0 2px 2px 0;transform:translateY(-1px) rotate(45deg)}
body.selmode .ec-s{display:none}body.selmode .ec{user-select:none}
.selbar{position:fixed;left:0;right:0;bottom:0;z-index:50;display:flex;gap:8px;align-items:center;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:var(--panel);border-top:1px solid var(--line)}
.selbar[hidden]{display:none}
.sbn{flex:1;min-width:0;font:11.5px var(--mono);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sbc,.sbs{border:1px solid var(--line);background:none;color:var(--text);font:700 11.5px var(--mono);padding:9px 12px;border-radius:6px;cursor:pointer;white-space:nowrap}
.sbs{background:var(--acc);border-color:var(--acc);color:#03121F}.sbs:disabled{opacity:.4;cursor:default}
.ph.pend{height:auto;padding:28px 16px;text-align:center;line-height:1.6}
@media(min-width:900px){.selbar{left:50%;right:auto;bottom:56px;transform:translateX(-50%);min-width:440px;border:1px solid var(--line);border-radius:8px}}
@media(max-width:899px){body.selmode #pane-pos .cards{padding-bottom:84px}.mhero{background:var(--bg)}.pfb{padding:12px 14px 10px}.pseg button{padding:8px 9px}}
.pfr .pseg:first-child{order:1}.pfr .pseg+.pseg{order:2}.pfr .psel{order:3}
@media(max-width:899px){.pfr .psel{order:2}.pfr .pseg+.pseg{order:3}}
.lxs-dl{background:var(--acc);color:#03121F;border-radius:8px}
/* Top brand bar (all widths): the landing sticky-nav single-line lockup (/lockup.css, .pl-lock). */
.tbar{flex:none;display:flex;align-items:center;justify-content:space-between;height:48px;padding:0 16px;background:var(--panel);border-bottom:1px solid var(--line)}
.tb-l{font:600 11px var(--mono);color:var(--muted);text-decoration:none;padding:6px 8px;border-radius:5px}.tb-l:hover{color:var(--text);background:var(--panel2)}
.app{height:auto}
@media(max-width:899px){.tbar{height:46px;padding:0 14px}}
.vlt .vr a.ref{color:inherit;text-decoration:none}.vlt .vr a.ref[href]:hover{opacity:.72;text-decoration:underline;text-underline-offset:2px}
/* "The Poolside" nav label: two-tone like the landing headings (landing dark --text / --acc) */
.tp-a{color:#E8EAED}.tp-b{color:#3EC5FF}a:hover .tp-b,a.on .tp-b{color:#7FD8FF}

/* Nav indicator (poolie.js navInd): sliding sky-blue pill for the active item + soft hover preview */
.ind-on{position:relative;isolation:isolate}
.ind-act,.ind-hov{position:absolute;left:0;top:0;z-index:-1;pointer-events:none;border-radius:8px;transition:transform .42s cubic-bezier(.22,.9,.24,1),width .42s cubic-bezier(.22,.9,.24,1),height .42s cubic-bezier(.22,.9,.24,1),opacity .25s ease}
.ind-act{background:linear-gradient(180deg,rgba(62,197,255,.16),rgba(62,197,255,.07));box-shadow:inset 0 0 0 1px rgba(62,197,255,.32),0 0 14px rgba(62,197,255,.18)}
.ind-act:after{content:"";position:absolute;left:12px;right:12px;bottom:-1px;height:2px;border-radius:2px;background:#3EC5FF;box-shadow:0 0 8px rgba(62,197,255,.85),0 0 2px #3EC5FF}
.ind-hov{background:rgba(255,255,255,.055);opacity:0}.ind-hov.on{opacity:1}
.ind-still{transition:none!important}.ind-pre{opacity:0}
.ind-on a{position:relative;transition:color .2s ease}.ind-on a:hover{background:transparent!important}
@media (prefers-reduced-motion:reduce){.ind-act,.ind-hov{transition:opacity .2s ease}}
/* Main tracker top nav row (moved out of the sidebar; mirrors the subpages' .rn-l) */
.tnav{flex:none;display:flex;align-items:center;gap:16px;height:46px;padding:0 16px;background:#0a0c10;border-bottom:1px solid var(--line)}
.tnav .rn-l{display:flex;gap:4px;min-width:0;overflow-x:auto;scrollbar-width:none}.tnav .rn-l::-webkit-scrollbar{display:none}
.tnav .rn-l a{font:600 12px var(--mono);padding:7px 11px;border-radius:6px;color:var(--muted);text-decoration:none;white-space:nowrap}.tnav .rn-l a:hover{color:var(--text);background:var(--panel2)}
.tnav .rn-l a.on{color:var(--text);background:var(--panel2);box-shadow:inset 0 -2px 0 #3EC5FF}.tnav .rn-l.ind-on a.on{background:transparent;box-shadow:none}
.tnav .rn-plan{margin-left:auto;flex:none;display:flex;gap:6px;align-items:center;font:700 10.5px var(--mono);letter-spacing:.08em;border:1px solid var(--line);border-radius:20px;padding:4px 4px 4px 10px;color:var(--dim);text-decoration:none}
.tnav .rn-plan b{padding:3px 9px;border-radius:14px;background:var(--panel2);color:var(--muted)}.tnav .rn-plan b.pro{background:#3EC5FF22;color:#A8E6FF}
@media(max-width:899px){.tnav{height:auto;padding:6px 10px;gap:10px}.tnav .rn-l{padding:2px 0 4px;margin-right:-10px;-webkit-mask:linear-gradient(90deg,#000 88%,transparent);mask:linear-gradient(90deg,#000 88%,transparent)}.tnav .rn-l a{font-size:11.5px;padding:7px 10px}.tnav .rn-plan{display:none}}
/* 19-20 Oct: sources (MaxFi / vFAT / Wallet), DEX grouping, connected sources */
.srt{display:inline-flex;align-items:center;height:16px;padding:0 6px;margin:0 6px 0 0;border-radius:4px;font:700 9.5px var(--mono);letter-spacing:.06em;vertical-align:1px;border:1px solid var(--line);color:var(--muted);background:transparent;white-space:nowrap}
.srt.s-maxfi{color:#9fdcff;border-color:rgba(62,197,255,.35)}.srt.s-vfat{color:#c4b5fd;border-color:rgba(167,139,250,.38)}.srt.s-wallet{color:#cbd5e1;border-color:#2a303a}
#t .pc .srt{margin-left:8px}
#t tr.dexh td{padding:12px 12px 6px;border-bottom:1px solid var(--line);background:var(--bg);font:11px var(--mono);color:var(--muted);white-space:nowrap}
#t tr.dexh td b{color:var(--text);font:700 11.5px var(--mono);letter-spacing:.08em;text-transform:uppercase;margin-right:12px}
#t tr.dexh td span{margin-right:14px}#t tr.dexh .dexch .chb{margin-right:4px}#t tr.dexh .pos{color:var(--pos)}#t tr.dexh .neg{color:var(--neg)}
.ecg{grid-column:1/-1;display:flex;align-items:center;gap:8px;padding:10px 2px 0;font:11px var(--mono);color:var(--muted)}
.ecg b{color:var(--text);font:700 11.5px var(--mono);letter-spacing:.08em;text-transform:uppercase}.ecg .chb{margin:0}
.ptl2{margin-left:10px}
.dock{grid-template-columns:1.2fr 1fr .95fr}
.srcs{padding:10px 14px;overflow:auto}.srch,.srcs .srch{font:600 10px var(--mono);letter-spacing:.14em;color:var(--muted);margin-bottom:8px}
.src{padding:8px 0 10px;border-top:1px solid var(--line2)}.src:first-of-type{border-top:0}
.srh{display:flex;align-items:center;gap:8px;font:600 12px var(--mono);color:var(--text)}
.srh a.ref{color:var(--text);text-decoration:none;font-weight:700}.srh a.ref[href]:hover{text-decoration:underline;text-underline-offset:2px}
.sdot{width:7px;height:7px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.16);flex:none}
.srh .lv{font:700 9px var(--mono);letter-spacing:.1em;color:#22c55e;font-style:normal;border:1px solid rgba(34,197,94,.4);border-radius:4px;padding:1px 5px}
.srd{color:var(--dim);font:10.5px var(--mono);margin-left:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.srg{display:grid;grid-template-columns:repeat(4,1fr);gap:4px 10px;margin-top:7px}
.srg span{display:block;font:600 9px var(--mono);letter-spacing:.1em;color:var(--dim)}.srg b{font:600 12px var(--mono);color:var(--text)}.srg b small{color:var(--dim);font-weight:400}
.srg .pos{color:var(--pos)}.srg .neg{color:var(--neg)}
.msrcs{display:none}
@media(min-width:900px) and (max-width:1599px){.srg{grid-template-columns:repeat(2,1fr)}.srd{display:none}}
@media(max-width:899px){.msrcs{display:block;padding:18px 14px 8px;border-top:1px solid var(--line)}.msrcs .srg{grid-template-columns:1fr 1fr;gap:10px 14px}.msrcs .srd{display:none}.msrcs .src{padding:12px 0}}
.dock .tp{grid-template-columns:44px 80px minmax(0,1fr) 66px;gap:6px;padding:6px 10px}.dock .tp>span:nth-child(3){white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.pfr .pseg:nth-child(3){order:2}
.tk .tkhow{display:block;margin-top:2px;font:9.5px var(--mono);color:var(--dim);white-space:normal;line-height:1.25}
.mh-how{font:11px var(--mono);color:var(--muted);margin:2px 0 8px}.mh-g small{display:block;font:11px var(--mono);color:var(--muted);margin-top:2px}
/* ---- Position tiles v2 (20 Oct): mobile first, quiet grid, fewer borders/colours, aligned numbers ---- */
.ec.t2{padding:14px 14px 10px;border-radius:12px;background:var(--panel);border:1px solid var(--line2);font-variant-numeric:tabular-nums}
.ec.t2:hover{transform:none;border-color:#2a303a}
.t2-top{display:flex;align-items:center;gap:10px;min-width:0}
.t2-id{flex:1;min-width:0}.t2-id>b{display:block;font:700 15px var(--mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.t2-tags{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin-top:4px;font:12px var(--mono);color:var(--muted)}.t2-tags .srt,.t2-tags .chb{margin:0}
.ec.t2 .st{margin-left:0;font:600 12px var(--mono);letter-spacing:0;padding:0;background:none!important;border:0!important}
.ec.t2 .st.in{color:var(--pos)}.ec.t2 .st.out{color:var(--warn,#f0b429)}.ec.t2 .st.cl{color:var(--muted)}
.t2-sh{flex:none;width:40px;height:40px;border-radius:10px;border:1px solid var(--line);background:none;color:var(--muted);font:700 15px var(--mono);cursor:pointer}
.t2-sh:hover{color:var(--acc);border-color:var(--acc)}
.t2-kv{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0 14px}
.t2-kv span,.t2-g span{display:block;font:12px var(--mono);color:var(--muted);margin-bottom:3px}
.t2-kv b{font:700 24px var(--mono);letter-spacing:-.03em;line-height:1.1;color:var(--text)}.t2-kv b.pos{color:var(--pos)}.t2-kv b.neg{color:var(--neg)}
.t2-kv .r{text-align:right}
.t2-rng{margin:0 0 14px}.t2-rng .rng-l{font-size:12px}.t2-closed{font:12px var(--mono);color:var(--muted)}
.t2-g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 14px}
.t2-g b{font:600 13.5px var(--mono);color:var(--text)}.t2-g b.pos{color:var(--pos)}.t2-g b.neg{color:var(--neg)}.t2-g b small{color:var(--dim);font-weight:400}
.t2-more{margin-top:8px}
.t2-more summary{list-style:none;cursor:pointer;min-height:40px;display:flex;align-items:center;justify-content:center;font:600 12px var(--mono);color:var(--muted);border-radius:8px}
.t2-more summary::-webkit-details-marker{display:none}.t2-more summary::after{content:"▾";margin-left:6px}.t2-more[open] summary::after{content:"▴"}
.t2-more summary:hover{color:var(--text);background:rgba(255,255,255,.03)}
.t2-mx{padding:6px 0 4px}.t2-mx .spark{width:100%;height:36px;margin-bottom:10px}.t2-prox{margin-top:10px}
body.cardsmode .cards{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}
@media(min-width:900px){.ec.t2 .t2-g{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:899px){
 .ec.t2 .t2-g{grid-template-columns:1fr 1fr}
 #pane-pos .cards{gap:10px;padding:12px}
 .ec.t2{padding:14px 14px 8px}
}
@media(max-width:380px){.t2-kv b{font-size:21px}.t2-id>b{font-size:14px}}
/* table: aligned numbers, lighter rules */
#t td,#t th{font-variant-numeric:tabular-nums}#t tbody tr.row td{border-bottom-color:var(--line2)}
/* connected sources at the end of the tile list (phones, and desktop cards mode where the dock is hidden) */
.csrcs{grid-column:1/-1;padding:14px 4px 6px;border-top:1px solid var(--line2);margin-top:6px}.csrcs .srg{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 14px}
.csrcs .srg span{font-size:11px;letter-spacing:.06em}.csrcs .srg b{font-size:13.5px}
@media(max-width:899px){.csrcs .srg{grid-template-columns:1fr 1fr}.csrcs .srd{display:none}.csrcs .src{padding:12px 0}.msrcs{display:none!important}}
@media(min-width:900px){body.cardsmode .dock{display:none}body:not(.cardsmode) .csrcs{display:none}
 .ticker{grid-template-columns:minmax(0,1.8fr) repeat(7,minmax(0,1fr))}.tk .tkhow{white-space:normal}}
.t2-g span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:899px){#cards article .srt,#cards article .chb,#cards article .prox,#cards article .t2-tags *,#cards article .t2-more *{font-size:12px!important}#cards article .chb{padding:1px 5px}}
@media(min-width:620px) and (max-width:899px){#pane-pos .cards{grid-template-columns:1fr 1fr!important}}
/* shared site footer: compact one-liner under the desktop terminal, full block on phones */
@media(min-width:900px){body>.sfoot{flex:none;padding:0 16px;height:42px;display:flex;align-items:center}.sfoot .sf-row{flex-wrap:nowrap;gap:18px;width:100%}.sfoot .sf-lock{font-size:15px}.sfoot .sf-c{display:none}.sfoot .sf-soc a{width:40px;height:40px}}
@media(min-width:900px) and (max-height:960px){.dock{height:196px}.dock>.dk{overflow:auto}}
/* 20 Oct: tighter desktop terminal so more position rows fit at 1440x900 (no data removed, only spacing) */
@media(min-width:900px) and (max-height:1000px){
 .tk{padding:6px 10px}.tk b{font-size:14px;margin-top:1px}.tk.hero b{font-size:17px}.tk i{font-size:9.5px}
 .cbx{padding:5px 10px}.cbg{margin-top:3px;gap:0 12px}.cbg b{font-size:11.5px}.cbe{margin-top:3px}
 .tabs button{padding-top:7px;padding-bottom:7px}
 .pfb{padding:6px 10px 5px;gap:5px}.pseg button{padding:4px 8px}.pfr{gap:6px}
 #t td{padding-top:3px;padding-bottom:3px}#t th{padding-top:5px;padding-bottom:5px}#t tr.dexh td{padding:6px 10px 3px}
 .dock{height:164px}
 .disc{min-height:0;padding:4px 16px;font-size:10px;line-height:1.35}
 .status{padding:3px 12px}
}

/* 21 Oct: history-incomplete tag (amber, same pill as the source tags) */
.srt.s-inc{color:#f5b84b;background:rgba(245,184,75,.12);border-color:rgba(245,184,75,.35)}
/* vs benchmarks (21 Oct) */
.bnwrap{margin:14px 0 4px;padding:16px 18px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.01))}
.bnwrap h4{margin:0 0 10px;font:800 11px/1 Inter,system-ui,sans-serif;letter-spacing:.12em;color:#9aa3b5}.bnwrap h4 span{font-weight:500;letter-spacing:0;text-transform:none;color:#6f7789}
.bn-r{display:grid;grid-template-columns:130px 1fr 96px;align-items:center;gap:10px;padding:5px 0}
.bn-l{font:600 13px Inter,system-ui,sans-serif;color:#d9dee7}.bn-r b{text-align:right;font:800 14px/1 "JetBrains Mono",ui-monospace,monospace}
.bn-t{position:relative;height:10px;border-radius:6px;background:rgba(255,255,255,.05)}
.bn-t i{position:absolute;top:0;bottom:0;border-radius:6px}.bn-t i.up{left:50%}.bn-t i.dn{right:50%}
.bn-t::after{content:"";position:absolute;left:50%;top:-3px;bottom:-3px;width:1px;background:rgba(255,255,255,.18)}
.bn-r.lp i{background:linear-gradient(90deg,#3EC5FF,#7c5cff)}.bn-r.hd i{background:#94a3b8}.bn-r.et i{background:#8ea2ff}.bn-r.bt i{background:#f7a93b}
.bn-v{margin-top:8px;font:500 13px Inter,system-ui,sans-serif;color:#c3c9d6}.bn-n,.bn-e{margin:6px 0 0;font:400 11px/1.4 Inter,system-ui,sans-serif;color:#6f7789}
@media (max-width:600px){.bn-r{grid-template-columns:96px 1fr 80px}.bn-l{font-size:12px}}
/* 21 Oct: P&L split line in position detail; peak-capital return in ticker */
.isplit{display:flex;flex-wrap:wrap;gap:6px 18px;margin:10px 0 4px;font:500 11.5px var(--mono);color:var(--muted)}
.isplit b{font-weight:600;margin-left:6px;color:var(--text)}.isplit b.pos{color:var(--pos)}.isplit b.neg{color:var(--neg)}
.tk i em{font-style:normal}.tkpk{color:var(--muted)}
/* 21 Oct: progressive first sync */
.syncbar{display:inline-block;vertical-align:middle;width:84px;height:3px;margin-left:10px;border-radius:3px;background:var(--line);overflow:hidden}
.syncbar b{display:block;height:100%;background:linear-gradient(90deg,var(--acc),var(--acc2));transition:width .6s ease}
#syncn{position:fixed;inset:0;z-index:9000;display:grid;place-items:center;padding:20px}
#syncn .sn-bg{position:absolute;inset:0;background:rgba(4,5,7,.72);backdrop-filter:blur(6px)}
#syncn .sn-p{position:relative;width:min(420px,100%);padding:28px 26px 22px;border-radius:18px;border:1px solid rgba(255,255,255,.09);background:linear-gradient(180deg,#111419,#0c0e11);box-shadow:0 30px 80px rgba(0,0,0,.55);font-family:var(--sans);color:var(--text)}
#syncn .sn-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.07)}#syncn .sn-brand .pl-lock{pointer-events:none}#syncn .sn-ty{margin:-8px 0 18px;color:#c9d1df;font-size:14px}
#syncn .sn-i{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:rgba(62,197,255,.1);border:1px solid rgba(62,197,255,.25);}
#syncn .sn-i i{width:16px;height:16px;border-radius:50%;border:2px solid rgba(62,197,255,.25);border-top-color:var(--acc);animation:snspin 1s linear infinite}
@keyframes snspin{to{transform:rotate(360deg)}}
#syncn h3{margin:0 0 8px;font:700 19px/1.25 var(--sans);letter-spacing:-.01em}
#syncn p{margin:0 0 18px;color:#9aa3b5;font-size:14px;line-height:1.55}
#syncn .sn-c{display:flex;align-items:center;gap:8px;margin:0 0 16px;font-size:13px;color:#9aa3b5;cursor:pointer}
#syncn .sn-c input{accent-color:var(--acc);width:15px;height:15px}
#syncn .sn-ok{width:100%;height:42px;border:0;border-radius:11px;background:var(--acc);color:#06121a;font:700 14px var(--sans);cursor:pointer;transition:filter .15s}
#syncn .sn-ok:hover{filter:brightness(1.08)}#syncn .sn-ok:focus-visible{outline:2px solid rgba(62,197,255,.5);outline-offset:2px}
/* Sorting (21 Oct): sort bar, header indicators, sorted-metric chip on tiles. */
.psort{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font:600 11px var(--mono);color:var(--muted)}
.psort .sl{display:inline-flex;align-items:center;gap:6px}
.psort label{color:var(--dim);letter-spacing:.08em;text-transform:uppercase;font-size:10px}
.psort .ssel{position:relative}
.psort .ssel::after{content:"";position:absolute;right:10px;top:50%;width:6px;height:6px;border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);transform:translateY(-70%) rotate(45deg);pointer-events:none}
.psort select{appearance:none;-webkit-appearance:none;background:#0f1217;color:var(--text);border:1px solid var(--line);border-radius:6px;font:600 11px var(--mono);padding:7px 28px 7px 10px;cursor:pointer;min-width:150px;transition:border-color .15s,box-shadow .15s}
.psort select:hover{border-color:#2a3242}.psort select:focus-visible{outline:none;border-color:var(--acc);box-shadow:0 0 0 3px rgba(62,197,255,.15)}
.psort select option,.psort select optgroup{background:#0f1217;color:var(--text)}
.psort button{border:1px solid var(--line);background:none;color:var(--muted);font:600 11px var(--mono);padding:6px 9px;border-radius:6px;cursor:pointer;white-space:nowrap}
.psort button:hover{color:var(--text);border-color:#2a3242}
.psort .sdir{color:var(--acc);min-width:30px;font-size:13px;padding:4px 8px}
.psort .sx{padding:6px 7px;color:var(--dim)}
.psort .sadd{border-style:dashed}
.psort .sgrp.on{background:#14181e;color:var(--acc);border-color:#21303d}
.psort .shint{color:var(--dim);font-weight:400;font-size:10.5px;margin-left:auto}
#t thead th[data-k]{cursor:pointer;user-select:none;transition:color .15s}
#t thead th[data-k]:hover{color:var(--text)}
#t thead th.s{color:var(--acc)}#t thead th.s2{color:#9fd9f5}
#t thead th[data-k]:focus-visible{outline:1px solid var(--acc);outline-offset:-2px}
.sind{margin-left:3px;font-size:9px}.sind sup{font-size:8px;margin-left:1px;opacity:.8}
#t th.xk,#t td.xk{background:rgba(62,197,255,.04);color:var(--text)}
.t2-sk{display:flex;justify-content:space-between;align-items:center;margin:6px 0 2px;padding:6px 10px;border:1px solid rgba(62,197,255,.18);background:rgba(62,197,255,.06);border-radius:8px;font:11px var(--mono)}
.t2-sk span{color:var(--muted);letter-spacing:.04em}.t2-sk b{color:var(--acc);font-weight:700}
@media(max-width:899px){
  .psort{display:grid;grid-template-columns:1fr;gap:6px}
  .psort .sl{display:grid;grid-template-columns:44px 1fr auto auto;gap:6px}
  .psort select{min-width:0;width:100%;padding:10px 28px 10px 10px;font-size:12px}
  .psort .sdir,.psort .sx{min-height:38px;min-width:38px}
  .psort .sadd,.psort .sgrp,.psort .prs{min-height:36px}
  .psort>.sadd,.psort>.sgrp,.psort>.prs{justify-self:start}
  .psort .shint{display:none}
}
