:root{--color-bg: #0b0f14;--color-panel: #0e1723;--color-panel-deep: #0a101c;--color-border: #111826;--color-border-strong: #18263c;--color-accent: #39ff14;--color-accent-weak: #2ea34a;--color-text: #d7e1ec;--color-muted: #7a8a99;--color-text-strong: #c2ffd1;--color-text-accent: #9bffc2;--color-win: #ffd700;--color-danger: #ff3b3b;--color-pink: #ff2ca3;--color-yellow: #ffe600;--color-cyan: #00ffff;--bg: var(--color-bg);--panel: var(--color-panel);--accent: var(--color-accent);--text: var(--color-text);--muted: var(--color-muted);--win: var(--color-win);--loss: var(--color-danger);--neon-pink: var(--color-pink);--neon-yellow: var(--color-yellow);--neon-cyan: var(--color-cyan)}:root{--panel-border: var(--color-border);--panel-border-strong: var(--color-border-strong);--panel-deep: var(--color-panel-deep);--text-strong: var(--color-text-strong);--accent-weak: var(--color-accent-weak);--panel-dark: #0f1826;--panel-line: var(--color-border-strong);--wheel-prize: var(--color-win);--wheel-upgrade: var(--neon-pink);--wheel-progressive: var(--color-danger);--bonus-multiplier: var(--color-accent);--bonus-rolls: var(--color-accent-weak);--bonus-jackpot: var(--color-danger);--symbol-low-bg: #0f2418;--symbol-mid-bg: #10243a;--symbol-high-bg: #2a0f27;--symbol-great-bg: #1c1140;--symbol-amazing-bg: #2e1b04;--symbol-wild-bg: #0f2f29;--symbol-jackpot-bg: #142a0e;--symbol-high-halo: #ff2ca3;--symbol-great-halo: #9d63ff;--symbol-amazing-halo: #ffd24a;--symbol-jackpot-halo: var(--accent);--symbol-low-border: var(--panel-border-strong);--symbol-mid-border: var(--panel-border-strong);--symbol-high-border: var(--panel-border-strong);--symbol-great-border: var(--panel-border-strong);--symbol-amazing-border: var(--panel-border-strong);--symbol-wild-border: var(--panel-border-strong);--symbol-jackpot-border: var(--accent-weak);--symbol-low-stroke: #2ea34a;--symbol-mid-stroke: #2ea3ff;--symbol-high-stroke: #ff2ca3;--symbol-great-stroke: #9d63ff;--symbol-amazing-stroke: #ffd24a;--symbol-low-text: var(--text-strong);--symbol-mid-text: var(--text-strong);--symbol-high-text: var(--text-strong);--symbol-great-text: var(--text-strong);--symbol-amazing-text: var(--text-strong);--symbol-wild-text: var(--text-strong);--symbol-jackpot-text: var(--text-strong);--glow-green-weak: rgba(57, 255, 20, .1);--glow-green-med: rgba(57, 255, 20, .25);--glow-green-strong: rgba(57, 255, 20, .45);--glow-pink-med: rgba(255, 44, 163, .25);--glow-yellow-med: rgba(255, 230, 0, .25);--scanline-green: rgba(57, 255, 20, .035);--button-bg: #121c2c;--button-border: #22324a;--spin-start: #17361d;--spin-end: #0e2313;--spin-inner: #2a5e33;--panel-inner-border: #16301b;--danger-bg: #2a1111;--danger-border: #5a1c1c;--danger-text: #ffb9b9;--text-normal: #e3ffef;--text-accent: #9bffc2;--text-accent-weak: #7bffac}#hackOverlay{position:fixed;inset:0;background:radial-gradient(ellipse at center,#00140ab3,#000a05f5 60%);color:var(--text-accent);display:none;z-index:50}#hackOverlay.show{display:block}#hackOverlay .panel{position:absolute;right:20px;top:20px;bottom:20px;width:min(760px,92vw);background:#060e0ab3;border:1px solid var(--panel-border);border-radius:12px;overflow:auto;padding:12px;box-shadow:0 8px 60px #000000a6 inset}#hackOverlay h2{margin:0 0 8px;font-size:18px;letter-spacing:.05em}#hackOverlay .tabs{display:inline-flex;gap:8px;margin:6px 0 10px}#hackOverlay .tabs button{padding:6px 10px;border:1px solid var(--accent-weak);background:#0a161099;color:var(--text-strong);border-radius:999px;cursor:pointer}#hackOverlay .tabs button.active{background:var(--spin-start);box-shadow:0 0 14px #39ff1440}#hackOverlay.cat-passive .grid2 [data-cat~=upgrades],#hackOverlay.cat-passive .grid2 [data-cat~=tools],#hackOverlay.cat-upgrades .grid2 [data-cat~=passive],#hackOverlay.cat-upgrades .grid2 [data-cat~=tools],#hackOverlay.cat-tools .grid2 [data-cat~=passive],#hackOverlay.cat-tools .grid2 [data-cat~=upgrades]{display:none!important}#hackOverlay .grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}#hackOverlay .col{display:flex;flex-direction:column;gap:10px}#hackOverlay.cat-passive .grid2,#hackOverlay.cat-upgrades .grid2,#hackOverlay.cat-tools .grid2{grid-template-columns:1fr}#hackOverlay.cat-passive .col.hacks,#hackOverlay.cat-upgrades .col.passive,#hackOverlay.cat-tools .col.passive{display:none}#hackOverlay .section{padding:10px 12px;margin:10px 0;background:#0a1410b3;border:1px solid var(--accent-weak);border-radius:8px}#hackOverlay .row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px dashed var(--glow-green-weak)}#hackOverlay .row:last-child{border-bottom:none}#hackOverlay .row .desc{font-size:13px;color:var(--text-accent-weak)}#hackOverlay .row .price{font-variant-numeric:tabular-nums;color:var(--text-mint, #b9ffd0)}#hackOverlay .row button{background:var(--spin-start);border-color:var(--accent-weak);color:var(--text-strong)}#hackOverlay .close{position:absolute;right:14px;top:10px;opacity:.8;cursor:pointer}#hackOverlay #shopList{display:flex;flex-direction:column;gap:8px}#hackOverlay .shop-item{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:6px 8px;background:#08120eb3;border:1px solid #0a4d2a;border-radius:8px}#hackOverlay .shop-item .title{font-weight:700;color:var(--text-strong)}#hackOverlay .shop-item .count{color:var(--text-accent);font-variant-numeric:tabular-nums}#hackOverlay .shop-item .price{color:var(--text-mint, #b9ffd0);font-variant-numeric:tabular-nums;margin-left:6px}#hackOverlay .shop-item .buy{background:var(--spin-start);border-color:var(--accent-weak);color:var(--text-strong);border-radius:999px;padding:6px 10px}#hackOverlay .prog{grid-column:1/-1;height:8px;border:1px solid var(--accent-weak);border-radius:999px;background:#060e0a99;overflow:hidden;position:relative}#hackOverlay .prog .bar{height:100%;width:0%;background:linear-gradient(90deg,var(--accent-weak),var(--accent));box-shadow:0 0 14px #39ff1459}#betModal{position:fixed;inset:0;display:none;place-items:center;z-index:90;background:radial-gradient(ellipse at center,#000a068c,#000604eb 60%)}#betModal.show{display:grid}#betModal .panel{width:min(360px,90vw);background:#060e0abf;border:1px solid var(--panel-inner-border);border-radius:12px;padding:14px;box-shadow:0 12px 90px #000000a6 inset}#betDisplay{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:22px;font-weight:800;color:var(--text-strong);background:var(--panel);border:1px solid var(--panel-border-strong);border-radius:8px;padding:10px 12px;text-align:right;margin-bottom:10px}.keypad{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.keypad button{background:var(--button-bg);color:var(--text-strong);border:1px solid var(--button-border);border-radius:8px;padding:12px 0;font-weight:800;cursor:pointer}.keypad button.primary{background:var(--spin-start);border-color:var(--accent-weak)}.keypad button.danger{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-text)}.keypad button.large{display:none}.keypad.show-large button.large{display:block}#winOverlay{position:fixed;inset:0;z-index:80;display:none;place-items:center;background:radial-gradient(ellipse at center,#000a06a6,#000604eb 60%);backdrop-filter:blur(2px)}#winOverlay.show{display:grid}#winOverlay .content{text-align:center;padding:24px 28px;border-radius:16px;border:1px solid var(--panel-line);background:#060e0a8c;box-shadow:0 12px 80px #0009 inset,0 0 60px #39ff141f}#winTitle{font-size:42px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--text-normal);text-shadow:0 0 18px var(--glow-green-med)}#winAmount{font-size:56px;font-weight:900;margin-top:8px;color:var(--accent);text-shadow:0 0 22px var(--glow-green-med),0 0 6px var(--glow-green-strong)}#winHint{margin-top:10px;color:var(--text-accent);opacity:.8;font-size:14px}header{display:flex;gap:16px;padding:12px 16px;align-items:center;background:linear-gradient(180deg,var(--panel-dark),var(--bg));border-bottom:1px solid var(--panel-border);position:sticky;top:0;z-index:20}header .brand{min-width:20ch}header .brand{font-weight:700;letter-spacing:.5px}header .brand.terminal{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-weight:800;letter-spacing:.02em;display:flex;align-items:center}header .brand.terminal .prompt{color:var(--accent);margin-right:6px}header .brand.terminal .cmd{color:var(--text-strong);display:inline-block;white-space:nowrap;overflow:hidden;width:0ch;animation:typing 1.6s steps(13,end) .3s forwards}header .brand.terminal .cursor{display:inline-block;width:8px;height:1.1em;background:var(--accent);margin-left:6px;border-radius:2px;animation:blink 1s steps(1,end) infinite}@media (prefers-reduced-motion: reduce){header .brand.terminal .cmd{width:auto;animation:none}header .brand.terminal .cursor{animation:none}}header .stat{background:var(--panel);border:1px solid var(--panel-border);border-radius:8px;padding:8px 12px;display:flex;align-items:center;gap:10px;white-space:nowrap}header .stat .label{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.1em}header .stat .value{font-variant-numeric:tabular-nums;min-width:12ch;display:inline-block;text-align:right}header .controls{margin-left:12px;display:flex;align-items:center;gap:10px}#jackpotBanner{flex:1 1 auto;display:flex;align-items:center;justify-content:center;gap:10px;margin:0 12px;min-width:260px}#jackpotBanner .jp{display:inline-flex;align-items:baseline;gap:6px;padding:6px 10px;border-radius:999px;background:#060e0aa6;border:1px solid var(--accent-weak);box-shadow:0 0 16px #39ff1426 inset,0 0 12px #39ff141a;animation:jpPulse 2.8s ease-in-out infinite}#jackpotBanner .jp .label{color:var(--text-accent);font-size:11px;letter-spacing:.08em;text-transform:uppercase}#jackpotBanner .jp .value{color:var(--accent);font-weight:900;font-variant-numeric:tabular-nums;text-shadow:0 0 12px var(--glow-green-strong),0 0 4px var(--glow-green-med)}#hackBtn{background:radial-gradient(120% 120% at 50% 10%,var(--neon-pink),#0b0f1b);border-color:var(--panel-border-strong);color:var(--text-strong);font-size:16px;font-weight:800;letter-spacing:.08em;padding:10px 16px;border-radius:999px;text-transform:uppercase;box-shadow:0 8px 24px #00000059,inset 0 0 12px #2d3f6a40;position:relative;overflow:hidden}#hackBtn:after{content:"";position:absolute;left:-20%;top:-150%;width:140%;height:400%;background:repeating-linear-gradient(180deg,#00ff3c0f 0 2px,#0000 2px 4px);transform:rotate(10deg);pointer-events:none}#hackBtn:hover{border-color:var(--accent);color:var(--text-strong);box-shadow:0 0 0 1px var(--panel-inner-border) inset,0 0 18px var(--glow-green-med);text-shadow:0 0 8px var(--glow-green-med)}.hamburger{display:none;padding:8px 12px;border-radius:8px;border:1px solid var(--panel-border-strong);background:var(--panel);color:var(--text-strong);font-weight:800}body.compact header{gap:10px}body.compact header #jackpotBanner{display:none}body.compact header .controls{display:none}body.compact header .stat:has(#lastWin){display:none}body.compact header .hamburger{display:inline-flex;margin-left:auto}button{background:var(--button-bg);color:var(--text);border:1px solid var(--button-border);border-radius:8px;padding:10px 14px;font-weight:600;cursor:pointer}button:hover{border-color:var(--accent);box-shadow:0 0 0 1px var(--panel-inner-border) inset,0 0 12px #39ff1426}#spinBtn{background:linear-gradient(180deg,var(--spin-start),var(--spin-end));border-color:var(--accent-weak);color:var(--text-strong)}#spinBtn:hover{box-shadow:0 0 0 1px var(--spin-inner) inset,0 0 18px #39ff1440}.content{display:grid;grid-template-columns:repeat(12,1fr);gap:12px;padding:16px;align-items:center}.left-panel{grid-column:2/span 1;background:var(--panel);border:1px solid var(--panel-border);border-radius:12px;padding:12px;display:block;box-shadow:0 0 0 1px var(--panel-inner-border) inset}.left-panel h3{margin:6px 0 8px}.stage{grid-column:3/span 8;background:var(--panel);border:1px solid var(--panel-border);border-radius:12px;position:relative;overflow:hidden;box-shadow:0 0 0 1px var(--panel-inner-border) inset,0 0 16px var(--glow-green-weak);animation:stagePulse 3.2s ease-in-out infinite;min-height:800px;height:86vh}.stage:after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(180deg,var(--scanline-green) 0,var(--scanline-green) 2px,rgba(0,0,0,0) 3px,rgba(0,0,0,0) 6px),radial-gradient(ellipse at center,var(--glow-green-weak) 0%,rgba(0,0,0,0) 65%);mix-blend-mode:screen;opacity:.6;animation:scanSweep 8s linear infinite}#game-canvas{position:absolute;inset:0;width:100%;height:100%}.toast{position:absolute;top:12px;left:50%;transform:translate(-50%);padding:10px 16px;background:#0f1e12cc;border:1px solid var(--accent-weak);color:var(--text-strong);border-radius:999px;box-shadow:0 6px 32px #00000059;backdrop-filter:blur(6px);display:none;z-index:15}#doubleRollToast{font-size:18px;font-weight:900;letter-spacing:.06em;padding:12px 20px;color:var(--text-normal);text-shadow:0 0 10px rgba(57,255,20,.4);box-shadow:0 6px 32px #00000073,0 0 22px var(--glow-green-med);border-color:var(--accent-weak);background:#0f1e12e6}.toast.show{display:inline-flex;animation:pop .8s ease}@media (max-width: 1280px),(max-height: 820px){.stage{min-height:680px;height:84vh}}@media (max-width: 1100px),(max-height: 760px){.stage{min-height:560px;height:80vh}}body.compact .content{grid-template-columns:1fr 4fr;grid-template-areas:"stage stage" "legend stats";align-items:start}body.compact .stage{grid-area:stage;min-height:0;height:auto}body.compact .left-panel{grid-area:legend;order:0;max-height:40vh;overflow:auto}body.compact .sidebar{grid-area:stats}.sidebar{grid-column:11/span 2;background:var(--panel);border:1px solid var(--panel-border);border-radius:12px;padding:12px;max-width:420px}body.compact .sidebar{grid-area:stats;max-width:none;margin-top:0}#stats.stats-grid{display:grid;grid-template-columns:1fr auto auto;gap:6px 10px;align-items:baseline}#stats.stats-grid .hdr{grid-column:1/-1;color:var(--text-accent-weak);margin-bottom:6px}#stats.stats-grid .name{color:var(--text-normal)}#stats.stats-grid .count{color:var(--text-accent);font-variant-numeric:tabular-nums}#stats.stats-grid .ips{color:var(--text-strong);font-variant-numeric:tabular-nums}#legend{display:grid;grid-template-columns:28px 1fr;gap:6px 8px;align-items:center;margin-top:10px}#legend .tile{width:26px;height:26px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;font-weight:900;font-size:14px;border:1px solid var(--panel-inner-border)}#legend .name{color:var(--text-accent);font-size:13px}.sound-ctrl{margin-top:12px}.sound-ctrl .pill{display:inline-flex;align-items:center;justify-content:center;padding:6px 12px;border-radius:999px;background:var(--panel);border:1px solid var(--panel-border-strong);color:var(--text-strong);font-weight:800;letter-spacing:.04em;box-shadow:0 8px 24px #00000059}.sound-ctrl .pill:hover{border-color:var(--accent-weak);box-shadow:0 0 0 1px var(--panel-inner-border) inset,0 0 14px #39ff1426}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes typing{0%{width:0ch}to{width:13ch}}@keyframes jpPulse{0%{filter:drop-shadow(0 0 0 rgba(57,255,20,0))}50%{filter:drop-shadow(0 0 10px var(--glow-green-med))}to{filter:drop-shadow(0 0 0 rgba(57,255,20,0))}}@keyframes scanSweep{0%{background-position:0 -100%,0 0}to{background-position:0 100%,0 0}}@keyframes stagePulse{0%{box-shadow:0 0 0 1px var(--panel-inner-border) inset,0 0 8px #39ff140d,0 0 #39ff1400}50%{box-shadow:0 0 0 1px var(--accent-weak) inset,0 0 22px #39ff1433,0 0 60px #39ff140f}to{box-shadow:0 0 0 1px var(--panel-inner-border) inset,0 0 8px #39ff140d,0 0 #39ff1400}}@keyframes pop{0%{transform:translate(-50%) scale(.9);opacity:0}40%{transform:translate(-50%) scale(1.05);opacity:1}to{transform:translate(-50%) scale(1);opacity:1}}@keyframes spinGlow{0%{filter:drop-shadow(0 0 0 rgba(57,255,20,0))}50%{filter:drop-shadow(0 0 12px var(--glow-green-strong))}to{filter:drop-shadow(0 0 0 rgba(57,255,20,0))}}.theme-party{--accent: #5aff28;--accent-weak: #3bd15f;--glow-green-weak: rgba(57, 255, 20, .16);--glow-green-med: rgba(57, 255, 20, .35);--glow-green-strong: rgba(57, 255, 20, .6)}.theme-crt{--panel: #0b1220;--panel-dark: #0a0f1a;--scanline-green: rgba(57, 255, 20, .06)}*{box-sizing:border-box}html,body{height:100%;margin:0;background:var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,"Apple Color Emoji","Segoe UI Emoji"}.shell{display:grid;grid-template-rows:auto 1fr;height:100%}.control-panel{display:none}.control-panel .session-total{background:var(--panel);border:1px solid var(--panel-border-strong);padding:10px 12px;border-radius:8px;color:var(--text-strong);font-weight:800;text-align:center}.control-panel .bet-row{display:inline-flex;gap:8px;align-items:center;background:var(--panel);border:1px solid var(--panel-border-strong);padding:6px 10px;border-radius:999px;box-shadow:0 8px 24px #00000059;justify-content:center}.control-panel .bet-row #bet{min-width:64px;text-align:center;display:inline-block}.control-panel .sub-row{display:flex;gap:10px;align-items:center;justify-content:center}.control-panel .spin-btn{font-size:20px;padding:14px 26px;border-radius:999px;background:radial-gradient(120% 120% at 50% 10%,var(--spin-start),var(--spin-end));border:1px solid var(--accent-weak);color:var(--text-normal);text-shadow:0 1px 0 #183920;box-shadow:0 10px 36px #00000073,inset 0 0 18px #39ff141f;cursor:pointer;width:100%}.control-panel .spin-btn:hover{animation:spinGlow 1.4s ease-in-out infinite;box-shadow:0 12px 42px #39ff1459,inset 0 0 24px #39ff1433;transform:translateY(-1px)}.control-panel .spin-btn:disabled{opacity:.6;filter:grayscale(.2);animation:none}.control-panel .rolls-badge{background:var(--panel-deep);border:1px solid var(--accent-weak);color:var(--text-strong);padding:6px 10px;border-radius:999px;font-weight:700}.control-panel .switch{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:var(--panel);border:1px solid var(--panel-border-strong);border-radius:999px}#columnsGrid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:8px}#columnsGrid .col{padding:8px;text-align:center;background:#08120eb3;border:1px solid var(--panel-inner-border);border-radius:6px;cursor:pointer}#columnsGrid .col.active{outline:2px solid var(--accent)}.symbol-pill{display:inline-block;margin:4px;padding:6px 8px;border-radius:999px;border:1px solid var(--panel-inner-border);cursor:pointer}.symbol-pill.active{border-color:var(--accent);background:#39ff141a}.hint{color:var(--muted);font-size:12px}
