/* Mechanic-specific stages share controls, never fixed board dimensions. */
#gameRules>#gameRtp{display:inline-block;font-size:14px;color:var(--text);margin:16px 0 5px;padding:8px 12px;line-height:1.5}#gameRules{font-size:14px;line-height:1.6}#resultVerification{margin-top:18px}#launchChecks{margin-top:18px}
.ante-control{display:flex!important;align-items:center;gap:10px!important;font-size:11px!important;line-height:1.5}.ante-control input{width:17px;height:17px;min-width:17px;accent-color:var(--lime);padding:0}.spin-cost{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:var(--muted);margin:10px 0}.spin-cost strong{color:var(--text);overflow-wrap:anywhere}.mines-feature{width:100%;display:flex;align-items:center;gap:15px;padding:17px 20px;margin:0 0 20px;border:1px solid #6a8e7d;background:linear-gradient(110deg,#294f4455,#192038);border-radius:16px;text-align:left}.mines-feature>span{font-size:30px;color:var(--lime)}.mines-feature strong{font-size:17px}.mines-feature small{color:var(--muted)}.mines-feature b{margin-left:auto;color:var(--lime)}#buySize{width:100%;margin-top:8px}
@media(max-width:600px){.game-controls{display:flex!important;flex-direction:column!important;gap:13px!important}.game-controls>label{margin:0}.game-controls .stake-steps{margin-top:-4px}.control-balance,.control-win{margin:0}.game-controls .spin-button{width:100%;min-height:52px}.game-controls .buy-bonus{width:100%;min-height:44px}.mines-feature{gap:10px;padding:13px}.mines-feature small{font-size:10px}}
.slot-symbol.empty-cell{visibility:hidden;pointer-events:none}.slot-symbol.wild-symbol{background:radial-gradient(#947638,#382e25);box-shadow:inset 0 0 0 2px #ffe3a1,0 0 14px #e8ca7a55}.wild-label{position:absolute;bottom:5%;z-index:3;color:#fff1bb;font-size:clamp(8px,1vw,15px);letter-spacing:.06em;text-shadow:0 2px 4px #000}.wild-multiplier{position:absolute;top:3%;right:4%;z-index:4;background:#181222;border:1px solid #eedcac;border-radius:12px;padding:2px 5px;font-weight:900;color:#e7cbff;font-size:clamp(9px,1.3vw,17px)}.mystery-symbol{background:radial-gradient(#654da3,#211733);box-shadow:inset 0 0 0 2px #c9a2ff88}.mystery-label{font-size:clamp(20px,4vw,56px);color:#f3dfff;text-shadow:0 0 15px #d3a6ff}.split-grid{position:absolute;inset:3%;display:grid;grid-template-rows:repeat(var(--split),1fr);gap:2px}.split-grid .split-image{position:relative;inset:auto;display:block;min-height:0;border:1px solid #b5d1ff77;border-radius:4px;background-color:#111a29aa;filter:none}.split-label{position:absolute;bottom:3%;right:3%;z-index:5;background:#13222c;color:#c4faff;border:1px solid #a3dbff99;border-radius:8px;padding:1px 5px;font-size:11px}.wild-overlay{position:absolute;inset:12px;z-index:9;pointer-events:none}.game-stage[data-mechanic=dynamic] .board-frame{background:linear-gradient(160deg,#332d62,#1c3249);border-color:var(--game-accent)}.game-stage[data-mechanic=dynamic] .slot-board{aspect-ratio:6/7;max-height:620px}.game-stage[data-mechanic=dynamic] .slot-symbol:not(.empty-cell){background:radial-gradient(#6b81ab44,#182b4266);border:1px solid #91b4e52a}.game-stage[data-mechanic=dynamic] .reel{overflow:hidden}
@media(max-width:600px){.wild-overlay{inset:8px}.wild-label{font-size:7px}.wild-multiplier{font-size:8px;padding:1px 3px}.split-label{font-size:8px;padding:0 2px}.mystery-label{font-size:25px}}
.game-options{flex-wrap:wrap}.win-celebration{position:fixed;z-index:120;left:50%;top:25%;transform:translateX(-50%);width:min(80vw,650px);padding:30px;text-align:center;border:1px solid #ead6a9;border-radius:28px;background:radial-gradient(#563e2af2,#151020f2);box-shadow:0 0 100px #d4a44755;pointer-events:none;overflow:hidden;animation:celebrate-in .3s ease-out}.win-celebration h2{color:#ffe5a5;font-size:clamp(25px,5vw,50px);margin:10px 0}.win-celebration>strong{font-size:clamp(20px,3vw,35px);color:var(--lime)}#winCoins span{position:absolute;left:var(--coin-x);top:-25px;color:#fddd9c;font-size:25px;animation:coin-fall 1.5s var(--coin-delay) ease-in both}#shareLink{width:100%;margin:18px 0}#shareDialog button{margin:8px 0}@keyframes coin-fall{to{transform:translateY(340px) rotate(240deg);opacity:0}}@keyframes celebrate-in{from{opacity:0;scale:.9}to{opacity:1;scale:1}}@media(prefers-reduced-motion:reduce){.win-celebration,#winCoins{display:none!important}}
.buy-bonus{display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(110deg,#7856ad55,#bfa06b33);border:1px solid #a48bc866}.buy-bonus strong{color:var(--lime)}.purchase-summary{display:grid;grid-template-columns:1fr auto;gap:16px;padding:20px 0;border-block:1px solid var(--line);margin:20px 0}.purchase-summary strong{color:var(--lime)}.buy-dialog .primary{width:100%;margin-top:16px}.buy-dialog>.quiet{display:block;margin:10px auto 0}.bonus-probability{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.referral-summary{display:flex;gap:30px;margin:24px 0}.referral-summary>div{display:grid;gap:10px}.referral-summary strong{font-size:32px;color:var(--lime)}.referral-admin-controls{display:flex;align-items:flex-end;flex-wrap:wrap;gap:15px;margin:24px 0}.referral-admin-controls label{flex:1 1 160px;margin:0}.referral-admin-controls button{min-height:44px}.rtp-tools{grid-column:2/-1;display:flex;gap:10px}.rtp-tools input{width:90px;padding:9px}.rtp-tools button{font-size:11px}.admin-game-row{row-gap:10px}#gameMathInfo{overflow-wrap:anywhere;font-family:monospace;font-size:11px}.game-tag{font-size:9px}#referralTotals{margin:20px 0}
@media(max-width:600px){.buy-bonus{grid-column:2;grid-row:5;font-size:11px}.bonus-probability{grid-template-columns:repeat(3,1fr)}.referral-admin-controls{flex-direction:column;align-items:stretch}.referral-admin-controls label{flex:auto}.rtp-tools{flex-wrap:wrap}}
.game-stage[data-mechanic=classic] .board-frame{width:min(100%,510px);margin:auto;border:3px solid #c5a46c;box-shadow:0 0 0 6px #5b3d22,inset 0 0 25px #dfa85b55,0 20px 40px #0008}
.game-stage[data-mechanic=classic] .slot-board{background:linear-gradient(#30202a,#0c0e18,#30202a)}
.game-stage[data-mechanic=classic] .slot-symbol{background:linear-gradient(135deg,#ad805522,#f4d6a011)}
.game-stage[data-mechanic=lines] .board-frame{border-color:var(--game-accent);box-shadow:0 0 24px color-mix(in srgb,var(--game-accent) 18%,transparent)}
.game-stage[data-mechanic=ways] .slot-board{gap:7px;background:linear-gradient(160deg,#151b25,#1b302c)}
.game-stage[data-mechanic=ways] .slot-symbol{border:1px solid #bfaf7833;background:radial-gradient(#63837733,#0f1e1933)}
.game-stage[data-mechanic=cluster] .reel{overflow:visible}.game-stage[data-mechanic=cluster] .slot-symbol{border:2px solid #ab94cc22;box-shadow:inset 0 0 15px #b18de511;border-radius:16px;background:radial-gradient(#6d4b7744,#22233666)}
.game-stage[data-mechanic=cluster] .slot-board{gap:7px}.game-stage[data-mechanic=cluster] .slot-symbol.is-win{border-color:var(--game-accent)}
.game-stage[data-mechanic=hold] .slot-board{background:linear-gradient(160deg,#0c2430,#15192e);gap:8px}.game-stage[data-mechanic=hold] .slot-symbol{box-shadow:inset 0 0 0 2px #a8d3ef22;background:radial-gradient(#466b8044,#192531);border-radius:50%}
.game-stage[data-mechanic=hold] .slot-symbol:not(.coin-symbol) .symbol-image{opacity:.3;filter:saturate(.35)}
.game-stage[data-mechanic=hold] .locked-coin{box-shadow:inset 0 0 0 2px #ffe0a7,0 0 20px #ffc66a44;background:radial-gradient(#947445,#4b3b2d)}
.coin-value{z-index:3;font-size:clamp(12px,2.5vw,26px);padding:3px 8px;background:#15100be6;color:#ffe7b7;border:1px solid #eacb83;border-radius:20px;text-shadow:0 2px 3px #000}.coin-symbol .symbol-image{inset:3%;opacity:.8}
.payline-overlay{position:absolute;inset:12px;pointer-events:none;z-index:8}.payline-overlay svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.payline-overlay polyline{fill:none;stroke:#f7e790;stroke-width:1;stroke-linejoin:round;filter:drop-shadow(0 0 2px #fdf8aa)}
.feature-description{font-size:16px;line-height:1.6;color:var(--text)}.pay-symbol{display:block;position:relative;width:50px;height:50px;background-image:url('./assets/slot-symbols.png');background-size:800% 400%;margin:auto}.line-map{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.line-route{display:flex;align-items:center;gap:8px;padding:9px;background:#0b101d;border:1px solid var(--line);border-radius:10px}.line-route b{font-size:11px;color:var(--muted)}.route-grid{display:grid;gap:3px}.route-dot{width:9px;height:9px;border-radius:2px;background:#313b50}.route-dot.active{background:var(--lime)}
.game-stage[data-world=cosmic-amethyst]{background:radial-gradient(at top,#4c2b68,#121b35)}.game-stage[data-world=phoenix-flame]{background:radial-gradient(at bottom,#6a3025,#1d1523)}.game-stage[data-world=pearl-garden]{background:radial-gradient(at top,#225765,#152131)}.game-stage[data-world=sakura-spirit]{background:radial-gradient(at top,#5f324d,#211629)}
@media(max-width:600px){.game-stage[data-mechanic=classic] .board-frame{width:90%;margin:10px auto}.game-stage[data-mechanic=ways] .slot-board,.game-stage[data-mechanic=hold] .slot-board,.game-stage[data-mechanic=cluster] .slot-board{gap:3px}.game-stage[data-mechanic=cluster] .slot-symbol{border-radius:7px;border-width:1px}.coin-value{padding:2px 5px;font-size:13px}.feature-description{font-size:13px}.payline-overlay{inset:8px}.line-map{gap:6px}.route-dot{width:6px;height:6px}.line-route{gap:5px;padding:6px}}
