:root{
  /* dark gray base */
  --bg:#0F0F11;--panel:#161719;--panel2:#1E1F22;--line:#2A2B2F;--line2:#383A3F;--text:#FFFFFF;--mute:#BFC4CB;--dim:#858B93;--bar:#121214;--field:#0B0B0D;
  /* glowing yellow · green · red · baby blue */
  --accent:#FFE14D;--accent-ink:#1E1A00;--accent-soft:rgba(255,225,77,.16);--accent-glow:rgba(255,225,77,.55);
  --up:#4DFF91;--up-soft:rgba(77,255,145,.15);--up-glow:rgba(77,255,145,.55);
  --down:#FF5A5A;--down-soft:rgba(255,90,90,.16);--down-glow:rgba(255,90,90,.55);
  --info:#8FD7FF;--info-soft:rgba(143,215,255,.16);--info-glow:rgba(143,215,255,.55);
  --slate:#7C838C;--slate-soft:rgba(124,131,140,.2);
  --f-display:"Archivo","IBM Plex Sans",system-ui,sans-serif;--f-ui:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--f-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--text);font-family:var(--f-ui);font-size:14.5px;line-height:1.45;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-webkit-text-size-adjust:100%;text-size-adjust:100%}
html{height:100%;background:var(--bg)}body{min-height:100%;overflow-x:hidden}
/* nothing may force the page wider than the screen */
.page > *,.cols > *,.stack > *,.sgrid > *,.sgrid,.sec,.sec .sb > *,.fr > *,.kpis > *,.acct-tiles > *,.row > *{min-width:0}
.tw,.codebox,.tokens,.in,.report-pre,.chk,.exp-grid{max-width:100%}
img,svg{max-width:100%}
.topbar{padding-left:calc(22px + env(safe-area-inset-left,0px));padding-right:calc(22px + env(safe-area-inset-right,0px))}
.page{padding-left:calc(22px + env(safe-area-inset-left,0px));padding-right:calc(22px + env(safe-area-inset-right,0px));padding-bottom:calc(40px + env(safe-area-inset-bottom,0px))}
a{color:inherit}
button,input,select{font:inherit;color:inherit}
h1,h2,h3,h4{margin:0}
.num{font-family:var(--f-mono);font-variant-numeric:tabular-nums}
.up{color:var(--up)}.down{color:var(--down)}.mute{color:var(--mute)}.dim{color:var(--dim)}.warn{color:var(--accent)}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
/* top bar */
.topbar{display:flex;align-items:center;gap:18px;height:56px;padding:0 22px;border-bottom:1px solid var(--line);background:var(--bar);position:sticky;top:0;z-index:20}
.brand{display:flex;align-items:center;gap:9px;font-family:var(--f-display);font-weight:700;font-size:15px;letter-spacing:-.01em;white-space:nowrap}
.brand i{width:22px;height:22px;border-radius:6px;background:linear-gradient(135deg,var(--accent),#D98C12);display:inline-block;position:relative}
.brand i::after{content:"";position:absolute;inset:6px;border-radius:2px;background:#201400;clip-path:polygon(0 100%,35% 30%,60% 65%,100% 0,100% 100%)}
.nav{display:flex;gap:2px}
.nav a{padding:6px 12px;border-radius:7px;color:var(--mute);text-decoration:none;font-weight:500;white-space:nowrap}
.nav a.on{color:var(--text);background:var(--panel2)}
.chips{display:flex;gap:8px;margin-left:auto;flex-wrap:wrap;justify-content:flex-end}
.chip{display:flex;align-items:center;gap:7px;height:28px;padding:0 10px 0 9px;border:1px solid var(--line);border-radius:999px;font-size:12.5px;color:var(--mute);background:var(--panel);white-space:nowrap}
.chip b{color:var(--text);font-weight:500}
.dot{width:7px;height:7px;border-radius:50%;background:var(--up);box-shadow:0 0 0 3px var(--up-soft);flex:none}
.dot.warn{background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.dot.off{background:var(--slate);box-shadow:0 0 0 3px var(--slate-soft)}
#report-btn{white-space:nowrap}
.toggle.sm{width:44px;height:24px}.toggle.sm::after{width:18px;height:18px;top:3px;left:3px}.toggle.sm[aria-checked="true"]::after{left:23px}
.topsw{display:flex;align-items:center;gap:9px;white-space:nowrap;padding:5px 12px 5px 6px;border:1px solid rgba(255,225,77,.45);border-radius:999px;background:var(--panel)}
.topsw:has(.toggle[aria-checked="false"]){border-color:var(--line2)}
.topsw-l{font-family:var(--f-display);font-weight:700;font-size:13px;letter-spacing:.02em}.topsw-l em{font-style:normal;color:var(--accent)}.topsw-l em.off{color:#A6B0BF}
.tmetrics{display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px 4px}
.tmetrics .tk{gap:7px;padding:4px 10px 4px 6px;font-family:var(--f-ui);font-size:13px;color:var(--mute)}.tmetrics .tk.on{color:var(--text);border-color:var(--line2)}
.sw-dot{width:9px;height:9px;border-radius:50%;display:inline-block;box-shadow:0 0 6px currentColor}
.tsum{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:12px 16px 6px}
.tsum > div{display:grid;gap:3px;min-width:0}.tsum .l{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);font-family:var(--f-mono)}
.tsum .v{font-size:24px;font-weight:600;line-height:1.1;white-space:nowrap}.tsum .d{font-size:12.5px;color:var(--mute);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tchart{position:relative;padding:8px 16px 16px}
.tip{position:absolute;pointer-events:none;background:var(--panel2);border:1px solid var(--line2);border-radius:8px;padding:8px 10px;font-size:12.5px;min-width:200px;z-index:5}
.tip b{display:block;font-weight:500;color:var(--mute);font-size:11.5px;margin-bottom:4px}.tip div{display:flex;align-items:center;gap:8px}.tip div i{width:8px;height:8px;border-radius:50%;display:inline-block}.tip div span{margin-left:auto}
.tstats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;padding:14px 16px 6px}
.tacc .tk{gap:6px}
.tstats > div{display:grid;gap:3px}.tstats .l{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);font-family:var(--f-mono)}
.tstats .v{font-size:26px;font-weight:600;line-height:1.1}.tstats .d{font-size:13px;color:var(--mute)}
.tcharts{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:8px 16px 16px}
.tcharts .eyebrow{margin-bottom:6px}
@media (max-width:1000px){.tstats,.tcharts{grid-template-columns:1fr}.tsum{grid-template-columns:1fr 1fr}}
.brow{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0}
.bitem{display:flex;gap:10px;align-items:center;padding:10px 14px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12.5px}
.bitem:last-child{border-right:0}
.bitem div{display:grid;gap:1px;min-width:0}.bitem b{font-weight:500}.bitem span{color:var(--mute);font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.report-pre{font-family:var(--f-ui);font-size:12.5px;line-height:1.5;white-space:pre-wrap;background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:10px 12px;max-height:50vh;overflow:auto;margin:0}
.mode{font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;padding:4px 8px;border-radius:6px;border:1px solid var(--line2)}
.mode.paper{color:var(--info);border-color:rgba(110,155,255,.5)}.mode.live{color:var(--down);border-color:rgba(242,109,91,.6)}
/* page */
.page{padding:18px 22px 40px;display:grid;gap:16px;max-width:1400px;margin:0 auto}
.strip{display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center;padding:14px 18px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}
.strip.armed{border-color:rgba(255,225,77,.5)}
.sw{display:flex;align-items:center;gap:14px}
.toggle{width:64px;height:34px;border-radius:999px;background:var(--slate);position:relative;border:0;cursor:pointer;padding:0;flex:none;transition:background .2s}
.toggle::after{content:"";position:absolute;top:3px;left:3px;width:28px;height:28px;border-radius:50%;background:#fff;transition:left .2s}
.toggle[aria-checked="true"]{background:var(--accent)}.toggle[aria-checked="true"]::after{left:33px}
.toggle:disabled{opacity:.5;cursor:wait}
.swtxt{display:grid;gap:2px}.swtxt .t{font-family:var(--f-display);font-weight:700;font-size:18px}
.swtxt .t em{font-style:normal;color:var(--accent)}.swtxt .t em.off{color:#A6B0BF}.swtxt .s{font-size:13px;color:var(--mute)}
.strip .expl{font-size:13.5px;color:var(--mute);max-width:62ch;line-height:1.45;margin:0}.strip .expl b{color:var(--text);font-weight:500}
.strip .last{text-align:right;font-size:12px;color:var(--mute);display:grid;gap:2px}.strip .last b{color:var(--text);font-weight:500;font-family:var(--f-mono);font-size:12.5px}
.banner{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;background:var(--panel2);border:1px solid var(--line2);font-size:14px}
.banner.red{background:var(--down-soft);border-color:rgba(242,109,91,.5)}.banner.blue{background:var(--info-soft);border-color:rgba(110,155,255,.4)}
.banner .ic{width:26px;height:26px;border-radius:7px;background:var(--panel2);display:grid;place-items:center;font-family:var(--f-mono);font-size:12px;flex:none}
.banner b{font-weight:600}.banner .cta{margin-left:auto;color:var(--accent);font-weight:500;white-space:nowrap;background:none;border:0;cursor:pointer;padding:0}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
@keyframes tickUp{0%{color:#4DFF91;text-shadow:0 0 10px var(--up-glow)}100%{text-shadow:none}}
@keyframes tickDown{0%{color:#FF5A5A;text-shadow:0 0 10px var(--down-glow)}100%{text-shadow:none}}
.tick-up{animation:tickUp .9s ease-out}.tick-down{animation:tickDown .9s ease-out}
.live-dot{width:8px;height:8px;border-radius:50%;background:var(--up);box-shadow:0 0 8px var(--up-glow);display:inline-block}
.live-dot.tick-up{animation:none;opacity:.35;transition:opacity .3s}
.wlist{display:grid}
.wrow{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:11px 16px;border-bottom:1px solid var(--line);font-size:14px;cursor:default}
.wrow:last-child{border-bottom:0}.wrow:hover,.wrow:focus{background:var(--panel2);outline:0}
.wcoins{display:flex;align-items:center;gap:3px}.wcoins i{width:10px;height:10px;border-radius:50%;display:inline-block}.wcoins em{font-style:normal;font-size:11px;color:var(--mute);margin-left:3px;font-family:var(--f-mono)}
.acard .wt{grid-template-columns:1fr auto;margin-bottom:4px}.acard .wc{grid-template-columns:90px 1fr 84px 48px}
.acard .bar{height:8px;border-radius:4px;background:var(--panel);overflow:hidden;display:block}.acard .bar i{display:block;height:100%;border-radius:4px}
.sharebar{display:inline-block;width:70%;max-width:140px;height:8px;border-radius:4px;background:var(--panel2);overflow:hidden;vertical-align:middle;margin-right:8px}.sharebar i{display:block;height:100%;border-radius:4px}
table.alerts td.detail{white-space:normal;max-width:520px;min-width:220px;line-height:1.4}
table.alerts td.detail div+div{margin-top:2px}
.tgs{width:9px;height:9px;border-radius:50%;display:inline-block;background:var(--slate)}.tgs.ok{background:var(--up);box-shadow:0 0 6px var(--up-glow)}.tgs.wait{background:var(--accent);box-shadow:0 0 6px var(--accent-glow)}
.seg button .mute{margin-left:3px}
.acct-n{display:inline-grid;place-items:center;min-width:28px;height:26px;padding:0 8px;border-radius:999px;border:1px solid var(--line2);background:var(--panel2);font-family:var(--f-mono);font-weight:600;cursor:default}
.acct-n:hover,.acct-n:focus{border-color:var(--info);box-shadow:0 0 8px -2px var(--info-glow);outline:0}
.acard{position:absolute;z-index:40;display:none;background:var(--panel2);border:1px solid var(--line2);border-radius:10px;padding:8px 10px;min-width:280px;font-size:13px}
.acard div{display:grid;grid-template-columns:1fr auto auto auto;gap:12px;align-items:center;padding:4px 0}.acard div b{font-weight:600}
.acct-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.atile{padding:12px 16px 11px;border:1px solid var(--line);border-radius:12px;background:var(--panel);display:grid;gap:3px;min-width:0}
.atile.off{opacity:.6}
.atile .l{font-size:13px;font-weight:600}.atile .v{font-size:clamp(19px,1.8vw,24px);font-weight:600;line-height:1.1;white-space:nowrap}.atile .v small{font-size:12px;color:var(--mute);font-weight:400;margin-left:4px}
.atile .d{font-size:12.5px;color:var(--mute)}.atile .d b{font-weight:600;color:var(--text)}
.kpi{padding:14px 16px 12px;border:1px solid var(--line);border-radius:12px;background:var(--panel);display:grid;gap:4px;min-width:0}
.kpi .l{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);font-family:var(--f-mono)}
.kpi .v{font-family:var(--f-mono);font-variant-numeric:tabular-nums;font-size:clamp(20px,2.1vw,28px);font-weight:600;letter-spacing:-.01em;line-height:1.1;white-space:nowrap;overflow:visible}
.kpi .v small{font-size:13px;color:var(--mute);font-weight:400;margin-left:4px}.kpi .d{font-size:13px;color:var(--mute)}.kpi .d b{font-weight:500;font-family:var(--f-mono);color:var(--text)}
.spark{height:34px;width:100%;margin-top:4px;display:block}
.cols{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:16px;align-items:start}
.stack{display:grid;gap:16px}
.panel{border:1px solid var(--line);border-radius:12px;background:var(--panel);overflow:hidden;min-width:0}
.ph{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.ph h3{font-size:15px;font-weight:600}.ph .cnt{font-family:var(--f-mono);font-size:11.5px;color:var(--mute);background:var(--panel2);padding:2px 7px;border-radius:6px}
.ph .r{margin-left:auto;display:flex;gap:8px;align-items:center;font-size:12px;color:var(--mute);flex-wrap:wrap}
.pf{padding:10px 16px;border-top:1px solid var(--line);display:flex;gap:14px;font-size:12px;color:var(--mute);align-items:center;flex-wrap:wrap}
.seg{display:flex;border:1px solid var(--line);border-radius:7px;overflow:hidden;font-size:11.5px;flex-wrap:wrap}
.seg button{padding:4px 9px;color:var(--mute);background:none;border:0;cursor:pointer}.seg button.on{background:var(--panel2);color:var(--text)}
.tw{overflow-x:auto}
table.t{width:100%;border-collapse:collapse;font-size:14px}
table.t th{font-family:var(--f-mono);font-weight:600;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);text-align:left;padding:9px 14px;border-bottom:1px solid var(--line);white-space:nowrap}
table.t td{padding:10px 14px;border-bottom:1px solid var(--line);vertical-align:middle;white-space:nowrap}
table.t tr:last-child td{border-bottom:0}table.t td.num,table.t th.num{text-align:right}table.t td.r{text-align:right}
table.t tr.click{cursor:pointer}table.t tr.click:hover td{background:rgba(255,255,255,.02)}
table.t tr.exp td{background:var(--panel2)}
.empty{padding:22px 16px;color:var(--mute);font-size:13px;text-align:center}
.coin{display:flex;align-items:center;gap:9px;font-weight:500}
.coin i{width:22px;height:22px;border-radius:50%;display:inline-grid;place-items:center;font:600 9px/1 var(--f-mono);color:#0B0E12;flex:none}
.coin small{color:var(--mute);font-weight:400}
.pl{display:inline-flex;align-items:center;gap:6px;font-family:var(--f-mono);font-variant-numeric:tabular-nums}
.pl .pct{padding:2px 6px;border-radius:5px;font-size:12.5px;font-weight:600}.pl.up .pct{background:var(--up-soft);color:var(--up)}.pl.down .pct{background:var(--down-soft);color:var(--down)}
.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:6px;font-size:12.5px;font-weight:600;white-space:nowrap}
.pill::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.pill.ok{background:var(--up-soft);color:var(--up)}.pill.skip{background:var(--slate-soft);color:#A6B0BF}.pill.rej{background:var(--accent-soft);color:var(--accent)}
.pill.fail{background:var(--down-soft);color:var(--down)}.pill.dup{background:var(--info-soft);color:var(--info)}.pill.sell{background:var(--down-soft);color:var(--down)}.pill.buy{background:var(--up-soft);color:var(--up)}
.mini{width:36px;height:20px;border-radius:999px;background:var(--slate);position:relative;display:inline-block;vertical-align:middle;border:0;cursor:pointer;padding:0}
.mini::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:left .15s}
.mini.on{background:var(--accent)}.mini.on::after{left:18px}
.btn{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-radius:8px;border:1px solid var(--line2);background:var(--panel2);color:var(--text);font:500 12.5px var(--f-ui);white-space:nowrap;cursor:pointer}
.btn:hover{border-color:#4A566B}.btn:disabled{opacity:.5;cursor:wait}
.btn.pri{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.btn.ghost{background:transparent}
.btn.danger{border-color:rgba(242,109,91,.5);color:var(--down);background:transparent}.btn.sm{height:26px;padding:0 9px;font-size:11.5px}
.feed{display:grid}.fi{display:grid;grid-template-columns:52px 1fr auto;gap:10px;align-items:center;padding:11px 14px;border-bottom:1px solid var(--line);font-size:13.5px}
.fi:last-child{border-bottom:0}.fi .tm{font-family:var(--f-mono);font-size:11.5px;color:var(--mute)}.fi .w{display:grid;gap:2px;min-width:0}.fi .w b{font-weight:500}.fi .w span{color:var(--mute);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.alloc{padding:12px 16px;display:grid;gap:9px}.ar{display:grid;grid-template-columns:70px 1fr 90px 48px;gap:10px;align-items:center;font-size:13.5px}
.ar .bar{height:8px;border-radius:4px;background:var(--panel2);overflow:hidden}.ar .bar i{display:block;height:100%;border-radius:4px}
.ar .v{font-family:var(--f-mono);font-variant-numeric:tabular-nums;text-align:right}.ar .p{font-family:var(--f-mono);font-size:11.5px;color:var(--mute);text-align:right}
/* settings */
.sgrid{display:grid;grid-template-columns:200px minmax(0,1fr);gap:18px;align-items:start}
.snav{display:grid;gap:2px;position:sticky;top:74px}.snav a{padding:8px 12px;border-radius:8px;color:var(--mute);text-decoration:none;font-size:13px}.snav a.on{background:var(--panel2);color:var(--text);font-weight:500}
.sec{border:1px solid var(--line);border-radius:12px;background:var(--panel)}.sec+.sec{margin-top:14px}
.sec .sh{padding:14px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px;flex-wrap:wrap}.sec .sh h3{font-size:14px;font-weight:600}.sec .sh p{font-size:12.5px;color:var(--mute);margin:0}
.sec .sb{padding:16px 18px;display:grid;gap:14px}
.fr{display:grid;grid-template-columns:190px minmax(0,1fr);gap:14px;align-items:start}
.fr label{font-size:14px;font-weight:600;padding-top:7px}.fr label small{display:block;font-weight:400;color:var(--mute);font-size:11.5px;margin-top:2px}
.in{display:flex;align-items:center;gap:8px;height:34px;padding:0 11px;border:1px solid var(--line2);border-radius:8px;background:var(--field);font-family:var(--f-mono);font-size:12.5px;color:var(--text);width:100%;min-width:0}
input.in,select.in{appearance:none}input.in::placeholder{color:var(--dim)}input.in:focus{border-color:var(--accent);outline:0}
.in.ro{color:var(--mute)}.in.w90{width:90px}.in.w140{width:140px}.in.w260{max-width:260px}
.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.row .in{flex:1;min-width:120px}
.help{font-size:12.5px;color:var(--mute);margin:6px 0 0;line-height:1.45}.help.ok{color:var(--up)}.help.warn{color:var(--accent)}.help.bad{color:var(--down)}
.radio{display:flex;gap:8px;align-items:center;font-size:13px;cursor:pointer}.radio input{accent-color:var(--accent);margin:0}
.tokens{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.tk{font-family:var(--f-mono);font-size:11.5px;padding:3px 8px;border-radius:6px;background:var(--panel2);border:1px solid var(--line);display:inline-flex;gap:8px;align-items:center}
.tk .x{color:var(--dim);cursor:pointer;background:none;border:0;padding:0;font:inherit}.tk .x:hover{color:var(--down)}
.codebox{font-family:var(--f-mono);font-size:11.5px;line-height:1.55;background:var(--field);border:1px solid var(--line2);border-radius:8px;padding:10px 12px;white-space:pre;overflow:auto;color:#C9D2DF;margin:0}
.gone{display:none!important}
.paste{display:grid;gap:16px;padding:16px 18px;border:1px solid rgba(255,225,77,.4);border-radius:10px;background:var(--panel2);box-shadow:0 0 14px rgba(255,225,77,.08)}
.pstep{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;align-items:start}
.pn{width:26px;height:26px;border-radius:50%;background:var(--accent);color:var(--accent-ink);font-weight:700;font-size:13px;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 0 10px var(--accent-glow)}
.pstep b{display:block;font-size:14px;margin:4px 0 2px}.pstep .help{margin:0 0 8px}
.danger{border-color:rgba(242,109,91,.35)}.danger .sh h3{color:var(--down)}
.chk{display:grid;gap:5px;font-size:12px;font-family:var(--f-mono)}.chk div span{color:var(--mute)}
.exp-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:4px 0 8px}
.eyebrow{font-family:var(--f-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin-bottom:6px}
.pager{display:flex;gap:6px;align-items:center;margin-left:auto}
#toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);background:var(--panel2);border:1px solid var(--line2);color:var(--text);padding:10px 14px;border-radius:10px;font-size:13px;opacity:0;pointer-events:none;transition:opacity .2s;z-index:50;max-width:90vw}
#toast.show{opacity:1}#toast.bad{border-color:rgba(242,109,91,.6)}
dialog{background:var(--panel);color:var(--text);border:1px solid var(--line2);border-radius:14px;padding:20px 22px;max-width:460px;width:92vw}
dialog::backdrop{background:rgba(0,0,0,.6)}dialog h3{font-size:15px;margin-bottom:8px}dialog p{color:var(--mute);font-size:13px;margin:0 0 14px}
dialog .acts{display:flex;gap:8px;justify-content:flex-end}
.pcard{display:grid;grid-template-columns:1fr auto;gap:4px 10px;padding:11px 14px;border-bottom:1px solid var(--line);font-size:13px}.pcard:last-child{border-bottom:0}.pcard .sub{font-family:var(--f-mono);font-size:11.5px;color:var(--mute)}
/* ---------- tablet ---------- */
@media (max-width:1180px){.chip b{display:none}.page{padding:16px 16px 40px}}
@media (max-width:1000px){
  .kpis{grid-template-columns:1fr 1fr}.cols{grid-template-columns:1fr}.sgrid{grid-template-columns:1fr}.snav{position:static;grid-auto-flow:column;overflow-x:auto;gap:4px;padding-bottom:4px}
  .strip{grid-template-columns:1fr}.strip .last{text-align:left}.fr{grid-template-columns:1fr;gap:6px}.fr label{padding-top:0}.exp-grid{grid-template-columns:1fr}
  .topbar{flex-wrap:wrap;height:auto;padding-top:10px;padding-bottom:10px;gap:8px 12px}
  .topsw{order:2}#report-btn{order:3;margin-left:auto}.mode{order:4}#signout{order:5}
  .nav{order:5;flex:1 1 auto;overflow-x:auto;gap:4px;margin:0;padding-bottom:2px}.nav a{padding:7px 12px}
  .chips{order:6;margin-left:auto;flex-wrap:nowrap;overflow-x:auto}.chip{flex:none}
}
/* ---------- phone ---------- */
@media (max-width:640px){
  .page{padding:12px 12px 48px;gap:12px}
  .topbar{padding-top:8px;padding-bottom:8px;padding-left:calc(12px + env(safe-area-inset-left,0px));padding-right:calc(12px + env(safe-area-inset-right,0px))}.brand span{display:none}.brand{gap:0}
  .page{padding-left:calc(12px + env(safe-area-inset-left,0px));padding-right:calc(12px + env(safe-area-inset-right,0px))}
  .chips{display:none}
  .topsw{padding:4px 10px 4px 5px}.topsw-l{font-size:12px}
  .kpis{grid-template-columns:1fr 1fr;gap:8px}.kpi{padding:12px 12px 10px}.kpi .v{font-size:clamp(18px,5.6vw,24px)}.kpi .d{font-size:12px;white-space:normal}
  .acct-tiles{grid-template-columns:1fr 1fr;gap:8px}.atile{padding:10px 12px}.atile .v{font-size:20px}
  .ph{padding:10px 12px;gap:8px}.ph h3{font-size:14px}.pf{padding:8px 12px;gap:8px}
  table.t th,table.t td{padding:9px 8px}table.t{font-size:13px}.pl .pct{padding:2px 4px;font-size:11px}.coin small{display:none}
  .hide-m{display:none}
  .wrow{padding:10px 12px}.fi{padding:9px 12px;grid-template-columns:44px 1fr auto}
  .banner{padding:10px 12px;font-size:13px;gap:8px}.banner .cta{margin-left:0}
  .tsum{grid-template-columns:1fr}
  .sec .sh,.sec .sb{padding:12px 14px}.row .in{min-width:0;flex-basis:100%}.in.w90,.in.w140,.in.w260{width:100%;max-width:100%}
  .codebox{font-size:11px}.acard{min-width:240px;max-width:calc(100vw - 16px)}
  dialog{padding:16px}.report-pre{max-height:45vh}
}
/* ---------- touch: no zoom-on-focus, bigger targets ---------- */
@media (pointer:coarse){
  input.in,select.in{font-size:16px}
  .btn{min-height:36px}.btn.sm{min-height:32px}.mini{width:40px;height:22px}.mini::after{width:18px;height:18px}.mini.on::after{left:20px}
  .toggle.sm{width:48px;height:26px}.toggle.sm::after{width:20px;height:20px}.toggle.sm[aria-checked="true"]::after{left:25px}
  .nav a{padding:9px 12px}.seg button{padding:7px 11px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ---------- glow layer (dark gray theme) ---------- */
:focus-visible{outline:2px solid var(--info);outline-offset:2px;box-shadow:0 0 10px var(--info-glow)}
.dot{box-shadow:0 0 0 3px var(--up-soft),0 0 10px var(--up-glow)}
.dot.warn{box-shadow:0 0 0 3px var(--accent-soft),0 0 10px var(--accent-glow)}
.dot.off{box-shadow:none}
.toggle[aria-checked="true"]{box-shadow:0 0 16px var(--accent-glow)}
.mini.on{box-shadow:0 0 10px var(--accent-glow)}
.strip.armed{border-color:rgba(255,225,77,.5);box-shadow:none}
.pill.ok{box-shadow:0 0 10px -2px var(--up-glow)}.pill.fail,.pill.sell{box-shadow:0 0 10px -2px var(--down-glow)}
.pill.rej{box-shadow:0 0 10px -2px var(--accent-glow)}.pill.dup{box-shadow:0 0 10px -2px var(--info-glow)}.pill.buy{box-shadow:0 0 10px -2px var(--up-glow)}
.pl.up .pct{box-shadow:0 0 8px -2px var(--up-glow)}.pl.down .pct{box-shadow:0 0 8px -2px var(--down-glow)}
.btn.pri{box-shadow:0 0 14px -2px var(--accent-glow)}.btn.pri:hover{box-shadow:0 0 18px var(--accent-glow)}
.btn.danger{border-color:rgba(255,90,90,.55)}.btn.danger:hover{box-shadow:0 0 12px -2px var(--down-glow)}
.mode.paper{color:var(--info);border-color:rgba(143,215,255,.6);box-shadow:0 0 10px -2px var(--info-glow)}
.mode.live{color:var(--down);border-color:rgba(255,90,90,.65);box-shadow:0 0 12px -2px var(--down-glow)}
.banner.blue{background:var(--info-soft);border-color:rgba(143,215,255,.45)}.banner.red{background:var(--down-soft);border-color:rgba(255,90,90,.5)}
.banner .cta{color:var(--accent)}
.nav a.on{box-shadow:inset 0 -2px 0 var(--info)}
.seg button.on{box-shadow:inset 0 -2px 0 var(--info)}
.snav a.on{box-shadow:inset 3px 0 0 var(--info)}
.chip b{color:var(--text)}
input.in:focus{border-color:var(--info);box-shadow:0 0 8px -2px var(--info-glow)}
.tk .mini.on{box-shadow:0 0 8px var(--accent-glow)}
.report-pre{background:var(--field)}

/* ---------- consistent control sizes + yellow arrows ---------- */
:root{--ctl-h:32px;--ctl-sm:30px}
.btn{height:var(--ctl-h);font-size:13px;padding:0 14px}
.btn.sm{height:var(--ctl-sm);font-size:12.5px;padding:0 11px}
.ph .r .btn,.ph .r select.in,.ph .r .in{height:var(--ctl-sm);font-size:12.5px;padding:0 10px}
.seg{height:var(--ctl-sm);align-items:stretch}.seg button{padding:0 11px;font-size:12.5px;display:inline-flex;align-items:center}
.ph .cnt{height:22px;display:inline-flex;align-items:center;font-size:12px}
.pill{height:24px;font-size:12.5px}
.chip{height:28px;font-size:12.5px}
#report-btn,.mode{height:var(--ctl-h);display:inline-flex;align-items:center;font-size:12.5px}
.mode{padding:0 10px}.topsw{height:36px}
.nav a{height:34px;display:inline-flex;align-items:center;font-size:14px}
.kpi .v{font-size:clamp(20px,2vw,26px)}.atile .v{font-size:clamp(18px,1.6vw,22px)}
table.t{font-size:14px}table.t th{font-size:11.5px}
/* arrows and "go to" links in yellow */
[data-exp],.pager .btn,a.btn.ghost,.banner .cta,.pf a{color:var(--accent)}
[data-exp]{min-width:72px;justify-content:center}
.pager .btn{padding:0 12px}
