:root{--bg: #0a0f1e;--panel: #111a30;--panel2: #18233f;--panel3: #1f2d50;--line: #2b3d6b;--line2: #3a5191;--gold: #ffd23a;--gold2: #ffb21c;--text: #eaf0ff;--muted: #8fa3d0;--green: #2fc455;--green2: #1f8f3d;--red: #e8453c;--blue: #4a90e8;--purple: #9a5af0;--radius: 14px;--font: ui-rounded, "Nunito", "Trebuchet MS", system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--text);font-family:var(--font);overflow:hidden;-webkit-user-select:none;user-select:none;touch-action:none}#stage{position:fixed;inset:0}#stage canvas{display:block;width:100%;height:100%}#hud,#screens{position:fixed;inset:0;pointer-events:none}#hud>*,#screens>*{pointer-events:auto}button,input{font-family:inherit}.panel{background:linear-gradient(180deg,var(--panel2),var(--panel));border:2px solid var(--line);border-radius:var(--radius);box-shadow:0 10px 40px #0000008c,inset 0 1px #ffffff0f}.btn{appearance:none;border:0;cursor:pointer;border-radius:12px;padding:10px 18px;font-weight:800;font-size:16px;color:#fff;background:var(--panel3);border-bottom:3px solid rgba(0,0,0,.35);transition:transform .08s,filter .15s}.btn:hover:not(:disabled){filter:brightness(1.15)}.btn:active:not(:disabled){transform:translateY(2px);border-bottom-width:1px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.green{background:linear-gradient(180deg,#3bd664,var(--green2));border-bottom-color:#146a2c;text-shadow:0 1px 0 rgba(0,0,0,.35)}.btn.gold{background:linear-gradient(180deg,#ffd23a,var(--gold2));color:#3a2a00;border-bottom-color:#a86a00}.btn.red{background:linear-gradient(180deg,#f2635a,#b8322a);border-bottom-color:#7a1f1a}.btn.ghost{background:transparent;border:2px solid var(--line2)}.icon{display:inline-block;vertical-align:-3px;width:20px;height:20px}.muted{color:var(--muted)}#fade{position:fixed;inset:0;background:#05070f;opacity:0;pointer-events:none;transition:opacity .28s ease;z-index:50}#fade.on{opacity:1;pointer-events:auto}.loading{position:fixed;inset:0;z-index:60;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:radial-gradient(ellipse at 50% 40%,#1a2a52,#070b17 70%)}.loading .bar{width:260px;height:8px;border-radius:99px;background:#0b1226;border:1px solid var(--line);overflow:hidden}.loading .bar i{display:block;height:100%;width:40%;background:linear-gradient(90deg,var(--gold),#ff8a1c);animation:slide 1.1s infinite ease-in-out}@keyframes slide{0%{margin-left:-40%}to{margin-left:100%}}.login{position:fixed;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 30%,rgba(40,70,140,.55),transparent 60%),linear-gradient(180deg,#0c1530,#060912)}.login .card{width:min(420px,calc(100vw - 32px));padding:28px 26px 24px;display:flex;flex-direction:column;gap:14px}.logo{text-align:center;font-weight:900;font-size:40px;line-height:1;letter-spacing:.5px;background:linear-gradient(180deg,#fff0a0,var(--gold) 45%,#ff8a1c);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 3px 0 #7a2a10) drop-shadow(0 0 18px rgba(255,170,40,.35))}.logo small{display:block;font-size:15px;letter-spacing:6px;color:#9fb4e8;-webkit-text-fill-color:#9fb4e8;filter:none;margin-top:8px;font-weight:800}.field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:1px}.field input{background:#0a1124;border:2px solid var(--line);border-radius:10px;color:var(--text);padding:11px 12px;font-size:16px;outline:none;-webkit-user-select:text;user-select:text}.field input:focus{border-color:var(--gold)}.btn.twitch{background:linear-gradient(180deg,#a06af5,#6a3fc4);border-bottom-color:#3f2380}.error{color:#ff8a80;font-weight:700;min-height:20px;font-size:14px;text-align:center}.sep{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:2px}.sep:before,.sep:after{content:"";flex:1;height:1px;background:var(--line)}.area{position:fixed;left:14px;top:14px;padding:8px 16px 8px 14px;font-weight:900;font-size:17px;border-radius:12px;background:linear-gradient(180deg,#141e3aeb,#0a1022eb);border:2px solid #e8eefc;box-shadow:0 6px 20px #00000073;display:flex;align-items:center;gap:8px;animation:area-in .6s ease-out}.area .dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green)}.area .sub{font-weight:700;font-size:12px;color:var(--muted);margin-left:6px}@keyframes area-in{0%{transform:translate(-30px);opacity:0}}.wallet{position:fixed;right:14px;top:14px;display:flex;gap:8px;align-items:center}.pill{display:flex;align-items:center;gap:8px;padding:6px 8px 6px 10px;border-radius:99px;background:linear-gradient(180deg,#141e3af0,#0a1022f0);border:2px solid var(--line2);font-weight:900;font-size:16px;min-width:96px;box-shadow:0 4px 14px #0006}.pill b{flex:1;text-align:left;font-variant-numeric:tabular-nums}.pill .plus{width:22px;height:22px;border-radius:50%;background:linear-gradient(180deg,#3bd664,var(--green2));display:grid;place-items:center;font-size:16px;line-height:1;color:#fff}.pill.bump{animation:bump .5s}@keyframes bump{30%{transform:scale(1.12);border-color:var(--gold)}}.gift{position:relative;width:44px;height:44px;border-radius:50%;border:2px solid var(--gold);background:linear-gradient(180deg,#2a1f4a,#150f2c);cursor:pointer;display:grid;place-items:center;font-size:22px;box-shadow:0 4px 14px #0006}.gift.ready{animation:pulse 1.4s infinite}.gift.ready:after{content:"";position:absolute;right:-2px;top:-2px;width:12px;height:12px;border-radius:50%;background:var(--red);border:2px solid #fff}@keyframes pulse{50%{box-shadow:0 0 0 7px #ffd23a2e,0 0 22px #ffd23a99}}.status{position:fixed;right:14px;top:64px;font-size:12px;font-weight:800;color:var(--muted);display:flex;gap:10px;align-items:center;text-shadow:0 1px 2px #000}.status .online:before{content:"●";color:var(--green);margin-right:5px}.conn{position:fixed;top:64px;left:50%;transform:translate(-50%);padding:8px 16px;border-radius:99px;background:#e8453ceb;font-weight:800;z-index:20}.toasts{position:fixed;top:68px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none;z-index:30}.toast{padding:9px 16px;border-radius:12px;font-weight:800;background:#0e162cf5;border:2px solid var(--line2);box-shadow:0 6px 20px #00000080;animation:toast-in .25s ease-out;max-width:80vw;text-align:center}.toast.warn{border-color:var(--red)}.toast.good{border-color:var(--green)}.toast.gold{border-color:var(--gold);color:var(--gold)}@keyframes toast-in{0%{transform:translateY(-12px);opacity:0}}.prompt{position:fixed;bottom:96px;left:50%;transform:translate(-50%);padding:10px 18px;border-radius:14px;font-weight:900;font-size:17px;background:#0c1226f0;border:2px solid var(--gold);box-shadow:0 0 20px #ffd23a4d;display:flex;gap:10px;align-items:center;cursor:pointer;animation:prompt-in .2s}.prompt kbd{background:var(--gold);color:#2a1d00;border-radius:6px;padding:1px 9px;font-weight:900}@keyframes prompt-in{0%{transform:translate(-50%,8px);opacity:0}}.hidden{display:none!important}.chat{position:fixed;left:14px;bottom:14px;width:min(360px,calc(100vw - 28px));display:flex;flex-direction:column;gap:6px}.chat .log{display:flex;flex-direction:column;gap:3px;max-height:170px;overflow:hidden;justify-content:flex-end}.chat .line{font-size:14px;font-weight:700;text-shadow:0 1px 2px #000,0 0 6px #000;padding:2px 8px;border-radius:8px;background:#080c1a8c;width:fit-content;max-width:100%;word-break:break-word;animation:toast-in .2s;transition:opacity 1s}.chat .line b{color:var(--gold);margin-right:6px}.chat .line.me b{color:#7ad6ff}.chat .line.old{opacity:.35}.chat input{background:#080c1ac7;border:2px solid var(--line);border-radius:10px;color:var(--text);padding:8px 12px;font-size:15px;font-weight:700;outline:none;width:100%;-webkit-user-select:text;user-select:text;opacity:.6;transition:opacity .2s}.chat input:focus{opacity:1;border-color:var(--gold)}.tag{position:fixed;left:0;top:0;font-size:12px;font-weight:900;color:#fff;text-shadow:0 1px 2px #000,0 0 5px #000,1px 0 0 #000,-1px 0 0 #000;white-space:nowrap;pointer-events:none;will-change:transform}.tag.me{color:#9fe0ff}.tag.jailed{color:#ff9a8a}.bubble{position:fixed;left:0;top:0;max-width:220px;padding:6px 10px;border-radius:12px;background:#fff;color:#15192b;font-size:13px;font-weight:800;pointer-events:none;box-shadow:0 4px 12px #0006;will-change:transform;z-index:5}.bubble:after{content:"";position:absolute;left:50%;bottom:-6px;width:10px;height:10px;background:#fff;transform:translate(-50%) rotate(45deg)}.dialog{position:fixed;left:50%;bottom:22px;transform:translate(-50%);width:min(640px,calc(100vw - 24px));padding:16px 20px 14px;cursor:pointer;z-index:15}.dialog h4{margin:-30px 0 8px;display:inline-block;padding:4px 16px;border-radius:10px;background:linear-gradient(180deg,#ffd23a,#ffb21c);color:#3a2a00;font-size:16px;font-weight:900}.dialog p{margin:0;font-size:18px;font-weight:700;line-height:1.45;min-height:52px}.dialog .next{position:absolute;right:16px;bottom:10px;color:var(--gold);font-weight:900;animation:blink 1s infinite}@keyframes blink{50%{opacity:.2}}.modal{position:fixed;inset:0;z-index:25;background:#04071073;display:flex}.modal .close{position:absolute;right:14px;top:12px;width:44px;height:44px;border-radius:12px;background:linear-gradient(180deg,#2a3454,#171f38);border:2px solid var(--line2);color:#fff;font-size:24px;cursor:pointer;z-index:3}.modal .close:hover{background:var(--red)}.shop{margin-left:auto;width:min(780px,100vw);height:100%;padding:12px;display:flex;flex-direction:column;gap:10px;background:linear-gradient(180deg,#0e152af7,#080d1cfa);border-left:2px solid var(--line);border-radius:18px 0 0 18px}.shop .top{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding-right:58px;min-height:44px}.shop .title{margin-right:auto;font-weight:900;font-size:20px;color:var(--gold);letter-spacing:1px;padding-left:6px}.tabs{display:grid;grid-template-columns:repeat(8,1fr);gap:6px}.tab{background:linear-gradient(180deg,#1c2849,#111a33);border:2px solid var(--line);border-radius:12px;padding:6px 2px 5px;color:var(--muted);font-weight:800;font-size:11.5px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px}.tab img{width:32px;height:32px;image-rendering:pixelated}.tab.on{border-color:#fff;color:#fff;background:linear-gradient(180deg,#2c3d70,#1a2648);box-shadow:0 0 0 1px var(--gold) inset}.shop .body{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:10px;min-height:0;flex:1}.grid-wrap{min-width:0;display:flex;flex-direction:column;gap:8px;min-height:0;padding:10px;background:#080c1a99;border:2px solid var(--line);border-radius:14px}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;flex:1;align-content:start;overflow:auto}.card{min-width:0;overflow:hidden;position:relative;background:linear-gradient(180deg,#1a2547,#101a34);border:2px solid var(--line);border-radius:12px;padding:6px 4px 5px;display:flex;flex-direction:column;align-items:center;gap:3px;cursor:pointer;aspect-ratio:1 / 1.08;justify-content:space-between;transition:transform .1s,border-color .15s}.card:hover{transform:translateY(-2px);border-color:var(--line2)}.card img{width:58px;height:58px;image-rendering:pixelated;object-fit:contain}.card .nm{font-size:11px;font-weight:800;color:var(--muted);text-align:center;line-height:1.1}.card .price{font-weight:900;font-size:14px;display:flex;align-items:center;gap:4px}.card.sel{border-color:#fff;box-shadow:0 0 0 2px var(--gold) inset}.card.eq{border-color:#fff}.card .eq-tag{font-weight:900;font-size:13px;color:#fff}.card .own{font-weight:900;font-size:13px;color:var(--green)}.card.r-rare{border-color:#3a66c4}.card.r-epic{border-color:#8a4ad8}.card.r-legendary{border-color:#e8a91c;box-shadow:0 0 12px #e8a91c4d}.card.sel.r-rare,.card.sel.r-epic,.card.sel.r-legendary{border-color:#fff}.pager{display:flex;align-items:center;justify-content:center;gap:14px;font-weight:900}.pager button{width:40px;height:34px;border-radius:10px;border:2px solid var(--line2);background:#121b36;color:#fff;font-size:18px;cursor:pointer}.side{display:flex;flex-direction:column;gap:10px;min-height:0}.box{background:#080c1a99;border:2px solid var(--line);border-radius:14px;padding:8px 10px}.box h5{margin:0 0 6px;font-size:14px;font-weight:900}.preview{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:8px}.preview canvas{width:100%;aspect-ratio:112 / 176;max-height:250px;border-radius:10px;background:radial-gradient(ellipse at 50% 92%,rgba(255,210,58,.28) 0 22%,transparent 24%),radial-gradient(ellipse at 50% 40%,#2a3a68,#101830 75%);image-rendering:pixelated}.slots{display:flex;flex-direction:column;gap:4px}.slots .s{width:44px;height:38px;border:2px solid var(--line);border-radius:9px;background:#111a34;display:grid;place-items:center}.slots .s img{width:30px;height:30px;image-rendering:pixelated;object-fit:contain}.slots .s.on{border-color:#fff}.swatches{display:flex;gap:6px}.swatches i{flex:1;height:32px;border-radius:8px;border:3px solid transparent;cursor:pointer}.swatches i.on{border-color:#fff}.buy{width:100%;padding:8px 12px;line-height:1.1;font-size:18px}.buy small{display:block;font-size:15px;margin-top:2px}.bets{margin:auto;width:min(980px,calc(100vw - 24px));max-height:calc(100vh - 24px);padding:14px;display:grid;grid-template-columns:1.4fr 1fr;gap:12px;overflow:auto}.screen{background:#05080f;border:3px solid #26365e;border-radius:12px;overflow:hidden;position:relative}.screen canvas{display:block;width:100%;aspect-ratio:16 / 9;image-rendering:pixelated}.screen .hd{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:linear-gradient(180deg,#14224a,#0b1330);font-weight:900}.live{background:var(--red);border-radius:6px;padding:2px 8px;font-size:12px;letter-spacing:1px}.live.off{background:#3a4668}.odds{display:flex;flex-direction:column;gap:6px}.odds .row{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;padding:8px 10px;border-radius:10px;border:2px solid var(--line);background:linear-gradient(180deg,#17224a,#0e1731);cursor:pointer;font-weight:800}.odds .row:hover{border-color:var(--line2)}.odds .row.sel{border-color:var(--gold);box-shadow:0 0 12px #ffd23a40}.odds .row.win{border-color:var(--green);background:linear-gradient(180deg,#17402a,#0e2a1b)}.num{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;font-weight:900;color:#fff;text-shadow:0 1px 0 rgba(0,0,0,.5)}.odds .od{color:var(--gold);font-size:18px;font-variant-numeric:tabular-nums}.stake{display:flex;gap:6px;align-items:center}.stake input{flex:1;min-width:0;background:#0a1124;border:2px solid var(--line);border-radius:10px;color:var(--text);padding:9px;font-size:18px;font-weight:900;text-align:center;outline:none;-webkit-user-select:text;user-select:text}.chips{display:flex;gap:6px;flex-wrap:wrap}.chips button{flex:1;padding:6px 8px;border-radius:9px;border:2px solid var(--line2);background:#121b36;color:#fff;font-weight:900;cursor:pointer}.timer{text-align:center;font-weight:900;font-size:15px;color:var(--muted)}.timer b{color:var(--gold);font-size:22px;font-variant-numeric:tabular-nums}.mybets{font-size:13px;font-weight:700;display:flex;flex-direction:column;gap:3px;max-height:110px;overflow:auto}.mybets .w{color:var(--green)}.mybets .l{color:#ff8a80}.fair{font-size:11px;color:var(--muted);word-break:break-all;line-height:1.3}@media(max-width:820px){.bets{grid-template-columns:1fr}.shop .body{grid-template-columns:1fr;overflow:auto}.tabs{grid-template-columns:repeat(4,1fr)}.grid{grid-template-columns:repeat(3,1fr)}.wallet .pill{min-width:0;font-size:14px}.area{font-size:14px}}.debug{position:fixed;left:14px;top:62px;font:12px/1.4 ui-monospace,Consolas,monospace;color:#9fe;background:#0000008c;padding:6px 10px;border-radius:8px;pointer-events:none}html,body{overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}body,#stage,#hud,#screens{height:100vh;height:100dvh}.touch{position:fixed;inset:0;pointer-events:none;z-index:8}.move-zone{position:absolute;left:0;top:70px;bottom:0;width:52%;pointer-events:auto;touch-action:none}.joy-base{display:none;position:fixed;left:0;top:0;width:120px;height:120px;border-radius:50%;border:3px solid rgba(255,255,255,.38);background:radial-gradient(circle,#ffffff1f,#ffffff0a);pointer-events:none}.joy-base i{position:absolute;left:50%;top:50%;width:52px;height:52px;border-radius:50%;background:#ffffff8c;box-shadow:0 2px 10px #0006;transform:translate(-50%,-50%)}.actions{position:absolute;right:calc(24px + env(safe-area-inset-right));bottom:calc(26px + env(safe-area-inset-bottom));display:flex;flex-direction:column-reverse;align-items:flex-end;gap:12px;pointer-events:none}.abtn{pointer-events:auto;touch-action:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:50%;border:3px solid var(--gold);background:radial-gradient(circle at 35% 30%,#ffd23a73,#281c008c);color:#fff;font-weight:900;box-shadow:0 6px 18px #00000080;-webkit-user-select:none;user-select:none}.abtn.big{width:92px;height:92px}.abtn.small{width:62px;height:62px;border-color:#7ab8ff;background:radial-gradient(circle at 35% 30%,#7ab8ff66,#0a143299)}.abtn .ico{font-size:30px;line-height:1}.abtn .lbl{font-size:10px;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:.3px}.abtn.small .ico{font-size:22px}.abtn.small .lbl{display:none}.abtn.down{transform:scale(.92);filter:brightness(1.3)}.sidebtns{position:fixed;right:calc(14px + env(safe-area-inset-right));top:calc(66px + env(safe-area-inset-top));display:flex;flex-direction:column;gap:8px}.sbtn{width:44px;height:44px;border-radius:12px;border:2px solid var(--line2);background:#0e162cd9;color:#fff;font-size:20px}#rotate{display:none;position:fixed;inset:0;z-index:200;background:#060a16;color:#fff;text-align:center;align-items:center;justify-content:center;font-weight:800}#rotate .ico{font-size:64px;animation:spin 2.2s ease-in-out infinite}#rotate b{display:block;font-size:22px;margin-top:10px}#rotate span{color:var(--muted);font-size:14px}@keyframes spin{0%,30%{transform:rotate(0)}60%,to{transform:rotate(-90deg)}}.play{font-size:24px;padding:16px 30px;letter-spacing:2px}body.touch-mode .status,body.touch-mode .prompt{display:none}body.touch-mode .area{left:calc(10px + env(safe-area-inset-left));top:calc(10px + env(safe-area-inset-top));font-size:14px;padding:6px 12px}body.touch-mode .wallet{right:calc(10px + env(safe-area-inset-right));top:calc(10px + env(safe-area-inset-top));gap:6px}body.touch-mode .pill{min-width:0;font-size:14px;padding:4px 6px 4px 8px}body.touch-mode .pill .plus{display:none}body.touch-mode .gift{width:38px;height:38px;font-size:18px}body.touch-mode .chat{left:calc(10px + env(safe-area-inset-left));bottom:calc(10px + env(safe-area-inset-bottom));width:min(300px,44vw);pointer-events:none;z-index:9}body.touch-mode .chat .log{max-height:84px}body.touch-mode .chat .line{font-size:12px}body.touch-mode .chat input{display:none;pointer-events:auto}body.touch-mode .chat.open input{display:block;opacity:1;font-size:16px}body.touch-mode .chat.open{position:fixed;left:10px;right:10px;width:auto;bottom:10px;z-index:30}body.touch-mode .dialog{bottom:calc(10px + env(safe-area-inset-bottom));width:min(560px,60vw);padding:12px 16px;z-index:12}body.touch-mode .dialog p{font-size:16px;min-height:40px}body.touch-mode .toasts{top:calc(56px + env(safe-area-inset-top))}body.touch-mode .modal{z-index:25}body.touch-mode .modal .close{width:48px;height:48px;right:calc(10px + env(safe-area-inset-right))}@media(orientation:portrait){body.touch-mode #rotate{display:flex}}@media(max-height:520px){.shop{width:min(100vw,700px);padding:8px;gap:6px;border-radius:0}.shop .top{min-height:34px;padding-right:60px}.shop .title{font-size:16px}.tabs{gap:4px}.tab{padding:3px 1px;font-size:10px;border-radius:9px}.tab img{width:22px;height:22px}.tab span{display:none}.shop .body{grid-template-columns:minmax(0,1fr) 190px;gap:6px}.grid-wrap{padding:6px;gap:4px}.grid{gap:5px}.tabs{grid-template-columns:repeat(8,1fr)}.grid{grid-template-columns:repeat(4,1fr)}.card{aspect-ratio:auto;padding:3px 2px;gap:1px;justify-content:flex-start}.card img{width:30px;height:30px}.card .nm{display:none}.card .price,.card .eq-tag,.card .own{font-size:11px}.side{overflow:auto}.side{gap:6px}.box{padding:5px 7px}.box h5{margin-bottom:3px;font-size:12px}.preview canvas{max-height:120px}.swatches i{height:22px}.buy{padding:6px;font-size:15px}.bets{grid-template-columns:1fr 1fr;width:100vw;max-height:100dvh;padding:8px;gap:8px;border-radius:0}.screen canvas{aspect-ratio:16 / 7}.odds .row{padding:5px 8px}.odds .od{font-size:15px}.mybets{max-height:60px}.fair{display:none}.login .card{padding:14px 18px;gap:8px}.logo{font-size:28px}.logo small{font-size:11px;letter-spacing:4px;margin-top:4px}}
