@font-face{font-family:Fredoka;src:url("./assets/fredoka-500-DGHJFZKU.ttf") format("truetype");font-style:normal;font-weight:500;font-display:swap}@font-face{font-family:Fredoka;src:url("./assets/fredoka-600-MINKPGNG.ttf") format("truetype");font-style:normal;font-weight:600;font-display:swap}@font-face{font-family:Fredoka;src:url("./assets/fredoka-700-BXT7TFNZ.ttf") format("truetype");font-style:normal;font-weight:700;font-display:swap}@font-face{font-family:Fredoka;src:url("./assets/fredoka-700-BXT7TFNZ.ttf") format("truetype");font-style:normal;font-weight:800;font-display:swap}:root{--color-bg: #0d1114;--color-bg-panel: #171d20;--color-bg-panel-alt: #20282c;--color-border-thick: #344047;--color-blue: #42d9e8;--color-blue-dark: #218e9e;--color-blue-deep: #073a5c;--color-purple: #a889d8;--color-purple-dark: #66518b;--color-purple-deep: #3d1177;--color-green: #78d39a;--color-green-dark: #39815a;--color-green-deep: #0f5c20;--color-magenta: #ff2ec4;--color-magenta-dark: #b0148c;--color-red: #ff3b3b;--color-red-dark: #b31c1c;--color-warning: var(--color-red);--color-text-primary: #edf2ef;--color-text-secondary: #b8c4c2;--color-text-muted: #7f9293;--scrollbar-track: #0a101b;--scrollbar-thumb: #40506b;--scrollbar-thumb-hover: #587092;--radius-sm: 3px;--radius-md: 5px;--radius-lg: 6px;--font-display: "Fredoka", "Segoe UI", system-ui, sans-serif;--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--shadow-hard-size: 2px;color-scheme:dark}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:var(--scrollbar-track);box-shadow:inset 0 0 0 1px #17243a}*::-webkit-scrollbar-thumb{min-width:28px;min-height:28px;background:var(--scrollbar-thumb);border:2px solid var(--scrollbar-track);border-radius:0}*::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}*::-webkit-scrollbar-corner{background:var(--scrollbar-track)}html,body{height:100%}body{margin:0;font-family:var(--font-display);font-weight:500;color:var(--color-text-primary);background:var(--color-bg);min-height:100vh;line-height:1.5;-webkit-font-smoothing:antialiased;cursor:url("./assets/cursor-DPBC6KXG.png") 0 0,auto;user-select:none;-webkit-user-select:none;-ms-user-select:none;overscroll-behavior:none}h1,h2,h3,h4,dl,dd,p,ul,ol{margin:0}ul,ol{padding:0;list-style:none}button{font-family:inherit;cursor:url("./assets/cursor-DPBC6KXG.png") 0 0,auto;color:inherit;touch-action:manipulation}button:disabled{opacity:.5}input{font-family:inherit}input[type=checkbox],label[for]{cursor:url("./assets/cursor-DPBC6KXG.png") 0 0,auto}a{color:var(--color-blue)}.skip-link{position:absolute;left:-999px;top:0;background:var(--color-blue);color:#05070f;padding:10px 16px;border-radius:var(--radius-sm);font-weight:700;z-index:1000}.skip-link:focus{left:12px;top:12px}:focus-visible{outline:3px solid var(--color-blue);outline-offset:2px;border-radius:var(--radius-sm)}.empty-state{color:var(--color-text-muted);font-size:.9rem;padding:8px 0}.panel-heading,.brand-title{font-weight:800;letter-spacing:.02em;color:#fff;text-shadow:none}.panel-heading{font-size:1.1rem}.brand-title{font-size:1.3rem}.panel-heading,.brand-title{text-shadow:1px 0 #000,-1px 0 #000,0 1px #000,0 -1px #000}.panel-subheading{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary);margin:18px 0 8px}:root{--color-bg:#080b12;--color-bg-panel:#111827;--color-bg-panel-alt:#182235;--color-border-thick:#33415c;--color-blue:#49d9ff;--color-blue-dark:#1689a8;--color-purple:#c27cff;--color-purple-dark:#7134a0;--color-green:#55e6a5;--color-green-dark:#25815e;--color-magenta:#ff4fc8;--color-red:#ff5572;--color-text-primary:#f2f6ff;--color-text-secondary:#aab8d0;--color-text-muted:#71809a;--radius-sm:0px;--radius-md:0px;--radius-lg:0px;--font-display:"Consolas","Courier New",monospace}html,body{image-rendering:pixelated}body{background-color:var(--color-bg);background-image:linear-gradient(180deg,#0b1020,#080b12);font-family:var(--font-display);letter-spacing:.02em}button,input{font-family:var(--font-display)}:focus-visible{outline:2px solid var(--color-blue);outline-offset:2px;border-radius:0}.panel-heading,.brand-title{text-shadow:2px 0 #05070b,0 2px #05070b;letter-spacing:.08em}@font-face{font-family:PressStart;src:url("./assets/PressStart2P-Regular-NYWAXEP2.ttf") format("truetype");font-display:swap}:root{--ink:#070a12;--cabinet:#0d1323;--cabinet-2:#121c31;--line:#2b4163;--cyan:#55e6ff;--mint:#66f0b0;--violet:#c88cff;--font-pixel:PressStart,"Courier New",monospace;--font-body:"Courier New",Consolas,monospace}body{font-family:var(--font-body);background:radial-gradient(circle at 50% -10%,#172746 0,#080c16 52%,#05070d);color:#e7f3ff}.brand-title,.panel-heading,.header-btn,.spin-button,.auto-spin-button,.credits-display-value,.won-ball-name,.upgrade-tab-btn,.upgrade-buy-btn,.modal-dialog h2,.modal-dialog h3,.mobile-spin-button,.mobile-auto-spin-button{font-family:var(--font-pixel);letter-spacing:.05em}.brand-title{font-size:clamp(.9rem,2vw,1.35rem);color:var(--cyan);text-shadow:3px 3px 0 #06101c}.top-bar,.panel,.board-panel{background:linear-gradient(145deg,var(--cabinet-2),var(--cabinet));border:2px solid var(--line);box-shadow:5px 5px 0 var(--ink);border-radius:0}.top-bar{padding:12px 16px;position:relative}.top-bar:before{content:"";position:absolute;inset:4px;border:1px solid rgba(85,230,255,.14);pointer-events:none}.header-actions{gap:6px;flex-wrap:wrap}.header-btn{font-size:.58rem;padding:9px 10px;background:#182642!important;border:2px solid #395579!important;box-shadow:3px 3px #05070b!important;color:#d9f7ff;text-transform:uppercase}.header-btn:hover{color:#fff;border-color:var(--cyan)!important}.panel-heading{font-size:.72rem;text-transform:uppercase;color:var(--cyan);background:#162543!important;border-bottom:2px solid var(--line)!important}[data-pixel-icon]:before{content:"";width:10px;height:10px;display:inline-block;background:currentColor;box-shadow:3px 0 currentColor,0 3px currentColor,3px 3px currentColor;opacity:.9;vertical-align:-1px;margin-right:7px;flex:0 0 auto}[data-pixel-icon=coin]:before{border:2px solid currentColor;background:transparent;box-shadow:none;width:8px;height:8px}.header-btn,.credits-display-label,.mobile-credit span,.upgrade-tab-btn{display:inline-flex;align-items:center;min-width:0}.upgrade-card{display:grid;min-width:0;overflow:hidden}.upgrade-card>*{min-width:0}[data-pixel-icon=trophy]:before{clip-path:polygon(0 0,100% 0,100% 55%,75% 55%,75% 78%,62% 78%,62% 100%,38% 100%,38% 78%,25% 78%,25% 55%,0 55%)}[data-pixel-icon=quest]:before{clip-path:polygon(0 0,100% 0,100% 70%,65% 70%,50% 100%,50% 70%,0 70%)}[data-pixel-icon=chart]:before{clip-path:polygon(0 100%,0 65%,25% 65%,25% 35%,50% 35%,50% 0,75% 0,75% 100%)}[data-pixel-icon=note]:before{clip-path:polygon(0 0,100% 0,100% 78%,72% 78%,72% 100%,0 100%)}[data-pixel-icon=gear]:before{clip-path:polygon(30% 0,70% 0,70% 20%,100% 20%,100% 70%,70% 70%,70% 100%,30% 100%,30% 70%,0 70%,0 20%,30% 20%)}[data-pixel-icon=token]:before{clip-path:polygon(25% 0,75% 0,100% 25%,75% 100%,25% 100%,0 25%)}[data-pixel-icon=skill]:before{clip-path:polygon(50% 0,62% 35%,100% 35%,70% 57%,82% 100%,50% 73%,18% 100%,30% 57%,0 35%,38% 35%)}[data-pixel-icon=ball]:before{border-radius:50%;box-shadow:inset 2px 0 currentColor,3px 0 currentColor,0 3px currentColor;width:9px;height:9px}[data-pixel-icon=luck]:before{clip-path:polygon(50% 0,62% 35%,100% 35%,70% 57%,82% 100%,50% 73%,18% 100%,30% 57%,0 35%,38% 35%)}[data-pixel-icon=table]:before{clip-path:polygon(0 0,100% 0,100% 20%,60% 20%,60% 100%,40% 100%,40% 20%,0 20%)}[data-pixel-icon=spin]:before{border:2px solid currentColor;border-right-color:transparent;border-radius:50%;background:transparent;box-shadow:none;width:8px;height:8px}[data-pixel-icon=rebirth]:before{clip-path:polygon(0 25%,60% 25%,60% 0,100% 50%,60% 100%,60% 75%,0 75%)}.reel-item,[data-rarity-pattern],.recent-drop,.rarity-card{position:relative;overflow:hidden}.reel-item:after,[data-rarity-pattern]:after,.recent-drop:after,.rarity-card:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.18;background-size:8px 8px;background-image:var(--pattern)}[data-rarity-pattern=common],[data-rarity-pattern=dot]{--pattern:radial-gradient(currentColor 1px,transparent 1.5px)}[data-rarity-pattern=uncommon],[data-rarity-pattern=stripe]{--pattern:repeating-linear-gradient(135deg,currentColor 0 2px,transparent 2px 7px)}[data-rarity-pattern=rare],[data-rarity-pattern=checker]{--pattern:radial-gradient(circle at 18% 24%,currentColor 0 1px,transparent 1.5px),radial-gradient(circle at 80% 34%,currentColor 0 1px,transparent 1.5px),radial-gradient(circle at 64% 82%,currentColor 0 1px,transparent 1.5px)}[data-rarity-pattern=epic],[data-rarity-pattern=diamond]{--pattern:linear-gradient(45deg,transparent 42%,currentColor 43% 57%,transparent 58%),linear-gradient(-45deg,transparent 42%,currentColor 43% 57%,transparent 58%)}[data-rarity-pattern=legendary],[data-rarity-pattern=crosshatch]{--pattern:repeating-linear-gradient(45deg,currentColor 0 1px,transparent 1px 6px),repeating-linear-gradient(-45deg,currentColor 0 1px,transparent 1px 6px)}[data-rarity-pattern=mythic],[data-rarity-pattern=star],[data-rarity-pattern=speckle]{--pattern:radial-gradient(currentColor 1px,transparent 2px)}.skill-tree-board .skill-node{border-radius:0!important;clip-path:polygon(25% 0,75% 0,100% 25%,100% 75%,75% 100%,25% 100%,0 75%,0 25%);font-family:var(--font-pixel);font-size:.62rem}.skill-tree-board .skill-node:before{content:attr(data-skill-icon);font-family:var(--font-pixel);font-size:.62rem;color:currentColor}[data-rarity-pattern=solid]{--pattern:none}[data-rarity-pattern=hatch]{--pattern:repeating-linear-gradient(45deg,currentColor 0 1px,transparent 1px 6px)}[data-rarity-pattern=dither]{--pattern:radial-gradient(currentColor 1px,transparent 1.5px)}[data-rarity-pattern=check]{--pattern:radial-gradient(circle at 18% 24%,currentColor 0 1px,transparent 1.5px),radial-gradient(circle at 80% 34%,currentColor 0 1px,transparent 1.5px),radial-gradient(circle at 64% 82%,currentColor 0 1px,transparent 1.5px)}[data-rarity-pattern=cross]{--pattern:linear-gradient(45deg,transparent 42%,currentColor 43% 57%,transparent 58%),linear-gradient(-45deg,transparent 42%,currentColor 43% 57%,transparent 58%)}[data-rarity-pattern=burst]{--pattern:conic-gradient(from 0deg,transparent 0 10%,currentColor 10% 14%,transparent 14% 25%,currentColor 25% 29%,transparent 29% 50%)}[data-rarity-pattern=constellation]{--pattern:radial-gradient(currentColor 1px,transparent 2px)}[data-rarity-pattern=crown]{--pattern:linear-gradient(135deg,transparent 35%,currentColor 36% 43%,transparent 44%) 0 0/8px 8px}[data-rarity-pattern=zigzag]{--pattern:linear-gradient(135deg,transparent 40%,currentColor 41% 59%,transparent 60%) 0 0/8px 8px}[data-rarity-pattern=rings]{--pattern:radial-gradient(ellipse at center,transparent 35%,currentColor 36% 45%,transparent 46%) 0 0/10px 10px}[data-rarity-pattern=void]{--pattern:radial-gradient(ellipse at center,transparent 30%,rgba(0,0,0,.45) 31% 70%,transparent 71%)}[data-pixel-icon=ball-stack]:before{clip-path:polygon(15% 0,85% 0,100% 20%,100% 45%,85% 60%,15% 60%,0 45%,0 20%);box-shadow:2px 3px currentColor,4px 6px currentColor}[data-pixel-icon=luck-star]:before,[data-pixel-icon=skill-orb]:before{clip-path:polygon(50% 0,62% 35%,100% 35%,70% 57%,82% 100%,50% 73%,18% 100%,30% 57%,0 35%,38% 35%)}[data-pixel-icon=peg-grid]:before{background:transparent;box-shadow:2px 2px currentColor,7px 2px currentColor,2px 7px currentColor,7px 7px currentColor}[data-pixel-icon=spin-bolt]:before{clip-path:polygon(55% 0,15% 58%,45% 58%,35% 100%,85% 35%,55% 35%)}[data-pixel-icon=rebirth-loop]:before{clip-path:polygon(0 25%,60% 25%,60% 0,100% 50%,60% 100%,60% 75%,0 75%);border:2px solid currentColor;background:transparent;box-shadow:none}[data-rarity-pattern=cross]{--pattern:radial-gradient(circle at 22% 30%,currentColor 0 1px,transparent 1.5px),radial-gradient(circle at 72% 26%,currentColor 0 1px,transparent 1.5px),radial-gradient(circle at 58% 76%,currentColor 0 1px,transparent 1.5px),radial-gradient(circle at 30% 68%,currentColor 0 1px,transparent 1.5px)}[data-pixel-icon]:before{width:10px;height:10px;margin-right:6px}.credits-display-label[data-pixel-icon]{display:inline-flex;align-items:center}.credits-display-label[data-pixel-icon=coin]:before{width:10px;height:10px;border:0;background:currentColor;clip-path:polygon(25% 0,75% 0,100% 25%,100% 75%,75% 100%,25% 100%,0 75%,0 25%);box-shadow:none}.reel-item:after,.won-ball-preview:after,.rarity-card:after,[data-rarity-pattern]:after{display:none}.reel-item-icon{position:relative;overflow:hidden}.reel-item-icon:before{content:"";position:absolute;inset:3px;border-radius:50%;background-image:var(--pattern);opacity:.35;pointer-events:none}.recent-drop-dot{position:relative;overflow:hidden}.recent-drop-dot:after{content:"";position:absolute;inset:0;background-image:var(--pattern);opacity:.3;pointer-events:none}.upgrade-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;overflow:hidden}.upgrade-tab-btn{min-width:0;padding:7px 4px;font-size:.49rem;line-height:1.15;white-space:normal;overflow:hidden;text-overflow:ellipsis}.upgrade-card:before{content:none!important}.upgrade-card [data-pixel-icon]:before{display:none!important}.skill-tree-board .skill-node{font-size:.58rem;line-height:1;text-align:center;display:flex;align-items:center;justify-content:center}.skill-tree-board .skill-node:before{content:none!important}.skill-tree-board .skill-node[data-skill-icon*=luck],.skill-tree-board .skill-node[data-skill-icon*=secret]{clip-path:polygon(50% 0,62% 27%,100% 38%,70% 60%,78% 100%,50% 76%,22% 100%,30% 60%,0 38%,38% 27%)}.app-shell{display:flex;flex-direction:column;min-height:100vh;max-width:1600px;margin:0 auto;padding:max(16px,var(--safe-top)) max(20px,var(--safe-right)) max(32px,var(--safe-bottom)) max(20px,var(--safe-left));gap:20px}.game-layout,.panel,.board-panel,.upgrade-card,.upgrade-list,.upgrade-tabs,.header-actions{min-width:0}.upgrade-card{overflow-wrap:anywhere}.board-canvas-wrapper:before,.board-canvas-wrapper:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:2}.board-canvas-wrapper:before{background:repeating-linear-gradient(180deg,rgba(255,255,255,.035) 0 1px,transparent 1px 4px);opacity:.32}.board-canvas-wrapper:after{background:radial-gradient(ellipse at center,transparent 58%,rgba(0,0,0,.28));opacity:.45}@media(prefers-reduced-motion:reduce){.board-canvas-wrapper:before{display:none}}.top-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:14px 20px;border-radius:var(--radius-md);background:var(--color-bg-panel);border:1px solid var(--color-border-thick);box-shadow:0 2px #090d0f}.brand{display:flex;align-items:center;gap:10px;white-space:nowrap}.header-actions{display:flex;align-items:center;gap:8px}.panel,.board-panel{background:var(--color-bg-panel);border:1px solid var(--color-border-thick);border-radius:var(--radius-md);box-shadow:0 2px #090d0f;overflow:hidden}.panel{padding:0 18px 18px}.panel-heading{position:relative;margin:0 -18px 14px;padding:14px 18px;background-image:none;background:#1d2529;border-bottom:1px solid var(--color-border-thick)}.panel-heading:before{content:none}.spin-panel .panel-heading{--panel-accent-light: var(--color-purple);--panel-accent-dark: var(--color-purple-dark)}.upgrade-panel .panel-heading{--panel-accent-light: var(--color-green);--panel-accent-dark: var(--color-green-dark)}.board-panel .panel-heading{margin:0 -12px 10px}.game-layout{display:grid;grid-template-columns:minmax(240px,300px) minmax(340px,1fr) minmax(260px,320px);grid-template-areas:"spin board upgrade";gap:20px;align-items:start}.spin-panel,.board-panel,.upgrade-panel{max-height:min(660px,calc(100vh - 140px))}.spin-panel{grid-area:spin;overflow-y:auto}.board-panel{grid-area:board;display:flex;flex-direction:column;padding:0 12px 12px;min-height:540px}.upgrade-panel{grid-area:upgrade;overflow-y:auto}.board-canvas-wrapper{position:relative;flex:1;min-height:410px;border-radius:var(--radius-md);overflow:hidden;background:radial-gradient(circle,rgba(30,200,255,.14) 1.5px,transparent 2px),linear-gradient(180deg,#0a0e18,#04060b);background-size:14px 14px,auto;border:1px solid var(--color-border-thick);touch-action:pan-y}.app-shell{background:transparent}.top-bar,.panel,.board-panel{border:2px solid var(--color-border-thick);border-radius:0;box-shadow:4px 4px #05070b}.top-bar{background:#101827}.panel-heading{background:#17233a;border-bottom:2px solid var(--color-border-thick)}.board-canvas-wrapper{border:2px solid #33415c;border-radius:0;background-color:#080d18;background-image:linear-gradient(rgba(73,217,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(73,217,255,.07) 1px,transparent 1px);background-size:16px 16px}.ball-skill-bar{flex:0 0 auto;margin-top:9px}#plinko-canvas{position:absolute;inset:0;display:block;width:100%;height:100%;touch-action:pan-y}@media(min-width:1025px){html,body{height:100%;overflow:hidden}.app-shell{height:100vh;min-height:0;max-width:none;padding:max(10px,var(--safe-top)) max(12px,var(--safe-right)) max(10px,var(--safe-bottom)) max(12px,var(--safe-left));gap:10px}.game-layout{flex:1 1 auto;min-height:0;align-items:stretch;gap:12px}.spin-panel,.board-panel,.upgrade-panel{max-height:none;height:100%}}.resource-stack{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.resource-stack .credits-display{margin-bottom:0}.credits-display{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-radius:0;background:transparent;border:0;border-bottom:1px solid #344147;box-shadow:none;margin-bottom:12px}.credits-display-label{color:var(--color-text-secondary);font-weight:600;font-size:.85rem}.credits-display-value{font-weight:800;font-size:1.1rem;color:var(--color-green);text-shadow:none}.level-tokens-display .credits-display-value{color:var(--color-blue)}.skill-points-display .credits-display-value{color:var(--color-purple)}.xp-bar{width:100%;height:8px;border-radius:1px;background:#0a0a10;border:1px solid var(--color-border-thick);overflow:hidden}.xp-bar-fill{height:100%;width:0%;background:var(--color-blue);border-radius:1px;transition:width .4s ease}.xp-bar-label{font-size:.7rem;color:var(--color-text-muted)}.header-btn{position:relative;padding:9px 16px;border-radius:var(--radius-sm);background:#263136;border:1px solid var(--color-border-thick);box-shadow:0 2px #090d0f;font-size:.82rem;font-weight:700;white-space:nowrap;color:#fff;text-shadow:1px 0 #000,-1px 0 #000,0 1px #000,0 -1px #000;transition:transform .12s ease}.header-btn:hover{transform:translateY(-2px)}.header-btn:active{transform:translateY(3px)}.notes-badge{position:absolute;top:-6px;right:-6px;display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--color-red);border:2px solid #0a0a0f;color:#fff;font-size:.68rem;font-weight:800;line-height:1;box-shadow:0 2px 4px #0006}.notes-badge[hidden]{display:none}.spin-button{width:100%;padding:13px;border:1px solid var(--color-border-thick);border-radius:var(--radius-sm);background:var(--color-green-dark);color:#fff;text-shadow:1px 0 #000,-1px 0 #000,0 1px #000,0 -1px #000;font-weight:800;font-size:1.05rem;display:flex;flex-direction:column;align-items:center;gap:4px;box-shadow:inset 0 1px #ffffff1f,0 2px 0 var(--color-green-deep);transition:transform .12s ease}.spin-button:not(:disabled):hover{transform:translateY(-3px)}.spin-button:not(:disabled):active{transform:translateY(5px)}.spin-button:disabled{background:#2a2a33;color:var(--color-text-muted);box-shadow:inset 0 2px #ffffff0f,0 6px #111318,0 10px 16px #0006}.auto-spin-button{width:100%;padding:11px;margin-top:10px;border:1px solid var(--color-border-thick);border-radius:var(--radius-sm);font-weight:700;font-size:.82rem;background:#252d30;color:var(--color-text-secondary);text-shadow:1px 0 #000,-1px 0 #000,0 1px #000,0 -1px #000;box-shadow:0 2px #111719;transition:transform .12s ease}.auto-spin-button:not(:disabled):hover{transform:translateY(-2px)}.auto-spin-button:not(:disabled):active{transform:translateY(2px)}.auto-spin-button:disabled{opacity:.55}.auto-spin-button--affordable{background:var(--color-green-dark);color:#fff;box-shadow:0 2px 0 var(--color-green-deep)}.auto-spin-button--unlocked{background:#263136;color:var(--color-text-primary);box-shadow:0 2px #090d0f}.auto-spin-button--on{background:var(--color-purple-dark);color:#fff;box-shadow:0 2px 0 var(--color-purple-deep)}.reel{position:relative;border-radius:var(--radius-sm);border:2px solid #263a5a;background:#090e1a;margin:10px 0;box-shadow:3px 3px #05070b}.reel-mask{position:relative;height:260px;overflow:hidden;border-radius:0;background-color:#080d18;background-image:linear-gradient(rgba(73,217,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(73,217,255,.055) 1px,transparent 1px);background-size:16px 16px;border:1px solid #263a5a}.reel-mask:before{content:"";position:absolute;z-index:1;inset:50% 0 auto;height:104px;transform:translateY(-50%);background:#704abe1f;border-top:1px solid rgba(93,224,255,.45);border-bottom:1px solid rgba(93,224,255,.45);pointer-events:none}.reel-mask:after{content:"";position:absolute;z-index:3;inset:0;background:repeating-linear-gradient(180deg,rgba(255,255,255,.025) 0 1px,transparent 1px 4px);pointer-events:none}.reel-strip{position:absolute;top:0;left:0;width:100%;display:flex;flex-direction:column;gap:4px;will-change:transform;z-index:2}.reel-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:0 14px;text-align:center;color:var(--color-text-muted);font-size:.85rem;z-index:2}.reel-placeholder[hidden]{display:none}.reel-item{flex:0 0 104px;height:104px;width:100%;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:2px 12px;border-bottom:1px solid rgba(73,217,255,.12)}.reel-item-icon{position:relative;flex:0 0 auto;width:54px;height:54px;background:var(--reel-color);border:0;clip-path:polygon(44% 0,56% 0,56% 2%,67% 2%,67% 6%,78% 6%,78% 13%,87% 13%,87% 22%,94% 22%,94% 33%,98% 33%,98% 44%,100% 44%,100% 56%,98% 56%,98% 67%,94% 67%,94% 78%,87% 78%,87% 87%,78% 87%,78% 94%,67% 94%,67% 98%,56% 98%,56% 100%,44% 100%,44% 98%,33% 98%,33% 94%,22% 94%,22% 87%,13% 87%,13% 78%,6% 78%,6% 67%,2% 67%,2% 56%,0 56%,0 44%,2% 44%,2% 33%,6% 33%,6% 22%,13% 22%,13% 13%,22% 13%,22% 6%,33% 6%,33% 2%,44% 2%);background:radial-gradient(circle at 32% 30%,#ffffff 0%,var(--reel-color) 52%,var(--reel-color) 100%)}.reel-item-icon:after{content:"";position:absolute;top:8px;left:9px;width:2px;height:2px;background:#ffffff7a;image-rendering:pixelated}.reel-item-name{flex:0 0 auto;font-size:.82rem;font-weight:800;color:var(--reel-text-color, var(--reel-color));max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;text-shadow:1px 0 #000,-1px 0 #000,0 1px #000,0 -1px #000}.reel-item-odds{flex:0 0 auto;font-size:.68rem;color:var(--color-text-muted);white-space:nowrap;text-align:center;text-shadow:1px 0 #000,-1px 0 #000,0 1px #000,0 -1px #000}.reel-item--winner{animation:reel-winner-pulse .8s ease-out 1}.reel-pointer{position:absolute;left:-5px;right:-5px;top:50%;height:0;transform:translateY(-50%);pointer-events:none}.reel-pointer:before,.reel-pointer:after{content:"";position:absolute;top:50%;transform:translateY(-50%);border-top:4px solid transparent;border-bottom:4px solid transparent}.reel-pointer:before{left:-3px;border-left:6px solid var(--color-purple)}.reel-pointer:after{right:-3px;border-right:6px solid var(--color-blue)}.won-ball-preview{--rarity-color: var(--color-blue);display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--radius-sm);background:#1b2327;border:1px solid #4a5559;border-left:3px solid var(--rarity-color);box-shadow:none;margin-bottom:10px}.won-ball-preview[hidden]{display:none}.won-ball-name{font-weight:800;font-size:1rem;text-shadow:1px 0 #000,-1px 0 #000,0 1px #000,0 -1px #000;animation:none;filter:none}.won-ball-rarity,.won-ball-bonus{font-size:.78rem;color:var(--color-text-secondary)}.drop-status{font-size:.82rem;color:var(--color-text-secondary);min-height:1.2em;text-align:center}.recent-drops{margin-top:14px}.recent-drops[hidden]{display:none}.recent-drops-list{display:flex;flex-wrap:wrap;gap:6px}.recent-drop-dot{width:14px;height:14px;border-radius:50%;background:var(--dot-color);border:2px solid #000000;box-shadow:none}.upgrade-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.upgrade-tab-btn{flex:1 1 30%;min-width:64px;padding:8px 6px;border-radius:var(--radius-sm);border:1px solid #344147;background:transparent;color:var(--color-text-secondary);text-shadow:1px 0 #000,-1px 0 #000,0 1px #000,0 -1px #000;font-weight:700;font-size:.78rem;box-shadow:none;transition:transform .12s ease}.upgrade-tab-btn:hover{transform:translateY(-2px)}.upgrade-tab-btn:active{transform:translateY(2px)}.upgrade-tab-btn--active{background:var(--color-green-dark);color:#fff;box-shadow:0 2px 0 var(--color-green-deep)}.upgrade-qty-selector{display:flex;gap:6px;margin-bottom:12px}.upgrade-qty-btn{flex:1 1 0;padding:6px;border-radius:var(--radius-sm);border:1px solid var(--color-border-thick);background:#234055;color:#fff;text-shadow:1px 0 #000,-1px 0 #000,0 1px #000,0 -1px #000;font-weight:700;font-size:.75rem;box-shadow:0 2px 0 var(--color-blue-deep);transition:transform .12s ease}.upgrade-qty-btn:hover{transform:translateY(-2px)}.upgrade-qty-btn:active{transform:translateY(2px)}.upgrade-qty-btn--active{border-color:var(--color-border-thick);background:var(--color-blue-dark);color:#fff;box-shadow:0 2px 0 var(--color-blue-deep)}.upgrade-list{display:flex;flex-direction:column;gap:12px}.upgrade-card{border-radius:var(--radius-sm);border:1px solid #344147;background:#1b2327;box-shadow:none;padding:12px 14px}.upgrade-card-header{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.upgrade-name{font-size:.92rem;font-weight:800}.upgrade-level{font-size:.72rem;color:var(--color-text-muted);white-space:nowrap}.upgrade-description{font-size:.78rem;color:var(--color-text-secondary);margin:6px 0 8px}.upgrade-effects{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}.upgrade-effects dt{font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);text-shadow:1px 0 #000,-1px 0 #000,0 1px #000,0 -1px #000}.upgrade-effects dd{font-size:.8rem;font-weight:700;margin:2px 0 0;color:var(--color-text-primary);text-shadow:1px 0 #000,-1px 0 #000,0 1px #000,0 -1px #000}.upgrade-footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.upgrade-cost{font-size:.8rem;font-weight:700;color:var(--color-green);text-shadow:1px 0 #000,-1px 0 #000,0 1px #000,0 -1px #000}.upgrade-cost--tokens{color:var(--color-blue)}.upgrade-buy-btn{padding:8px 16px;border:1px solid var(--color-border-thick);border-radius:var(--radius-sm);background:var(--color-green-dark);color:#fff;text-shadow:1px 0 #000,-1px 0 #000,0 1px #000,0 -1px #000;font-weight:800;font-size:.8rem;white-space:nowrap;box-shadow:0 2px 0 var(--color-green-deep);transition:transform .12s ease}.upgrade-buy-btn:not(:disabled):hover{transform:translateY(-2px)}.upgrade-buy-btn:not(:disabled):active{transform:translateY(3px)}.upgrade-buy-btn:disabled{background:#2a2a33;color:var(--color-text-muted);box-shadow:inset 0 1px #ffffff0f,0 4px #111318}.special-peg-rows{display:flex;flex-direction:column;gap:8px}.special-peg-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);background:var(--color-bg-panel);border:2px solid var(--color-border-thick)}.special-peg-swatch{flex:0 0 auto;width:18px;height:18px;border-radius:50%;border:2px solid var(--color-border-thick)}.special-peg-info{flex:1 1 auto;min-width:0}.special-peg-name{font-size:.82rem;font-weight:700;color:var(--color-text-primary);margin:0}.special-peg-count{font-size:.72rem;color:var(--color-text-muted);margin:2px 0 0}.special-peg-actions{flex:0 0 auto;display:flex;flex-direction:column;gap:6px}.special-peg-place-btn,.special-peg-remove-btn{padding:5px 12px;font-size:.7rem;white-space:nowrap}.special-peg-place-btn--active{background:linear-gradient(180deg,#ffb84d,#ff8c1a);box-shadow:inset 0 1px #fff6,0 4px #a35400}.special-peg-remove-btn{background:linear-gradient(180deg,#ff6b6b,var(--color-red));box-shadow:inset 0 1px #ffffff4d,0 4px 0 var(--color-red-dark)}.special-peg-remove-btn--active{background:linear-gradient(180deg,#ffb84d,#ff8c1a);box-shadow:inset 0 1px #fff6,0 4px #a35400}.upgrade-buy-btn.special-peg-remove-all-btn{width:100%;margin-top:10px;padding:9px 8px;justify-self:stretch;font-size:.52rem;line-height:1.35;letter-spacing:.02em;white-space:normal;overflow-wrap:anywhere;text-align:center}.ball-skill-bar{display:grid;grid-template-columns:auto repeat(3,minmax(0,1fr));gap:6px;align-items:stretch}.ball-skill-bar-label{display:flex;align-items:center;padding:0 7px;color:var(--color-text-muted);font-size:.68rem;font-weight:800;line-height:1.05;text-transform:uppercase}.ball-skill-action{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:48px;overflow:hidden;padding:5px 7px;border:3px solid var(--color-border-thick);border-radius:var(--radius-sm);background:linear-gradient(180deg,#5b2e86,#32164f);color:#fff;box-shadow:inset 0 1px #ffffff40,0 3px #140820;transition:transform .12s ease,filter .12s ease}.ball-skill-action:not(:disabled):hover{filter:brightness(1.16);transform:translateY(-2px)}.ball-skill-action:not(:disabled):active{transform:translateY(2px)}.ball-skill-action:disabled{color:var(--color-text-muted);background:linear-gradient(180deg,#292934,#191921);box-shadow:inset 0 1px #ffffff0f,0 3px #0a0a0f}.ball-skill-action--cooldown{color:#ded6e8}.ball-skill-action-copy{position:relative;z-index:2;display:flex;min-width:0;flex-direction:column;align-items:center;text-align:center;line-height:1;text-shadow:1px 0 0 #000,-1px 0 0 #000,0 1px 0 #000,0 -1px 0 #000,1px 1px 0 #000,-1px 1px 0 #000,1px -1px 0 #000,-1px -1px 0 #000}.ball-skill-hotkey{position:absolute;z-index:3;top:3px;left:4px;display:grid;place-items:center;width:15px;height:15px;border:1px solid rgba(255,255,255,.55);border-radius:4px;background:#00000085;color:#fff;font-size:.54rem;font-weight:800;line-height:1;text-shadow:1px 0 #000,-1px 0 #000,0 1px #000,0 -1px #000}.ball-skill-action-copy strong{max-width:100%;font-size:.68rem;line-height:1.05;white-space:normal}.ball-skill-action-copy small{margin-top:4px;font-size:.56rem;font-weight:800;letter-spacing:.04em}.ball-skill-cooldown-fill{position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,#8236bf94,#31bee859);transform:scaleX(0);transform-origin:left center}.ball-skill-card{border-color:#341b49}.ball-skill-card--owned{border-color:var(--color-purple);box-shadow:0 4px #32164f,0 0 16px #bb5fff29}.ball-skill-card--equipped{border-color:#35d7ff;box-shadow:0 4px #32164f,0 0 16px #35d7ff59}.ball-skill-unequip-btn{background:linear-gradient(180deg,#6ec3ff,#2f7fc7);box-shadow:inset 0 1px #fff6,0 4px #1c4d78}.ball-skill-slots-info{margin:0 0 10px;color:var(--color-text-muted);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.ball-skill-action--empty{border:1px solid #344147;border-style:solid;background:#1b2327;color:var(--color-text-muted);box-shadow:none;opacity:.7}.ball-skill-action--empty:hover{filter:none;transform:none}.reel-placeholder,.won-ball-name,.won-ball-rarity,.won-ball-bonus,.drop-status,.ball-skill-bar-label,.ball-skill-hotkey,.ball-skill-action-copy strong,.ball-skill-action-copy small{text-shadow:1px 0 #000,-1px 0 #000,0 1px #000,0 -1px #000}.rebirth-card .xp-bar{margin:2px 0 6px}.rebirth-progress-label{margin-bottom:10px;text-align:left}.rebirth-btn--confirm{background:linear-gradient(180deg,#ff6b6b,var(--color-red));box-shadow:inset 0 1px #ffffff4d,0 4px 0 var(--color-red-dark);animation:pulse-glow 1s ease-in-out infinite}.skill-tree-panel{border-radius:var(--radius-md);border:3px solid var(--color-border-thick);background:var(--color-bg-panel-alt);box-shadow:0 4px 0 var(--color-border-thick);padding:12px 14px;margin-top:12px}.skill-tree-board{position:relative;width:100%;height:220px;margin-top:8px}.skill-tree-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.skill-tree-line{stroke:#ffffff24;stroke-width:1.4;vector-effect:non-scaling-stroke}.skill-tree-line--active{stroke:var(--color-green);stroke-width:2}.skill-tree-board .skill-node{position:absolute;width:34px;height:34px;transform:translate(-50%,-50%);border-radius:50%;border:2px solid var(--color-border-thick);background:radial-gradient(circle at 34% 28%,#fff,#4a4a58 55%);color:#0a0a10;font-weight:800;font-size:.72rem;box-shadow:0 0 8px 1px #0006;opacity:1;transition:transform .12s ease}.skill-tree-board .skill-node--locked{background:radial-gradient(circle at 34% 28%,#6b6b78,#2a2a33 60%);color:var(--color-text-muted);opacity:.5}.skill-tree-board .skill-node--available{background:radial-gradient(circle at 34% 28%,#ffffff,var(--color-purple) 60%);color:#fff;box-shadow:0 0 10px 2px #9b3dff99}.skill-tree-board .skill-node--available:hover{transform:translate(-50%,-50%) scale(1.14)}.skill-tree-board .skill-node--available:active{transform:translate(-50%,-50%) scale(.95)}.skill-tree-board .skill-node--unlocked{background:radial-gradient(circle at 34% 28%,#ffffff,var(--color-green) 60%);color:#fff;box-shadow:0 0 10px 2px #3ddc5ba6}.skill-tree-board .skill-node--locked:hover{transform:translate(-50%,-50%) scale(1.08)}.skill-tree-board .skill-node--selected{box-shadow:0 0 0 3px #fff,0 0 12px 3px #ffffff80}.skill-tree-board .skill-node--secret.skill-node--locked{background:radial-gradient(circle at 34% 28%,#7c5a99,#2a1a3a 60%);color:#e6b3ff;opacity:.65}.skill-tree-board .skill-node--secret.skill-node--available,.skill-tree-board .skill-node--secret.skill-node--unlocked{background:radial-gradient(circle at 34% 28%,#ffffff,var(--color-magenta) 60%);color:#fff;box-shadow:0 0 12px 3px #ff2ec48c}.skill-tooltip{position:absolute;left:50%;width:172px;max-width:calc(100% - 12px);padding:10px 12px;border-radius:var(--radius-sm);border:2px solid var(--color-border-thick);background:var(--color-bg-panel);box-shadow:0 4px 0 var(--color-border-thick),0 6px 14px #00000080;text-align:center;z-index:5}.skill-tooltip-title{font-size:.82rem;font-weight:800;color:var(--color-purple);margin-bottom:4px}.skill-tooltip-desc{font-size:.68rem;color:var(--color-text-secondary);margin-bottom:8px}.skill-tooltip-state{font-size:.7rem;color:var(--color-text-muted)}.skill-tooltip-state--done{color:var(--color-green);font-weight:700}.skill-tooltip-buy-btn{width:100%;padding:7px 10px;border-radius:var(--radius-sm);border:3px solid var(--color-border-thick);background:linear-gradient(180deg,#6bf08a,var(--color-green));color:#fff;text-shadow:1px 0 0 #000,-1px 0 0 #000,0 1px 0 #000,0 -1px 0 #000;font-weight:800;font-size:.76rem;box-shadow:inset 0 1px #fff6,0 3px 0 var(--color-green-deep);transition:transform .12s ease}.skill-tooltip-buy-btn:hover{transform:translateY(-2px)}.skill-tooltip-buy-btn:active{transform:translateY(2px)}.level-block{padding:12px 14px;border-radius:var(--radius-sm);background:var(--color-bg-panel-alt);border:2px solid var(--color-border-thick);margin-bottom:14px}.level-block-header{display:flex;justify-content:space-between;align-items:baseline;font-weight:800;margin-bottom:8px}.statistics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.stat-tile{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--color-bg-panel-alt);border:2px solid var(--color-border-thick)}.stat-label{font-size:.7rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em}.stat-value{font-size:1rem;font-weight:800;color:#fff;text-shadow:1px 0 0 #000,-1px 0 0 #000,0 1px 0 #000,0 -1px 0 #000}.mobile-game-controls{display:none;position:fixed;left:max(8px,var(--safe-left));right:max(8px,var(--safe-right));bottom:max(8px,var(--safe-bottom));z-index:90;grid-template-columns:minmax(70px,.7fr) minmax(120px,1.35fr) minmax(86px,.85fr);align-items:stretch;gap:7px;padding:8px;border:3px solid var(--color-border-thick);border-radius:16px;background:#15151df5;box-shadow:0 5px 0 var(--color-border-thick),0 10px 24px #0000008c;backdrop-filter:blur(10px);touch-action:pan-y}.mobile-credit{min-width:0;display:flex;flex-direction:column;justify-content:center;padding:5px 8px;border:2px solid var(--color-border-thick);border-radius:10px;background:var(--color-bg-panel-alt);line-height:1.05}.mobile-credit span{font-size:.62rem;color:var(--color-text-secondary)}.mobile-credit strong{overflow:hidden;color:var(--color-green);font-size:.95rem;text-overflow:ellipsis;white-space:nowrap}.mobile-spin-button,.mobile-auto-spin-button{min-width:0;min-height:48px;padding:7px 10px;border:3px solid var(--color-border-thick);border-radius:11px;color:#fff;font-weight:800;text-shadow:1px 0 #000,-1px 0 #000,0 1px #000,0 -1px #000}.mobile-spin-button{background:linear-gradient(180deg,#6bf08a,var(--color-green));box-shadow:inset 0 1px #ffffff59,0 3px 0 var(--color-green-deep);font-size:1rem}.mobile-auto-spin-button{overflow:hidden;background:linear-gradient(180deg,#2a3f52,#16232f);box-shadow:inset 0 1px #ffffff26,0 3px #060a0e;font-size:.7rem;white-space:nowrap}.mobile-auto-spin-button--affordable{background:linear-gradient(180deg,#6bf08a,var(--color-green));box-shadow:inset 0 1px #ffffff59,0 3px 0 var(--color-green-deep)}.mobile-auto-spin-button--on{background:linear-gradient(180deg,#b366ff,var(--color-purple));box-shadow:inset 0 1px #ffffff59,0 3px 0 var(--color-purple-dark)}.tutorial-layer{position:fixed;inset:0;z-index:95;pointer-events:none}.tutorial-dim{position:fixed;background:#04060eb3;opacity:0;transition:opacity .18s ease}.tutorial-focus-ring{position:fixed;border:4px solid var(--color-blue);border-radius:var(--radius-md);box-shadow:0 0 0 3px var(--color-border-thick),0 0 24px #1ec8ffd9;opacity:0;transition:left .2s ease,top .2s ease,width .2s ease,height .2s ease,opacity .18s ease}.tutorial-card{position:fixed;width:min(340px,calc(100vw - 20px));max-height:calc(100svh - 20px);overflow-y:auto;padding:20px;border:4px solid var(--color-border-thick);border-radius:var(--radius-lg);background:radial-gradient(circle at 92% 10%,rgba(30,200,255,.18),transparent 34%),var(--color-bg-panel);box-shadow:0 7px 0 var(--color-border-thick),0 15px 36px #00000094;pointer-events:auto;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .18s ease,transform .18s ease}.tutorial-layer--ready .tutorial-dim,.tutorial-layer--ready .tutorial-focus-ring{opacity:1}.tutorial-layer--ready .tutorial-card{opacity:1;visibility:visible;transform:translateY(0)}.tutorial-skip-btn{position:absolute;top:12px;right:14px;padding:4px 0;border:0;background:transparent;color:var(--color-text-secondary);font-size:.72rem;font-weight:700;text-decoration:underline;text-underline-offset:3px;min-width:44px;min-height:44px}.tutorial-skip-btn:hover{color:var(--color-text-primary)}.tutorial-progress{margin:0 0 9px;color:var(--color-blue);font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.tutorial-heading{display:flex;align-items:center;gap:10px;padding-right:78px}.tutorial-heading h2{margin:0;color:#fff;font-size:1.08rem;font-weight:800;text-shadow:1.5px 0 0 #000,-1.5px 0 0 #000,0 1.5px 0 #000,0 -1.5px 0 #000}.tutorial-ball{flex:0 0 auto;width:24px;height:24px;border:3px solid var(--color-border-thick);border-radius:50%;background:radial-gradient(circle at 32% 28%,#ffffff 0 10%,#62e6ff 15%,var(--color-blue) 52%,var(--color-purple) 100%);box-shadow:0 0 13px #1ec8ffb3}.tutorial-description{margin:12px 0 17px;color:var(--color-text-secondary);font-size:.86rem;line-height:1.5}.tutorial-actions{display:flex;align-items:center;justify-content:space-between;gap:14px}.tutorial-dots{display:flex;gap:6px}.tutorial-dot{width:8px;height:8px;border:2px solid var(--color-text-muted);border-radius:50%;background:transparent}.tutorial-dot--active{width:22px;border-color:var(--color-blue);border-radius:6px;background:var(--color-blue)}.tutorial-next-btn{min-width:118px;padding:10px 15px;border:3px solid var(--color-border-thick);border-radius:var(--radius-sm);background:linear-gradient(180deg,#6bf08a,var(--color-green));color:#06130a;font-size:.82rem;font-weight:800;box-shadow:inset 0 1px #ffffff61,0 4px 0 var(--color-green-deep);transition:transform .12s ease}.tutorial-next-btn:hover{transform:translateY(-2px)}.tutorial-next-btn:active{transform:translateY(3px)}@media(max-width:700px){.tutorial-card{width:min(330px,calc(100vw - 16px));padding:17px;border-width:3px}.tutorial-heading{padding-right:72px}.tutorial-description{font-size:.82rem}}@media(prefers-reduced-motion:reduce){.tutorial-dim,.tutorial-focus-ring,.tutorial-card,.tutorial-next-btn{transition:none}}.modal-overlay{position:fixed;inset:0;background:#04060ec7;display:flex;align-items:flex-start;justify-content:center;z-index:100;padding:max(20px,var(--safe-top)) max(20px,var(--safe-right)) max(20px,var(--safe-bottom)) max(20px,var(--safe-left));box-sizing:border-box;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:auto}.modal-dialog{position:relative;max-width:440px;width:100%;box-sizing:border-box;min-height:0;max-height:calc(100vh - var(--safe-top) - var(--safe-bottom) - 40px);overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;margin:auto 0;touch-action:auto;background:var(--color-bg-panel);border:4px solid var(--color-border-thick);border-radius:var(--radius-lg);padding:24px;box-shadow:0 8px 0 var(--color-border-thick),0 16px 40px #0000008c}@supports (height: 100svh){.modal-dialog{max-height:calc(100svh - var(--safe-top) - var(--safe-bottom) - 40px)}}@supports (height: 100dvh){.modal-dialog{max-height:calc(100dvh - var(--safe-top) - var(--safe-bottom) - 40px)}}.modal-dialog h2{font-size:1.15rem;font-weight:800;margin-bottom:14px;color:#fff;text-shadow:1.5px 0 0 #000,-1.5px 0 0 #000,0 1.5px 0 #000,0 -1.5px 0 #000}.modal-dialog p{font-size:.88rem;color:var(--color-text-secondary);margin-bottom:16px}.modal-close-btn{position:absolute;top:14px;right:14px;background:none;border:none;font-size:1.2rem;color:var(--color-text-secondary);width:44px;height:44px;padding:0;transition:transform .15s ease,color .15s ease}.modal-close-btn:hover{color:var(--color-text-primary);text-shadow:1px 0 0 #000,-1px 0 0 #000,0 1px 0 #000,0 -1px 0 #000;transform:scale(1.15)}.quests-modal-dialog{max-width:920px}.modal-dialog .quests-intro{margin-top:-5px;color:var(--color-text-muted)}.leaderboard-modal-dialog{max-width:480px}.leaderboard-name-row{display:flex;gap:8px;margin-bottom:6px}.leaderboard-name-input{flex:1;min-width:0;padding:10px 12px;border:3px solid var(--color-border-thick);border-radius:var(--radius-sm);background:#242432;color:var(--color-text-primary);font-family:inherit;font-size:.85rem;font-weight:600}.leaderboard-name-save-btn{flex:0 0 auto;min-width:0;padding:10px 16px}.leaderboard-join-hint{margin:0 0 12px;color:var(--color-blue);font-size:.74rem;font-weight:600;line-height:1.35}.leaderboard-join-hint[hidden]{display:none}.leaderboard-name-hint{min-height:1.1em;margin:0 0 14px;color:var(--color-green);font-size:.72rem;font-weight:700}.leaderboard-tabs{display:flex;gap:6px;margin-bottom:12px}.leaderboard-tab-btn{flex:1;padding:8px 6px;border-radius:var(--radius-sm);border:3px solid var(--color-border-thick);background:linear-gradient(180deg,#2a2a33,#1c1c24);color:var(--color-text-secondary);text-shadow:1px 0 0 #000,-1px 0 0 #000,0 1px 0 #000,0 -1px 0 #000;font-weight:700;font-size:.8rem;transition:transform .12s ease}.leaderboard-tab-btn:hover{transform:translateY(-2px)}.leaderboard-tab-btn:active{transform:translateY(2px)}.leaderboard-tab-btn--active{background:linear-gradient(180deg,#6bf08a,var(--color-green));color:#fff;box-shadow:inset 0 1px #fff6,0 4px 0 var(--color-green-deep)}.leaderboard-list{display:flex;flex-direction:column;gap:6px;max-height:50vh;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.leaderboard-list::-webkit-scrollbar{display:none}.leaderboard-status{padding:20px 0;color:var(--color-text-secondary);font-size:.85rem;text-align:center}.leaderboard-row{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--radius-sm);background:var(--color-bg-panel-alt);border:2px solid var(--color-border-thick)}.leaderboard-row--me{border-color:var(--color-green-deep);box-shadow:0 0 12px #3ddc5b33}.leaderboard-row--footer{margin-top:4px}.leaderboard-rank{color:var(--color-text-secondary);font-weight:800;font-size:.8rem}.leaderboard-player-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700;font-size:.85rem;color:var(--color-text-primary);text-shadow:1px 0 0 #000,-1px 0 0 #000,0 1px 0 #000,0 -1px 0 #000}.leaderboard-value{font-weight:800;font-size:.85rem;color:#fff;text-shadow:1px 0 0 #000,-1px 0 0 #000,0 1px 0 #000,0 -1px 0 #000}#quests-modal-body{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.quest-card{display:flex;min-width:0;flex-direction:column;padding:13px 14px;border:2px solid var(--color-border-thick);border-radius:var(--radius-sm);background:var(--color-bg-panel-alt);box-shadow:0 3px 0 var(--color-border-thick)}.quest-card--complete{border-color:var(--color-green-deep);box-shadow:0 3px 0 var(--color-green-deep)}.quest-card--claimed{opacity:.72}.quest-card-header,.quest-progress-row,.quest-reward-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.quest-card-header{margin-bottom:5px}.quest-cadence{padding:3px 7px;border-radius:999px;background:var(--color-purple-dark);color:#fff;font-size:.65rem;font-weight:800;letter-spacing:.06em;text-shadow:1px 0 0 #000,-1px 0 0 #000,0 1px 0 #000,0 -1px 0 #000}.quest-countdown{color:var(--color-text-secondary);font-size:.75rem;font-weight:700;font-variant-numeric:tabular-nums}.quest-title{margin:0 0 3px;color:#fff;font-size:.95rem;font-weight:800;text-shadow:1px 0 0 #000,-1px 0 0 #000,0 1px 0 #000,0 -1px 0 #000;overflow-wrap:anywhere}.modal-dialog .quest-description{margin:0 0 9px;color:var(--color-text-secondary);font-size:.78rem;overflow-wrap:anywhere}.quest-progress-row{margin-bottom:4px;color:var(--color-text-secondary);font-size:.7rem;font-weight:700}.quest-progress{height:9px;overflow:hidden;border:1px solid var(--color-border-thick);border-radius:999px;background:#090910}.quest-progress-fill{height:100%;border-radius:inherit;background:var(--color-purple);transition:width .25s ease}.quest-card--complete .quest-progress-fill,.quest-card--claimed .quest-progress-fill{background:var(--color-green)}.quest-reward-row{align-items:stretch;flex-direction:column;gap:7px;margin-top:auto;padding-top:10px}.quest-reward{color:var(--color-green);font-size:.74rem;font-weight:800;text-shadow:1px 0 0 #000,-1px 0 0 #000,0 1px 0 #000,0 -1px 0 #000;overflow-wrap:anywhere}.quest-claim-btn{flex:0 0 auto;width:100%;min-width:104px;padding:8px 11px;border:2px solid var(--color-border-thick);border-radius:var(--radius-sm);background:linear-gradient(180deg,#6bf08a,var(--color-green));color:#fff;font-size:.72rem;font-weight:800;text-shadow:1px 0 0 #000,-1px 0 0 #000,0 1px 0 #000,0 -1px 0 #000;box-shadow:inset 0 1px #fff6,0 3px 0 var(--color-green-deep);transition:transform .12s ease}.quest-claim-btn:not(:disabled):hover{transform:translateY(-2px)}.quest-claim-btn:not(:disabled):active{transform:translateY(2px)}.quest-claim-btn:disabled{background:#2a2a33;color:var(--color-text-muted);text-shadow:none;box-shadow:inset 0 1px #ffffff0f,0 3px #111318}.settings-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.08)}.settings-label{display:flex;flex-direction:column;gap:3px;padding-right:16px}.settings-label small{max-width:310px;color:var(--color-text-muted);font-size:.7rem;font-weight:500;line-height:1.3}.settings-row input[type=checkbox]{flex:0 0 auto;width:24px;height:24px;accent-color:var(--color-purple)}.settings-select{flex:0 0 auto;min-width:120px;padding:8px 30px 8px 10px;border:3px solid var(--color-border-thick);border-radius:var(--radius-sm);background:#242432;color:var(--color-text-primary);font-family:inherit;font-size:.78rem;font-weight:700;box-shadow:0 3px #0a0a0f}.settings-actions{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}.settings-version{margin:16px 0 0;text-align:center;font-size:.78rem;letter-spacing:.03em;color:var(--color-text-secondary)}.patch-notes-list{max-height:60vh;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.patch-notes-list::-webkit-scrollbar{display:none}.patch-note-entry{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.08)}.patch-note-entry:last-child{border-bottom:none}.patch-note-header{display:flex;align-items:baseline;gap:10px;margin-bottom:6px}.patch-note-version{font-weight:800;font-size:.95rem;color:var(--color-text-primary)}.patch-note-date{font-size:.75rem;color:var(--color-text-secondary)}.patch-note-changes{margin:0;padding-left:18px;font-size:.85rem;color:var(--color-text-secondary);display:flex;flex-direction:column;gap:4px}.patch-note-changes li{position:relative;padding-left:14px}.patch-note-changes li:before{content:"\2022";position:absolute;left:0;color:var(--color-text-muted)}.secondary-button,.danger-button{flex:1;padding:10px 14px;border-radius:var(--radius-sm);font-weight:700;font-size:.85rem;border:3px solid var(--color-border-thick);min-width:120px;min-height:44px;transition:transform .12s ease}@media(pointer:coarse){.header-btn,.spin-button,.auto-spin-button,.upgrade-tab-btn,.upgrade-buy-btn,.ball-skill-action{min-height:44px}.skill-tree-board .skill-node{width:44px;height:44px}.skill-tooltip-buy-btn,.quest-claim-btn,.leaderboard-tab-btn,.leaderboard-name-input,.leaderboard-name-save-btn{min-height:44px}}.secondary-button:not(:disabled):hover,.danger-button:not(:disabled):hover{transform:translateY(-2px)}.secondary-button:not(:disabled):active,.danger-button:not(:disabled):active{transform:translateY(3px)}.secondary-button{background:linear-gradient(180deg,#3a5570,#223444);color:var(--color-text-primary);text-shadow:1px 0 0 #000,-1px 0 0 #000,0 1px 0 #000,0 -1px 0 #000;box-shadow:inset 0 1px #ffffff26,0 4px #0e1822}.danger-button{background:linear-gradient(180deg,#ff6b6b,var(--color-red));color:#fff;text-shadow:1px 0 0 #000,-1px 0 0 #000,0 1px 0 #000,0 -1px 0 #000;box-shadow:inset 0 1px #ffffff4d,0 4px 0 var(--color-red-dark)}.notification-root{position:fixed;top:20px;left:20px;display:flex;flex-direction:column;gap:8px;z-index:200;max-width:240px;pointer-events:none}.notification{padding:8px 12px;border-radius:var(--radius-sm);background:var(--color-bg-panel);border:2px solid var(--color-border-thick);border-left:5px solid var(--color-blue);box-shadow:0 3px 0 var(--color-border-thick),0 4px 10px #0006;font-size:.75rem;font-weight:600;opacity:0;transform:translate(-30px);transition:opacity .25s ease,transform .25s ease;pointer-events:auto}.notification--visible{opacity:1;transform:translate(0)}.notification--success{border-left-color:var(--color-green)}.notification--error{border-left-color:var(--color-red)}.spin-panel,.upgrade-panel{scrollbar-width:none;-ms-overflow-style:none}.spin-panel::-webkit-scrollbar,.upgrade-panel::-webkit-scrollbar{display:none;width:0;height:0}#floating-reward-layer{position:fixed;inset:0;pointer-events:none;z-index:90}.floating-reward{position:fixed;transform:translate(-50%,-50%);font-weight:800;font-size:1.15rem;color:var(--color-green);text-shadow:1.5px 0 0 #000,-1.5px 0 0 #000,0 1.5px 0 #000,0 -1.5px 0 #000;animation:floating-reward-rise 1.2s ease-out forwards}.floating-reward--lucky{color:var(--color-purple);font-size:1.4rem}.floating-reward--skill{color:#ff62f5;font-size:1.4rem}.floating-reward--xp{color:var(--color-blue);font-size:.85rem}.credits-display,.header-btn,.spin-button,.auto-spin-button,.upgrade-card,.upgrade-tab-btn,.modal-dialog,.modal-close,.quest-card,.quest-claim-btn,.ball-skill-action,.mobile-game-controls,.reel-mask,.reel-item,.drop-status,.statistics-card,.rarity-card{border-radius:0!important}.header-btn,.spin-button,.auto-spin-button,.upgrade-card,.upgrade-tab-btn,.quest-claim-btn,.ball-skill-action{border:2px solid var(--color-border-thick)!important;box-shadow:3px 3px #05070b!important;background:#18243a!important;transition:transform 80ms steps(1,end),filter 80ms steps(1,end)!important}.header-btn:not(:disabled):hover,.spin-button:not(:disabled):hover,.auto-spin-button:not(:disabled):hover,.upgrade-card:not(:disabled):hover,.upgrade-tab-btn:not(:disabled):hover,.quest-claim-btn:not(:disabled):hover,.ball-skill-action:not(:disabled):hover{transform:translate(-1px,-1px);filter:brightness(1.18)}.header-btn:not(:disabled):active,.spin-button:not(:disabled):active,.auto-spin-button:not(:disabled):active,.upgrade-card:not(:disabled):active,.upgrade-tab-btn:not(:disabled):active,.quest-claim-btn:not(:disabled):active,.ball-skill-action:not(:disabled):active{transform:translate(3px,3px);box-shadow:0 0 #05070b!important}.spin-button{background:#173f59!important;color:#baf5ff;text-transform:uppercase;letter-spacing:.08em}.auto-spin-button--on{background:#214d43!important}.spin-button:disabled,.auto-spin-button:disabled,.ball-skill-action:disabled,.quest-claim-btn:disabled{background:#101725!important;border-color:#27334a!important;color:#63718a!important;filter:none}.auto-spin-button--affordable,.auto-spin-button--unlocked{background:#214d43!important;border-color:#55e6a5!important;color:#d9fff0!important}.auto-spin-button--on{background:#1f6b55!important;border-color:#73ffc2!important;color:#fff!important}.upgrade-tab-btn--active{background:#284d77!important;border-color:var(--color-blue)!important;color:#fff!important}.upgrade-tab-btn--active:hover{filter:none}.ball-skill-action--cooldown,.ball-skill-action--empty{background:#111827!important;border-color:#33415c!important;color:#71809a!important}.quest-claim-btn:not(:disabled){background:#214d43!important;border-color:var(--color-green)!important;color:#ecfff7!important}.credits-display{background:#0d1524;border:1px solid #33415c;padding:8px 10px}.xp-bar{border:2px solid #33415c;border-radius:0;background:#080d18}.xp-bar-fill{border-radius:0;background:var(--color-blue)}.reel-mask{border:2px solid #33415c;background:#090e1a}.reel-item{border-right:1px solid #33415c}.upgrade-card{background:#121d30!important}.upgrade-card:hover{background:#1a2b45!important}.modal-overlay{background:#04070ee0}.modal-dialog{border:2px solid var(--color-blue);box-shadow:5px 5px #05070b;background:#111b2d}.floating-reward{text-shadow:2px 2px 0 #05070b}.reel-mask{background:#080d18;background-image:none}.reel-mask:before{display:none}.reel-mask:after{display:none}.reel-item{border-right:0;border-bottom:0}.reel-pointer:before{border-left-color:#5de0ff}.reel-pointer:after{border-right-color:#5de0ff}.won-ball-preview{border:2px solid var(--rarity-color);border-left-width:2px;background:#0d1524;box-shadow:3px 3px #05070b}.won-ball-preview .won-ball-info{flex:1 1 auto;min-width:0}.won-ball-name{margin-bottom:5px;padding-bottom:0;border-bottom:0;font-family:var(--font-display);font-size:.78rem;text-shadow:1px 1px 0 #05070b}.won-ball-rarity,.won-ball-bonus{font-size:.72rem;line-height:1.35}.skill-tree-panel{border-radius:0;border:2px solid #263a5a;background:#0d1524;box-shadow:3px 3px #05070b}.skill-tree-board{background-color:transparent;background-image:none;background-size:auto}.skill-tree-lines{shape-rendering:crispEdges}.skill-tree-line{stroke:#42506b;stroke-width:1}.skill-tree-line--active{stroke:#5de0ff;stroke-width:2}.skill-tree-board .skill-node{border-radius:0;border:2px solid #263a5a;clip-path:polygon(44% 0,56% 0,56% 2%,67% 2%,67% 6%,78% 6%,78% 13%,87% 13%,87% 22%,94% 22%,94% 33%,98% 33%,98% 44%,100% 44%,100% 56%,98% 56%,98% 67%,94% 67%,94% 78%,87% 78%,87% 87%,78% 87%,78% 94%,67% 94%,67% 98%,56% 98%,56% 100%,44% 100%,44% 98%,33% 98%,33% 94%,22% 94%,22% 87%,13% 87%,13% 78%,6% 78%,6% 67%,2% 67%,2% 56%,0 56%,0 44%,2% 44%,2% 33%,6% 33%,6% 22%,13% 22%,13% 13%,22% 13%,22% 6%,33% 6%,33% 2%,44% 2%);background:#26344d;box-shadow:2px 2px #05070b;transition:transform 80ms steps(1,end)}.skill-tree-board .skill-node--locked{background:#182235;color:#697892;opacity:.7}.skill-tree-board .skill-node--available{background:#55318a;color:#fff;box-shadow:2px 2px #05070b}.skill-tree-board .skill-node--unlocked{background:#21634f;color:#fff;box-shadow:2px 2px #05070b}.skill-tree-board .skill-node--secret.skill-node--locked{background:#3d2852;color:#d8aaff}.skill-tree-board .skill-node--secret.skill-node--available,.skill-tree-board .skill-node--secret.skill-node--unlocked{background:#7b286b;color:#fff;box-shadow:2px 2px #05070b}.skill-tree-board .skill-node--available:hover,.skill-tree-board .skill-node--locked:hover{transform:translate(calc(-50% - 1px),calc(-50% - 1px))}.skill-tree-board .skill-node--available:active{transform:translate(-50%,-50%)}.skill-tree-board .skill-node--selected{box-shadow:2px 2px #05070b,0 0 0 2px #fff}.skill-tooltip{border-radius:0;background:#0d1524;box-shadow:3px 3px #05070b}.skill-tooltip-buy-btn{border-radius:0;background:#21634f;box-shadow:2px 2px #05070b}.upgrade-tab-btn{font-size:.48rem;letter-spacing:0;white-space:nowrap;line-height:1;padding:7px 2px;justify-content:center;overflow:hidden;overflow-wrap:normal;text-overflow:ellipsis}.mobile-auto-spin-button{font-family:var(--font-pixel);font-size:.54rem;line-height:1;white-space:nowrap;overflow:visible;padding:7px 3px;border:2px solid #33415c;border-radius:0;background:#18243a;box-shadow:3px 3px #05070b;text-shadow:none;transition:transform 80ms steps(1,end),filter 80ms steps(1,end)}.mobile-auto-spin-button:not(:disabled):hover{filter:brightness(1.15)}.mobile-auto-spin-button:not(:disabled):active{transform:translate(3px,3px);box-shadow:0 0 #05070b}.mobile-auto-spin-button--affordable,.mobile-auto-spin-button--unlocked{background:#214d43;border-color:#55e6a5;color:#d9fff0}.mobile-auto-spin-button--on{background:#1f6b55;border-color:#73ffc2;color:#fff}.mobile-auto-spin-button:disabled{background:#101725;border-color:#27334a;color:#63718a}.modal-dialog,.leaderboard-modal-dialog{border-color:#33415c!important;box-shadow:4px 4px #05070b!important}.modal-dialog input,.modal-dialog select,.leaderboard-row,.leaderboard-list,.leaderboard-tab-btn{border-color:#33415c!important}.upgrade-card{display:block;min-width:0;overflow:hidden}.upgrade-footer{display:grid;grid-template-columns:1fr;align-items:stretch;gap:8px;min-width:0}.upgrade-cost{min-width:0;white-space:nowrap;overflow-wrap:normal;word-break:normal}.upgrade-buy-btn{min-width:0;max-width:100%;justify-self:end;white-space:nowrap;padding-inline:10px}@media(max-width:360px){.upgrade-footer{grid-template-columns:1fr;align-items:stretch}.upgrade-buy-btn{width:100%}.upgrade-cost{font-size:.72rem}}.upgrade-tab-btn:before{content:none!important;display:none!important}.ball-skill-bar{display:flex;align-items:center;justify-content:center;gap:10px}.ball-skill-slots{display:grid;flex:1 1 auto;grid-template-columns:repeat(3,minmax(64px,82px));justify-content:center;gap:9px;min-width:0}.ball-skill-action{width:100%;min-width:0;height:78px;min-height:78px;padding:6px!important;border:3px solid #40506a!important;background:#0c1422!important;box-shadow:inset 0 0 0 1px #1e2b43,3px 3px #05070b!important}.ball-skill-action:not(:disabled):hover{border-color:#8294ae!important}.ball-skill-action:disabled{background:#0c1422!important;border-color:#34425a!important;color:#71809a!important}.ball-skill-hotkey{top:4px;left:4px;width:17px;height:17px;border:2px solid #56647a;border-radius:0;background:#101827;font-family:var(--font-pixel);font-size:.5rem;text-shadow:none}.ball-skill-orb{position:relative;z-index:2;display:grid;width:44px;height:44px;place-items:center;padding:3px;clip-path:polygon(25% 0,75% 0,75% 5%,88% 5%,88% 12%,95% 12%,95% 25%,100% 25%,100% 75%,95% 75%,95% 88%,88% 88%,88% 95%,75% 95%,75% 100%,25% 100%,25% 95%,12% 95%,12% 88%,5% 88%,5% 75%,0 75%,0 25%,5% 25%,5% 12%,12% 12%,12% 5%,25% 5%);background:#26344d}.ball-skill-glyph{position:relative;display:grid;width:100%;height:100%;place-items:center;clip-path:inherit;background-color:transparent;background-repeat:no-repeat;background-position:center;background-size:contain;image-rendering:pixelated;color:var(--skill-light, #edf5ff);font-family:var(--font-pixel);font-size:1.15rem;line-height:1;text-shadow:2px 2px 0 rgba(5,7,11,.38)}.ball-skill-glyph:before{content:none}.ball-skill-action[data-skill-id=turboDrop]{--skill-color:#438d99;--skill-shadow:#28616d;--skill-light:#c8f8ff}.ball-skill-action[data-skill-id=xpSurge]{--skill-color:#5683a8;--skill-shadow:#365d7d;--skill-light:#e0f4ff}.ball-skill-action[data-skill-id=edgeRush]{--skill-color:#8054a9;--skill-shadow:#563672;--skill-light:#f0dcff}.ball-skill-action[data-skill-id=gravityBrake]{--skill-color:#5e7392;--skill-shadow:#3c4c66;--skill-light:#e5edff}.ball-skill-action[data-skill-id=neonOvercharge]{--skill-color:#7f538e;--skill-shadow:#573560;--skill-light:#f5ddff}.ball-skill-action[data-skill-id=luckySurge]{--skill-color:#5c963e;--skill-shadow:#396823;--skill-light:#f5ffe9}.ball-skill-action[data-skill-id=turboDrop] .ball-skill-glyph{background-image:url("./assets/skill-turbo-drop-OGXP5KIB.png")}.ball-skill-action[data-skill-id=xpSurge] .ball-skill-glyph{background-image:url("./assets/skill-xp-surge-CLXD6GWI.png")}.ball-skill-action[data-skill-id=edgeRush] .ball-skill-glyph{background-image:url("./assets/skill-edge-rush-VAALICFQ.png")}.ball-skill-action[data-skill-id=gravityBrake] .ball-skill-glyph{background-image:url("./assets/skill-gravity-brake-C2VDLSIU.png")}.ball-skill-action[data-skill-id=neonOvercharge] .ball-skill-glyph{background-image:url("./assets/skill-neon-overcharge-D5BLWZB6.png")}.ball-skill-action[data-skill-id=luckySurge] .ball-skill-glyph{background-image:url("./assets/skill-lucky-surge-KQCXIFAD.png")}.ball-skill-status{position:absolute;z-index:3;right:3px;bottom:1px;left:3px;overflow:hidden;color:#dce8f5;font-family:var(--font-pixel);font-size:.42rem;line-height:1.4;text-align:center;text-overflow:ellipsis;text-shadow:1px 1px 0 #05070b;white-space:nowrap}.ball-skill-cooldown-fill{z-index:1;background:#03070ead;transform:scaleY(0);transform-origin:center bottom}.ball-skill-action:disabled .ball-skill-orb{opacity:.82}.ball-skill-action--cooldown .ball-skill-orb{opacity:.58}.ball-skill-action--empty .ball-skill-orb{opacity:.42}.ball-skill-action--empty .ball-skill-glyph:before{content:"+"}.ball-skill-action--empty .ball-skill-status{overflow:visible;font-size:.34rem;letter-spacing:-.02em;text-overflow:clip}@media(pointer:coarse){.mobile-spin-button,.header-btn,.spin-button,.auto-spin-button,.mobile-auto-spin-button,.upgrade-card,.upgrade-tab-btn,.upgrade-buy-btn,.upgrade-qty-btn,.quest-claim-btn,.ball-skill-action,.tutorial-next-btn,.tutorial-skip-btn,.leaderboard-tab-btn,.leaderboard-name-save-btn,.skill-tooltip-buy-btn,.ball-skill-unequip-btn,.rebirth-btn--confirm,.special-peg-place-btn,.special-peg-remove-btn,.secondary-button,.danger-button,.modal-close,.modal-close-btn,.skill-tree-board .skill-node{touch-action:manipulation;min-height:44px;box-shadow:inset 0 1px #ffffff1f!important}.mobile-spin-button:active,.header-btn:active,.spin-button:not(:disabled):active,.auto-spin-button:not(:disabled):active,.mobile-auto-spin-button:not(:disabled):active,.upgrade-card:not(:disabled):active,.upgrade-tab-btn:not(:disabled):active,.upgrade-buy-btn:not(:disabled):active,.upgrade-qty-btn:not(:disabled):active,.quest-claim-btn:not(:disabled):active,.ball-skill-action:not(:disabled):active,.tutorial-next-btn:active,.tutorial-skip-btn:active,.leaderboard-tab-btn:active,.leaderboard-name-save-btn:active,.skill-tooltip-buy-btn:active,.ball-skill-unequip-btn:active,.rebirth-btn--confirm:active,.special-peg-place-btn:active,.special-peg-remove-btn:active,.secondary-button:not(:disabled):active,.danger-button:not(:disabled):active,.modal-close:active,.modal-close-btn:active{transform:none!important}.skill-tree-board .skill-node{width:44px;height:44px;box-shadow:none!important;transform:translate(-50%,-50%)!important}.skill-tree-board .skill-node:hover,.skill-tree-board .skill-node:active{transform:translate(-50%,-50%)!important}}.mobile-auto-skill-button{white-space:normal;line-height:1.15}@media(pointer:coarse),(max-width:600px){.upgrade-buy-btn{width:100%;justify-self:stretch;white-space:normal;overflow-wrap:anywhere;min-height:44px;box-shadow:none;transform:none}}.auto-skill-button,.auto-skill-button span{min-width:0;white-space:normal;overflow-wrap:anywhere;line-height:1.15}.slot-distribution{margin-top:1rem}.slot-distribution-header{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.slot-distribution-header h3{margin:0}.slot-distribution-clear{margin-left:auto}.slot-distribution-bars{display:flex;align-items:flex-end;gap:.3rem;min-height:150px;padding:.75rem 0;overflow-x:auto;touch-action:pan-x pan-y}.slot-distribution-bar{flex:0 0 36px;min-width:36px;height:140px;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:.2rem;font-size:.7rem}.slot-distribution-count,.slot-distribution-percent{display:block;line-height:1.2;white-space:nowrap}.slot-distribution-fill{width:100%;min-height:2px;background:var(--accent,#f5c542)}.slot-distribution-empty{opacity:.7}@keyframes floating-reward-rise{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}15%{opacity:1;transform:translate(-50%,-60%) scale(1.05)}to{opacity:0;transform:translate(-50%,-140%) scale(1)}}@keyframes pulse-glow{0%,to{filter:drop-shadow(0 0 6px currentColor)}50%{filter:drop-shadow(0 0 16px currentColor)}}@keyframes reel-winner-pulse{0%{transform:scale(1)}30%{transform:scale(1.15)}60%{transform:scale(.97)}to{transform:scale(1)}}@keyframes big-win-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.won-ball-preview--big-win{animation:big-win-pulse .55s ease-in-out 4}html.reduced-animation *:not(.reel-strip),html.reduced-animation *:not(.reel-pointer--spinning):before,html.reduced-animation *:not(.reel-pointer--spinning):after,html.performance-mode *:not(.reel-strip),html.performance-mode *:not(.reel-strip):before,html.performance-mode *:not(.reel-strip):after{animation:none!important;transition:none!important;scroll-behavior:auto!important}html.performance-mode .won-ball-name,html.performance-mode .auto-spin-button--on{filter:none!important}html.performance-mode .reel-strip{will-change:auto}html.performance-mode .reel-item-icon,html.performance-mode .reel-pointer{box-shadow:none}@media(prefers-reduced-motion:reduce){*:not(.reel-strip),*:not(.reel-pointer--spinning):before,*:not(.reel-pointer--spinning):after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.won-ball-preview--big-win{animation-timing-function:steps(4,end)}.floating-reward{animation-timing-function:steps(8,end)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}@media(hover:none),(pointer:coarse){.ball-skill-hotkey{display:none}}@media(min-width:701px)and (max-width:1179px){html,body{height:auto;min-height:100%;overflow:auto}.app-shell{width:100%;height:auto;min-height:100svh;max-width:none;padding:max(8px,var(--safe-top)) max(10px,var(--safe-right)) max(18px,var(--safe-bottom)) max(10px,var(--safe-left));gap:10px}.top-bar{padding:8px 12px;border-width:3px}.brand-title{font-size:1.05rem}.header-btn{padding:7px 12px;font-size:.75rem}.game-layout{grid-template-columns:minmax(225px,.72fr) minmax(0,1.55fr);grid-template-areas:"spin board" "upgrade upgrade";gap:10px;align-items:stretch}.spin-panel,.board-panel{width:100%;height:min(680px,calc(100svh - 88px));min-height:350px;max-height:680px}.spin-panel{overflow-y:auto;scrollbar-width:thin}.board-panel{min-height:410px}.upgrade-panel{height:auto;max-height:none;overflow:visible}.board-canvas-wrapper{min-height:0}.panel{padding:0 10px 12px}.panel-heading{margin:0 -10px 8px;padding:9px 11px;font-size:.9rem}.board-panel .panel-heading{padding:9px 12px}.resource-stack{gap:5px;margin-bottom:8px}.credits-display{padding:6px 8px}.credits-display-label{font-size:.7rem}.credits-display-value{font-size:.9rem}.spin-button{padding:10px 8px;font-size:.86rem}.auto-spin-button{padding:8px 6px;margin-top:7px;font-size:.7rem}.reel-mask{height:clamp(130px,25svh,230px)}.upgrade-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}@media(max-width:700px){body{padding-bottom:calc(82px + var(--safe-bottom))}.app-shell{width:100%;max-width:none;padding:max(7px,var(--safe-top)) max(7px,var(--safe-right)) 18px max(7px,var(--safe-left));gap:9px}.top-bar{flex-direction:row;align-items:center;flex-wrap:nowrap;gap:7px;padding:7px 9px;border-width:3px}.brand{flex:1 1 auto;min-width:76px}.brand-title{font-size:clamp(.8rem,3.7vw,1rem)}.header-actions{flex:0 1 auto;gap:4px}.header-btn{min-height:38px;padding:6px 8px;border-width:2px;font-size:clamp(.63rem,2.7vw,.72rem)}.game-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"board" "spin" "upgrade";gap:9px}.spin-panel,.board-panel,.upgrade-panel{width:100%;height:auto;max-height:none;overflow-y:visible}.board-panel{height:clamp(405px,60svh,530px);min-height:405px;padding:0 7px 7px}.board-panel .panel-heading{margin:0 -7px 7px}.board-canvas-wrapper{min-height:0}.ball-skill-bar{grid-template-columns:repeat(3,minmax(0,1fr))}.ball-skill-bar-label{display:none}.panel{padding:0 10px 12px}.panel-heading{margin:0 -10px 9px;padding:10px 12px;font-size:.92rem}.resource-stack{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-bottom:9px}.credits-display{min-width:0;flex-direction:column;align-items:flex-start;padding:7px 8px;gap:1px}.credits-display-label{max-width:100%;overflow:hidden;font-size:.65rem;text-overflow:ellipsis;white-space:nowrap}.credits-display-value{max-width:100%;overflow:hidden;font-size:.9rem;text-overflow:ellipsis;white-space:nowrap}.spin-button{min-height:52px;padding:11px;font-size:.92rem}.auto-spin-button{min-height:44px}.reel-mask{height:180px}.upgrade-tabs{position:sticky;top:max(4px,var(--safe-top));z-index:8;padding:6px;border-radius:10px;background:#15151df5;box-shadow:0 3px 0 var(--color-border-thick);backdrop-filter:blur(8px)}.upgrade-tab-btn{min-height:42px}.upgrade-list{display:block}.statistics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.modal-overlay{align-items:flex-start;padding:max(10px,var(--safe-top)) max(8px,var(--safe-right)) max(10px,var(--safe-bottom)) max(8px,var(--safe-left))}.modal-dialog{max-height:calc(100svh - var(--safe-top) - var(--safe-bottom) - 20px);overflow-y:auto;padding:18px;border-radius:18px 18px 10px 10px}.quest-reward-row{align-items:stretch;flex-direction:column;gap:7px}.quest-claim-btn{width:100%;min-height:38px}.mobile-game-controls{display:grid}}@media(max-width:700px)and (orientation:portrait){.quests-modal-dialog{max-width:520px}#quests-modal-body{grid-template-columns:minmax(0,1fr)}}@media(max-width:500px)and (orientation:portrait){.top-bar{flex-wrap:wrap}.brand{flex-basis:100%;justify-content:center}.header-actions{width:100%;justify-content:center;flex-wrap:wrap}.mobile-game-controls{grid-template-columns:62px minmax(105px,1fr) 78px;gap:5px;padding:6px}.spin-panel>.spin-button,.spin-panel>.auto-spin-button{display:none}}@media(max-width:700px)and (orientation:portrait){.mobile-game-controls{grid-template-columns:minmax(0,.7fr) minmax(0,1.35fr) minmax(0,.85fr);grid-template-rows:repeat(2,minmax(44px,auto))}.mobile-credit{grid-column:1;grid-row:1 / span 2}#mobile-spin-button{grid-column:2;grid-row:1 / span 2}#mobile-auto-spin-button{grid-column:3;grid-row:1}#mobile-auto-skill-button{grid-column:3;grid-row:2}.app-shell{padding-bottom:calc(132px + var(--safe-bottom));scroll-padding-bottom:calc(132px + var(--safe-bottom))}html,body{scroll-padding-bottom:calc(132px + var(--safe-bottom))}}@media(max-width:900px)and (orientation:landscape){html,body{height:auto;min-height:100%;overflow-x:clip;overflow-y:auto;touch-action:pan-y}body{padding-bottom:0}.app-shell{height:auto;min-height:100svh;padding:max(5px,var(--safe-top)) max(6px,var(--safe-right)) max(5px,var(--safe-bottom)) max(6px,var(--safe-left));gap:6px}.top-bar{flex:0 0 auto;padding:4px 7px;gap:5px}.brand-title{font-size:.78rem}.header-btn{min-height:44px;padding:6px 9px;font-size:.62rem}.game-layout{flex:0 0 auto;min-height:auto;grid-template-columns:minmax(205px,.7fr) minmax(0,1.45fr);grid-template-areas:"spin board" "upgrade upgrade";gap:7px;align-items:stretch;overflow:visible}.spin-panel,.board-panel{height:calc(100svh - 68px);min-height:250px;max-height:none}.ball-skill-action{min-height:44px;padding:4px 6px}.spin-panel{overflow:visible}.board-panel{padding:0 5px 5px}.board-panel .panel-heading{margin:0 -5px 5px}.board-canvas-wrapper{min-height:0}.upgrade-panel{height:auto}.panel{padding:0 7px 9px}.panel-heading{margin:0 -7px 5px;padding:6px 8px;font-size:.74rem}.resource-stack{display:flex;gap:3px;margin-bottom:5px}.credits-display{flex-direction:row;align-items:center;padding:3px 6px}.credits-display-label{font-size:.58rem}.credits-display-value{font-size:.72rem}.spin-button{min-height:44px;padding:6px;font-size:.76rem}.auto-spin-button{min-height:44px;margin-top:5px;padding:5px;font-size:.62rem}.reel{margin:6px 0}.reel-mask{height:105px}.drop-status{font-size:.65rem}.upgrade-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mobile-game-controls{display:none}.modal-overlay{align-items:flex-start}.modal-dialog{width:min(560px,92vw);max-height:calc(100svh - var(--safe-top) - var(--safe-bottom) - 12px);padding:14px 18px}.quests-modal-dialog{width:min(860px,96vw)}.quests-modal-dialog h2{margin-bottom:8px}.modal-dialog .quests-intro{margin-bottom:10px;font-size:.76rem}#quests-modal-body{gap:7px}.quest-card{padding:9px 10px}}.upgrade-tabs,.modal-dialog,.top-bar,.panel,.board-panel,.board-canvas-wrapper,.mobile-game-controls,.quest-card,.reel-mask{border-radius:0!important}@media(max-width:900px)and (orientation:portrait){.app-shell{padding:10px;gap:10px}.game-layout{grid-template-columns:1fr;grid-template-areas:"board" "spin" "upgrade";gap:12px}.board-panel{min-height:58vh}.spin-panel,.upgrade-panel{max-height:none}.header-actions{width:100%;justify-content:flex-start}.header-btn{flex:1 1 auto}}@media(max-width:520px){.top-bar{align-items:flex-start}.brand{width:100%}.header-btn{font-size:.5rem;padding:8px 6px}.panel-heading{font-size:.6rem}.board-panel{min-height:52vh}.spin-button{font-size:.72rem}}@media(max-width:1024px){html,body{overflow-x:clip}.header-actions,.upgrade-tabs{min-width:0;flex-wrap:wrap}.header-btn,.upgrade-tab-btn{min-width:0;white-space:normal;overflow-wrap:anywhere}}@media(max-width:1024px){html,body{height:auto;min-height:100%;overflow-y:auto;overflow-x:clip;touch-action:pan-y;overscroll-behavior-y:auto}}@media(max-width:1024px){.upgrade-tab-btn{white-space:nowrap;overflow-wrap:normal;font-size:.46rem;line-height:1;padding:7px 2px;overflow:hidden}}@media(max-width:520px){.upgrade-tab-btn{font-size:.44rem;letter-spacing:-.01em}}@media(max-width:700px)and (orientation:portrait){.app-shell{padding-bottom:calc(92px + var(--safe-bottom));scroll-padding-bottom:calc(92px + var(--safe-bottom))}html,body{scroll-padding-bottom:calc(92px + var(--safe-bottom))}.skill-tree-panel{scroll-margin-bottom:92px}}@media(max-width:1024px){.ball-skill-slots{width:100%;grid-template-columns:repeat(3,minmax(58px,76px));gap:7px}.ball-skill-action{height:68px;min-height:68px}.ball-skill-orb{width:38px;height:38px}}@media(max-height:520px)and (min-width:600px){.ball-skill-slots{grid-template-columns:repeat(3,minmax(52px,66px));gap:5px}.ball-skill-action{height:52px;min-height:52px;padding:3px!important}.ball-skill-orb{width:31px;height:31px}.ball-skill-status{font-size:.36rem}}@media(max-width:600px){.slot-distribution-bars{gap:.15rem;overflow-x:auto}.slot-distribution-bar{flex-basis:36px;min-width:36px;font-size:.6rem}}@media(max-width:1024px){html,body{height:100%;min-height:0;overflow:hidden;touch-action:pan-y}.app-shell{height:100vh;min-height:0;overflow-y:auto;overflow-x:clip;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y;padding-bottom:calc(32px + var(--safe-bottom));scroll-padding-bottom:calc(32px + var(--safe-bottom))}}@supports (height: 100svh){@media(max-width:1024px){.app-shell{height:100svh}}}@supports (height: 100dvh){@media(max-width:1024px){.app-shell{height:100dvh}}}@media(max-width:700px){.app-shell{padding-bottom:calc(132px + var(--safe-bottom));scroll-padding-bottom:calc(132px + var(--safe-bottom))}.board-canvas-wrapper,#plinko-canvas,.mobile-game-controls{touch-action:pan-y}}.dev-console-lock,.dev-console-panel{font-family:Consolas,Courier New,monospace}.dev-console-lock[hidden],.dev-console-panel[hidden]{display:none}.dev-console-lock{position:fixed;inset:0;z-index:5000;display:flex;align-items:center;justify-content:center;background:#05050ab8}.dev-console-lock-box{width:min(320px,90vw);padding:20px;background:var(--color-bg-panel);border:2px solid var(--color-border-thick);border-radius:var(--radius-md);box-shadow:0 var(--shadow-hard-size) 0 var(--color-border-thick)}.dev-console-lock-title{font-family:var(--font-display);font-weight:700;color:var(--color-text-primary);margin-bottom:12px;letter-spacing:.04em}.dev-console-lock-input{width:100%;padding:10px 12px;background:#05070c;border:2px solid var(--color-border-thick);border-radius:var(--radius-sm);color:var(--color-green);font-family:inherit;font-size:.95rem}.dev-console-lock-input:focus{outline:2px solid var(--color-blue);outline-offset:1px}.dev-console-lock-error{margin-top:10px;color:var(--color-red);font-size:.85rem}@keyframes dev-console-shake-anim{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}.dev-console-shake .dev-console-lock-box{animation:dev-console-shake-anim .32s ease}.dev-console-panel{position:fixed;right:16px;bottom:16px;z-index:5000;width:min(440px,calc(100vw - 32px));height:min(360px,calc(100vh - 32px));display:flex;flex-direction:column;background:#06080ef5;border:2px solid var(--color-green-dark);border-radius:var(--radius-md);box-shadow:0 0 0 1px #000,0 12px 32px #0009;overflow:hidden}.dev-console-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--color-green-deep);color:#eafff0;font-weight:700;font-size:.8rem;letter-spacing:.08em}.dev-console-close{background:transparent;border:none;color:inherit;font-size:1.1rem;line-height:1;padding:2px 6px}.dev-console-close:hover{color:var(--color-red)}.dev-console-output{flex:1;overflow-y:auto;padding:10px 12px;font-size:.82rem;color:var(--color-green);white-space:pre-wrap;word-break:break-word}.dev-console-line{margin-bottom:2px}.dev-console-line--echo{color:var(--color-text-secondary)}.dev-console-line--success{color:var(--color-green)}.dev-console-line--error{color:var(--color-red)}.dev-console-line--info{color:var(--color-blue)}.dev-console-input-row{display:flex;align-items:center;gap:8px;padding:8px 12px;border-top:1px solid var(--color-green-deep);background:#05070c}.dev-console-prompt{color:var(--color-green);font-weight:700}.dev-console-input{flex:1;background:transparent;border:none;color:var(--color-green);font-family:inherit;font-size:.85rem}.dev-console-input:focus{outline:none}.dev-console-panel,.dev-console-lock-box,.dev-console-lock-input{border-radius:0;box-shadow:4px 4px #000}.dev-console-panel{border:2px solid var(--color-green);background:#050a0e}.dev-console-header{background:#123b31;border-bottom:2px solid var(--color-green)}
