/* WAGMI Gym — dark terminal in WAGMI tokens. Brand red is an action, never a loss. 13 px base, tabular numbers. */
:root{
  --bg:#0B0A09;--s1:#141210;--s2:#1C1916;--s3:#242019;--line:#26221E;--line2:#352F29;
  --t1:#F5F5F7;--t2:#A39C93;--t3:#6B645C;
  --brand:#DA291C;--brand-hi:#E8402F;--gold:#FFC72C;--gold-lo:#F2B200;--up:#30D158;--up-hi:#3EDB66;--down:#FF6B8A;--blue:#5AC8FA;--violet:#BF8CFF;
  --sys:-apple-system,BlinkMacSystemFont,"SF Pro Text","Inter","Helvetica Neue",Arial,sans-serif;--mono:ui-monospace,"SF Mono",SFMono-Regular,Menlo,"JetBrains Mono",monospace;
  --navh:48px;--bottomh:32px;--railw:300px;--railc:36px;--sidew:320px;--r:6px;
  --sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px);
}
*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--t1);font:13px/1.35 var(--sys);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;overscroll-behavior:none}
body{overflow:hidden}.defs{position:absolute;width:0;height:0;overflow:hidden}svg.i{width:1em;height:1em;flex:none;display:inline-block;vertical-align:-.15em;fill:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;text-align:inherit}button:disabled{opacity:.5;cursor:default}input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}
::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:var(--line2);border-radius:6px}::-webkit-scrollbar-track{background:transparent}
.mono{font-family:var(--mono)}.up{color:var(--up)}.dn{color:var(--down)}.gold{color:var(--gold)}.dim{color:var(--t2)}.dim2{color:var(--t3)}.r{text-align:right}.hide{display:none!important}
.num{font-variant-numeric:tabular-nums}.ell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.btn{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-radius:var(--r);background:var(--s2);border:1px solid var(--line2);font-weight:600;white-space:nowrap}.btn:hover{background:var(--s3)}.btn.sm{height:26px;padding:0 9px;font-size:12px}.btn.xs{height:22px;padding:0 7px;font-size:11px}
.btn.brand{background:var(--brand);border-color:transparent;color:#fff}.btn.brand:hover{background:var(--brand-hi)}.btn.gold{background:var(--gold);border-color:transparent;color:#1D1D1F}.btn.gold:hover{background:#FFD24D}.btn.up{background:var(--up);border-color:transparent;color:#06110A}.btn.up:hover{background:var(--up-hi)}.btn.dn{background:var(--down);border-color:transparent;color:#1A0A0F}.btn.ghost{background:transparent}.btn.ib{width:30px;padding:0;justify-content:center}.btn.ib.sm{width:26px}
.chip{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 7px;border-radius:999px;font-size:11px;font-weight:600;background:var(--s2);color:var(--t2);box-shadow:inset 0 0 0 1px var(--line2)}.chip.on{color:var(--t1);box-shadow:inset 0 0 0 1px var(--gold)}
.pill{display:inline-flex;align-items:center;gap:3px;height:19px;padding:0 6px;border-radius:4px;font-size:11px;font-weight:500;background:var(--s1);box-shadow:inset 0 0 0 1px var(--line)}.pill.good{color:var(--up)}.pill.bad{color:var(--down)}.pill.na{color:var(--t3)}
.in{height:30px;padding:0 9px;border-radius:var(--r);background:var(--s1);border:1px solid var(--line2);color:var(--t1);outline:0;min-width:0}.in:focus{border-color:var(--gold)}.in.sm{height:26px;font-size:12px}
.seg{display:inline-flex;background:var(--s1);border:1px solid var(--line2);border-radius:var(--r);padding:2px;gap:2px}.seg button{height:26px;padding:0 10px;border-radius:4px;font-weight:600;color:var(--t2)}.seg button.on{background:var(--s3);color:var(--t1)}.seg.buy button.on{background:var(--up);color:#06110A}.seg.sell button.on{background:var(--down);color:#1A0A0F}
.switch{width:28px;height:16px;border-radius:999px;background:var(--line2);position:relative;flex:none}.switch:after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:#fff;transition:transform .12s}.switch.on{background:var(--gold)}.switch.on:after{transform:translateX(12px)}
.av{border-radius:4px;background:var(--s2);object-fit:cover;flex:none;display:block}.av.ph{display:flex;align-items:center;justify-content:center;color:var(--t3);font-weight:700}
.row{display:flex;align-items:center;gap:8px}.grow{flex:1;min-width:0}.sp{flex:1}
/* the site's lockup (brand v2 logo E): the W arches stand in for the W, AGMI in Inter Black; the W's box is the cap height over the stroke's share of its 100 units, dropped onto the baseline */
.wordmark{display:inline-flex;align-items:baseline;gap:0;font:900 21px/1 "Inter",var(--sys);letter-spacing:-.035em;white-space:nowrap;color:var(--t1)}.wordmark .wm-w{width:.892em;height:.892em;flex:none;align-self:baseline;color:var(--gold);transform:translateY(.0647em);margin:0 -.0068em 0 -.0468em;overflow:visible}.wordmark.lg{font-size:30px}.wordmark .wm-word{font:600 .62em/1 var(--sys);letter-spacing:-.01em;color:var(--t2);margin-left:.5em;align-self:center}

/* ---------------- shell ---------------- */
#app{display:flex;flex-direction:column;height:100dvh;padding-top:var(--sat)}
.nav{height:var(--navh);display:flex;align-items:center;gap:10px;padding:0 10px 0 14px;border-bottom:1px solid var(--line);background:var(--bg);flex:none}
.nav .tabs{display:flex;gap:2px;overflow:hidden;mask-image:linear-gradient(90deg,#000 calc(100% - 20px),transparent)}.nav .tab{height:30px;padding:0 10px;border-radius:var(--r);font-weight:600;color:var(--t2);display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.nav .tab:hover{color:var(--t1)}.nav .tab.on{background:var(--s2);color:var(--t1);box-shadow:inset 0 0 0 1px var(--line)}
.nav .mode{display:inline-flex;background:var(--s1);border:1px solid var(--line2);border-radius:999px;padding:2px;gap:2px}.nav .mode button{height:22px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:600;color:var(--t2)}.nav .mode .short{display:none}.nav .mode button.on{background:var(--brand);color:#fff}
.nav .search{height:30px;width:220px;display:flex;align-items:center;gap:8px;padding:0 8px 0 10px;border-radius:999px;border:1px solid var(--line2);color:var(--t3);background:var(--s1)}.nav .search kbd{margin-left:auto;font:600 11px var(--mono);background:var(--s2);border:1px solid var(--line2);border-radius:5px;padding:1px 6px;color:var(--t2)}
.nav .timer{font-family:var(--mono);font-weight:600;color:var(--t2);display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border-radius:999px;border:1px solid var(--line2)}.nav .timer.hot{color:var(--gold);border-color:var(--gold)}.nav .timer.last{color:var(--down);border-color:var(--down)}
.nav .me{height:30px;display:inline-flex;align-items:center;gap:7px;padding:0 10px;border-radius:999px;background:var(--s2);border:1px solid var(--line2);font-weight:600}.nav .me .sol{font-family:var(--mono);color:var(--gold)}
.body{flex:1;display:flex;min-height:0}.view{flex:1;position:relative;min-width:0}.host{position:absolute;inset:0;display:flex;flex-direction:column;overflow:hidden}.host.page{overflow:auto;padding:16px 18px 24px}.host.off{display:none}
.rail{width:var(--railc);border-right:1px solid var(--line);display:flex;flex-direction:column;flex:none;background:var(--bg)}.rail.open{width:var(--railw)}.rail .h{height:40px;display:flex;align-items:center;gap:8px;padding:0 8px 0 10px;border-bottom:1px solid var(--line);font-weight:600}.rail .h .dot{width:6px;height:6px;border-radius:50%;background:var(--up);box-shadow:0 0 0 3px rgba(48,209,88,.16)}
.rail .closed{display:flex;flex-direction:column;align-items:center;gap:10px;padding-top:8px}.rail .closed .vt{writing-mode:vertical-rl;font-size:10px;font-weight:700;letter-spacing:.14em;color:var(--t3)}
.rail .list{overflow:auto;flex:1}.rail .tr{display:grid;grid-template-columns:34px minmax(0,1fr) 58px 48px;gap:6px;align-items:center;min-height:34px;padding:4px 10px;border-bottom:1px solid var(--line);font-size:12px}.rail .tr.buy{background:rgba(48,209,88,.035)}.rail .tr.sell{background:rgba(255,107,138,.045)}.rail .tr .who{font-weight:600}.rail .tr .who.oracle{color:var(--gold)}.rail .tr .amt{font-family:var(--mono);text-align:right}.rail .tr .mc{color:var(--t2);text-align:right;font-size:11px}
.rail .empty{padding:28px 12px;text-align:center;color:var(--t3)}
.bottom{height:var(--bottomh);padding:0 10px 0 12px;padding-bottom:var(--sab);box-sizing:content-box;display:flex;align-items:center;gap:14px;border-top:1px solid var(--line);font-size:12px;color:var(--t2);flex:none;overflow:hidden;white-space:nowrap}.bottom .dot{width:6px;height:6px;border-radius:50%;background:var(--t3);display:inline-block;margin-right:5px}.bottom .dot.live{background:var(--up)}.bottom .dot.degraded,.bottom .dot.connecting{background:var(--gold)}.bottom .dot.offline{background:var(--down)}.bottom .disc{color:var(--t3);margin-left:auto;overflow:hidden;text-overflow:ellipsis}

/* ---------------- pulse ---------------- */
.pulse{display:flex;flex-direction:column;height:100%;padding:0 10px 8px}.ph{height:46px;display:flex;align-items:center;gap:8px}.ph h1{font-size:18px;font-weight:700;letter-spacing:-.01em;margin:0 6px 0 0}
.ph .presets{display:inline-flex;gap:2px;background:var(--s1);border:1px solid var(--line2);border-radius:999px;padding:2px}.ph .presets button{height:24px;padding:0 10px;border-radius:999px;font-weight:600;color:var(--t2);font-family:var(--mono);font-size:12px;white-space:nowrap}.ph .presets button.on{background:var(--gold);color:#1D1D1F}
.bar{display:flex;align-items:center;gap:6px;min-height:34px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--s1);margin-bottom:8px;overflow:hidden}.bar .lbl{font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--t3);display:inline-flex;align-items:center;gap:5px;margin-right:4px}.bar .c{height:26px;display:inline-flex;align-items:center;gap:6px;padding:0 8px 0 4px;border-radius:999px;background:var(--s2);box-shadow:inset 0 0 0 1px var(--line2);font-weight:600;white-space:nowrap}.bar .c img{width:18px;height:18px;border-radius:50%}.bar .c .x{color:var(--t3);margin-left:2px}
.cols{flex:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:8px;min-height:0;overflow:hidden}.col{display:flex;flex-direction:column;min-width:0;border-right:1px solid var(--line);container:col/inline-size}.col:last-child{border-right:0}.col.paused{box-shadow:inset 0 0 0 1px rgba(255,199,44,.5)}
.ch{height:40px;display:flex;align-items:center;gap:6px;padding:0 6px 0 12px;border-bottom:1px solid var(--line);background:var(--s1)}.ch .t{font-weight:700;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.ch .t .n{color:var(--t3);font-weight:500;font-family:var(--mono);font-size:11px}
.ch .pz{height:22px;display:inline-flex;align-items:center;gap:4px;padding:0 8px;border-radius:999px;background:rgba(255,199,44,.14);color:var(--gold);font-size:11px;font-weight:700}.ch .pz.new{background:var(--gold);color:#1D1D1F;cursor:pointer}
.ch .f{flex:0 1 150px;min-width:44px;height:26px;display:flex;align-items:center;gap:5px;padding:0 7px;border-radius:999px;border:1px solid var(--line2);background:var(--bg);color:var(--t3)}.ch .f input{flex:1;min-width:0;background:none;border:0;outline:0;color:var(--t1);font-size:12px}.ch .f:focus-within{border-color:var(--gold)}
.ch .qb{height:26px;display:inline-flex;align-items:center;gap:3px;padding:0 6px;border-radius:999px;border:1px solid var(--line2);background:var(--bg);color:var(--gold)}.ch .qb input{width:36px;background:none;border:0;outline:0;color:var(--t1);text-align:right;font-family:var(--mono);font-size:12px}
.ch .ib{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r);color:var(--t2)}.ch .ib:hover,.ch .ib.on{background:var(--s3);color:var(--t1)}.ch .ib .bdg{position:absolute;top:-4px;right:-4px;min-width:14px;height:14px;border-radius:7px;background:var(--gold);color:#1D1D1F;font-size:9px;font-weight:800;display:flex;align-items:center;justify-content:center;padding:0 3px}.ch .ib{position:relative}
.cb{flex:1;overflow:auto;overscroll-behavior:contain;overflow-anchor:none}.cb .empty{padding:56px 16px;text-align:center;color:var(--t3)}.cb .empty svg{width:40px;height:40px;margin-bottom:10px;color:var(--t3)}
/* card: avatar | middle | stat box, three rows */
.card{display:grid;grid-template-columns:64px minmax(0,1fr) 150px;gap:4px 10px;padding:9px 8px 9px 10px;border-bottom:1px solid var(--line);background:var(--bg);contain:layout paint;position:relative;cursor:pointer}.card:hover{background:var(--s1)}.card.held{box-shadow:inset 2px 0 0 var(--gold)}.card.held.pnl-dn{box-shadow:inset 2px 0 0 var(--down)}.card.dead{opacity:.45;filter:grayscale(1)}.card.off{display:none}.card.hid{opacity:.4}
.card .l{grid-column:1;grid-row:1/4;display:flex;flex-direction:column;gap:4px;align-items:center}.card .r1,.card .r2,.card .r3{grid-column:2}.card .l .avw{position:relative;width:64px;height:64px;padding:2px;border-radius:6px;box-shadow:inset 0 0 0 1px var(--gold)}.card .l .avw.amm{box-shadow:inset 0 0 0 1px var(--up)}.card .l .avw .av{width:58px;height:58px;border-radius:4px;font-size:18px}.card .l .avw .pad{position:absolute;right:-5px;bottom:-5px;width:17px;height:17px;border-radius:50%;background:var(--s2);box-shadow:0 0 0 1.5px var(--bg);display:flex;align-items:center;justify-content:center;color:var(--gold)}.card .l .avw .pad svg{width:10px;height:10px}
.card .l .bond{width:64px;height:3px;background:var(--line2);border-radius:2px;overflow:hidden}.card .l .bond i{display:block;height:100%;background:var(--gold);transform-origin:left;transform:scaleX(0)}.card .l .bond.amm i{background:var(--up)}.card .l .ca{font:10.5px var(--mono);color:var(--t3)}
.card .r1{display:flex;align-items:center;gap:6px;min-width:0;height:22px}.card .r1 .tk{font-size:15px;font-weight:700}.card .r1 .nm{color:var(--t2);font-size:13px;min-width:0}.card .r1 .pct{margin-left:auto;height:18px;padding:0 6px;border-radius:999px;font-size:11px;font-weight:600;color:var(--gold);background:rgba(255,199,44,.09)}.card .r1 .hide{margin-left:auto;width:22px;height:22px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;color:var(--t3);opacity:0}.card:hover .r1 .hide{opacity:1}.card .r1 .hide:hover{color:var(--t1);background:var(--s3)}
.card .r2{display:flex;align-items:center;gap:9px;height:20px;color:var(--t2);font-size:12px;font-weight:500;overflow:hidden;white-space:nowrap}.card .r2 .age{color:var(--up);font-weight:600;font-size:13px}.card .r2 .age.fresh{color:var(--up)}.card .r2 .soc{display:inline-flex;gap:6px;color:var(--t2)}.card .r2 .soc a:hover,.card .r2 .soc button:hover{color:var(--t1)}.card .r2 .st{display:inline-flex;align-items:center;gap:3px}.card .r2 .st.kol{color:var(--gold)}.card .r2 .mig{color:var(--up);font-weight:600;display:inline-flex;align-items:center;gap:4px}.card .r2 .dev{font-family:var(--mono);font-size:11px;color:var(--t3)}
.card .r3{display:flex;gap:4px;height:20px;overflow:hidden;align-items:center}.card .r3 .pill svg{width:11px;height:11px}
.card .box{grid-column:3;grid-row:1/4;display:flex;flex-direction:column;gap:4px;align-self:start}.card .box .st{border-radius:4px;background:rgba(20,18,16,.8);padding:5px 7px;box-shadow:inset 0 0 0 1px var(--line)}.card .box .mc{display:flex;justify-content:space-between;align-items:baseline;gap:6px}.card .box .mc b{font-size:16px;font-weight:700;font-family:var(--mono);letter-spacing:-.01em;transition:none;padding:0 3px;border-radius:3px;margin-right:-3px}.card .box .mc b.t1{color:var(--blue)}.card .box .mc b.t2{color:var(--gold)}.card .box .mc b.t3{color:var(--up)}.card .box .mc b.flash-up{background:rgba(48,209,88,.14);color:var(--up)}.card .box .mc b.flash-dn{background:rgba(255,107,138,.14);color:var(--down)}
.card .box .k{font-size:10.5px;font-weight:700;color:var(--t3);letter-spacing:.04em}.card .box .v{display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:12px;font-family:var(--mono);color:var(--t2)}.card .box .v b{color:var(--t1);font-weight:600}.card .box .ratio{height:3px;width:100%;background:var(--down);border-radius:2px;overflow:hidden;margin-top:3px}.card .box .ratio i{display:block;height:100%;background:var(--up);transform-origin:left}
/* a buy is always green (Kris, 2026-10-20); brand red stays for chrome and non-trade actions. The gold bolt keeps it ours */
.card .box .buy{height:32px;border-radius:var(--r);background:var(--up);color:#06110A;font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:center;gap:5px;box-shadow:0 2px 8px rgba(48,209,88,.22)}.card .box .buy:hover{background:var(--up-hi)}.card .box .buy:active{transform:scale(.96)}.card .box .buy.wait{background:var(--s3);color:var(--t3);box-shadow:none}.card .box .buy svg{color:var(--gold)}
.pulse.qb-small .card .box .buy{height:24px;font-size:12px}.pulse.qb-large .card .box .buy{height:28px;font-size:13px}.pulse.qb-ultra .card .box .buy{height:40px;font-size:15px}.pulse.no-qb .card .box .buy{display:none}
.pulse.compact .card{grid-template-columns:50px minmax(0,1fr) 150px;padding:6px 8px 6px 10px}.pulse.compact .card .l .avw{width:50px;height:50px}.pulse.compact .card .l .avw .av{width:44px;height:44px}.pulse.compact .card .l .bond{width:50px}.pulse.compact .card .l .ca{display:none}.pulse.compact .card .r3{display:none}
.pulse.no-pills .card .r3{display:none}.pulse.no-soc .card .r2 .soc{display:none}
.card .sell{position:absolute;right:166px;top:9px;display:flex;flex-direction:column;align-items:flex-end;gap:3px}.card .sell b{font-size:13px;font-weight:700}.card .sell button{height:22px;padding:0 8px;border-radius:4px;font-size:11px;font-weight:600;color:var(--down);box-shadow:inset 0 0 0 1px rgba(255,107,138,.45)}.pulse.no-sell .card .sell button{display:none}
@container col (max-width:420px){.card{grid-template-columns:52px minmax(0,1fr) 128px;gap:3px 8px}.card .l .avw{width:52px;height:52px}.card .l .avw .av{width:46px;height:46px}.card .l .bond{width:52px}.card .box{width:128px}.card .box .mc b{font-size:14px}.card .r1 .tk{font-size:14px}.card .sell{right:144px}}
@container col (max-width:340px){.card .r3 .pill span{display:none}.card .l .ca{display:none}.card .box .v .tx{display:none}}

/* ---------------- popovers, modals, toasts ---------------- */
.pop{position:fixed;z-index:800;width:280px;background:var(--s2);border:1px solid var(--line2);border-radius:8px;padding:6px;box-shadow:0 12px 32px rgba(0,0,0,.5)}.pop h4{margin:4px 8px 6px;font-size:13px}.pop .sec{margin:8px 8px 4px;font-size:10.5px;font-weight:700;letter-spacing:.08em;color:var(--t3);text-transform:uppercase;border-top:1px solid var(--line);padding-top:8px}.pop .sec:first-child{border:0;padding-top:0}
.pop .mrow{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:4px;cursor:pointer}.pop .mrow:hover{background:var(--s3)}.pop .mrow .sub{font-size:11px;color:var(--t3)}.pop .mrow input{margin-left:auto;width:60px}.pop .mrow .switch{margin-left:auto}.pop .segs{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:4px 8px}.pop .segs button{height:34px;border-radius:4px;background:var(--s1);box-shadow:inset 0 0 0 1px var(--line2);font-size:11px;font-weight:600}.pop .segs button.on{box-shadow:inset 0 0 0 1px var(--gold);color:var(--gold)}
.pop.sort{width:200px}.pop.sort .mrow.on{color:var(--gold)}
.backdrop{position:fixed;inset:0;z-index:700;background:rgba(0,0,0,.55);display:flex;align-items:flex-start;justify-content:center;padding:7vh 12px 12px;overflow:auto}.modal{width:min(640px,100%);background:var(--s1);border:1px solid var(--line2);border-radius:10px;box-shadow:0 28px 70px rgba(0,0,0,.6);display:flex;flex-direction:column;max-height:calc(100dvh - 9vh)}.modal .mh{height:48px;display:flex;align-items:center;gap:8px;padding:0 10px 0 16px;border-bottom:1px solid var(--line);font-weight:700;font-size:15px}.modal .mb{padding:12px 16px;overflow:auto}.modal .mf{display:flex;align-items:center;gap:8px;padding:10px 16px;border-top:1px solid var(--line)}
.modal .tabs{display:flex;gap:2px;padding:0 12px;border-bottom:1px solid var(--line)}.modal .tabs button{height:36px;padding:0 10px;font-weight:600;color:var(--t2);border-bottom:2px solid transparent}.modal .tabs button.on{color:var(--t1);border-color:var(--gold)}
.frow{display:grid;grid-template-columns:150px 1fr auto 1fr;gap:8px;align-items:center;padding:4px 0}.frow label{color:var(--t2)}.frow .in{width:100%}.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.chips{display:flex;flex-wrap:wrap;gap:6px;padding:6px 0}.chips .chip{height:28px;cursor:pointer}
.toasts{position:fixed;left:0;right:0;bottom:calc(var(--bottomh) + 10px + var(--sab));z-index:900;display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none}.toast{max-width:420px;min-width:220px;background:var(--s2);border:1px solid var(--line2);border-radius:var(--r);padding:8px 12px;display:flex;align-items:center;gap:8px;box-shadow:0 8px 24px rgba(0,0,0,.45);animation:tin .16s ease-out}.toast .k{width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;flex:none}.toast.ok .k{background:rgba(48,209,88,.18);color:var(--up)}.toast.err .k{background:rgba(255,107,138,.18);color:var(--down)}.toast.info .k{background:rgba(255,199,44,.18);color:var(--gold)}.toast.out{opacity:0;transform:translateY(6px);transition:all .2s}@keyframes tin{from{opacity:0;transform:translateY(8px)}}
.search-m .row-r{display:grid;grid-template-columns:40px minmax(0,1fr) 70px 80px 70px auto;gap:8px;align-items:center;min-height:56px;padding:6px 8px;border-radius:var(--r);cursor:pointer}.search-m .row-r:hover,.search-m .row-r.sel{background:var(--s2)}.search-m .row-r .k{font-size:10.5px;color:var(--t3);font-weight:700}.search-m .row-r .v{font-weight:600;font-family:var(--mono)}.search-m .big{height:54px;display:flex;align-items:center;gap:10px;padding:0 16px;border-bottom:1px solid var(--line)}.search-m .big input{flex:1;background:none;border:0;outline:0;font-size:16px;color:var(--t1)}.search-m .foot{display:flex;gap:16px;padding:8px 16px;border-top:1px solid var(--line);color:var(--t3);font-size:12px}.search-m .foot kbd{font:600 11px var(--mono);background:var(--s2);border:1px solid var(--line2);border-radius:4px;padding:1px 5px;margin-right:4px;color:var(--t2)}

/* ---------------- token page ---------------- */
.tok{display:grid;grid-template-columns:minmax(0,1fr) var(--sidew);height:100%;container:tok/inline-size}.tok .main{display:flex;flex-direction:column;min-width:0;border-right:1px solid var(--line)}.tok .side{overflow:auto;display:flex;flex-direction:column;gap:10px;padding:10px}
.tok .head{min-height:62px;display:flex;align-items:center;gap:12px;padding:8px 12px;border-bottom:1px solid var(--line);flex-wrap:wrap}.tok .head .back{height:28px;padding:0 8px 0 4px;border-radius:4px;box-shadow:inset 0 0 0 1px var(--line);display:inline-flex;align-items:center;gap:2px;font-weight:600;color:var(--t2)}.tok .head .back:hover{color:var(--t1)}
.tok .id{display:flex;align-items:center;gap:10px;max-width:440px;min-width:0}.tok .id .avw{position:relative;width:46px;height:46px;padding:2px;border-radius:6px;box-shadow:inset 0 0 0 1px var(--gold);flex:none}.tok .id .avw.amm{box-shadow:inset 0 0 0 1px var(--up)}.tok .id .avw .av{width:40px;height:40px}.tok .id .tk{font-size:16px;font-weight:700;display:flex;align-items:center;gap:8px}.tok .id .tk .nm{font-weight:500;color:var(--t2);font-size:14px}.tok .id .sub{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--t2);margin-top:2px;flex-wrap:wrap}.tok .id .sub .age{color:var(--up);font-weight:600}.tok .id .sub .ca{font-family:var(--mono);font-size:11px;color:var(--t3);cursor:pointer}.tok .id .sub a,.tok .id .sub .ic{color:var(--t2);display:inline-flex}.tok .id .sub a:hover{color:var(--t1)}
.tok .stats{display:flex;align-items:center;gap:18px;height:36px;padding-left:14px;border-left:1px solid var(--line);flex-wrap:wrap;overflow:hidden}.tok .stats .s{display:flex;flex-direction:column;gap:1px;min-width:0}.tok .stats .s .k{font-size:10.5px;font-weight:700;letter-spacing:.04em;color:var(--t3)}.tok .stats .s .v{font-weight:600;font-family:var(--mono);font-size:13px;white-space:nowrap}.tok .stats .s.mc .v{font-size:20px;letter-spacing:-.01em;padding:0 3px;margin-left:-3px;border-radius:3px}.tok .stats .s .bar{height:2px;width:70px;background:var(--line2);border-radius:2px;overflow:hidden;margin:0;padding:0;border:0;min-height:0}.tok .stats .s .bar i{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--up))}
.tok .pnlchip{display:flex;align-items:center;gap:8px;height:34px;padding:0 10px;border-radius:999px;background:var(--s1);box-shadow:inset 0 0 0 1px var(--line2)}.tok .pnlchip .k{font-size:11px;color:var(--t3);font-weight:700}.tok .pnlchip .v{font-weight:700;font-family:var(--mono);font-size:15px}.tok .pnlchip .x{font-size:11px;padding:1px 6px;border-radius:999px;background:var(--s3);font-weight:700}.tok .pnlchip.heat2{box-shadow:inset 0 0 0 1px var(--up)}.tok .pnlchip.heat3{box-shadow:inset 0 0 0 1px var(--up),0 0 14px rgba(48,209,88,.25)}.tok .pnlchip.heat4{box-shadow:inset 0 0 0 1px var(--gold),0 0 18px rgba(255,199,44,.3)}
.tok .chart{flex:1 1 auto;min-height:170px;display:flex;flex-direction:column;position:relative}.tok .tbar{height:34px;display:flex;align-items:center;gap:4px;padding:0 8px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}.tok .tbar::-webkit-scrollbar{display:none}.tok .tbar button{height:24px;padding:0 7px;border-radius:4px;font-size:12px;font-weight:500;color:var(--t2);white-space:nowrap}.tok .tbar button.on{background:rgba(255,199,44,.13);color:var(--gold)}.tok .tbar .sepv{width:1px;height:16px;background:var(--line2);margin:0 4px}.tok .tbar .segt{display:inline-flex;align-items:center;gap:0;color:var(--t3)}.tok .tbar .segt button.on{background:none;color:var(--t1)}
.tok .cvw{flex:1;position:relative;min-height:0}.tok .cvw canvas{position:absolute;inset:0;width:100%;height:100%;cursor:crosshair}.tok .cvw .legend{position:absolute;top:8px;left:10px;font-size:11px;color:var(--t2);display:flex;align-items:center;gap:6px;pointer-events:none;background:rgba(11,10,9,.6);padding:2px 6px;border-radius:4px}.tok .cvw .legend img{width:14px;height:14px;border-radius:3px}.tok .cvw .legend b{color:var(--t1)}.tok .cvw .legend .o{font-family:var(--mono)}
.tok .cvw .tip{position:absolute;width:156px;background:var(--s2);border:1px solid var(--line2);border-radius:6px;padding:6px 8px;font-size:11px;pointer-events:none;display:none;z-index:2}.tok .cvw .tip div{display:flex;justify-content:space-between;gap:8px}.tok .cvw .tip b{font-family:var(--mono);font-weight:500}.tok .cvw .live{position:absolute;right:76px;bottom:32px;width:28px;height:28px;border-radius:50%;background:var(--s2);border:1px solid var(--line2);display:none;align-items:center;justify-content:center;color:var(--t2)}.tok .cvw .live.on{display:flex}.tok .cvw .empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--t3);pointer-events:none}
.tok .split{height:5px;cursor:row-resize;border-top:1px solid var(--line)}.tok .split:hover{background:rgba(255,199,44,.25)}
.tok .tables{height:34%;min-height:140px;display:flex;flex-direction:column}.tok .tabs{height:38px;display:flex;align-items:center;gap:2px;padding:0 8px;border-bottom:1px solid var(--line);overflow-x:auto}.tok .tabs button{height:28px;padding:0 10px;border-radius:4px;font-weight:500;color:var(--t2);white-space:nowrap}.tok .tabs button.on{background:var(--s2);color:var(--t1)}.tok .tabs button .n{color:var(--t3);font-weight:400;margin-left:4px}.tok .tabs .pz{margin-left:auto;color:var(--gold);font-size:11px;font-weight:700}
.tok .pane{flex:1;overflow:auto;position:relative}.tok .th,.tok .trw{display:grid;gap:6px;align-items:center;padding:0 10px;font-size:12px}.tok .th{height:26px;color:var(--t3);font-size:11px;position:sticky;top:0;background:var(--bg);z-index:1}.tok .trw{min-height:28px;border-bottom:1px solid var(--line)}.tok .trw:hover{background:var(--s1)}.tok .trw.mine{background:rgba(255,199,44,.06)}.tok .trw.new{animation:fl 1s ease-out}@keyframes fl{from{background:rgba(255,199,44,.3)}}.tok .trw .w{font-family:var(--mono);color:var(--t2)}.tok .trw .tag{height:16px;padding:0 5px;border-radius:3px;font-size:10px;font-weight:700;background:var(--s3);color:var(--t2);margin-left:4px}.tok .trw .tag.dev{color:#FF9F43}.tok .trw .tag.sniper{color:var(--down)}.tok .trw .tag.bundler{color:var(--blue)}.tok .trw .tag.oracle{color:var(--gold)}.tok .trw .tag.you{color:#1D1D1F;background:var(--gold)}
.tok .g-tr{grid-template-columns:50px 46px 1fr 1fr 1fr 1.3fr}.tok .g-pos{grid-template-columns:1.6fr 1fr 1fr 1fr 1.3fr 120px}.tok .g-ord{grid-template-columns:1.2fr 1fr 1.6fr 1fr 60px}.tok .g-h{grid-template-columns:26px 1.3fr 1.6fr 1fr 1fr}.tok .pane .empty{padding:28px;text-align:center;color:var(--t3)}.tok .pane .hb{height:3px;background:var(--gold);border-radius:2px;display:inline-block;vertical-align:middle;margin-left:6px}
.tok .box{background:var(--s1);border:1px solid var(--line);border-radius:8px;padding:10px}.tok .box h5{margin:0 0 8px;font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--t3);text-transform:uppercase;display:flex;align-items:center;gap:6px}.tok .box h5 .sp{flex:1}
.tok .win{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-bottom:8px}.tok .win button{height:40px;border-radius:4px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;font-size:11px;color:var(--t3)}.tok .win button b{font-family:var(--mono);font-size:12px}.tok .win button.on{box-shadow:inset 0 0 0 1px var(--gold)}.tok .wrow{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;font-size:11px}.tok .wrow div{display:flex;flex-direction:column;gap:2px}.tok .wrow .k{color:var(--t3)}.tok .wrow b{font-family:var(--mono);font-weight:600}
.trade .side-seg{display:grid;grid-template-columns:1fr 1fr;gap:3px;background:var(--bg);padding:3px;border-radius:6px;margin-bottom:8px}.trade .side-seg button{height:30px;border-radius:4px;font-weight:700;color:var(--t2)}.trade .side-seg button.buy.on{background:var(--up);color:#06110A}.trade .side-seg button.sell.on{background:var(--down);color:#1A0A0F}
.trade .kinds{display:flex;gap:2px;margin-bottom:8px;align-items:center}.trade .kinds button{height:26px;padding:0 9px;border-radius:4px;font-size:12px;font-weight:500;color:var(--t2)}.trade .kinds button.on{background:var(--s3);color:var(--t1)}.trade .kinds .bal{margin-left:auto;font-family:var(--mono);font-size:12px;color:var(--t2);display:inline-flex;align-items:center;gap:4px}.trade .kinds .bal b{color:var(--gold)}
.trade .amt{height:42px;display:flex;align-items:center;gap:8px;padding:0 10px;background:var(--bg);border:1px solid var(--line2);border-radius:6px;margin-bottom:8px}.trade .amt:focus-within{border-color:var(--gold)}.trade .amt .k{font-size:11px;font-weight:700;color:var(--t3)}.trade .amt input{flex:1;min-width:0;text-align:right;background:none;border:0;outline:0;font-size:16px;font-family:var(--mono);color:var(--t1)}.trade .amt .u{color:var(--t2);font-weight:600;cursor:pointer}
.trade .lim{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.trade .lim .chipsr{display:flex;gap:4px;flex-wrap:wrap}.trade .lim .chipsr button{height:22px;padding:0 7px;border-radius:999px;font-size:11px;font-weight:600;background:var(--s2);box-shadow:inset 0 0 0 1px var(--line2)}.trade .adv{display:flex;flex-direction:column;gap:6px;margin-bottom:8px;font-size:12px}.trade .adv label{display:flex;align-items:center;gap:6px}.trade .adv input[type=number]{width:52px;height:26px;padding:0 6px;border-radius:4px;background:var(--bg);border:1px solid var(--line2);color:var(--t1);font-family:var(--mono)}.trade .adv .note{color:var(--t3);font-size:11px}
.trade .pills{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-bottom:8px}.trade .pills button{height:30px;border-radius:5px;font-weight:600;font-size:12px;font-family:var(--mono);background:var(--bg);box-shadow:inset 0 0 0 1px var(--line2)}.trade .pills button.b{color:var(--up)}.trade .pills button.s{color:var(--down)}.trade .pills button.b:hover{background:rgba(48,209,88,.08)}.trade .pills button.s:hover{background:rgba(255,107,138,.08)}.trade .pills button:active{transform:scale(.95)}.trade .pills button.fired{background:rgba(255,199,44,.3)}.trade.dim .pills{opacity:.55}
.trade .ptabs{display:flex;gap:2px;margin-bottom:8px}.trade .ptabs button{height:24px;padding:0 10px;border-radius:4px;font-size:11px;font-weight:700;color:var(--t3);background:var(--bg);box-shadow:inset 0 0 0 1px var(--line)}.trade .ptabs button.on{color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}.trade .ptabs .edit{margin-left:auto;color:var(--t3)}
.trade .go{height:42px;width:100%;border-radius:999px;font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:center;gap:6px}.trade .go.buy{background:var(--up);color:#06110A}.trade .go.buy:hover{background:var(--up-hi)}.trade .go.sell{background:var(--down);color:#1A0A0F}.trade .go.wait{background:var(--s3);color:var(--t3)}.trade .msg{margin-top:8px;font-size:12px;color:var(--t2);min-height:16px}.trade .msg.warn{color:var(--gold)}.trade .msg.err{color:var(--down)}
.trade .posbox{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-top:10px}.trade .posbox div{background:var(--bg);box-shadow:inset 0 0 0 1px var(--line);border-radius:4px;padding:6px;display:flex;flex-direction:column;gap:2px;font-size:11px;color:var(--t3)}.trade .posbox b{font-family:var(--mono);font-size:12px;color:var(--t1);font-weight:600}.trade .posbox .bought b{color:var(--up)}.trade .posbox .sold b{color:var(--down)}
.orders .o{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--line);font-size:12px}.orders .o .k{font-weight:700;min-width:84px}.orders .o .k.buy,.orders .o .k.tp{color:var(--up)}.orders .o .k.sell,.orders .o .k.sl{color:var(--down)}.orders .o .d{color:var(--t2);font-family:var(--mono);flex:1}.orders .o .x{color:var(--t3)}.orders .o .x:hover{color:var(--down)}
.info .tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.info .tiles div{height:54px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line);border-radius:4px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px}.info .tiles b{font-family:var(--mono);font-weight:600}.info .tiles b.bad{color:var(--down)}.info .tiles b.good{color:var(--up)}.info .tiles span{font-size:10.5px;color:var(--t3);display:inline-flex;align-items:center;gap:3px}.info .cr{display:flex;align-items:center;gap:8px;height:30px;font-size:12px;color:var(--t2);cursor:pointer}.info .cr .m{font-family:var(--mono);color:var(--t1);flex:1}.info .cr:hover .m{color:var(--gold)}
.it{background:var(--s1);border:1px solid var(--line2);border-radius:8px;box-shadow:0 18px 44px rgba(0,0,0,.5)}.it.float{position:fixed;z-index:640;width:300px}.it .ith{height:32px;display:flex;align-items:center;gap:6px;padding:0 8px;border-bottom:1px solid var(--line);cursor:grab;user-select:none}.it .ith .ptabs{display:flex;gap:2px}.it .ith .ptabs button{height:20px;padding:0 7px;border-radius:4px;font-size:11px;font-weight:700;color:var(--t3)}.it .ith .ptabs button.on{color:var(--gold);background:rgba(255,199,44,.12)}.it .ith .sp{flex:1}.it .ith .ib{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;color:var(--t3);border-radius:4px}.it .ith .ib:hover{color:var(--t1);background:var(--s3)}
.it .sec{padding:8px}.it .sec .hd{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:var(--t3);margin-bottom:6px}.it .sec .hd .sp{flex:1}.it .sec .hd .bal{font-family:var(--mono);color:var(--gold)}.it .sec .pills{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.it .sec .pills button{height:26px;border-radius:4px;font-size:12px;font-weight:500;font-family:var(--mono);box-shadow:inset 0 0 0 1px rgba(48,209,88,.5);color:var(--up);background:var(--bg)}.it .sec.sell .pills button{box-shadow:inset 0 0 0 1px rgba(255,107,138,.5);color:var(--down)}.it .sec .pills button.fired{background:var(--up);color:#06110A}.it .sec.sell .pills button.fired{background:var(--down);color:#1A0A0F}.it .sec .pills button:disabled{opacity:.5}.it .sec .pills button.ed{color:var(--t1);box-shadow:inset 0 0 0 1px var(--gold)}
.it .foot{display:grid;grid-template-columns:1fr 1fr 1fr 1.3fr;gap:4px;padding:0 8px 8px;font-size:11px}.it .foot div{display:flex;flex-direction:column;gap:1px;color:var(--t3)}.it .foot b{font-family:var(--mono);font-weight:600;color:var(--t1)}

/* ---------------- pages ---------------- */
.page h1{font-size:22px;letter-spacing:-.02em;margin:0 0 4px}.page .lede{color:var(--t2);margin:0 0 16px}.page .card-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.page .tile{background:var(--s1);border:1px solid var(--line);border-radius:10px;padding:14px}.page .tile .k{font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--t3);text-transform:uppercase}.page .tile .v{font-size:22px;font-weight:700;font-family:var(--mono);letter-spacing:-.01em;margin-top:4px}.page .tile .s{font-size:12px;color:var(--t2);margin-top:2px}
.tbl{width:100%;border-collapse:collapse;font-size:12.5px}.tbl th{text-align:left;font-weight:600;color:var(--t3);font-size:11px;height:28px;border-bottom:1px solid var(--line);padding:0 8px;white-space:nowrap}.tbl td{height:34px;padding:0 8px;border-bottom:1px solid var(--line);white-space:nowrap}.tbl .num{font-family:var(--mono)}.tbl tr.me td{background:rgba(255,199,44,.06)}.tbl tr.top1 td:first-child{color:var(--gold);font-weight:800}.tbl .name{font-weight:600;cursor:pointer}.tbl .name:hover{color:var(--gold)}.tbl .wrap{overflow:auto}
.menu{display:flex;flex-direction:column;gap:18px;max-width:1120px;margin:0 auto;padding-top:14px}.menu .top{display:flex;align-items:center;gap:14px}.menu .top .wm svg{width:34px;height:28px}.menu .top .wm b{font-size:22px}.menu .top .tag{color:var(--t2)}.menu .top .plate{margin-left:auto;display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:10px;background:var(--s1);border:1px solid var(--line)}.menu .top .plate .tier{font-size:11px;color:var(--t3)}
.menu .doors{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.door{background:var(--s1);border:1px solid var(--line);border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden;min-height:220px;cursor:pointer}.door:hover{border-color:var(--line2);background:var(--s2)}.door:before{content:"";position:absolute;left:18px;right:18px;top:0;height:3px;border-radius:0 0 3px 3px;background:var(--gold)}.door.m-live:before{background:var(--up)}.door.m-tournament:before{background:var(--brand)}.door.m-perps:before{background:var(--blue)}
.door .ic{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--s3);color:var(--gold)}.door.m-live .ic{color:var(--up)}.door.m-tournament .ic{color:var(--brand-hi)}.door.m-perps .ic{color:var(--blue)}.door .ic svg{width:20px;height:20px}.door h3{margin:4px 0 0;font-size:22px;letter-spacing:-.02em}.door p{margin:0;color:var(--t2)}.door .kbd{position:absolute;right:16px;top:16px;font:600 11px var(--mono);color:var(--t3);border:1px solid var(--line2);border-radius:4px;padding:1px 6px}.door .cta{margin-top:auto;align-self:flex-start}.door .meta{display:flex;gap:6px;flex-wrap:wrap}
.intro{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:14px;padding-top:10px}.intro ol{margin:0;padding-left:20px;color:var(--t2);display:flex;flex-direction:column;gap:6px}.intro .setup{background:var(--s1);border:1px solid var(--line);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:10px}.intro .setup .frow2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.intro .setup label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--t2)}.intro .setup .in{width:100%}
.results{max-width:860px;margin:0 auto;display:flex;flex-direction:column;gap:14px;padding-top:8px}.results .hero{display:flex;align-items:baseline;gap:14px}.results .hero .big{font-size:48px;font-weight:800;letter-spacing:-.03em;font-family:var(--mono)}.results .stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}.results .pc{background:var(--s1);border:1px solid var(--line);border-radius:12px;padding:12px}.results .pc canvas{width:100%;aspect-ratio:1200/630;border-radius:8px;display:block;background:#000}.results .pc .acts{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.board .tabs2{display:flex;gap:4px;margin-bottom:12px}.board .pod{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 14px}.board .pod .p{background:var(--s1);border:1px solid var(--line);border-radius:10px;padding:12px;text-align:center}.board .pod .p .rk{font-size:11px;color:var(--t3);font-weight:700}.board .pod .p .nm{font-weight:700;font-size:15px;margin:4px 0}.board .pod .p .pz{color:var(--gold);font-family:var(--mono);font-weight:700}
.how .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.how .grid .tile h4{margin:0 0 4px;font-size:13px}.how .grid .tile p{margin:0;color:var(--t2);font-size:12px}
.trader .tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:6px;margin:10px 0}.trader .tiles div{background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:8px;font-size:11px;color:var(--t3)}.trader .tiles b{display:block;font-family:var(--mono);font-size:14px;color:var(--t1)}

/* ---------------- perps ---------------- */
.perps{display:grid;grid-template-columns:minmax(0,1fr) 300px;grid-template-rows:auto minmax(0,1fr);height:100%}.perps .strip{grid-column:1/3;height:34px;display:flex;gap:6px;align-items:center;padding:0 10px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}.perps .strip button{height:24px;padding:0 8px;border-radius:999px;font-size:12px;font-weight:600;color:var(--t2);white-space:nowrap;display:inline-flex;gap:6px;background:var(--s1);box-shadow:inset 0 0 0 1px var(--line)}.perps .strip button.on{color:var(--t1);box-shadow:inset 0 0 0 1px var(--gold)}
.perps .main{display:flex;flex-direction:column;min-width:0;border-right:1px solid var(--line)}.perps .ph2{display:flex;align-items:center;gap:16px;padding:8px 12px;border-bottom:1px solid var(--line);flex-wrap:wrap}.perps .ph2 .mkt{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:700;cursor:pointer}.perps .ph2 .mkt .lv{font-size:11px;padding:1px 6px;border-radius:999px;background:var(--s3);color:var(--t2)}.perps .ph2 .px{font-size:20px;font-weight:700;font-family:var(--mono)}.perps .ph2 .s{display:flex;flex-direction:column;gap:1px}.perps .ph2 .s .k{font-size:10.5px;color:var(--t3);font-weight:700;letter-spacing:.04em}.perps .ph2 .s .v{font-family:var(--mono);font-weight:600;font-size:12.5px}
.perps .mid{flex:1;display:grid;grid-template-columns:minmax(0,1fr) 260px;min-height:0}.perps .cw{display:flex;flex-direction:column;min-width:0}.perps .cw .tbar{height:34px;display:flex;align-items:center;gap:4px;padding:0 8px;border-bottom:1px solid var(--line)}.perps .cw .tbar button{height:24px;padding:0 7px;border-radius:4px;font-size:12px;color:var(--t2)}.perps .cw .tbar button.on{background:rgba(255,199,44,.13);color:var(--gold)}.perps .cw .cvw{flex:1;position:relative}.perps .cw .cvw canvas{position:absolute;inset:0;width:100%;height:100%}
.perps .book{border-left:1px solid var(--line);display:flex;flex-direction:column;min-height:0}.perps .book .bt{height:34px;display:flex;align-items:center;gap:2px;padding:0 8px;border-bottom:1px solid var(--line)}.perps .book .bt button{height:24px;padding:0 8px;border-radius:4px;font-size:12px;color:var(--t2)}.perps .book .bt button.on{background:var(--s2);color:var(--t1)}.perps .book .rows{flex:1;overflow:auto;font-family:var(--mono);font-size:11.5px}.perps .book .lv{display:grid;grid-template-columns:1fr 1fr 1fr;gap:4px;height:22px;align-items:center;padding:0 8px;position:relative}.perps .book .lv.a{color:var(--down)}.perps .book .lv.b{color:var(--up)}.perps .book .lv span:nth-child(n+2){color:var(--t2);text-align:right}.perps .book .lv i{position:absolute;right:0;top:3px;bottom:3px;opacity:.12;background:currentColor}.perps .book .spread{height:24px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:11px;color:var(--t3);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.perps .side{overflow:auto;padding:10px;display:flex;flex-direction:column;gap:10px}.perps .side .box{background:var(--s1);border:1px solid var(--line);border-radius:8px;padding:10px}.perps .side .box h5{margin:0 0 8px;font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--t3);text-transform:uppercase}.perps .ls{display:grid;grid-template-columns:1fr 1fr;gap:3px;background:var(--bg);padding:3px;border-radius:6px;margin-bottom:8px}.perps .ls button{height:30px;border-radius:4px;font-weight:700;color:var(--t2)}.perps .ls button.long.on{background:var(--up);color:#06110A}.perps .ls button.short.on{background:var(--down);color:#1A0A0F}
.perps .lev{display:flex;align-items:center;gap:8px;margin:8px 0}.perps .lev input[type=range]{flex:1;accent-color:var(--gold)}.perps .lev b{font-family:var(--mono);min-width:36px;text-align:right}.perps .qk{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-bottom:8px}.perps .qk button{height:24px;border-radius:4px;font-size:11px;font-weight:600;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line2);color:var(--t2)}.perps .info{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--t2);margin:8px 0}.perps .info div{display:flex;justify-content:space-between}.perps .info b{font-family:var(--mono);color:var(--t1);font-weight:500}.perps .info .liq b{color:#FF9F43}
.perps .tables{grid-column:1/3;border-top:1px solid var(--line);display:flex;flex-direction:column;max-height:34%;min-height:150px}.perps .tables .tabs{height:34px;display:flex;gap:2px;padding:0 8px;align-items:center;border-bottom:1px solid var(--line)}.perps .tables .tabs button{height:26px;padding:0 10px;border-radius:4px;color:var(--t2);font-weight:500}.perps .tables .tabs button.on{background:var(--s2);color:var(--t1)}.perps .tables .wrap{flex:1;overflow:auto}
.perps .pk{position:absolute;z-index:50;top:90px;left:12px;width:min(820px,calc(100% - 24px));max-height:60%;background:var(--s2);border:1px solid var(--line2);border-radius:10px;box-shadow:0 20px 50px rgba(0,0,0,.5);display:flex;flex-direction:column}.perps .pk .srch{padding:8px;border-bottom:1px solid var(--line)}.perps .pk .srch input{width:100%}.perps .pk .list{overflow:auto}.perps .pk .mrow{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1fr 1fr;gap:6px;height:30px;align-items:center;padding:0 10px;font-size:12px;cursor:pointer;font-family:var(--mono)}.perps .pk .mrow:hover{background:var(--s3)}.perps .pk .mrow.h{color:var(--t3);font-family:var(--sys);font-size:11px;cursor:default}.perps .pk .mrow b{font-family:var(--sys)}

/* ---------------- join sheet ---------------- */
.join .f{display:flex;flex-direction:column;gap:10px}.join label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--t2)}.join .in{width:100%;height:36px}.join .err{color:var(--down);font-size:12px;min-height:16px}.join .alt{display:flex;align-items:center;gap:8px;color:var(--t3);font-size:12px;margin-top:4px}

/* ---------------- phones ---------------- */
@media (max-width:860px){
  :root{--navh:46px}.nav{padding:0 8px 0 10px;gap:6px;overflow:hidden}.nav .wordmark{flex:none;font-size:19px}.nav .search{width:34px;padding:0;justify-content:center;flex:none}.nav .search span,.nav .search kbd{display:none}.nav .tabs{display:none}.nav .mode button{padding:0 7px;font-size:11px}.nav .mode .long{display:none}.nav .mode .short{display:inline}.nav .me{padding:0 8px;flex:none}.nav .me .nm,.nav .me svg{display:none}.nav .timer svg{display:none}.nav{gap:4px}.nav .rail-btn{display:none}.nav .clockout{width:30px;padding:0;justify-content:center;flex:none}.nav .clockout span{display:none}.nav .timer{padding:0 7px}
  .rail{display:none}.host.page{padding:12px 12px 90px}
  .pulse{padding:0 0 4px}.ph{padding:0 10px;height:42px}.ph h1{font-size:16px}.ph .presets button{padding:0 8px}
  .coltabs{display:flex;gap:4px;padding:0 10px 8px}.coltabs button{flex:1;height:30px;border-radius:999px;font-weight:600;font-size:12px;background:var(--s1);box-shadow:inset 0 0 0 1px var(--line);color:var(--t2)}.coltabs button.on{color:#1D1D1F;background:var(--gold);box-shadow:none}
  .cols{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;border:0;border-radius:0;scrollbar-width:none}.cols::-webkit-scrollbar{display:none}.col{flex:0 0 100%;scroll-snap-align:start;border-right:0;border-top:1px solid var(--line)}
  .card{grid-template-columns:52px minmax(0,1fr) 124px;gap:3px 8px;padding:8px 10px}.card .l .avw{width:52px;height:52px}.card .l .avw .av{width:46px;height:46px}.card .l .bond{width:52px}.card .l .ca{display:none}.card .box{width:124px}.card .box .mc b{font-size:14px}.card .box .buy{height:36px}.card .sell{right:140px}
  .tok{display:flex;flex-direction:column;overflow:auto}.tok .main{border-right:0;flex:none}.tok .chart{min-height:300px;height:300px;flex:none}.tok .tables{height:280px;flex:none}.tok .side{padding:10px 10px 120px}.tok .stats{border-left:0;padding-left:0;width:100%;gap:12px}
  .it.float{left:8px!important;right:8px!important;top:auto!important;bottom:calc(var(--bottomh) + var(--sab) + 8px)!important;width:auto}
  .perps{display:flex;flex-direction:column;overflow:auto}.perps .main{border-right:0;flex:none}.perps .mid{display:flex;flex-direction:column}.perps .cw .cvw{height:320px}.perps .book{border-left:0;max-height:300px}.perps .side{padding-bottom:30px}.perps .tables{max-height:none}
  .search-m .row-r{grid-template-columns:40px minmax(0,1fr) 80px auto}.search-m .row-r .c3,.search-m .row-r .c4{display:none}
  .bottom{font-size:11px;gap:10px}.bottom .disc{display:none}
  .menu .top .plate{display:none}.results .hero .big{font-size:36px}
}
@media (hover:none){.card .r1 .hide{opacity:1}button,.chip{min-height:36px}.ch .ib,.tok .tbar button,.tok .tabs button,.perps .strip button,.it .ith .ib,.seg button,.nav .mode button,.ph .presets button{min-height:0}}
@media (prefers-reduced-motion:reduce){.toast{animation:none}.tok .trw.new{animation:none}}
