
:root{
  color-scheme:dark;
  --bg:#110E22;--panel:#1A1633;--panel2:#221D42;--line:#332C5E;--ink:#EEECFF;--dim:#9A95C6;--faint:#5F5991;
  --btc:#F7931A;--up:#3DDC97;--down:#FF5C72;--gold:#FFD34E;--safe:#26A17B;--rc:#4EA8FF;
  --t-common:#9A95C6;--t-uncommon:#3DDC97;--t-rare:#4EA8FF;--t-epic:#B874FF;--t-legendary:#F7931A;--t-mythic:#FFD34E;
  --display:"Chakra Petch",ui-sans-serif,system-ui,sans-serif;
  --body:"Manrope",ui-sans-serif,system-ui,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
}
[hidden]{display:none!important}
*{box-sizing:border-box}
html,body{height:100%;background:var(--bg)}
body{margin:0;color:var(--ink);font-family:var(--body);font-size:14px;overflow-x:hidden;overflow-y:auto;padding-inline:12px;
  background:radial-gradient(900px 500px at 80% -10%,#2A1F55 0%,transparent 60%),radial-gradient(700px 400px at -10% 110%,#2B1830 0%,transparent 60%),var(--bg)}
button{font:inherit;color:inherit}
.app{height:100vh;height:100dvh;min-height:600px;max-width:560px;margin:0 auto;display:flex;flex-direction:column;gap:10px;padding-block:10px}

/* top bar */
.top{display:flex;align-items:center;gap:8px}
.brand{margin-right:auto;display:flex;align-items:center;gap:8px;font-family:var(--display);font-weight:700;font-size:19px;letter-spacing:.08em;text-transform:uppercase}
.brand span{white-space:nowrap}
.logo{width:30px;height:30px;flex:none;filter:drop-shadow(0 0 10px rgba(247,147,26,.45))}
.brand b{color:var(--btc)}
.lvl{position:relative;overflow:hidden;display:flex;align-items:center;gap:8px;background:var(--panel2);border:1px solid var(--gold);border-radius:999px;padding:5px 12px 6px;cursor:pointer}
.lvl b{font-family:var(--display);font-size:13px;letter-spacing:.1em;color:var(--gold);white-space:nowrap}
.lvl span{font-size:11px;color:var(--dim);white-space:nowrap}
.lvl i{position:absolute;left:0;bottom:0;height:2px;background:var(--gold)}
.coinb{display:flex;align-items:center;gap:6px;background:var(--panel2);border:1px solid #B7791F;border-radius:999px;padding:5px 10px 5px 6px;font-family:var(--mono);font-weight:700;font-size:13px;color:var(--gold)}
.coinb i{width:16px;height:16px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#FFF1A8,#E0A21A);border:1px solid #B7791F}
.coinb.bump{animation:bump .5s cubic-bezier(.2,1.8,.4,1)}
@keyframes bump{40%{transform:scale(1.3)}}
.icon{width:34px;height:34px;border-radius:50%;background:var(--panel2);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
.icon svg{width:18px;height:18px;fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.icon[aria-pressed="false"] svg{stroke:var(--faint)}

/* scoreboard */
.score{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:10px 14px 12px;display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:6px 10px}
.score{display:flex;flex-direction:column;align-items:stretch;gap:6px}
.fort{display:flex;align-items:baseline;gap:8px}
.fort .from{font-family:var(--mono);font-size:15px;color:var(--dim)}
.fort b{font-family:var(--mono);font-weight:700;font-size:clamp(30px,9vw,42px);line-height:1;font-variant-numeric:tabular-nums;transition:color .15s}
.fort b.up{color:var(--up)}.fort b.down{color:var(--down)}
.fort .tradeN{margin-left:auto;font-family:var(--display);font-weight:700;font-size:11px;letter-spacing:.14em;color:var(--dim)}
.goal{display:flex;align-items:center;gap:10px}
.gbar{flex:1;height:8px;border-radius:4px;background:var(--panel2);overflow:hidden}
.gbar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#D97706,var(--gold));transition:width .2s}
#tgTxt{font-size:12px;color:var(--dim);white-space:nowrap}#tgTxt b{color:var(--gold)}
.score .lead{text-align:left;font-family:var(--body);font-weight:600;font-size:13px;letter-spacing:0;color:var(--dim)}
.score.flip{animation:flip2 .7s}@keyframes flip2{30%{box-shadow:0 0 0 3px var(--gold)}}
.res{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:16px;animation:pop .35s cubic-bezier(.2,1.6,.4,1);max-width:360px}
.res small{font-family:var(--display);font-weight:700;letter-spacing:.16em;font-size:12px;color:var(--dim)}
.res .big{font-family:var(--mono);font-size:clamp(20px,6vw,26px);color:var(--dim)}.res .big b{font-size:1.25em}
.res .pc{font-family:var(--display);font-weight:700;font-size:clamp(34px,11vw,48px);line-height:1}
.res .alt{margin:0;font-size:14px;color:var(--ink)}.res .rv{margin:4px 0 0;font-size:13px;color:var(--dim)}.res .rv b{color:var(--ink)}
.res .tap{margin:6px 0 0;font-size:11px;color:var(--faint);letter-spacing:.12em;text-transform:uppercase}
.hold .lb{margin-top:6px;font-size:11px;line-height:1.4;color:var(--dim);font-family:var(--mono)}
.hold .lb b{font-family:var(--mono);font-size:12px;line-height:inherit;color:inherit}.hold .lb b.pos{color:var(--up)}.hold .lb b.neg{color:var(--down)}
.over .fin{display:flex;align-items:baseline;justify-content:center;gap:10px}.over .fin span{font-family:var(--mono);color:var(--dim);font-size:18px}.over .fin b{font-family:var(--mono);font-size:clamp(34px,10vw,46px)}
.over .story{font-size:16px;color:var(--ink);font-weight:600}
.over .bestpay{margin:0;font-size:13px;color:var(--dim)}.over .bestpay b{color:var(--gold);font-family:var(--mono)}
.coach{display:flex;flex-direction:column;gap:6px;text-align:left}
.coach small{font-family:var(--display);font-weight:700;letter-spacing:.2em;font-size:11px;color:var(--dim)}
.tip{background:var(--panel2);border-radius:10px;padding:8px 10px 8px 12px;border-left:3px solid var(--dim)}
.tip.bad{border-left-color:var(--down)}.tip.good{border-left-color:var(--up)}
.tip b{display:block;font-size:14px;margin-bottom:2px}.tip.bad b{color:#FF8A98}.tip.good b{color:var(--up)}
.tip p{margin:0;font-size:12.5px;line-height:1.45;color:var(--ink)}
.over .key{font-size:13px;background:var(--panel2);border-radius:10px;padding:8px 10px}
.over .minor{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--dim)}.over .minor b{color:var(--ink)}.over .minor svg{width:14px;height:14px;vertical-align:-2px;margin-right:4px}
.side{display:flex;flex-direction:column;gap:1px;min-width:0}
.side small{font-family:var(--display);font-weight:700;font-size:11px;letter-spacing:.16em}
.side.me small{color:var(--btc)}
.side.op{text-align:right;align-items:flex-end}.side.op small{color:var(--rc)}
.side b{font-family:var(--mono);font-weight:700;font-size:clamp(20px,6.4vw,28px);font-variant-numeric:tabular-nums;white-space:nowrap;transition:color .15s}
.side b.up{color:var(--up)}.side b.down{color:var(--down)}
.mid{font-family:var(--display);font-weight:700;font-size:11px;letter-spacing:.14em;color:var(--dim);text-align:center;padding-bottom:6px}
.tug{grid-column:1/-1;position:relative;height:10px;border-radius:5px;background:color-mix(in srgb,var(--rc) 55%,var(--panel2));overflow:hidden}
.tug i{position:absolute;left:0;top:0;bottom:0;width:50%;background:linear-gradient(90deg,#D97706,var(--btc));transition:width .15s linear}
.tug::after{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;margin-left:-1px;background:rgba(238,236,255,.8)}
.lead{grid-column:1/-1;text-align:center;font-family:var(--display);font-weight:700;font-size:12px;letter-spacing:.1em;color:var(--dim);min-height:15px}
.score.flip .tug{animation:flip .7s}
@keyframes flip{0%{box-shadow:0 0 0 0 var(--gold)}30%{box-shadow:0 0 0 4px var(--gold)}100%{box-shadow:0 0 0 0 transparent}}

/* stage */
.stage{flex:1 1 auto;min-height:340px;position:relative;background:var(--panel);border:1px solid var(--line);border-radius:16px;display:flex;flex-direction:column;overflow:hidden}
.cap{display:flex;align-items:flex-start;gap:10px;padding:12px 14px 0;min-height:52px}
.spd{margin-left:auto;flex:none;font:700 13px "JetBrains Mono",ui-monospace,monospace;color:#EEECFF;background:rgba(154,149,198,.14);border:1px solid rgba(154,149,198,.35);border-radius:999px;padding:6px 12px;cursor:pointer;min-width:52px;touch-action:manipulation}
.spd.on{color:#110E22;background:#F7931A;border-color:#F7931A}
.spd:active{transform:scale(.94)}
.capL{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.capL b{font-family:var(--display);font-weight:700;font-size:clamp(20px,6vw,26px);line-height:1.1;display:flex;align-items:center;gap:8px;white-space:nowrap;font-variant-numeric:tabular-nums}
.capL small{font-size:12px;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:6px}
.capL .pct.pos{color:var(--up)}.capL .pct.neg{color:var(--down)}
.tier{flex:none;font-family:var(--display);font-weight:700;font-size:11px;letter-spacing:.14em;padding:3px 8px;border-radius:4px;border:1px solid currentColor;margin-top:4px}
.tier.pop{animation:pop .5s cubic-bezier(.2,1.8,.4,1)}
@keyframes pop{0%{transform:scale(2.2);opacity:0}100%{transform:scale(1);opacity:1}}
.mythic{background:linear-gradient(90deg,#FFD34E,#FF7AD9,#7AE7FF,#FFD34E);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent!important;animation:shim 1.6s linear infinite;border-color:#FFD34E!important}
@keyframes shim{to{background-position:300% 0}}
.cvbox{position:relative;flex:1 1 auto;min-height:240px}
#cv,#cv2{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;transition:opacity .2s}
.err{position:absolute;left:8px;right:8px;top:8px;background:rgba(255,92,114,.15);border:1px solid var(--down);color:var(--ink);font-family:var(--mono);font-size:11px;padding:6px 8px;border-radius:8px}
.coin{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-family:var(--display);font-weight:700;color:#fff;flex:none;object-fit:cover;text-shadow:0 1px 2px rgba(0,0,0,.4)}
.toast{position:absolute;left:10px;right:10px;bottom:10px;background:rgba(17,14,34,.94);border:1px solid var(--btc);border-radius:10px;padding:8px 10px;font-size:12px;line-height:1.35;opacity:0;transform:translateY(8px);transition:opacity .25s,transform .25s;pointer-events:none}
.toast.show{opacity:1;transform:none}
.toast b{font-family:var(--display);letter-spacing:.08em;margin-right:6px;color:var(--btc)}
.toast.rival{border-color:var(--rc)}.toast.rival b{color:var(--rc)}
.call{position:absolute;right:12px;top:56px;font-family:var(--display);font-weight:700;font-size:13px;letter-spacing:.12em;color:var(--gold);opacity:0;pointer-events:none}
.call.show{animation:call 1.8s ease-out forwards}.call.miss{color:var(--down)}
@keyframes call{0%{opacity:0;transform:scale(2) rotate(4deg)}12%{opacity:1;transform:scale(1) rotate(4deg)}80%{opacity:1}100%{opacity:0;transform:rotate(4deg)}}
.pop{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;background:rgba(17,14,34,.35)}
.pop.solid{background:rgba(17,14,34,.93);pointer-events:auto}
.rev{display:flex;flex-direction:column;align-items:center;gap:12px;padding:16px;text-align:center;animation:pop .4s cubic-bezier(.2,1.6,.4,1)}
.rsides{display:flex;align-items:center;gap:22px}
.rs{display:flex;flex-direction:column;align-items:center;gap:6px}
.rs small{font-family:var(--display);font-weight:700;letter-spacing:.16em;font-size:12px}
.rs b{font-family:var(--display);font-size:24px}
.rev em{font-style:normal;font-family:var(--display);color:var(--faint);font-size:18px}
.rev .hl{margin:0;font-family:var(--display);font-weight:700;letter-spacing:.12em;font-size:12px;color:var(--dim);text-transform:uppercase}
.rev .why{margin:0;max-width:34ch;color:var(--ink);font-size:14px;line-height:1.45}
.rev .same{margin:0;color:var(--gold);font-size:12px;font-weight:800;letter-spacing:.04em}
.popc{text-align:center;display:flex;flex-direction:column;gap:6px;animation:pop .4s cubic-bezier(.2,1.6,.4,1)}
.popc .big{font-family:var(--display);font-weight:700;font-size:clamp(44px,14vw,64px);line-height:1}
.popc small{font-family:var(--display);font-weight:700;letter-spacing:.2em;font-size:12px;color:var(--dim)}
.popc .vsr{font-family:var(--mono);font-size:14px}

/* rival picker */
.pick{position:absolute;inset:0;z-index:3;background:var(--panel);display:flex;flex-direction:column;justify-content:center;gap:12px;padding:16px}
.pick h2{margin:0;text-align:center;font-family:var(--display);font-size:22px;letter-spacing:.06em}
.pick p{margin:0;text-align:center;color:var(--dim);font-size:13px}
.rv{display:flex;align-items:center;gap:14px;background:var(--panel2);border:2px solid var(--line);border-radius:14px;padding:14px;text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .12s}
.rv:active{transform:scale(.98)}
.rv[aria-pressed="true"]{border-color:var(--c);box-shadow:0 0 30px -6px var(--c)}
.rv .av{width:48px;height:48px;border-radius:50%;background:var(--c);display:flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:700;font-size:22px;color:#110E22;flex:none}
.rv div{display:flex;flex-direction:column;gap:2px;min-width:0}
.rv b{font-family:var(--display);font-size:20px}
.rv small{color:var(--dim);font-size:13px}
.rv .diff{font-size:10px;letter-spacing:.14em;color:var(--c);border:1px solid var(--c);border-radius:4px;padding:1px 5px;vertical-align:3px;margin-left:6px}
.rv em{font-style:normal;font-family:var(--mono);font-size:11px;color:var(--c)}

/* dots + button */
.dots{display:flex;justify-content:center;gap:8px;min-height:12px}
.dot{width:12px;height:12px;border-radius:50%;border:2px solid var(--line)}
.dot.win{background:var(--up);border-color:var(--up)}.dot.lose{background:var(--down);border-color:var(--down)}.dot.tie{background:var(--dim);border-color:var(--dim)}
.dot.cur{border-color:var(--btc);animation:dp 1.2s ease-in-out infinite}
@keyframes dp{50%{transform:scale(1.35)}}
#play{position:relative;overflow:hidden;width:100%;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;font-family:var(--display);font-weight:700;font-size:22px;letter-spacing:.2em;padding:12px 16px 13px;border-radius:14px;border:0;cursor:pointer;color:#1A0F00;background:linear-gradient(180deg,#FFB443,#F7931A 55%,#D97706);box-shadow:0 5px 0 #8A4B00,0 10px 30px -6px rgba(247,147,26,.6);transition:transform .08s,box-shadow .08s;margin-bottom:calc(6px + env(safe-area-inset-bottom,0px))}
#play small{display:block;font-family:var(--body);font-weight:800;font-size:10px;letter-spacing:.16em;opacity:.7;margin-top:2px}
#play .meter{position:absolute;left:0;bottom:0;height:6px;width:0;background:linear-gradient(90deg,#3DDC97,#FFD34E,#FF5C72)}
#play.stop{background:linear-gradient(180deg,#FF8A98,#FF5C72 55%,#C4304A);box-shadow:0 5px 0 #6E1426,0 10px 30px -6px rgba(255,92,114,.7);color:#fff}
#play.slow{background:linear-gradient(180deg,#8FC6FF,#4EA8FF 55%,#2A6FCC);box-shadow:0 5px 0 #173E73,0 10px 30px -6px rgba(78,168,255,.6);color:#0B1830}
#play.held{transform:translateY(4px);box-shadow:0 1px 0 #333}
#play:disabled{filter:grayscale(.7) brightness(.7);cursor:default}
#play.pulse{animation:pulse 1.6s ease-in-out infinite}
@keyframes pulse{50%{box-shadow:0 5px 0 #8A4B00,0 0 44px 4px rgba(247,147,26,.75)}}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}

/* bottom sheets */
.sheet{position:fixed;inset:0;z-index:40;background:rgba(8,6,20,.72);display:flex;align-items:flex-end;justify-content:center;padding:10px 10px calc(10px + env(safe-area-inset-bottom,0px))}
.sheet.center{align-items:center}
.sin{width:min(560px,100%);max-height:100%;overflow-y:auto;background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:14px;display:flex;flex-direction:column;gap:10px;animation:rise .25s ease-out}
@keyframes rise{from{transform:translateY(30px);opacity:0}}
.shead{display:flex;align-items:center;gap:10px}
.shead h2{flex:1;margin:0;font-family:var(--display);font-size:clamp(18px,5vw,22px);line-height:1.15;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.shead h2 em{font-style:normal;color:var(--gold)}
.clock{font-family:var(--display);font-weight:700;font-size:32px;font-variant-numeric:tabular-nums;min-width:58px;text-align:right}
.clock.hot{color:var(--down);animation:dp .5s ease-in-out infinite}
.tbar{height:6px;border-radius:3px;background:var(--panel2);overflow:hidden}
.tbar i{display:block;height:100%;width:100%;background:linear-gradient(90deg,var(--down),var(--gold) 50%,var(--up));transform-origin:left}
.stand{font-size:12px;color:var(--dim)}.stand b{color:var(--ink)}
.crow{display:grid;grid-template-columns:auto minmax(0,1fr) auto 92px;align-items:center;row-gap:2px;gap:10px;padding:10px 12px;border-radius:14px;border:2px solid var(--line);background:var(--panel2);cursor:pointer;text-align:left;transition:border-color .12s,transform .1s}
.crow:hover{border-color:var(--c)}.crow:active{transform:scale(.98)}
.crow.safe{border-style:dashed}
.crow .nm{display:flex;flex-direction:column;gap:1px;min-width:0}
.crow .nm b{font-family:var(--display);font-size:18px;letter-spacing:.03em}
.crow .nm small{font-size:11px;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.crow .nm small.meme{color:#FF7AD9;font-weight:800;letter-spacing:.06em}
.crow .nm small.safe{color:var(--safe);font-weight:800;letter-spacing:.06em}
.crow .px{display:flex;flex-direction:column;align-items:flex-end;font-family:var(--mono);gap:1px}
.crow .px b{font-size:17px}.crow .px span{font-size:11px;color:var(--dim)}
.crow .meta{grid-column:1/-1;display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:6px;margin-top:2px;font-size:13px;color:var(--dim)}
.crow .meta b{color:var(--ink);font-family:var(--mono)}
.crow.cat .meta{align-items:center}
.crow.cashc{border-style:dashed;padding-top:8px;padding-bottom:8px}
.catline{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.catline>b{font-family:var(--display);font-size:16px;letter-spacing:.04em;margin-right:6px}
.tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
@media (min-width:520px){.tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}
.tile{display:flex;flex-direction:column;gap:3px;padding:8px 9px;border-radius:12px;border:2px solid var(--line);background:var(--panel2);cursor:pointer;text-align:left;min-width:0;transition:border-color .12s,transform .1s;color:var(--ink)}
.tile:hover{border-color:var(--c)}.tile:active{transform:scale(.97)}
.tile .tt{display:flex;align-items:center;gap:7px;min-width:0}.tile .tt b{font-family:var(--display);font-size:15px;letter-spacing:.03em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}
.tile .tt em{font-style:normal;font-family:var(--mono);font-size:13px;font-weight:700}
.tile canvas{width:100%;height:28px}.tile small{font-size:11px;color:var(--dim);font-family:var(--mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tile .tags{margin-top:0}.tile .tags em{font-size:9px}
.rs i{font-style:normal;font-size:12px;color:var(--dim);letter-spacing:.04em}
.crow.off{opacity:.45;cursor:default;grid-template-columns:auto minmax(0,1fr);border-style:dashed}.crow.off:hover{border-color:var(--line)}
.mreg{display:inline-flex;align-items:center;gap:6px}.mreg svg{flex:none}.mreg b{font-family:var(--display)!important;letter-spacing:.03em}
.ring0{width:30px;height:30px;border-radius:50%;border:5px solid rgba(154,149,198,.2);flex:none;box-sizing:border-box}
.mem{display:inline-flex;align-items:center}.mem .coin{margin-left:-6px;box-shadow:0 0 0 2px var(--panel2)}.mem .coin:first-child{margin-left:0}.mem i{font-style:normal;font-family:var(--mono);font-size:11px;margin-left:4px;color:var(--dim)}
.crow .meta .sz{font-style:normal;font-family:var(--display);font-weight:700;font-size:10px;letter-spacing:.12em;color:var(--gold);border:1px solid var(--gold);border-radius:4px;padding:0 5px;margin-left:4px;vertical-align:1px}
.dh{flex:1;display:flex;flex-direction:column}.dh small{font-family:var(--display);font-weight:700;letter-spacing:.2em;font-size:11px;color:var(--dim)}
.bigdate{font-size:clamp(26px,8vw,34px)!important;letter-spacing:.02em;white-space:nowrap}
.regime{display:flex;align-items:center;gap:10px}
.regime svg{width:44px;height:44px;flex:none}
.regime div{display:flex;flex-direction:column;line-height:1.25}
.regime b{font-family:var(--display);font-size:15px;letter-spacing:.04em}
.regime span{font-size:12px;color:var(--dim)}
.hdate{display:flex;align-items:center;justify-content:space-between;gap:10px}.hdate>b{font-family:var(--display);font-size:22px}
.mood{background:var(--panel2);border-radius:12px;padding:8px 10px;display:flex;flex-direction:column;gap:5px}
.mtop{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.mdate{font-family:var(--display);font-weight:700;font-size:16px}
.mlab{font-family:var(--display);font-weight:700;letter-spacing:.08em;font-size:13px;text-transform:uppercase}
.gauge{position:relative;height:8px;border-radius:4px;background:linear-gradient(90deg,#FF5C72,#FF9A6B 30%,#FFD34E 50%,#8EDB6B 70%,#3DDC97)}
.gauge i{position:absolute;top:-4px;width:4px;height:16px;margin-left:-2px;border-radius:2px;background:#fff;box-shadow:0 0 0 2px #110E22}
.mrow{display:flex;justify-content:space-between;gap:6px;font-size:10.5px;color:var(--faint)}
.mrow span:nth-child(2){font-size:11px;text-align:center}
.tags{display:flex;gap:4px;flex-wrap:wrap;margin-top:2px}
.tags em{font-style:normal;font-family:var(--display);font-weight:700;font-size:10px;letter-spacing:.1em;padding:1px 6px;border-radius:4px;border:1px solid currentColor}
.t-safe{color:var(--safe)}.t-meme{color:#FF7AD9}.t-new{color:var(--gold)}.t-wild{color:var(--down)}.t-calm{color:#4EA8FF}
.crow canvas{width:92px;height:40px}
.pos{color:var(--up)}.neg{color:var(--down)}
.news1{font-size:12px;color:var(--dim);line-height:1.4;border-top:1px solid var(--line);padding-top:8px}
.news1 b{color:var(--btc);font-family:var(--display);letter-spacing:.06em;margin-right:4px}
.news .mood{font-size:13px;color:var(--dim)}
.nrow{display:flex;gap:10px;align-items:flex-start;background:var(--panel2);border-radius:10px;padding:9px 10px;font-size:14px;line-height:1.4}
.nrow b{font-family:var(--display);letter-spacing:.04em;margin-right:4px}
.nrow small{display:block;color:var(--dim);font-size:11px;margin-top:2px}
.nrow i{flex:none;width:8px;height:8px;border-radius:50%;margin-top:6px;background:var(--dim)}
.nrow.old{opacity:.6}
.nrow i.g{background:var(--up)}.nrow i.r{background:var(--down)}
.holds{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.hold{display:flex;flex-direction:column;gap:2px;padding:12px 10px;border-radius:14px;border:2px solid var(--line);background:var(--panel2);cursor:pointer;text-align:left;transition:border-color .12s,transform .1s}
.hold:hover{border-color:var(--c)}.hold:active{transform:scale(.97)}
.hold small{font-family:var(--display);font-weight:700;letter-spacing:.14em;font-size:11px;color:var(--c)}
.hold b{font-family:var(--display);font-size:clamp(38px,11vw,50px);line-height:1;color:var(--c)}
.hold span{font-weight:800;font-size:15px}
.hold em{font-style:normal;font-family:var(--mono);font-size:11px;color:var(--dim);margin-top:4px}

/* match over */
.over{text-align:center;align-items:stretch}
.over .stamp{font-family:var(--display);font-weight:700;letter-spacing:.24em;font-size:14px}
.over .vs{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px}
.over .vs div{display:flex;flex-direction:column}
.over .vs small{font-family:var(--display);font-weight:700;font-size:11px;letter-spacing:.16em}
.over .vs b{font-family:var(--mono);font-size:clamp(22px,7vw,30px)}
.over .vs em{font-style:normal;color:var(--faint);font-family:var(--display)}
.over p{margin:0;color:var(--dim);line-height:1.45}.over p b{color:var(--ink)}
.over .next{background:var(--panel2);border-radius:10px;padding:8px 10px;font-size:13px}
.sat{background:var(--panel2);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:8px;text-align:left}
.sathead{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;column-gap:8px;align-items:center}
.sathead svg{grid-row:span 2;width:28px;height:28px}
.sathead b{font-family:var(--display);font-size:15px;color:var(--btc)}
.sathead small{grid-column:2;font-size:11px;color:var(--dim)}
.sathead em{grid-row:1/3;grid-column:3;font-style:normal;font-family:var(--mono);font-weight:700;font-size:18px;color:var(--gold)}
.satrow{display:grid;grid-template-columns:56px 1fr auto;gap:8px;align-items:center;font-size:12px}
.satrow span{font-family:var(--display);font-weight:700;letter-spacing:.1em;font-size:11px}
.satrow i{height:8px;border-radius:4px;background:rgba(255,211,78,.25);overflow:hidden}
.satrow i b{display:block;height:100%;border-radius:4px}
.satrow small{font-family:var(--mono);color:var(--dim);white-space:nowrap}
.bigbtn{font-family:var(--display);font-weight:700;font-size:18px;letter-spacing:.18em;padding:13px;border-radius:12px;border:0;cursor:pointer;color:#1A0F00;background:linear-gradient(180deg,#FFB443,#F7931A 55%,#D97706);box-shadow:0 4px 0 #8A4B00}

/* level-up banner */
#lvlUp{position:fixed;left:50%;top:calc(12px + env(safe-area-inset-top,0px));transform:translateX(-50%);z-index:70;background:rgba(17,14,34,.97);border:2px solid var(--gold);border-radius:14px;padding:10px 18px;text-align:center;box-shadow:0 0 50px -8px var(--gold);pointer-events:none;animation:lvlIn 2.8s ease-out forwards;min-width:230px}
#lvlUp small{display:block;font-family:var(--display);font-weight:700;letter-spacing:.3em;font-size:11px;color:var(--gold)}
#lvlUp b{font-family:var(--display);font-size:22px}
#lvlUp span{display:block;color:var(--dim);font-size:12px}
@keyframes lvlIn{0%{opacity:0;transform:translate(-50%,-20px) scale(.8)}10%{opacity:1;transform:translate(-50%,0) scale(1.05)}16%{transform:translate(-50%,0) scale(1)}85%{opacity:1}100%{opacity:0;transform:translate(-50%,-10px)}}

/* levels & stats page */
#more{position:fixed;inset:0;z-index:50;background:var(--bg);overflow-y:auto;padding:calc(12px + env(safe-area-inset-top,0px)) 12px calc(24px + env(safe-area-inset-bottom,0px))}
.mw{max-width:640px;margin:0 auto;display:flex;flex-direction:column;gap:14px}
.mhead{display:flex;align-items:center;justify-content:space-between;gap:10px}
.mhead h2{margin:0;font-family:var(--display);font-size:22px}
.chip{background:var(--panel2);border:1px solid var(--line);border-radius:999px;padding:8px 14px;cursor:pointer;font-weight:700;font-size:13px}
.box{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:10px}
.eyebrow{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);display:flex;justify-content:space-between;gap:8px}
.ladder{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.ladder li{display:grid;grid-template-columns:30px minmax(0,1fr);gap:1px 10px;align-items:center;background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:8px 10px}
.ladder .n{grid-row:span 2;font-family:var(--display);font-weight:700;font-size:16px;color:var(--faint);text-align:center}
.ladder b{font-size:14px}.ladder small{color:var(--dim);font-size:12px}
.ladder li.done{border-color:var(--gold)}.ladder li.done .n{color:var(--gold)}
.ladder li.early{border-style:dashed;border-color:var(--gold)}
.ladder li.next{border-color:var(--btc);box-shadow:0 0 18px -8px var(--btc)}
.recs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.rec{background:var(--panel2);border-radius:10px;padding:8px 10px;display:flex;flex-direction:column}
.rec small{font-size:10px;letter-spacing:.12em;color:var(--dim);text-transform:uppercase}
.rec b{font-family:var(--mono);font-size:16px}
table{width:100%;border-collapse:collapse;font-size:12px;font-variant-numeric:tabular-nums}
th{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);text-align:left;font-weight:600;padding:4px 6px;border-bottom:1px solid var(--line)}
td{padding:6px;border-bottom:1px solid #251F48;font-family:var(--mono);white-space:nowrap}
td.r,th.r{text-align:right}td.empty{color:var(--faint);font-family:var(--body);white-space:normal}
.tw{overflow-x:auto}
.tokgrid{display:flex;flex-wrap:wrap;gap:4px}
.tk{font-family:var(--mono);font-size:10px;padding:3px 6px;border-radius:4px;border:1px dashed var(--line);color:var(--faint)}
.tk.got{border-style:solid;border-color:var(--tc);color:var(--ink);background:var(--panel2)}
.drop{position:relative;display:flex;flex-direction:column;gap:4px;border:2px dashed var(--line);border-radius:10px;padding:12px;cursor:pointer}
.drop.over,.drop:hover{border-color:#FF7AD9}
.drop input{position:absolute;width:1px;height:1px;opacity:0}
.drop small{color:var(--dim);font-size:12px;line-height:1.45}
.custs{display:flex;flex-wrap:wrap;gap:8px}
.cust{display:flex;align-items:center;gap:8px;background:var(--panel2);border-radius:8px;padding:6px 8px;font-size:12px}
.cust input{width:76px;background:var(--bg);border:1px solid var(--line);color:var(--ink);font-family:var(--mono);font-size:12px;border-radius:4px;padding:3px 5px}
.cust small{color:var(--dim);font-family:var(--mono)}
.cust button{background:none;border:0;color:var(--down);cursor:pointer;font-size:14px}
.cust.err{color:var(--down)}
.how{color:var(--dim);font-size:13px;line-height:1.55;margin:0}
.how b{color:var(--ink)}
.est{font-size:10px;color:var(--gold);border:1px solid var(--gold);border-radius:3px;padding:0 4px;margin-left:4px}
#fx{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:60}
.shake{animation:shake .45s}
@keyframes shake{20%{transform:translateX(-8px)}40%{transform:translateX(7px)}60%{transform:translateX(-5px)}80%{transform:translateX(3px)}}
@media (max-width:420px){.lvl span{display:none}.brand{font-size:16px;gap:6px;letter-spacing:.05em}.logo{width:26px;height:26px}.lvl{padding:5px 10px 6px}.coinb{padding:4px 8px 4px 5px}.top{gap:6px}.crow{grid-template-columns:auto minmax(0,1fr) auto 70px;gap:8px;padding:8px 10px}.crow canvas{width:70px}.crow .nm b{font-size:16px}}
@media (max-height:700px){.cap{min-height:44px;padding-top:8px}.score{padding:8px 12px 10px}#play{padding:10px 16px 11px;font-size:20px}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.call.show{opacity:1}}
.chip:hover,.icon:hover{border-color:var(--btc)}.chip:disabled{opacity:.5}.entry-price{display:flex;align-items:center;justify-content:space-between}.entry-price>b{font:700 25px var(--display);color:var(--gold)}.entry-price small{font-size:12px}.hearts{color:var(--down);letter-spacing:4px;font-size:20px}
.community-select,.board-controls{display:flex;gap:8px}.community-select select,.board-controls select{flex:1;min-width:0}select,input{border:1px solid var(--line);background:var(--panel2);border-radius:9px;padding:10px;color:var(--ink);font:12px var(--mono);max-width:100%}button{touch-action:manipulation}a{color:var(--gold)}
.tab .sin p,.tab .sin li{font-size:12px;line-height:1.6;color:var(--dim)}.tab .sin h1,.tab .sin h2{font-family:var(--display)}.tab .sin p{margin:4px 0}.tab .sin b{color:var(--ink)}.tab .sin .bigbtn{color:#1A0F00;font-size:16px}.mini-card{padding:12px;background:var(--panel2);border:1px solid var(--line);border-radius:12px;margin-top:10px}.mini-card p{margin:8px 0}.table-wrap{overflow:auto}.challenge-create{display:grid;gap:10px}.challenge-create label,.mini-card label{display:flex;flex-direction:column;gap:5px;font-size:12px}.tab .sin button:not(.chip):not(.bigbtn):not(.option){border:1px solid var(--line);background:var(--panel2);border-radius:9px;padding:10px;cursor:pointer}.tab .sin .primary{background:var(--btc)!important;color:#110E22;font-weight:800}.pass-option{padding:7px 0;font-size:12px}.rules{padding-left:20px;display:grid;gap:8px}
dialog{color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:18px;width:min(480px,calc(100% - 24px));padding:20px}dialog::backdrop{background:#080614bf}dialog h2{font:700 22px var(--display)}dialog p{font-size:12px;color:var(--dim);line-height:1.6}.modal-heading{display:flex;align-items:center;justify-content:space-between}.modal-heading button{background:var(--panel2);border:1px solid var(--line);border-radius:50%;width:30px;height:30px}#wallet-list{display:grid;gap:8px}#wallet-list button{background:var(--panel2);border:1px solid var(--line);padding:12px;border-radius:10px;text-align:left;cursor:pointer}
#notice{position:fixed;z-index:90;left:50%;top:10px;transform:translateX(-50%);max-width:calc(100% - 24px);width:500px;padding:12px 16px;border:1px solid var(--btc);border-radius:12px;background:#110ef5;color:var(--ink);background:#110e22f5;box-shadow:0 8px 30px #0005;font-size:12px;line-height:1.5;cursor:pointer}#notice::after{content:' ×';color:var(--dim)}

.game-nav{display:flex;gap:6px;align-items:center;padding:4px 12px}.game-nav .chip{flex:1;padding:6px;font-size:11px}.game-nav .icon{width:30px;height:30px}.network{text-align:center;font:8px var(--mono);color:var(--dim);padding:3px 0 8px}.tab{z-index:70}.share{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:12px 0}.share a{border:1px solid var(--line);border-radius:20px;padding:8px 12px;font-size:12px;text-decoration:none}.game-nav button:disabled{opacity:.4}.tab .sin{max-height:88dvh}

.player-strip{display:grid;grid-template-columns:.85fr 1fr 1.2fr;gap:6px;margin:0 0 8px}.player-strip button{min-width:0;text-align:left;background:#221c40;border:1px solid #493867;border-radius:12px;padding:9px 10px;color:var(--ink);cursor:pointer}.player-strip small,.stat-grid small{display:block;font:700 8px var(--mono);letter-spacing:.08em;color:var(--dim)}.player-strip b{display:block;font:700 22px var(--display);color:var(--gold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-strip span{display:block;font:9px var(--body);color:var(--dim)}.player-strip .life-tile{border-color:#b34374;background:#381b37}.life-tile b,.life-tile span{color:#ff80ae}.player-strip button:disabled{cursor:default;opacity:1}.game-nav .chip{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fort .from{font-size:10px;line-height:1.5}.token-badge{display:inline-flex;align-items:center;gap:7px;min-width:0}.token-badge img{width:26px;height:26px;object-fit:contain;border-radius:50%;background:#211935;flex-shrink:0}.token-badge span{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pass-option label{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.arena-banner{border:1px solid #784e8e;border-radius:16px;padding:18px;background:radial-gradient(ellipse at 90% 10%,#68397688,transparent 65%),linear-gradient(120deg,#2b214b,#19122c);margin-bottom:14px}.arena-banner>span{font:700 9px var(--mono);color:var(--gold);letter-spacing:.2em}.arena-banner h3{font:700 29px/1.05 var(--display);margin:10px 0 16px}.prize-line{display:flex;align-items:center;gap:12px}.prize-line>b{font:700 38px var(--display);color:var(--gold)}.prize-line>span{font-size:12px}.prize-line small{color:var(--dim);font-size:10px}.podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0}.podium-place{display:flex;align-items:center;flex-direction:column;gap:7px;text-align:center;border:1px solid var(--line);background:linear-gradient(#302345,#211932);border-radius:12px;padding:14px 5px}.podium-place .medal{font-size:30px;color:#c3b4db}.podium-place .token-badge{flex-direction:column;font-size:9px;max-width:100%}.podium-place .token-badge img{width:38px;height:38px}.podium-place .token-badge span{max-width:100%}.podium-place>b{font:700 20px var(--display);color:var(--up)}.podium-place small,.podium-place>span:last-child{font:9px var(--mono);color:var(--dim)}.place-1{border-color:var(--gold);box-shadow:0 0 25px #f7931a16}.place-1 .medal{color:var(--gold)}.rank-callout{border-left:3px solid var(--btc);padding:10px;background:#f7931a0b;font:11px var(--mono);margin-top:10px}.empty-throne{grid-column:1/-1;border:1px dashed #705288;border-radius:12px;text-align:center;padding:24px;color:var(--gold)}.your-row{background:#f7931a15}.stack-value{font-family:var(--mono);color:var(--up);font-weight:700}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.stat-grid>div{border:1px solid var(--line);background:var(--panel2);border-radius:12px;padding:14px}.stat-grid b{display:block;font:700 24px var(--display);margin-top:6px}.recent-run{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:12px 0;font:12px var(--mono)}#boards .sin{max-width:700px}#boards td{font-size:11px}#boards td .token-badge span{max-width:105px}@media(max-width:420px){.player-strip{gap:4px}.player-strip button{padding:8px 6px}.player-strip small{font-size:7px}.player-strip b{font-size:19px}.player-strip span{font-size:8px}.podium-place>b{font-size:16px}.arena-banner h3{font-size:25px}#boards td{padding:8px 4px}.token-badge span{max-width:75px!important}}

.duel-live{font:700 10px var(--mono);color:var(--up);letter-spacing:.12em}.duel-lobby{border:1px solid #705899;background:linear-gradient(130deg,#2e2143,#171329);border-radius:14px;padding:16px;margin-top:12px}.duel-lobby h3{font:700 26px var(--display);color:var(--gold);margin:10px 0}.duel-seats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.duel-seats>div{min-width:0;display:flex;flex-direction:column;gap:8px;background:#110e2288;border:1px solid var(--line);border-radius:12px;padding:14px}.duel-seats span,.duel-seats small{font:9px var(--mono);color:var(--dim)}.duel-seats b{font:700 20px var(--display)}.duel-lobby label{display:grid;gap:6px;font-size:11px}.duel-lobby .bigbtn{width:100%;margin-top:12px}.duel-lobby .bigbtn:disabled{opacity:.5}.duel-wait{padding:20px;text-align:center;max-width:420px}.duel-wait h2{font-family:var(--display)}.duel-wait>b{font:700 36px var(--mono);color:var(--gold)}.duel-connection{font-size:10px!important}
