:root{--bg:#14161b;--panel:#1c2027;--panel-2:#232833;--line:#2e3542;--ink:#e8ecf3;--muted:#8a93a6;--chips:#2ec4ff;--mult:#ff5b5b;--gold:#ffce5c;--green:#57d977;--purple:#b388ff;--card-face:#f6f1e4;--card-red:#d8233c;--card-black:#20222e;--radius:14px;--num:"VT323", ui-monospace, "Cascadia Mono", Consolas, monospace;--ui:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{min-height:100%}body{font-family:var(--ui);color:var(--ink);padding:18px;background:radial-gradient(1100px 600px at 70% -10%,#1c3a30 0%,transparent 55%),radial-gradient(900px 500px at 0% 110%,#2a1d33 0%,transparent 50%),var(--bg)}a{color:inherit}.wrap{max-width:1280px;margin:0 auto;display:flex;flex-direction:column;gap:14px}.wrap.narrow{max-width:1100px}header{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.brand{display:flex;align-items:baseline;gap:10px;text-decoration:none}.brand h1{font-family:var(--num);font-size:38px;letter-spacing:1px;line-height:1;background:linear-gradient(92deg,var(--mult),var(--gold) 45%,var(--chips));-webkit-background-clip:text;background-clip:text;color:transparent}.brand .suits{font-size:20px;letter-spacing:2px}.brand .suits .r{color:var(--card-red)}.brand .suits .b{color:var(--ink)}.spacer{flex:1}.nav{display:flex;gap:8px;flex-wrap:wrap}.tab-link{padding:7px 14px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--muted);text-decoration:none;font-size:13px}.tab-link:hover{border-color:var(--purple);color:var(--ink)}.tab-link.active{color:var(--ink);border-color:var(--purple);background:#241f33}.icon-link{width:34px;height:34px;padding:0;display:inline-flex;align-items:center;justify-content:center}.icon-link svg{width:17px;height:17px;fill:currentColor}.badge{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;background:var(--panel);border:1px solid var(--line);border-radius:999px;font-size:13px;color:var(--muted);text-decoration:none}.badge b{color:var(--ink);font-weight:600}.badge.model b{color:var(--purple)}.dot{width:9px;height:9px;border-radius:50%;background:var(--muted)}.dot.live{background:var(--green);animation:pulse 1.6s infinite}@keyframes pulse{0%{opacity:1}50%{opacity:.4}to{opacity:1}}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.panel .ttl{font-size:12px;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);padding:12px 14px 0}.empty{padding:46px;text-align:center;color:var(--muted)}.muted{color:var(--muted)}.gold{color:var(--gold)}.blue{color:var(--chips)}.red{color:var(--mult)}.green{color:var(--green)}.num{font-family:var(--num)}.row-controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap}input.search{background:var(--panel-2);border:1px solid var(--line);color:var(--ink);border-radius:9px;padding:8px 12px;font-size:14px;font-family:var(--ui);min-width:200px}.toggle{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none}table{width:100%;border-collapse:collapse;font-size:14px}thead th{text-align:right;padding:11px 12px;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap}thead th.l,tbody td.l{text-align:left}tbody td{padding:11px 12px;text-align:right;border-bottom:1px solid #232833;white-space:nowrap}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#20252f}.rank{font-family:var(--num);font-size:20px;color:var(--muted);width:38px}tr.top1 .rank{color:var(--gold)}tr.top2 .rank{color:#cbd3e1}tr.top3 .rank{color:#e09b5a}a.model{font-weight:700;color:var(--ink);text-decoration:none}a.model:hover{color:var(--purple);text-decoration:underline}.sub{font-size:11px;color:var(--muted)}.bar{position:relative;height:6px;background:#11151b;border-radius:4px;margin-top:5px;overflow:hidden}.bar>span{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,var(--green),#9af0ab)}.note{font-size:12px;color:var(--muted);line-height:1.6}.note b{color:var(--ink)}.scorebadge{display:inline-flex;align-items:baseline;gap:3px;font-family:var(--num)}.scorebadge .v{font-size:24px}.scorebadge .pm{font-size:14px;color:var(--muted)}.s-hi{color:var(--green)}.s-mid{color:var(--gold)}.s-lo{color:var(--mult)}.tag{display:inline-block;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;border-radius:5px;padding:1px 6px;border:1px solid}.tag.official{color:var(--green);border-color:#2f6b43;background:#16271c}.tag.unofficial{color:var(--muted);border-color:var(--line)}.pill{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;padding:2px 8px;border-radius:6px}.pill.won{background:#173a26;color:var(--green)}.pill.lost{background:#3a1a20;color:var(--mult)}.pill.stuck{background:#33244a;color:var(--purple)}.pill.error,.pill.cap{background:#2a3340;color:var(--muted)}.grid{display:grid;grid-template-columns:1fr 360px;gap:14px;align-items:start}@media (max-width:900px){.grid{grid-template-columns:1fr}}.table-panel{padding:16px;background:radial-gradient(700px 400px at 50% -30%,rgba(46,196,255,.06),transparent 60%),linear-gradient(180deg,#1d2730,#181c22 70%)}.stats{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.stat{flex:1;min-width:88px;background:var(--panel-2);border:1px solid var(--line);border-radius:11px;padding:9px 12px}.stat .k{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted)}.stat .v{font-family:var(--num);font-size:28px;line-height:1.05;margin-top:2px}.stat .v.small{font-size:20px}.v.money{color:var(--gold)}.v.hands{color:var(--chips)}.v.disc{color:var(--mult)}.state-pill{font-size:13px;font-weight:600;padding:3px 9px;border-radius:7px;background:#2a3340;color:var(--ink);display:inline-block}.blind{display:flex;align-items:center;gap:14px;margin-bottom:8px}.blind .chip{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-size:21px;flex:none;box-shadow:inset 0 0 0 3px #ffffff26}.blind.SMALL .chip{background:radial-gradient(#7fc7ff,#2a78c2)}.blind.BIG .chip{background:radial-gradient(#ffb35c,#c2702a)}.blind.BOSS .chip{background:radial-gradient(#ff6b6b,#a01b2e)}.blind .name{font-size:16px;font-weight:700}.blind .effect{font-size:12px;color:var(--muted);margin-top:1px}.scoreband{height:26px;border-radius:8px;background:#11151b;border:1px solid var(--line);overflow:hidden;position:relative;margin:6px 0 4px}.scorefill{height:100%;width:0;background:linear-gradient(90deg,var(--chips),#6ad1ff);transition:width .4s ease}.scoreband.beaten .scorefill{background:linear-gradient(90deg,var(--green),#9af0ab)}.scoretext{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-family:var(--num);font-size:18px;text-shadow:0 1px 2px #000a}.cardrow{margin-top:14px}.cardrow>.label{font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);margin-bottom:7px;display:flex;gap:8px;align-items:center}.cards{display:flex;gap:8px;flex-wrap:wrap;min-height:84px}.cards.empty:after{content:"—";color:var(--muted);align-self:center}.pcard{width:56px;height:80px;border-radius:8px;flex:none;position:relative;background:linear-gradient(160deg,#fdf9f0,#ece2cd);color:var(--card-black);box-shadow:0 4px 8px #00000073,inset 0 0 0 1.5px #ffffffb3;font-weight:700}.pcard .rank{position:absolute;top:4px;left:6px;font-size:16px;line-height:1}.pcard .pip-sm{position:absolute;top:19px;left:7px;font-size:11px}.pcard .pip-lg{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:30px}.pcard.red{color:var(--card-red)}.pcard.black{color:var(--card-black)}.pcard .seal{position:absolute;top:4px;right:5px;width:10px;height:10px;border-radius:50%;box-shadow:inset 0 0 0 2px #0003}.pcard .enh{position:absolute;bottom:3px;left:0;right:0;text-align:center;font-size:8px;font-weight:800;color:#5a4a1a}.pcard.back{background:repeating-linear-gradient(45deg,#43356b,#43356b 5px,#2c2150 5px,#2c2150 10px);box-shadow:0 4px 8px #00000073,inset 0 0 0 2px #6b5ba8}.pcard.played{transform:translateY(-12px) scale(1.04);box-shadow:0 10px 18px #00000080,0 0 0 3px var(--gold),inset 0 0 0 1.5px #fff;z-index:2}.pcard.foil{box-shadow:0 4px 8px #00000073,inset 0 0 0 2px #6cc8ff}.pcard.holo{box-shadow:0 4px 8px #00000073,inset 0 0 0 2px #ff7ce0}.pcard.poly{box-shadow:0 4px 8px #00000073,inset 0 0 0 2px #b388ff}.jcard{width:62px;height:84px;border-radius:9px;flex:none;position:relative;padding:7px 5px 5px;color:#fff;font-size:9px;line-height:1.12;text-align:center;overflow:hidden;background:linear-gradient(155deg,#41306a,#271d44);border:1px solid #5a4a8a;box-shadow:0 4px 8px #00000073;display:flex;align-items:center;justify-content:center}.jcard.cons{background:linear-gradient(155deg,#2b5f6b,#163a44);border-color:#3f8090}.jcard .idx{position:absolute;top:3px;left:4px;font-size:9px;font-weight:800;color:#ffffff9c}.jcard .nm{font-weight:700;word-break:break-word}.jcard .ed{position:absolute;bottom:3px;left:0;right:0;font-size:7px;color:var(--gold);text-transform:uppercase}.shopgrid{display:flex;gap:16px;flex-wrap:wrap}.shopcol .label{font-size:11px;color:var(--muted);text-transform:uppercase;margin-bottom:6px}.priced{position:relative}.priced .cost{position:absolute;top:-8px;right:-6px;background:var(--gold);color:#3a2a00;font-family:var(--num);font-size:14px;padding:0 5px;border-radius:7px;box-shadow:0 2px 4px #0006}.rail{display:flex;flex-direction:column;gap:14px}.act{padding:14px 16px}.act .now{font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:var(--muted)}.act .tool{font-family:var(--num);font-size:26px;color:var(--gold);margin:2px 0}.act .args{font-family:ui-monospace,monospace;font-size:12px;color:var(--chips);word-break:break-word}.act .why{margin-top:10px;font-size:13px;line-height:1.5;border-left:3px solid var(--purple);padding-left:10px;max-height:200px;overflow:auto;white-space:pre-wrap}.act .why.illegal{border-color:var(--mult);color:#ffb3b3}.totals{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border-radius:11px;overflow:hidden}.totals .cell{background:var(--panel);padding:9px 12px}.totals .k{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}.totals .v{font-family:var(--num);font-size:22px}.stream{max-height:460px;overflow-y:auto;padding:4px 0}.thought{padding:12px 16px;border-bottom:1px solid #232833;display:grid;grid-template-columns:34px 1fr;column-gap:12px;row-gap:5px}.thought:last-child{border-bottom:0}.thought .step{grid-row:span 2;font-family:var(--num);font-size:20px;color:var(--muted)}.thought .head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.thought .head .tool{font-weight:700;color:var(--gold)}.thought .head .args{font-family:ui-monospace,monospace;font-size:12px;color:var(--chips)}.thought .head .ctx{font-size:11px;color:var(--muted)}.thought .head .tok{margin-left:auto;font-size:11px;color:var(--muted)}.thought .why{font-size:13px;line-height:1.55;color:#d7deea;border-left:2px solid #3a3450;padding-left:11px;white-space:pre-wrap}.thought.bad .head .tool{color:var(--mult)}.thought.bad .why{color:#ffb3b3;border-color:var(--mult)}.thought .why .err{display:block;color:var(--mult);font-size:12px;margin-top:6px}.thought.cur{background:#20252f}.summary{display:flex;flex-wrap:wrap;gap:1px;background:var(--line)}.kv{background:var(--panel);padding:10px 14px;flex:1;min-width:96px;font-size:12px;color:var(--muted)}.kv b{display:block;color:var(--ink);font-size:16px;margin-top:3px;font-weight:700}.hist{display:flex;align-items:flex-end;gap:4px;height:120px;padding:10px 14px}.hist .col{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px;height:100%}.hist .col .b{width:100%;background:linear-gradient(180deg,var(--purple),#6d52c0);border-radius:4px 4px 0 0;min-height:2px}.hist .col .n{font-family:var(--num);font-size:13px;color:var(--muted)}.hist .col .x{font-size:9px;color:var(--muted)}.scrub{display:flex;align-items:center;gap:10px;padding:12px 16px;flex-wrap:wrap}.scrub input[type=range]{flex:1;min-width:160px;accent-color:var(--purple)}.btn{background:var(--panel-2);border:1px solid var(--line);color:var(--ink);border-radius:8px;padding:6px 12px;cursor:pointer;font-size:13px}.btn:hover{border-color:var(--purple)}.btn:disabled{opacity:.4;cursor:default}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#08090cc7;display:grid;place-items:center;z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.result{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:28px 42px;text-align:center;box-shadow:0 20px 60px #000a}.result .big{font-family:var(--num);font-size:60px;line-height:1}.result.win .big{color:var(--green)}.result.lose .big{color:var(--mult)}.result .lab{color:var(--muted);margin-top:6px;letter-spacing:1px;text-transform:uppercase;font-size:12px}.result .sub{margin-top:12px;font-size:15px}.prose{padding:20px 22px;line-height:1.65;font-size:14px}.prose h2{font-size:18px;margin:18px 0 8px}.prose h2:first-child{margin-top:0}.prose code{background:var(--panel-2);border:1px solid var(--line);border-radius:5px;padding:1px 6px;font-size:13px}.prose ul{margin:8px 0 8px 20px}.prose li{margin:4px 0}.prose a{color:var(--chips)}.foot{color:var(--muted);text-align:center;font-size:12px;padding:8px}
