/* One viewport, one consistent control surface. */
html,body{height:100%;overflow:hidden}
body{display:flex;align-items:center;justify-content:center;padding:4px 0 36px}
.brandbar,.disclaimer,.bottom{display:none}
.stage{width:min(1100px,96vw,calc((100svh - 230px)*1.9));max-width:none;min-width:0;margin:0;padding:0 8px;position:relative}
.title{height:44px;margin:0 0 -6px}.title img{height:100%}
.machine{padding:5px 10px 7px;border-radius:13px}
.ornament{height:17px;padding:0;font-size:17px}.ornament span{font-size:7px;letter-spacing:3px}
.reels{aspect-ratio:1.9;border-radius:2px}
.reel-stage{border-radius:3px}
.message{min-height:27px;height:27px;padding:3px 8px;font:12px/1.2 Arial;border-radius:0;margin:3px 0;overflow:hidden}
.console{display:grid;grid-template-columns:1fr 2.3fr .85fr 112px 34px;gap:8px;padding:3px 0 0;min-height:66px}
.meter{padding:5px 8px!important;border-radius:4px!important;min-width:0}.meter>span,.bet>span{font:8px Arial;letter-spacing:1px;margin-bottom:3px}.meter strong,.bet strong{font:bold 19px Arial}
.bet{position:relative;padding:0}.bet>span{display:none}.bet>div:first-of-type{display:contents}.bet strong{display:none}
.bet-presets{display:flex!important;gap:3px!important;padding:0 24px!important;margin:0!important}.bet-presets button{flex:1;min-width:0;padding:9px 1px!important;font:bold 14px Arial!important;border-radius:3px!important}
.bet #less,.bet #more{position:absolute;top:50%;translate:0 -50%;width:23px;height:38px;padding:0;font:22px Arial;border-radius:3px}.bet #less{left:0}.bet #more{right:0}
.spin-actions{flex-direction:row;gap:9px;align-items:center}.spin{width:66px;height:66px;min-width:66px;margin:0;border-width:2px}.spin b,.spin span{display:none}.spin:before{content:'↻';font:64px/1 Arial;color:#e7fff8;display:block}.spin.is-rolling:before{animation:player-spin 1s linear infinite}
#autoplay{min-width:32px;width:32px;min-height:32px;height:32px;padding:0;font-size:0;border-radius:50%;background:linear-gradient(#a87931,#392710);box-shadow:0 0 0 2px #483922}
#autoplay:before{content:'▷';font:bold 26px Arial}#autoplay[aria-pressed=true]:before{content:'■';font-size:16px}
#rules-button{width:32px;height:32px;padding:0;border-radius:50%;font-size:0;background:linear-gradient(#2e7382,#102e3d)}#rules-button:before{content:'i';font:bold 23px Georgia}
#auto-status{position:absolute;top:48px;left:50%;translate:-50% 0;z-index:6;background:#07121fee;border-radius:4px;padding:3px 8px;max-width:90%;font-size:10px;pointer-events:none}
#line-caption{position:absolute;bottom:102px;left:20px;right:20px;height:auto;pointer-events:none;font-size:9px}
#golden-progress{position:absolute;top:49px;left:20px;right:20px;z-index:5;background:#111d25df;padding:3px;font-size:9px}
.player-footer{position:fixed;bottom:0;left:0;right:0;height:32px;display:flex;align-items:center;gap:5px;background:#07090deF;padding:0 12px;color:#bfc9cd;font:11px Arial;z-index:8}
.player-footer button{width:32px;height:30px;padding:0;border:0;border-radius:0;background:none;font-size:0;color:#bfc9cd}.player-footer button:hover{color:white;background:#24313a}.player-footer #player-menu-button{font-size:23px}
#sound:before{content:'♪';font:24px Arial}#sound[aria-pressed=false]:after{content:'/';position:absolute;font:26px Arial;margin-left:-17px}#turbo:before{content:'ϟ';font:27px Arial}#turbo[aria-pressed=true]{color:#ffd680}#fullscreen:before{content:'⛶';font:23px Arial}
.player-status{flex:1;text-align:center;font-size:10px}.player-demo{font-size:9px;letter-spacing:1px}
.player-amounts{display:inline-block;margin-right:25px;white-space:pre}
#player-menu{width:340px;padding:24px}#player-menu h2{margin:0 0 22px}#player-menu-close{position:absolute;right:12px;top:12px;font-size:22px;padding:0;width:36px;height:36px}.menu-items{display:grid;gap:10px}.menu-items button,.menu-items a{font:14px Arial;padding:12px;color:#ffe5b4;text-decoration:none}.menu-items a{text-align:center}#player-menu p{font-size:11px}
@keyframes player-spin{to{rotate:360deg}}
@media(max-width:700px){.stage{width:98vw;padding:0 5px}.title{height:90px}.machine{padding:4px 4px 7px}.ornament span{font-size:6px;letter-spacing:2px}.reels{aspect-ratio:5/3}.console{grid-template-columns:1fr 1fr 105px 30px;gap:5px;min-height:106px}.meter{grid-row:1}.meter:first-child{grid-column:1}.meter:nth-child(3){grid-column:2}.meter strong{font-size:17px}.bet{grid-column:1/3;grid-row:2}.spin-actions{grid-column:3;grid-row:1/3;gap:8px}.spin{width:62px;height:62px;min-width:62px}.spin:before{font-size:59px}#autoplay{min-width:30px;width:30px;height:30px;min-height:30px}#rules-button{grid-column:4;grid-row:1/3;width:28px;height:32px}.bet-presets button{font-size:11px!important;min-height:36px;padding:8px 0!important}.message{font-size:10px;height:32px}.player-footer{padding:0 5px;gap:2px}.player-demo{font-size:7px;letter-spacing:0}.player-status{font-size:8px}#auto-status,#golden-progress{top:94px}#line-caption{bottom:146px}}
@media(max-height:500px){.stage{width:min(96vw,calc((100svh - 128px)*1.9))}.title{height:25px}.ornament{height:10px}.ornament span{font-size:5px}.console{min-height:52px;grid-template-columns:1fr 2.3fr .85fr 90px 28px}.spin{width:48px;height:48px;min-width:48px}.spin:before{font-size:46px}.meter strong{font-size:14px}.message{height:20px;min-height:20px;font-size:10px}.bet-presets button{font-size:11px!important;padding:7px 0!important}.player-footer{height:28px}#auto-status,#golden-progress{top:29px}}
@media(prefers-reduced-motion:reduce){.spin.is-rolling:before{animation:none}}
@media(max-width:700px){.player-amounts{display:block;margin:0;font-size:8px;white-space:normal}.player-status>span:not(.player-amounts){display:none}.player-demo{display:none}}
@media(max-height:500px) and (min-width:701px){.stage{width:min(96vw,calc((100svh - 175px)*1.9))}}
@media(max-height:500px) and (min-width:701px){.console{grid-template-columns:1fr 1fr 86px 28px;grid-template-rows:32px 34px;min-height:72px;gap:3px}.console>.meter:first-child{grid-column:1;grid-row:1}.console>.meter:nth-child(3){grid-column:2;grid-row:1}.meter{padding:2px!important}.meter>span{font-size:6px;margin:0}.meter strong{font-size:12px}.bet{grid-column:1/3;grid-row:2}.spin-actions{grid-column:3;grid-row:1/3;gap:7px}#rules-button{grid-column:4;grid-row:1/3;width:26px}.spin{width:46px;height:46px;min-width:46px}.bet-presets button{height:29px!important;min-height:29px!important}.bet #less,.bet #more{height:29px}}
