.machine-bottom{min-height:54px;height:auto;gap:12px;justify-content:space-between;flex-wrap:wrap;padding:8px 0}
.controls{grid-template-columns:140px minmax(80px,1fr) minmax(260px,1.5fr);gap:14px}
.spin-actions{display:grid;grid-template-columns:1fr 1.15fr;gap:10px;min-width:0}
.spin-actions .spin-button{grid-column:auto;min-width:0}
.spin-actions .auto-button{border:2px solid #45766b;border-radius:12px;background:linear-gradient(#e2eee0,#c4dac7);color:#37665e;font-size:15px;font-weight:800;height:62px;padding:7px 10px;box-shadow:0 5px 0 #37665e;transition:background .2s,box-shadow .2s}
.spin-actions .auto-button[aria-pressed="true"]{background:#37665e;color:#fff6d7;box-shadow:0 5px 0 #254d46,inset 0 0 0 2px #8bae92}
.machine-bottom{justify-content:flex-end}
.auto-button:focus-visible{outline:3px solid #db9937;outline-offset:3px}
.win-effects{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:4;border-radius:10px}
.prize-particle{position:absolute;left:var(--x);top:48%;width:40px;height:40px;background:center/contain no-repeat;opacity:0;animation:prize-shower 1.4s var(--delay) cubic-bezier(.2,.65,.4,1) both;filter:drop-shadow(0 3px 1px #7e482633)}
.prize-coin{background-image:url('/assets/prize-coin.svg')}.prize-cheese{background-image:url('/assets/prize-cheese.svg');width:48px;height:48px}.prize-star{background-image:url('/assets/prize-star.svg');width:28px;height:28px}
.is-winning .cell.winning{animation:cheese-glow .7s ease-in-out 2}
.is-winning .cell.winning::after,.is-winning .cell.scatter-hit::after{content:'';position:absolute;inset:0;background:linear-gradient(115deg,transparent 20%,#fff9dba8 48%,transparent 70%);transform:translateX(-110%);animation:prize-shine .9s ease-out 2;pointer-events:none}
.is-winning .cell.scatter-hit .symbol{animation:win-pop .5s ease-in-out 3}
.is-winning .rail span{color:#fff2ac;animation:lights .35s ease-in-out 4 alternate}
.is-winning .win-overlay.visible>span{animation:prize-title .5s cubic-bezier(.16,1.5,.5,1) both}
.is-winning .win-overlay.visible strong{animation:prize-title .65s cubic-bezier(.16,1.5,.5,1) both}
@keyframes prize-shower{0%{opacity:0;transform:translate(-50%,20px) scale(.3) rotate(0)}18%{opacity:1}48%{transform:translate(calc(-50% + var(--drift)), -110px) scale(1.1) rotate(calc(var(--turn) * .45))}100%{opacity:0;transform:translate(calc(-50% + var(--drift) * 1.6),180px) scale(.7) rotate(var(--turn))}}
@keyframes cheese-glow{50%{box-shadow:inset 0 0 0 4px #ffda60,inset 0 0 28px #e8aa4c99;background:#fff0b8}}
@keyframes prize-shine{to{transform:translateX(110%)}}
@keyframes prize-title{from{transform:scale(.5) rotate(-6deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}
@media(max-width:700px){.controls{grid-template-columns:128px 1fr}.spin-actions{grid-column:1/-1}.spin-actions .spin-button,.spin-actions .auto-button{height:55px}.spin-actions .auto-button{font-size:14px}}
@media(max-width:560px){.prize-particle{width:30px;height:30px}.prize-cheese{width:36px;height:36px}}
@media(prefers-reduced-motion:reduce){.win-effects{display:none}.is-winning .cell,.is-winning .cell::after,.is-winning .cell .symbol,.is-winning .rail span,.is-winning .win-overlay.visible>span,.is-winning .win-overlay.visible strong{animation:none!important}}
/* Full-width game and compact header */
.game-layout{grid-template-columns:minmax(0,1fr)}
.topbar{gap:20px;height:auto;min-height:88px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px}
.header-metrics{display:flex;align-items:center;gap:24px;margin-left:auto}
.header-wallet{display:flex;align-items:center;gap:8px}.header-wallet img{width:38px;height:38px}.header-wallet small{display:block;font-size:10px;color:#967245}.header-wallet strong{font-size:25px;color:#704b23;font-variant-numeric:tabular-nums}
.header-stats{display:grid;grid-template-columns:auto auto;gap:5px 14px;background:none;border:0;border-left:1px solid #c8aa7655;padding:0 0 0 20px;color:#947047;text-align:left;font-size:10px}.header-stats>span:first-child{grid-column:1/-1;color:#5a7564;font-weight:800}.header-stats strong{color:#704b23;margin-left:5px}
.machine-top{gap:15px;position:relative;z-index:6}.machine-top>.text-button{margin-left:auto;white-space:nowrap}
.stash-wrap{position:relative}.stash-toggle{display:flex;align-items:center;gap:5px;border:1px solid #cb9f55;border-radius:20px;background:#fff2cb;color:#885b2f;font-size:11px;font-weight:800;padding:3px 12px 3px 5px;white-space:nowrap}.stash-toggle img{width:29px;height:29px}
.stash-bubble{position:absolute;top:100%;left:0;width:240px;padding:18px;background:#fff8e5;border:2px solid #c5a16b;border-radius:14px;box-shadow:0 12px 30px #5d422733;font-size:12px;color:#79552f;visibility:hidden;opacity:0;transition:opacity .15s}.stash-bubble p{font-size:11px;line-height:1.7}.stash-bubble:before{content:'';position:absolute;top:-7px;left:24px;width:10px;height:10px;background:#fff8e5;border-left:2px solid #c5a16b;border-top:2px solid #c5a16b;transform:rotate(45deg)}
.stash-wrap:hover .stash-bubble,.stash-wrap:focus-within .stash-bubble,.stash-wrap.popover-open .stash-bubble{visibility:visible;opacity:1}
.auto-wrap{position:relative;display:flex;min-width:0}.auto-wrap .auto-button{width:100%;padding-right:30px}.speed-menu-toggle{position:absolute;right:3px;top:3px;bottom:0;width:28px;border:0;background:none;color:#a17d39;font-size:20px;border-radius:9px}
.speed-menu{position:absolute;bottom:100%;left:0;right:0;min-width:180px;padding:12px;background:#fff7e1;border:2px solid #568477;border-radius:14px;box-shadow:0 -8px 28px #493b252b;z-index:7;visibility:hidden;opacity:0;transition:opacity .15s}.speed-menu>span{display:block;color:#99764b;font-size:10px;margin-bottom:8px}.speed-menu button{display:flex;align-items:center;gap:10px;width:100%;border:1px solid transparent;border-radius:8px;padding:9px;background:none;color:#51766a;font-weight:800}.speed-menu svg{width:25px;height:25px;fill:#efc65f;stroke:#8d642e;stroke-width:1.7;stroke-linejoin:round}.speed-menu button[aria-pressed=true]{border-color:#81a48c;background:#e2eddc}.speed-menu button:hover{background:#f8e6b5}.auto-wrap:hover .speed-menu,.auto-wrap:focus-within .speed-menu,.auto-wrap.popover-open .speed-menu{visibility:visible;opacity:1}
.fast-round .prize-particle{animation-duration:.56s;animation-delay:calc(var(--delay) / 2.5)}.fast-round.is-winning .cell.winning{animation-duration:.28s}.fast-round.is-winning .cell.winning .symbol{animation-duration:.26s}.fast-round.is-winning .cell.winning:after,.fast-round.is-winning .cell.scatter-hit:after{animation-duration:.36s}.fast-round.is-winning .cell.scatter-hit .symbol{animation-duration:.2s}.fast-round.is-winning .win-overlay.visible>span{animation-duration:.2s}.fast-round.is-winning .win-overlay.visible strong{animation-duration:.26s}
@media(min-width:701px){.reels{--cell-height:124px}.symbol{width:110px;height:110px}.controls{grid-template-columns:160px 1fr minmax(320px,440px)}}
@media(max-width:900px){.header-metrics{order:3;width:100%;margin:0;justify-content:space-between}.header-right{margin-left:auto}}
@media(max-width:560px){.topbar{gap:12px}.header-metrics{gap:10px}.header-wallet strong{font-size:22px}.header-stats{padding-left:12px;gap:5px 9px}.machine-top{flex-wrap:wrap;height:auto;min-height:85px;padding:12px 0;gap:8px}.game-title{width:100%}.stash-bubble{width:220px}.speed-menu{min-width:160px}.auto-wrap .auto-button{font-size:12px}.game-layout{display:grid;grid-template-columns:minmax(0,1fr)}}
.stash-toggle{position:relative}.stash-toggle.refill-ready:after{content:'';position:absolute;right:-3px;top:-3px;width:10px;height:10px;background:#df4038;border:2px solid #fff4d9;border-radius:50%;box-shadow:0 1px 4px #8b332744}
.win-overlay{overflow:hidden;isolation:isolate}.win-overlay:before{content:'';position:absolute;inset:-100%;background:repeating-conic-gradient(from 0deg,#fff4bb66 0deg 12deg,transparent 12deg 30deg);z-index:-1;animation:tier-rays 16s linear infinite}.win-overlay:not(.visible):before{animation-play-state:paused}
.tier-emblem{width:145px;height:103px;flex-shrink:0;background:center/contain no-repeat;filter:drop-shadow(0 5px 0 #87573125)}
.win-overlay[data-tier=mini] .tier-emblem{background-image:url('/assets/win-mini.svg')}.win-overlay[data-tier=major] .tier-emblem{background-image:url('/assets/win-major.svg')}.win-overlay[data-tier=big] .tier-emblem{background-image:url('/assets/win-big.svg')}.win-overlay[data-tier=jackpot] .tier-emblem{background-image:url('/assets/win-jackpot.svg')}
.win-overlay.visible .tier-emblem{animation:tier-bounce .65s cubic-bezier(.2,1.5,.4,1) both}.win-overlay[data-tier=major].visible .tier-emblem{animation:tier-bounce .7s cubic-bezier(.2,1.5,.4,1) both,tier-float 1s .7s ease-in-out infinite alternate}.win-overlay[data-tier=big].visible .tier-emblem{animation:tier-bounce .8s cubic-bezier(.2,1.5,.4,1) both,tier-tilt .8s .8s ease-in-out infinite alternate}.win-overlay[data-tier=jackpot].visible .tier-emblem{animation:tier-crown 1.1s ease-out both,tier-float 1s 1.1s ease-in-out infinite alternate}
.win-overlay[data-tier=mini]{background:#edf2d9ed}.win-overlay[data-tier=major]{background:#fff0bdeF}.win-overlay[data-tier=big]{background:#ffdab4ef}.win-overlay[data-tier=jackpot]{background:#4b3259ed}.win-overlay[data-tier=jackpot]>span{color:#ffdd75;text-shadow:2px 3px #7f4025}.win-overlay[data-tier=jackpot] strong{color:#fff0ab;text-shadow:2px 3px #81542d}.win-overlay[data-tier=jackpot] .win-multiplier,.win-overlay[data-tier=jackpot] small{color:#ffe8b6}
.win-multiplier{font-size:13px;font-weight:900;color:#966233;letter-spacing:1px}.fast-round .win-overlay.visible .tier-emblem{animation-duration:.3s}.fast-round .win-overlay:before{animation-duration:6.4s}
@keyframes tier-rays{to{transform:rotate(360deg)}}@keyframes tier-bounce{from{opacity:0;transform:translateY(55px) scale(.25) rotate(-15deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(0)}}@keyframes tier-float{to{transform:translateY(-7px)}}@keyframes tier-tilt{from{transform:rotate(-6deg)}to{transform:rotate(6deg)}}@keyframes tier-crown{0%{opacity:0;transform:translateY(-90px) scale(1.5)}65%{opacity:1;transform:translateY(6px) scale(.92)}100%{transform:translateY(0) scale(1)}}
@media(max-width:560px){.tier-emblem{width:94px;height:67px}.win-overlay>span{font-size:27px;letter-spacing:2px}.win-overlay strong{font-size:43px}.win-multiplier{font-size:10px}.win-overlay small{font-size:8px;margin-top:5px}}
@media(prefers-reduced-motion:reduce){.win-overlay:before,.win-overlay.visible .tier-emblem{animation:none!important}}
