@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=Inter:wght@400;600;700;800&display=swap');
:root{color-scheme:dark;font-family:Inter,Arial,sans-serif;background:#080810;color:#fff;--accent:#ffb965;--accent2:#d63582;--cols:6;--rows:5;--board-ratio:1.2;--art:none}*{box-sizing:border-box}body{margin:0;min-height:100dvh;display:grid;place-items:center;background:#080810}button,a{touch-action:manipulation}button{font:inherit;color:inherit;cursor:pointer;border:1px solid #ffffff24;border-radius:16px;background:#ffffff0c;padding:12px}button:hover{background:#ffffff18}button:disabled{opacity:.38;cursor:default}button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:3px}button:active{transform:scale(.97)}small{display:block;font-size:10px;font-weight:800;letter-spacing:1.1px;color:#dbcbbd}strong{font-variant-numeric:tabular-nums}button small{color:inherit}.game{position:relative;isolation:isolate;width:min(100%,1500px);min-height:min(100dvh,960px);display:flex;flex-direction:column;padding:18px 24px 14px;overflow:hidden;background:linear-gradient(180deg,#10091228,#100912a6),var(--art) center/cover no-repeat}.game:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#10071690,transparent 55%,#10071630)}.top{display:flex;align-items:center;gap:14px;height:60px}.top h1{font-family:'Barlow Condensed',Arial,sans-serif;font-size:36px;letter-spacing:.5px;margin:0;line-height:1.05;text-shadow:0 2px 20px #0009}.top small{color:var(--accent);font-size:9px}.back{display:grid;place-items:center;color:white;text-decoration:none;width:40px;height:40px;border:1px solid #ffffff30;border-radius:50%;background:#140e2180;font-size:30px}.test-label{margin-left:auto;font-size:10px;letter-spacing:1px;color:#fff9}.top>button{width:40px;height:40px;border-radius:50%;padding:0;font-family:Georgia,serif;font-style:italic}.cabinet{flex:1;display:grid;grid-template-columns:210px minmax(0,1fr);gap:20px;align-items:center;width:min(100%,1190px);margin:14px auto}.rail{display:flex;flex-direction:column;gap:12px;align-self:center}.buy{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:112px;border:1px solid #ffe2a270;background:linear-gradient(135deg,var(--accent2),#321448);box-shadow:0 6px 32px #0003}.buy strong{font-family:'Barlow Condensed',sans-serif;font-size:24px}.buy span{font-size:22px;font-weight:800;color:#ffdf9b}.feature,.mechanics,.history{background:linear-gradient(135deg,#171321e8,#110e1ac9);border:1px solid #ffffff20;border-radius:20px;padding:16px;box-shadow:0 8px 24px #0002}.feature strong{display:block;font-size:25px;margin:7px 0;color:var(--accent)}.feature>span{font-size:12px;color:#fff9}.history{min-height:124px;max-height:210px;overflow:hidden}.history>div{margin-top:12px;font-size:12px;color:#fff9}.history-row{display:flex;align-items:center;gap:7px;margin:7px 0;color:white}.history-row>span:first-child{width:30px;height:30px;position:relative;flex-shrink:0}.history-row b{margin-left:auto;color:#ffdfa4;font-size:13px}.history-row em{font-style:normal;font-size:10px;color:#fff9}.board-wrap{width:min(100%,840px);margin:auto}.ribbon{min-height:43px;display:flex;align-items:center;justify-content:center;gap:15px;padding:9px 14px;font-family:'Barlow Condensed',sans-serif;letter-spacing:.4px;text-shadow:0 2px 8px #000;font-weight:700;font-size:19px}.ribbon strong{color:#ffdda0}.board{position:relative;aspect-ratio:var(--board-ratio);border:2px solid #ffdab08c;border-radius:26px;background:linear-gradient(145deg,#26142feb,#150c22f5);box-shadow:0 0 0 5px #24142088,0 0 0 7px #f3be6b44,0 20px 65px #05030bac,inset 0 0 55px #0004;overflow:hidden}.board:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 calc(100% / var(--cols) - 1px),#ffffff09 calc(100% / var(--cols) - 1px) calc(100% / var(--cols)));pointer-events:none}.symbols,.spots,.flashes{position:absolute;inset:8px}.tile,.spot{position:absolute;width:calc(100% / var(--cols));height:calc(100% / var(--rows));display:grid;place-items:center}.tile{will-change:transform;z-index:2;pointer-events:none}.symbol-art{position:absolute;inset:3%;background-repeat:no-repeat;background-size:400% 300%;filter:drop-shadow(0 7px 4px #0005);transition:filter .15s}.tile.winning .symbol-art{filter:drop-shadow(0 0 10px #ffe58f) brightness(1.2)}.tile .badge{position:absolute;bottom:7%;left:50%;transform:translateX(-50%);font-size:clamp(10px,1.5vw,22px);font-weight:800;color:#fffbe1;white-space:nowrap;text-shadow:0 2px 4px #000,1px 0 #000,-1px 0 #000;z-index:3}.tile .award-badge{background:#11061bc9;border:1px solid var(--accent);border-radius:9px;padding:3px 5px;font-size:clamp(8px,1vw,13px)}.tile .scatter-badge{font-size:clamp(8px,1vw,13px);letter-spacing:.8px}.spot{border:3px solid transparent;border-radius:16px;transition:background .22s,border-color .22s;z-index:1}.spot.marked{background:#ffdd9d22;border-color:#ffdd9d44}.spot.active{background:radial-gradient(ellipse,#ffb3df45,#a435ee2e);border-color:#ffd98988}.spot>span{position:absolute;top:3%;right:6%;background:#391453eb;border:1px solid #ffdb91bb;box-shadow:0 0 13px #ed87ec44;border-radius:50%;padding:4px;font-size:clamp(8px,1.1vw,15px);font-weight:800;color:#ffeda4;z-index:4}.outlines{position:absolute;inset:8px;width:calc(100% - 16px);height:calc(100% - 16px);pointer-events:none;z-index:4}.outlines path,.outlines polyline{fill:none;stroke:#ffe599;stroke-width:.5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 2px #ffc869)}.caption{text-align:center;color:#ffe6c6b3;font-size:11px;letter-spacing:.8px;margin:15px 0 0}.mechanics .mechanic-value{display:block;font-size:27px;color:var(--accent);margin:8px 0}.meter{margin-top:9px}.meter .meter-head{display:flex;justify-content:space-between;font-size:10px;font-weight:800;margin:5px 0;color:#ffdfa8}.track{height:5px;background:#ffffff13;border-radius:8px;overflow:hidden}.track>i{display:block;height:100%;background:linear-gradient(90deg,var(--accent2),var(--accent));border-radius:8px;transition:width .3s}.trail{display:flex;gap:7px;margin:12px 0}.trail i{width:23px;height:23px;border:1px solid #ffdc9370;border-radius:50%;background:#ffffff0c}.trail i.on{background:var(--accent);box-shadow:0 0 15px #ffb96b88}.hud{display:flex;align-items:center;gap:22px;border:1px solid #ffffff21;border-radius:24px;background:linear-gradient(135deg,#17101dec,#0b0a13eb);box-shadow:0 10px 36px #0004;padding:12px 22px;min-height:105px}.money{min-width:180px}.money>strong{display:block;font-size:24px;color:#ffdda4;margin:4px 0}.bet{background:none;border:0;border-radius:8px;padding:4px 0;font-size:11px;color:#fff9}.bet b{font-size:13px;color:#fff;margin-left:5px}.round-win{flex:1;text-align:center}.round-win>strong{display:block;font-family:'Barlow Condensed',sans-serif;font-size:39px;color:#ffdfa4;line-height:1.15;margin-top:4px}.spin-group{display:flex;align-items:center;gap:9px}.spin-group>button:not(.spin){border-radius:50%;width:40px;height:40px;padding:0;font-size:25px;background:#ffffff0c}.spin{border-radius:50%;width:79px;height:79px;border:3px solid #ffe1a2;background:radial-gradient(circle at 30% 20%,#ff669f,var(--accent2) 55%,#411434);box-shadow:0 0 0 5px #ffdc9415,0 5px 22px #0005;padding:16px}.spin:hover{background:radial-gradient(circle at 30% 20%,#ff82af,var(--accent2) 65%,#411434)}.spin svg{width:100%;height:100%;fill:none;stroke:white;stroke-width:7;stroke-linecap:round;stroke-linejoin:round}.spin.busy svg{opacity:.8}.tools{display:grid;grid-template-columns:1fr 1fr;gap:7px;max-width:175px}.tools button{font-size:10px;font-weight:800;padding:10px 12px;border-radius:12px}.tools>button:last-child{grid-column:span 2}.loading .hud,.loading .buy{opacity:.5;pointer-events:none}dialog{color:white;border:1px solid #eace9f66;border-radius:26px;max-width:520px;width:calc(100% - 36px);background:linear-gradient(135deg,#28132eee,#101122fa);padding:30px;box-shadow:0 25px 100px #0008}dialog::backdrop{background:#080514b3;backdrop-filter:blur(5px)}dialog h2{font-family:'Barlow Condensed',sans-serif;font-size:35px;margin:8px 0 20px;color:#ffdfa4}dialog p{font-size:13px;line-height:1.7;color:#fff9}.close{position:absolute;right:12px;top:12px;border:0;width:33px;height:33px;padding:0;font-size:24px;background:#fff1}.choices{display:flex;gap:9px;flex-wrap:wrap;margin:15px 0}.choices button{flex:1;min-width:70px}.choices .selected{border-color:var(--accent);background:#ffce9220}.confirm{display:flex;gap:12px;margin-top:25px}.confirm button{flex:1}.primary{background:linear-gradient(130deg,var(--accent2),#572453);border-color:#ffe4a066;font-weight:800}.big-number{font-family:'Barlow Condensed',sans-serif;font-size:62px;text-align:center;color:#ffe2a6}.celebrate{animation:celebrate .7s ease-out}.popup{position:absolute;left:50%;top:40%;transform:translate(-50%,-50%);font-family:'Barlow Condensed',sans-serif;font-size:clamp(20px,4vw,60px);font-weight:800;color:#ffe4a0;text-shadow:0 2px 10px #000;white-space:nowrap;z-index:8;pointer-events:none}.spark{position:absolute;width:7px;height:7px;border-radius:50%;background:#ffe8a0;box-shadow:0 0 12px #ffb561;z-index:6;pointer-events:none}@keyframes celebrate{50%{filter:brightness(1.4);box-shadow:0 0 90px #ffd58266}}
@media(min-width:1000px) and (max-height:780px){.game{padding:8px 18px;min-height:100dvh}.top{height:44px}.top h1{font-size:30px}.cabinet{margin:8px auto;gap:14px;max-width:1040px;grid-template-columns:180px minmax(0,1fr)}.board-wrap{max-width:min(100%,calc((100dvh - 205px)*1.2))}.rush .board-wrap{max-width:min(100%,calc(100dvh - 205px))}.bass .board-wrap{max-width:min(100%,calc((100dvh - 205px)*1.6667))}.buy{min-height:86px}.feature,.mechanics,.history{padding:12px}.history{min-height:85px;max-height:150px}.hud{min-height:86px;padding:8px 20px}.spin{width:68px;height:68px}.caption{margin-top:10px}}
@media(max-width:1200px){.game{padding:12px;min-height:100dvh}.top h1{font-size:30px}.test-label{font-size:8px}.cabinet{grid-template-columns:160px minmax(0,1fr);gap:13px}.buy strong{font-size:21px}.buy span{font-size:20px}.rail{gap:9px}.feature,.mechanics,.history{padding:12px}.feature strong{font-size:21px}.hud{gap:13px;padding:12px}.money{min-width:145px}.money>strong{font-size:20px}.round-win>strong{font-size:30px}.tools{max-width:125px}.tools button{padding:8px}.spin{width:68px;height:68px}}
@media(max-width:600px) and (orientation:portrait){.game{justify-content:center;padding:12px 10px 10px}.top{height:53px;gap:10px}.top h1{font-size:29px}.test-label{max-width:72px;text-align:right;line-height:1.5}.cabinet{display:flex;flex-direction:column-reverse;gap:13px;flex:0;margin:10px auto 15px}.board-wrap{width:100%}.board{border-radius:21px}.ribbon{font-size:16px;min-height:37px;padding:8px 0}.caption{font-size:9px;margin-top:12px}.rail{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:9px;align-self:stretch}.buy{min-height:84px;border-radius:17px;gap:5px}.buy small{font-size:8px}.buy strong{font-size:20px}.buy span{font-size:20px}.feature{border-radius:17px;padding:12px;display:flex;flex-direction:column;justify-content:center}.feature small{font-size:8px;letter-spacing:.5px}.feature strong{font-size:22px}.feature>span{font-size:10px}.history{display:none}.mechanics{grid-column:span 2;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:54px;border-radius:17px}.mechanics .mechanic-value{font-size:21px;margin:0}.mechanics small{font-size:9px}.mechanics .hint{font-size:9px;color:#fff8}.meters{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;width:100%}.meter{margin:0;min-width:0}.meter .meter-head{flex-direction:column;gap:3px;font-size:8px}.trail{margin:0;gap:4px}.trail i{width:17px;height:17px}.hud{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;padding:13px;border-radius:20px}.money{min-width:0}.money>strong{font-size:22px}.round-win{align-self:start;text-align:right}.round-win>strong{font-size:32px}.spin-group{grid-column:2;grid-row:2;justify-content:flex-end;gap:6px}.spin{width:64px;height:64px;padding:14px}.spin-group>button:not(.spin){width:29px;height:29px;font-size:20px}.tools{grid-column:1;grid-row:2;max-width:150px;gap:5px}.tools button{padding:8px 6px;font-size:9px}.tile .badge{font-size:12px}.tile .award-badge,.tile .scatter-badge{font-size:8px}.spot>span{font-size:9px;padding:2px}.symbol-art{inset:1%}.bass .symbol-art{inset:3%}.bass .board{aspect-ratio:1.35}.bass .caption{font-size:9px}.rush .cabinet{margin-top:5px}.rush .ribbon{font-size:14px}.rush .tile .badge{font-size:9px}}
@media(max-width:1000px) and (orientation:landscape) and (max-height:600px){.game{padding:5px 10px;min-height:100dvh}.top{height:33px;gap:9px}.top h1{font-size:23px}.top small{font-size:7px}.back,.top>button{width:28px;height:28px}.cabinet{grid-template-columns:145px minmax(0,1fr);margin:0 auto 5px;gap:10px;align-items:center}.board-wrap{width:min(100%,calc((100dvh - 148px)*1.2))}.rush .board-wrap{width:min(100%,calc(100dvh - 148px))}.bass .board-wrap{width:min(100%,calc((100dvh - 148px)*1.6667))}.ribbon{font-size:13px;min-height:24px;padding:3px}.caption{font-size:8px;margin-top:6px}.rail{gap:6px}.buy{min-height:60px;padding:6px;gap:3px}.buy strong{font-size:17px}.buy small{font-size:7px}.buy span{font-size:17px}.feature,.mechanics{padding:8px;border-radius:12px}.feature small{font-size:7px}.feature strong{font-size:18px;margin:4px 0}.feature span{font-size:8px}.history{display:none}.mechanics small{font-size:8px}.mechanics .mechanic-value{font-size:19px;margin:4px 0}.meter{margin-top:4px}.meter .meter-head{font-size:7px;margin:3px 0}.track{height:3px}.trail{margin:5px 0}.trail i{width:13px;height:13px}.hud{min-height:63px;padding:5px 13px;gap:12px;border-radius:16px}.money>strong{font-size:19px;margin:2px 0}.money small,.round-win small{font-size:8px}.money .bet{font-size:9px}.money .bet b{font-size:10px}.round-win>strong{font-size:28px}.spin{width:51px;height:51px;padding:11px}.spin-group>button:not(.spin){width:27px;height:27px;font-size:18px}.tools{display:flex;max-width:none;gap:5px}.tools button{padding:9px 7px;font-size:8px}.tile .badge{font-size:13px}.tile .award-badge,.tile .scatter-badge{font-size:8px}.mechanics .hint{display:none}}
/* Keep the full board and cash/spin controls visible together on desktop. */
@media(min-width:901px) and (min-height:781px){.board-wrap{max-width:min(840px,calc((100dvh - 305px)*var(--board-ratio)))}.rush .board-wrap{max-width:min(840px,calc(100dvh - 305px))}.bass .board-wrap{max-width:min(840px,calc((100dvh - 305px)*1.6667))}}
@media(min-width:1000px) and (max-height:780px){.board-wrap{max-width:min(840px,calc((100dvh - 235px)*var(--board-ratio)))}.rush .board-wrap{max-width:min(840px,calc(100dvh - 235px))}.bass .board-wrap{max-width:min(840px,calc((100dvh - 235px)*1.6667))}}
@media(min-width:1000px) and (max-height:700px){.history{display:none}}
@media(max-width:1000px) and (orientation:landscape) and (max-height:600px){.board-wrap{width:min(100%,calc((100dvh - 164px)*var(--board-ratio)))}.rush .board-wrap{width:min(100%,calc(100dvh - 164px))}.bass .board-wrap{width:min(100%,calc((100dvh - 164px)*1.6667))}}
.symbol-art{clip-path:none;background-image:none;overflow:hidden}
.symbol-art>svg{display:block}
@media(max-width:600px) and (orientation:portrait){.rush{padding:8px 10px}.rush .cabinet{gap:9px;margin-bottom:8px}.rush .rail{gap:6px}.rush .ribbon{min-height:32px}.rush .hud{padding:10px;gap:6px}}
.spin-control{display:grid;justify-items:center;gap:5px;flex-shrink:0}
.spin-control #speed{width:100%;min-height:25px;border-radius:9px;padding:5px 8px;font-size:10px;font-weight:800;letter-spacing:.5px;line-height:1}
.spin-control #speed{display:grid;place-items:center;border-radius:999px;padding:2px 10px;background:#0b0a138c}
#speed svg{width:42px;height:20px;fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
#speed .speed-mark{stroke:#ffffff30;transition:stroke .2s,filter .2s}
#speed .level-1,#speed[data-level="2"] .level-2,#speed[data-level="3"] .level-2,#speed[data-level="3"] .level-3{stroke:var(--accent);filter:drop-shadow(0 0 3px #ffc86955)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.confetti-layer{position:absolute;inset:0;z-index:12;pointer-events:none;overflow:hidden}
.confetti{position:absolute;width:7px;height:13px;border-radius:2px;box-shadow:0 0 7px #ffffff30;will-change:transform,opacity}
.retrigger-popup{color:#fff2bd;text-shadow:0 3px 0 #734131,0 0 30px #ffbe7780;font-size:clamp(18px,3.5vw,48px)}
.win-popup{color:#fff0b9;text-shadow:0 3px 0 #774a2f,0 0 25px #ffc27266;font-size:clamp(26px,4vw,58px)}
.popup{max-width:94%;white-space:normal;text-align:center;line-height:1.15}
.fx-test{position:fixed;left:10px;bottom:10px;z-index:30;background:#130c20ee;border:1px solid #ffd89666;border-radius:14px;padding:9px;display:flex;gap:6px;align-items:center;flex-wrap:wrap;max-width:calc(100vw - 20px)}
.fx-test small{font-size:8px}.fx-test button{font-size:10px;padding:6px 8px;border-radius:8px}
.tools{grid-template-columns:1fr}
.tools>button:last-child{grid-column:auto}
/* Reserve space for the speed selector below the spin without hiding the HUD. */
@media(min-width:901px) and (min-height:781px){.game .board-wrap{max-width:min(840px,calc((100dvh - 335px)*var(--board-ratio)))}}
@media(min-width:1000px) and (max-height:780px){.game .board-wrap{max-width:min(840px,calc((100dvh - 265px)*var(--board-ratio)))}}
@media(max-width:600px) and (orientation:portrait){.game .board-wrap{width:calc(100% - 32px)}}
@media(max-width:1000px) and (orientation:landscape) and (max-height:600px){.board-wrap{width:min(100%,calc((100dvh - 194px)*var(--board-ratio)))}.rush .board-wrap{width:min(100%,calc(100dvh - 194px))}.bass .board-wrap{width:min(100%,calc((100dvh - 194px)*1.6667))}.spin-control #speed{min-height:22px;font-size:8px;padding:4px 6px}}
/* Short landscape screens use side controls, not a full-width footer that
   consumes the reel height. Board proportions stay unchanged. */
@media(max-width:1000px) and (orientation:landscape) and (max-height:600px){
 .game{height:100dvh;min-height:100dvh;padding:5px 10px;display:grid;grid-template-rows:28px minmax(0,1fr)}
 .top{height:28px}
 .cabinet{width:calc(100% - 160px);height:100%;margin:0 160px 0 0;grid-template-columns:145px minmax(0,1fr);gap:10px;min-height:0}
 .game .board-wrap{width:min(100%,calc((100dvh - 76px)*var(--board-ratio)));max-width:none}
 .caption{display:none}
 .hud{position:absolute;right:10px;top:44px;bottom:10px;width:145px;min-height:0;padding:12px 8px;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:12px}
 .money{min-width:0;text-align:center}
 .money>strong{font-size:18px}
 .round-win{flex:0;text-align:center}
 .round-win>strong{font-size:25px}
 .spin-group{justify-content:center;gap:5px}
 .tools{justify-content:center;max-width:none}
 .tools button{font-size:8px;padding:8px 5px}
}
dialog.feature-celebration{width:min(560px,calc(100% - 28px));max-width:560px;text-align:center;overflow:hidden;padding:24px 28px;background:radial-gradient(ellipse at 50% 22%,#82375477,transparent 65%),linear-gradient(150deg,#24132bf5,#0e0b1bfa);border-color:#ffd995b3;box-shadow:0 0 90px #edaf6433,0 30px 120px #0009}
.feature-celebration::backdrop{background:#080312d9;backdrop-filter:blur(7px)}
.feature-badge{display:inline-block;padding:7px 15px;border-radius:999px;border:1px solid #ffd99366;background:#ffcf8a10;color:#ffdfa5;letter-spacing:2px}
.feature-show{position:relative;height:155px;margin:8px 0 0;isolation:isolate;pointer-events:none}
.feature-rays{position:absolute;width:350px;height:350px;left:50%;top:50%;margin:-175px;border-radius:50%;background:repeating-conic-gradient(from 10deg,#ffd88200 0deg,#ffd88230 8deg,#ffce8100 17deg,#ffd88200 30deg);mask-image:radial-gradient(circle,#000 5%,#0008 38%,transparent 68%)}
.feature-halo{position:absolute;width:135px;height:135px;left:50%;top:50%;margin:-67.5px;border:1px solid #ffe5a779;border-radius:50%;background:radial-gradient(circle,#fff1aa44,#db76bc22 45%,transparent 72%);box-shadow:0 0 45px #ffc46955,inset 0 0 25px #ffce7633}
.feature-emblem{position:absolute;width:130px;height:130px;left:50%;top:50%;margin:-65px;filter:drop-shadow(0 0 18px #ffd277aa)}
.feature-emblem .symbol-art{inset:0;clip-path:none}
.feature-particles{position:absolute;inset:0}
.feature-particles i{position:absolute;left:50%;top:50%;width:5px;height:5px;background:#ffe2a7;border-radius:50%;box-shadow:0 0 8px #ffdb92;opacity:0}
.feature-celebration h2{font-size:clamp(22px,4vw,32px);margin:8px 0;color:#fff1c7;letter-spacing:1px}
.feature-count strong{display:block;font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:clamp(78px,13vw,110px);line-height:.95;background:linear-gradient(#fff9dc,#ffdb88 52%,#dc8a32);background-clip:text;color:transparent;filter:drop-shadow(0 3px 0 #80521d) drop-shadow(0 0 18px #ffc87733)}
.feature-count span{display:block;font-size:12px;font-weight:800;letter-spacing:2px;margin-top:12px;color:#ffe1a1}
.feature-celebration p{margin:15px 0 0;font-size:12px}
.feature-celebration .confirm{margin-top:20px}
.feature-celebration #continue{min-height:50px;border-radius:999px;background:linear-gradient(110deg,#ad3373,#dc6959);box-shadow:0 0 24px #de99682a;letter-spacing:2px}
.win-emblem svg{width:100%;height:100%;filter:drop-shadow(0 0 12px #ffcb8144)}
.win-celebration .big-number{font-size:clamp(38px,7vw,72px);font-weight:800;background:linear-gradient(#fff7cf,#ffd280);color:transparent;background-clip:text;filter:drop-shadow(0 2px 0 #69401d)}
.win-celebration.tier-mega{border-color:#ffdd98;box-shadow:0 0 120px #ffb65855,0 30px 120px #0009}
.win-celebration.tier-legendary{background:radial-gradient(ellipse at 50% 25%,#cd735533,transparent 65%),linear-gradient(150deg,#33162af5,#0c101dfa);border-color:#fff1b8;box-shadow:0 0 150px #ffd68177,0 30px 120px #0009}
.win-celebration.tier-legendary .feature-halo{box-shadow:0 0 75px #ffd589aa,inset 0 0 35px #ffce7677}
@media(max-height:600px) and (orientation:landscape){.win-celebration .big-number{font-size:40px}}
dialog.feature-celebration[open]{animation:feature-arrive .65s cubic-bezier(.16,.8,.2,1) both}
.feature-celebration[open] .feature-rays{animation:feature-rays 16s linear infinite}
.feature-celebration[open] .feature-halo{animation:feature-halo 2.4s ease-in-out infinite}
.feature-celebration[open] .feature-emblem{animation:feature-emblem .8s cubic-bezier(.15,.8,.3,1) both}
.feature-celebration[open] .feature-particles i{animation:feature-particle 2.1s ease-out infinite;animation-delay:var(--delay)}
.feature-celebration[open] .feature-count{animation:feature-count .8s .15s cubic-bezier(.16,.8,.2,1) both}
@keyframes feature-arrive{from{opacity:0;transform:translateY(18px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes feature-rays{to{transform:rotate(360deg)}}
@keyframes feature-halo{50%{transform:scale(1.12);opacity:.65}}
@keyframes feature-emblem{from{transform:scale(.4) rotate(-12deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}
@keyframes feature-count{from{transform:translateY(14px) scale(.8);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}
@keyframes feature-particle{0%{transform:rotate(var(--a)) translateX(40px) scale(.4);opacity:0}20%{opacity:1}100%{transform:rotate(var(--a)) translateX(var(--reach)) scale(0);opacity:0}}
@media(max-height:600px) and (orientation:landscape){dialog.feature-celebration{padding:12px 22px;max-height:calc(100dvh - 20px)}.feature-show{height:80px}.feature-emblem{width:85px;height:85px;margin:-42.5px}.feature-halo{width:85px;height:85px;margin:-42.5px}.feature-celebration h2{font-size:22px;margin:3px 0}.feature-count strong{font-size:64px}.feature-count span{font-size:10px;margin-top:5px}.feature-celebration p{margin-top:8px}.feature-celebration .confirm{margin-top:10px}.feature-celebration #continue{min-height:38px}}
/* Celebrations are a stage over the retained game, never an information card. */
dialog.feature-celebration{width:min(1000px,calc(100% - 24px));max-width:1000px;border:0;border-radius:0;background:transparent;box-shadow:none;padding:20px 30px;overflow:hidden}
.feature-celebration::backdrop{background:radial-gradient(ellipse at center,#21102970,#070410d4);backdrop-filter:blur(3px)}
.feature-celebration .feature-badge{border:0;background:none;color:#fff1c4;letter-spacing:3px;padding:5px;font-size:11px;text-shadow:0 0 18px #ffc782}
.feature-celebration .feature-show{height:210px;margin:0}
.feature-celebration .feature-rays{width:700px;height:700px;margin:-350px;background:repeating-conic-gradient(from 10deg,#ffd88200 0deg,#ffd88255 8deg,#ffce8100 17deg,#ffd88200 30deg)}
.feature-celebration .feature-halo{width:190px;height:190px;margin:-95px;box-shadow:0 0 90px #ffc46977,inset 0 0 45px #ffce7644}
.feature-celebration .feature-emblem{width:180px;height:180px;margin:-90px}
.feature-celebration h2{font-size:clamp(28px,5vw,58px);margin:4px 0 12px;text-shadow:0 3px 0 #754127,0 0 32px #ffc27755}
.feature-celebration .feature-count strong{font-size:clamp(110px,18vw,180px)}
.feature-celebration .feature-count span{font-size:15px;letter-spacing:3px}
.feature-celebration .confirm{justify-content:center}
.feature-celebration #continue{flex:0 1 280px}
.feature-celebration .close{right:4px;top:4px;background:#110a2077}
.win-celebration .big-number{font-size:clamp(52px,11vw,120px);line-height:1.1}
dialog.win-celebration.tier-mega,dialog.win-celebration.tier-legendary{background:transparent;border:0;box-shadow:none}
.win-celebration.tier-mega .big-number{filter:drop-shadow(0 3px 0 #69401d) drop-shadow(0 0 35px #ffce7c66)}
.win-celebration.tier-legendary .big-number{filter:drop-shadow(0 4px 0 #69401d) drop-shadow(0 0 55px #ffce7caa)}
.feature-celebration .confetti:nth-child(3n){width:11px;height:11px;border-radius:50%;background:linear-gradient(135deg,#fff4b8,#e8a33b)!important;border:1px solid #ffdf81;box-shadow:0 0 8px #ffcb6655}
@media(max-width:600px) and (orientation:portrait){dialog.feature-celebration{padding:18px 12px}.feature-celebration .feature-show{height:165px}.feature-celebration .feature-emblem{width:145px;height:145px;margin:-72.5px}.feature-celebration .feature-halo{width:155px;height:155px;margin:-77.5px}.feature-celebration h2{font-size:30px}.feature-celebration .feature-count strong{font-size:130px}.feature-celebration .feature-count span{font-size:12px}.win-celebration .big-number{font-size:54px}}
@media(max-height:600px) and (orientation:landscape){dialog.feature-celebration{padding:8px 20px;max-height:calc(100dvh - 16px)}.feature-celebration .feature-show{height:88px}.feature-celebration .feature-emblem{width:85px;height:85px;margin:-42.5px}.feature-celebration .feature-halo{width:95px;height:95px;margin:-47.5px}.feature-celebration h2{font-size:30px;margin:2px 0 5px}.feature-celebration .feature-count strong{font-size:78px}.feature-celebration .feature-count span{font-size:10px;margin-top:5px}.feature-celebration .feature-badge{font-size:8px}.win-celebration .big-number{font-size:52px}.feature-celebration p{margin:5px 0}.feature-celebration .confirm{margin-top:8px}.feature-celebration #continue{min-height:34px;padding:8px}}
@media(prefers-reduced-motion:reduce){.celebrate{animation:none}.track>i,.spot,.symbol-art{transition:none}dialog.feature-celebration[open],.feature-celebration[open] .feature-rays,.feature-celebration[open] .feature-halo,.feature-celebration[open] .feature-emblem,.feature-celebration[open] .feature-count,.feature-celebration[open] .feature-particles i{animation:none}}
/* Fit the actual available cabinet, not an arbitrary fraction of the screen.
   JS measures header/HUD/rail/ribbon; the board always retains its own ratio. */
html,body{width:100%;height:100%;min-height:0;overflow:hidden}
html:root{background-image:linear-gradient(180deg,#10091228,#100912a6),var(--page-art);background-size:cover;background-position:center;background-repeat:no-repeat}
body{background:transparent}
.game{background:transparent}
.game{width:100%;height:100dvh;min-height:0;max-height:none;padding:max(8px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));display:grid;grid-template-rows:42px minmax(0,1fr) 108px;gap:6px}
.game .cabinet{width:var(--stage-width,100%);max-width:none;height:100%;min-height:0;margin:0 auto;grid-template-columns:clamp(145px,12vw,195px) minmax(0,1fr);gap:12px}
.game .board-wrap{width:var(--fitted-board-width,min(70%,calc((100dvh - 265px)*var(--board-ratio))));max-width:none;margin:auto;flex:none}
.game .board{aspect-ratio:var(--board-ratio)}
.game .rail{max-height:100%;overflow:auto;scrollbar-width:thin}
.game .hud{width:var(--stage-width,100%);min-height:0;height:100%;margin:0 auto;padding:6px 16px}
.game .spin{width:68px;height:68px}.game .spin-control{gap:3px}.game .spin-control #speed{min-height:22px;height:22px}
.game .top{width:var(--stage-width,100%);height:100%;min-height:0;margin:0 auto}
.game .top #fullscreen{font:22px Arial;width:36px;height:36px;flex-shrink:0}
.game #mode{font-size:10px;font-weight:800;padding:8px;border-radius:999px;background:#160f25bb}
dialog:not(.feature-celebration){max-height:calc(100dvh - 24px);overflow:auto}
@media(max-height:700px){.game .history{display:none}}
@media(max-width:1200px) and (orientation:portrait){
 .game{grid-template-rows:44px minmax(0,1fr) 156px;gap:8px;padding:8px 10px max(8px,env(safe-area-inset-bottom))}
 .game .top{gap:7px}.game .top h1{font-size:25px}.game .test-label{font-size:7px;max-width:60px}
 .game .cabinet{display:flex;flex-direction:column-reverse;justify-content:center;gap:12px}
 .game .rail{width:100%;display:grid;grid-template-columns:minmax(120px,.8fr) minmax(0,1.2fr);grid-template-areas:"buy feature" "mode mechanics";gap:6px;max-height:none;overflow:visible}
 .game .buy{grid-area:buy}.game .feature{grid-area:feature}.game .mechanics{grid-area:mechanics}
 .game.rush .rail,.game.bass .rail{grid-template-areas:"buy feature" "mechanics mechanics"}
 .game .history{display:none}
 .game .buy{min-height:54px;gap:2px;padding:5px}.game .buy strong,.game .buy span{font-size:16px}
 .game .feature{padding:7px}.game .feature strong{font-size:18px;margin:3px 0}.game .feature small{font-size:7px}
 .game .mechanics{grid-column:auto;min-height:38px;padding:5px 8px}.game .mechanics .hint{display:none}.game .mechanics .mechanic-value{font-size:18px;margin:0}
 .game .rail #mode{grid-area:mode;grid-column:auto;padding:5px;min-height:26px}
 .game .board-wrap{margin:0 auto}
 .game .ribbon{min-height:26px;padding:3px;font-size:12px;gap:5px}.game .caption{display:none}
 .game .hud{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px;padding:6px 8px}.game .money{min-width:0}.game .money>strong{font-size:19px;margin:2px 0}.game .round-win{flex:initial;text-align:right}.game .round-win>strong{font-size:27px}.game .spin{width:56px;height:56px}
 .game .spin-group{grid-column:2;grid-row:2;justify-content:flex-end;gap:6px}.game .tools{grid-column:1;grid-row:2;max-width:150px}
 .game .tools{gap:4px}.game .tools button{font-size:8px;padding:7px 5px}
}
@media(max-width:1000px) and (orientation:landscape) and (max-height:600px){
 .game{grid-template-rows:28px minmax(0,1fr);gap:5px;padding:5px 10px}
 .game .cabinet{width:calc(100% - 152px);margin:0;grid-template-columns:128px minmax(0,1fr);gap:12px}
 .game .hud{position:absolute;top:38px;right:10px;bottom:8px;width:140px;height:auto;gap:10px;padding:8px;justify-content:center}
 .game .caption{display:none}.game .ribbon{min-height:22px;padding:2px;font-size:11px;gap:5px}
 .game .rail{gap:5px}.game .buy{min-height:52px}.game .buy strong,.game .buy span{font-size:15px}
 .game .feature,.game .mechanics{padding:7px}.game .top #fullscreen{width:28px;height:28px;font-size:19px}
}
/* Presentation-only profiles. One board, no changes to result or reel rules. */
.game .ribbon{max-width:100%;flex-wrap:wrap;gap:4px 10px;line-height:1.2}
.game .ribbon #status{overflow-wrap:anywhere}
.game .rail>*{min-width:0}
.game .hud .money,.game .hud .round-win{min-width:0}
.game .board-wrap{min-width:0}
.game .top h1{font-size:clamp(25px,2.5vw,36px)}
dialog:not(.feature-celebration){width:min(520px,calc(100vw - 24px));box-sizing:border-box;padding:26px 20px}
dialog .big-number{font-size:clamp(28px,7vw,62px);overflow-wrap:anywhere}
dialog .choices button{min-height:44px;min-width:90px}
dialog .confirm button{min-height:44px;padding:10px 8px}
dialog h2{padding-right:20px;overflow-wrap:anywhere}

@media(max-width:1200px) and (orientation:portrait){
 .game{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:44px auto 44px 60px minmax(92px,1fr) 40px 42px;grid-template-areas:'brand brand' 'board board' 'result result' 'buy feature' 'spin mechanics' 'history tools' 'funds funds';gap:6px 10px;padding:8px 10px max(8px,env(safe-area-inset-bottom))}
 .game .cabinet,.game .rail,.game .hud{display:contents}
 .game .top{grid-area:brand;width:100%;gap:6px}
 .game .top h1{font-size:25px}.game .top small{font-size:8px}
 .game .top .back,.game .top>button{width:34px;height:34px;flex-shrink:0}
 .game .test-label{font-size:6px;max-width:50px}
 .game .board-wrap{grid-area:board;align-self:start;width:min(100%,calc((100dvh - 400px)*var(--board-ratio)));margin:0 auto}
 .game .board{border-radius:18px;box-shadow:0 0 0 3px #24142088,0 0 0 4px #f3be6b44,0 12px 30px #05030b70}
 .game .ribbon{min-height:26px;padding:3px 0;font-size:12px}
 .game .caption{display:none}
 .game .round-win{grid-area:result;text-align:center;align-self:center}
 .game .round-win small{font-size:8px}.game .round-win>strong{font-size:30px;margin-top:1px;line-height:1}
 .game .buy{grid-area:buy;min-height:0;height:100%;padding:6px;gap:2px;border-radius:14px}
 .game .buy strong,.game .buy span{font-size:18px}.game .buy small{font-size:7px}
 .game .feature,.game #mode{grid-area:feature;height:100%;min-height:0;padding:7px;border-radius:14px;align-content:center;text-align:center}
 .game .feature small{font-size:7px}.game .feature strong{font-size:18px;margin:2px 0}.game .feature>span{font-size:10px}
 .game:has(#mode):not(.feature-active) .feature{display:none}
 .game.feature-active #mode{display:none}
 .game #mode{font-size:12px;white-space:normal}
 .game .rail #mode{grid-area:feature;grid-column:auto;padding:7px;min-height:0}
 .game .spin-group{grid-area:spin;align-self:center;justify-content:center;gap:6px}
 .game .spin{width:68px;height:68px;padding:13px}
 .game .spin-group>button:not(.spin){width:32px;height:32px;font-size:23px}
 .game .spin-control #speed{min-width:44px;height:22px}
 .game .mechanics{grid-area:mechanics;display:block;align-self:center;min-height:0;max-height:100%;overflow:auto;padding:8px;border-radius:14px}
 .game .mechanics small{font-size:7px;letter-spacing:.5px}.game .mechanic-value{font-size:22px;margin:3px 0}
 .game .mechanics .hint{display:none}.game .meter{margin-top:3px}.game .meter .meter-head{font-size:8px;margin:2px 0}.game .track{height:3px}
 .game .mechanics .meters{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;width:100%}
 .game .mechanics .meter{margin:0}.game .mechanics .meter .meter-head{display:flex;flex-direction:row;justify-content:space-between;gap:2px;font-size:7px;letter-spacing:0;white-space:nowrap;margin:1px 0}
 .game .mechanics .meter .track{height:2px}
 .game .trail{margin:6px 0;gap:5px}.game .trail i{width:18px;height:18px}
 .game .history{grid-area:history;display:block;min-height:0;height:100%;max-height:none;padding:4px 7px;border-radius:12px;overflow:auto}
 .game .history>small{font-size:6px}.game .history>div{margin-top:2px;font-size:9px}.game .history-row{margin:2px 0;gap:3px}.game .history-row>span:first-child{width:16px;height:16px}.game .history-row em{font-size:7px}.game .history-row b{font-size:9px}
 .game .tools{grid-area:tools;grid-row:auto;grid-column:auto;display:flex;max-width:none;align-items:center;justify-content:center;gap:6px}
 .game .tools button{font-size:8px;padding:7px;min-height:32px;border-radius:999px}
 .game .money{grid-area:funds;display:flex;align-items:center;justify-content:center;gap:8px;border-top:1px solid #ffffff24;padding-top:4px}
 .game .money>small{font-size:7px;letter-spacing:.5px}.game .money>strong{font-size:clamp(15px,4vw,22px);margin:0;white-space:nowrap}
 .game .bet{min-width:0;padding:5px;font-size:8px}.game .bet b{font-size:11px;margin-left:3px}
 .game .tile .badge{font-size:clamp(9px,2.8vw,16px)}.game .tile .scatter-badge,.game .tile .award-badge{font-size:clamp(7px,1.9vw,11px)}
 .game .spot>span{font-size:clamp(8px,2.5vw,14px);padding:2px}
}
@media(max-width:1200px) and (orientation:portrait) and (max-height:650px){
 .game{grid-template-rows:32px auto 36px 52px minmax(80px,1fr) 32px 36px;gap:3px 8px;padding:6px 8px}
 .game .board-wrap{width:min(100%,calc((100dvh - 320px)*var(--board-ratio)))}
 .game .ribbon{min-height:20px;font-size:10px;padding:2px 0}
 .game .top h1{font-size:21px}.game .top .back,.game .top>button{width:28px;height:28px}.game .test-label{display:none}
 .game .round-win>strong{font-size:25px}.game .buy strong,.game .buy span{font-size:15px}
 .game .spin{width:56px;height:56px}.game .spin-group{gap:4px}.game .spin-group>button:not(.spin){width:28px;height:28px}
 .game .tools button{font-size:7px;min-height:28px;padding:5px}.game .money{gap:5px}.game .money>strong{font-size:15px}
 .game .mechanics{padding:5px}.game .feature strong{font-size:16px}
}
/* Landscape uses the same bottom control line as desktop, not a tall sidebar. */
@media(max-width:1000px) and (orientation:landscape) and (max-height:600px){
 .game{grid-template-columns:minmax(0,1fr);grid-template-rows:28px minmax(0,1fr) 64px;gap:4px;padding:5px 10px}
 .game .cabinet{width:var(--stage-width,100%);margin:0 auto;grid-template-columns:120px minmax(0,1fr);gap:10px}
 .game .hud{position:relative;inset:auto;width:var(--stage-width,100%);height:100%;display:flex;flex-direction:row;justify-content:space-between;gap:8px;padding:4px 10px;border-radius:16px}
 .game .money{min-width:110px}.game .money>small{font-size:7px}.game .money>strong{font-size:17px;margin:2px 0}.game .bet{font-size:8px}.game .bet b{font-size:10px}
 .game .round-win>strong{font-size:25px}.game .round-win small{font-size:7px}
 .game .spin{width:42px;height:42px;padding:8px;border-width:2px}.game .spin-group{gap:5px}.game .spin-group>button:not(.spin){width:25px;height:25px;font-size:20px}
 .game .spin-control{gap:1px}.game .spin-control #speed{min-height:14px;height:14px;padding:0 7px}.game #speed svg{height:12px}
 .game .tools{max-width:96px;gap:3px}.game .tools button{padding:6px 5px;font-size:7px}
 .game .rail{gap:5px}.game .buy{min-height:46px;padding:5px;gap:1px}.game .feature,.game .mechanics{padding:6px}.game .mechanic-value{font-size:19px}.game .feature strong{font-size:18px;margin:3px 0}
 .game .ribbon{min-height:20px;padding:2px;font-size:10px}.game .caption{display:none}
 .game .hud,.game .top{width:min(100%,600px)}
}
/* Themed feature rail: presentation only, prices come from the engine config. */
/* Owner rejected generic dashboard cards: use a shared cabinet and control deck. */
.game .rail{gap:12px}
.game .rail-buy{position:relative;isolation:isolate;overflow:hidden;min-height:144px;padding:14px 10px;gap:4px;border:1px solid color-mix(in srgb,var(--accent),transparent 25%);border-radius:22px;background:radial-gradient(ellipse at 85% 0%,#ffffff36,transparent 60%),linear-gradient(140deg,var(--accent2),#261330);box-shadow:inset 0 1px 0 #ffffff60,0 10px 25px #05030b55;text-align:center}
.game .rail-buy:after{content:'';position:absolute;inset:5px;border:1px solid #ffffff25;border-radius:17px;pointer-events:none}
.game .rail-buy:hover{filter:brightness(1.12)}
.game .rail-buy>strong{font-size:25px;line-height:1.05;letter-spacing:.6px;text-shadow:0 2px 8px #18081e88}
.game .rail-buy .rail-price{font-size:26px;font-weight:800;color:#fff0c9;line-height:1.15;white-space:nowrap}
.game .rail-buy .rail-kicker{font-size:8px;letter-spacing:2.5px;color:#fff9}
.game .rail-buy .rail-options{font-size:8px;letter-spacing:.5px;color:#fff9;font-weight:800}
.game .rail-emblem{position:absolute;right:-12px;top:-16px;width:95px;height:95px;opacity:.16;transform:rotate(15deg);z-index:-1;pointer-events:none}
.game .rail-emblem .symbol-art{position:absolute;inset:0;width:100%;height:100%}
.game .rail #mode.rail-ante{display:grid;gap:5px;min-height:110px;padding:12px 10px;border-radius:20px;background:linear-gradient(145deg,#271e36e8,#110c1ae8);border:1px solid #ffffff30;box-shadow:inset 0 1px 0 #ffffff18,0 8px 22px #05030b30;text-align:center}
.game .rail-ante>small{font-size:9px;letter-spacing:1.7px;color:var(--accent)}
.game .rail-ante>strong{font-size:25px;line-height:1.1;color:#fff0d3;white-space:nowrap}
.game .rail-ante>#modeDetail{font-size:8px;letter-spacing:.5px;color:#e3dbe9}
.game .rail-toggle{display:flex;align-items:center;justify-content:center;gap:7px;font-size:8px;letter-spacing:1px}
.game .rail-toggle i{width:28px;height:14px;border-radius:999px;background:#ffffff20;position:relative;box-shadow:inset 0 1px 3px #0008}
.game .rail-toggle i:after{content:'';position:absolute;left:3px;top:3px;width:8px;height:8px;background:#c6bbc9;border-radius:50%;transition:transform .18s,background .18s}
.game .rail-ante[aria-pressed=true]{border-color:var(--accent);background:linear-gradient(145deg,#44304a,#15101e)}
.game .rail-ante[aria-pressed=true] .rail-toggle i{background:#54dbc466}
.game .rail-ante[aria-pressed=true] .rail-toggle i:after{transform:translateX(14px);background:#b4ffee}
.game:not(.feature-active) .rail-feature{display:none}
.game.feature-active .rail-buy,.game.feature-active .rail #mode{display:none}
.game .rail-feature{display:grid;gap:12px;padding:18px 12px;border-radius:22px;border:1px solid var(--accent);background:radial-gradient(ellipse at top,#b785db44,transparent 70%),#171021dc;text-align:center;box-shadow:inset 0 1px 0 #ffffff38,0 0 24px #b780d325}
.game .rail-turns strong{display:block;font-family:'Barlow Condensed',sans-serif;font-size:72px;line-height:1.1;color:#fff0ce;text-shadow:0 0 22px #dba75466}
.game .rail-turns small{font-size:9px;letter-spacing:1.3px}
.game .rail-feature-money{border-top:1px solid #ffffff25;padding-top:12px}
.game .rail-feature-money strong{display:block;font-size:25px;color:var(--accent);margin:6px 0 0;overflow-wrap:anywhere}
.game .rail-feature-money small{font-size:8px;letter-spacing:.8px}
.game .history{border-radius:20px;border:1px solid #ffffff20;background:linear-gradient(160deg,#1f1726e0,#110e1cc9);box-shadow:inset 0 1px 0 #ffffff12;padding:14px;min-height:86px}
.game .history>small{color:var(--accent);font-size:8px;letter-spacing:1.4px;border-bottom:1px solid #ffffff18;padding-bottom:9px}
.game .history>div{color:#e9e0eb;line-height:1.5}
.game .mechanics{border-radius:20px;border-color:#ffffff25;background:linear-gradient(145deg,#201829dc,#120e1ac9)}
@media(max-width:1200px) and (orientation:portrait){
 .game .rail-buy{min-height:0;padding:5px 7px;gap:1px;border-radius:14px}
 .game .rail-buy>strong{font-size:14px;line-height:1}.game .rail-buy>strong br{display:none}
 .game .rail-buy .rail-price{font-size:18px}.game .rail-buy .rail-kicker{display:none}
 .game .rail-buy .rail-options{font-size:6px}.game .rail-buy:after{inset:3px;border-radius:11px}
 .game .rail #mode.rail-ante{min-height:0;height:100%;padding:5px;gap:1px;border-radius:14px}
 .game .rail-ante>small{font-size:6px}.game .rail-ante>strong{font-size:17px}
 .game .rail-ante>#modeDetail{font-size:6px}.game .rail-toggle{font-size:6px;gap:4px}
 .game .rail-toggle i{height:10px;width:24px}.game .rail-toggle i:after{height:6px;width:6px;top:2px;left:2px}
 .game .rail-ante[aria-pressed=true] .rail-toggle i:after{transform:translateX(14px)}
 .game.feature-active .rail-feature{grid-area:buy;grid-column:1 / -1;display:grid;grid-template-columns:1fr 1.3fr;height:100%;padding:5px 10px;gap:10px;align-items:center;border-radius:14px}
 .game .rail-turns strong{font-size:30px;line-height:1;margin:0}
 .game .rail-turns small{font-size:6px;letter-spacing:.5px}
 .game .rail-feature-money{padding:0 0 0 10px;border-top:0;border-left:1px solid #ffffff25}
 .game .rail-feature-money strong{font-size:19px;margin:2px 0 0}
 .game .rail-feature-money small{font-size:6px;letter-spacing:.3px}
 .game .history{min-height:0;padding:4px 7px;border-radius:12px}.game .history>small{font-size:6px;letter-spacing:.4px;padding-bottom:1px}
}
@media(max-width:1000px) and (orientation:landscape) and (max-height:600px){
 .game .rail{gap:6px}.game .rail-buy{min-height:80px;padding:7px;gap:2px;border-radius:15px}
 .game .rail-buy>strong{font-size:16px}.game .rail-buy .rail-price{font-size:19px}
 .game .rail-buy .rail-kicker{display:none}.game .rail-buy .rail-options{font-size:6px}
 .game .rail #mode.rail-ante{min-height:76px;padding:7px;gap:2px;border-radius:15px}
 .game .rail-ante>strong{font-size:19px}.game .rail-ante>small,.game .rail-ante>#modeDetail{font-size:7px}
 .game .rail-feature{padding:10px;gap:5px}.game .rail-turns strong{font-size:46px}
 .game .rail-feature-money{padding-top:6px}.game .rail-feature-money strong{font-size:18px}
}
/* Premium cabinet finish. Geometry stays owned by the responsive profiles. */
.game .rail{position:relative;padding:10px 8px;border-top:1px solid #ffe8b87a;border-bottom:1px solid #ffe8b85a;background:linear-gradient(90deg,#ffdeb512,transparent 15%,transparent 85%,#ffdeb512);box-shadow:inset 1px 0 #ffdfaa30,inset -1px 0 #ffdfaa30}
.game .rail-buy{border:2px solid #f7d591;border-radius:10px 24px 10px 24px;background:radial-gradient(ellipse at 28% 0%,#fffce399,transparent 57%),linear-gradient(145deg,#ffdf8c,var(--accent2) 68%,#6a2857);box-shadow:0 3px 0 #804b35,inset 0 2px 0 #fff7db,inset 0 -3px 0 #41174350,0 5px 20px #48201266}
.game .rail-buy:after{inset:5px;border:1px solid #fff0bca0;border-radius:5px 18px 5px 18px}
.game .rail-buy>strong{font-size:26px;letter-spacing:.4px;color:#fff5df;text-shadow:0 2px 0 #843451,0 3px 8px #662f40;line-height:1.05}
.game .rail-buy .rail-price{color:#fff6be;text-shadow:0 2px 0 #753638}
.game .rail-buy .rail-kicker{color:#5d2444;font-weight:800;letter-spacing:2px}
.game .rail-buy .rail-options{color:#fff5df;letter-spacing:.4px;text-shadow:0 1px 3px #532044}
.game .rail-emblem{opacity:.23;width:105px;height:105px;top:-8px;right:-18px}
.game .rail #mode.rail-ante{border:0;border-radius:0;background:linear-gradient(90deg,transparent,#ffd89124,transparent);box-shadow:none;border-top:1px solid #ffdfab55;border-bottom:1px solid #ffdfab35;padding:12px 4px}
.game .rail-ante>small{color:#fff0c6;text-shadow:0 1px 4px #261124}
.game .rail-ante>strong{color:#fff0b2;text-shadow:0 2px 3px #40172b;font-size:27px}
.game .rail-ante>#modeDetail{color:#fff3df;text-shadow:0 1px 4px #251126}
.game .rail-toggle{color:#fff0d7}.game .rail-toggle i{background:linear-gradient(#725844,#352642);border:1px solid #d7b573;height:16px;width:32px}
.game .rail-toggle i:after{width:10px;height:10px;left:2px;top:2px;background:linear-gradient(#fff6d2,#b99d68)}
.game .rail-ante[aria-pressed=true]{background:linear-gradient(90deg,transparent,#89f4d630,transparent);border-color:#c6f3d980}
.game .rail-ante[aria-pressed=true] .rail-toggle i:after{transform:translateX(16px)}
.game .mechanics,.game .history{border:0;border-radius:0;background:none;box-shadow:none;text-shadow:0 2px 5px #160a21;padding:12px 8px}
.game .mechanics{text-align:center}
.game .mechanics .hint{display:none}
.game .mechanics small{color:#fff0c5;letter-spacing:1.1px;font-size:9px}
.game .mechanic-value{color:#fff0b7;text-shadow:0 2px 0 #743653,0 0 20px #ffe19835;font-size:38px}
.game .history{border-top:1px solid #ffdfab50}
.game .history>small{border-bottom:0;padding-bottom:5px;color:#fff0c5;letter-spacing:.8px}
.game .history>div{color:#fff2dc}
.game .rail-feature{border:0;border-radius:0;background:radial-gradient(ellipse at top,#ffd89d26,transparent 75%);box-shadow:none;border-top:1px solid #ffdfab80;border-bottom:1px solid #ffdfab50}
.game .rail-feature-money{border-color:#ffdfab50}
.game .hud{position:relative;border:0;border-radius:0;background:linear-gradient(180deg,#fff1c016,#f2ca7528 10%,#fff3cf0b 60%,#2c123e28);box-shadow:inset 0 1px #fff0cba0,inset 0 3px #92693a70,0 -12px 30px #ffd6800a;backdrop-filter:none}
.game .money>small,.game .round-win>small{color:#fff0c1;letter-spacing:1.5px;text-shadow:0 2px 4px #20101d}
.game .money>strong{color:#fff9e9;text-shadow:0 2px 4px #301525}
.game .round-win>strong{color:#fff1be;text-shadow:0 2px 0 #7c3b40,0 3px 12px #321729;font-size:42px}
.game .bet{border:0;border-radius:0;background:none;padding-left:0;color:#fff0c9;text-shadow:0 2px 4px #301525}
.game .spin{border:3px solid #ffe9a9;background:radial-gradient(circle at 32% 18%,#fff3d955,transparent 45%),linear-gradient(145deg,var(--accent2),#642756);box-shadow:0 2px 0 #936438,inset 0 2px #fff5da66,inset 0 -3px #24143966,0 0 22px #ffe7ab25}
.game .spin-group>button:not(.spin){background:none;border:1px solid #ffe8bbaa;box-shadow:0 2px 5px #32152540}
.game .tools button,.game .spin-control #speed{background:none;border-color:#ffdfab66;color:#fff2d7;box-shadow:none}
@media(max-width:1200px) and (orientation:portrait){
 .game .rail{padding:0;border:0;background:none;box-shadow:none}
 .game .rail-buy{border-radius:8px 16px 8px 16px;padding:5px;min-height:0}
 .game .rail-buy:after{inset:3px;border-radius:4px 11px 4px 11px}
 .game .rail-buy>strong{font-size:14px}.game .rail-buy .rail-price{font-size:18px}
 .game .rail #mode.rail-ante{border-radius:0;padding:4px;min-height:0}
 .game .rail-ante>strong{font-size:17px}.game .rail-toggle i{height:11px;width:25px}
 .game .rail-toggle i:after{width:7px;height:7px;top:1px;left:1px}
 .game .rail-ante[aria-pressed=true] .rail-toggle i:after{transform:translateX(14px)}
 .game .mechanics{padding:5px}.game .mechanics small{font-size:7px;letter-spacing:.3px}
 .game .mechanic-value{font-size:26px}.game .history{padding:3px 5px;border-radius:0;min-height:0}
 .game .history>small{font-size:6px;letter-spacing:.3px;padding-bottom:0}
 .game.feature-active .rail-feature{border-radius:0;background:linear-gradient(90deg,transparent,#ffdba928,transparent)}
 .game .money{border-top:1px solid #ffe8bbaa;background:linear-gradient(180deg,#ffd89622,transparent)}
 .game .round-win>strong{font-size:30px}
 .game .spin-group{background:radial-gradient(ellipse,#ffdcb521,transparent 70%)}
}
@media(max-width:1000px) and (orientation:landscape) and (max-height:600px){
 .game .rail{padding:5px 4px}.game .rail-buy>strong{font-size:16px}
 .game .rail #mode.rail-ante{padding:6px 3px}.game .rail-ante>strong{font-size:19px}
 .game .mechanics{padding:6px 2px}.game .mechanic-value{font-size:23px}
 .game .round-win>strong{font-size:25px}
}
/* Feature windows are part of the slot artwork, not dashboard dialogs. */
dialog:not(.feature-celebration){isolation:isolate;border:2px solid #edc98c;border-radius:14px 32px 14px 32px;background:radial-gradient(ellipse at 20% 0%,#f3c47d30,transparent 70%),linear-gradient(145deg,#59303a,#371c31 55%,#61343c);box-shadow:0 0 0 3px #6f463950,0 0 0 4px #ffe6ab77,inset 0 2px #fff0c26b,0 20px 80px #210e2780;color:#fff7df;padding:28px 24px}
dialog:not(.feature-celebration):before{content:'';position:absolute;inset:7px;border:1px solid #ffe2a455;border-radius:8px 24px 8px 24px;pointer-events:none;z-index:-1}
dialog:not(.feature-celebration)::backdrop{background:#25121c9c;backdrop-filter:blur(7px)}
dialog:not(.feature-celebration) h2{color:#fff0b8;text-shadow:0 2px 0 #8b4937,0 3px 15px #200e20;font-size:34px;letter-spacing:.8px;margin:8px 0 20px}
dialog:not(.feature-celebration) small{color:#fbe4b9}
dialog:not(.feature-celebration) .close{border:1px solid #ffe5b780;background:#7a4b3f55;color:#fff1d0;top:14px;right:14px;z-index:2}
dialog:not(.feature-celebration) .choices:not(.feature-products) button{border-color:#f2cf9170;background:linear-gradient(145deg,#bf83503b,#ffd89314);border-radius:9px 16px 9px 16px;color:#fff5da;font-weight:800}
dialog:not(.feature-celebration) .choices:not(.feature-products) button.selected{border-color:#fff0b5;background:linear-gradient(145deg,#f3bc6266,#c9676740);box-shadow:inset 0 1px #fff1c980,0 0 18px #edb76220}
dialog:not(.feature-celebration) p{color:#e9cdbd}
dialog:not(.feature-celebration) .confirm button{min-height:48px;border:1px solid #e3bd8477;background:linear-gradient(145deg,#b56f4244,#80453d22);border-radius:10px 18px 10px 18px;font-weight:800;letter-spacing:.5px;color:#ffe9c2}
dialog:not(.feature-celebration) .confirm button.primary{border:1px solid #fff2b4;background:linear-gradient(145deg,#fff1b5,#ecc473 52%,#cf9656);box-shadow:inset 0 2px #fff8df,0 3px 0 #80543b;color:#4d292b;text-shadow:0 1px #fff9df}
dialog.purchase-dialog{width:min(610px,calc(100vw - 24px))}
.purchase-heading{text-align:center;border-bottom:1px solid #ffdf9d44;padding-bottom:4px}
.purchase-heading>small{font-size:9px;letter-spacing:2px}
dialog.purchase-dialog .purchase-heading h2{margin:6px 0 14px;font-size:36px;padding:0 16px}
dialog.purchase-dialog .feature-products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0}
dialog.purchase-dialog .feature-products:has(>button:only-child){grid-template-columns:minmax(0,1fr)}
dialog.purchase-dialog .feature-product{position:relative;display:grid;justify-items:center;align-content:center;gap:7px;padding:16px 8px 14px;min-width:0;overflow:hidden;min-height:176px;border:1px solid #eac68d88;border-radius:12px 26px 12px 26px;background:radial-gradient(ellipse at top,#ffd69730,transparent 75%),linear-gradient(145deg,#cf95612c,#b24f7230);box-shadow:inset 0 1px #ffe9bd40}
dialog.purchase-dialog .feature-product.super-product{background:radial-gradient(ellipse at top,#ffddb746,transparent 75%),linear-gradient(145deg,#e0a64640,#cb497549)}
dialog.purchase-dialog .feature-product.selected{border:2px solid #fff0ac;background:radial-gradient(ellipse at top,#fff3b447,transparent 75%),linear-gradient(145deg,#d5a35e55,#c3655a44);box-shadow:inset 0 1px #fff4cc,0 0 20px #f9d18d22;padding:15px 7px 13px}
.product-art{position:relative;display:block;width:66px;height:66px;filter:drop-shadow(0 3px 8px #2b102750)}
.product-art .symbol-art{position:absolute;inset:0;width:100%;height:100%}
.super-product .product-art{filter:drop-shadow(0 0 9px #fff1b777)}
.product-name{font-family:'Barlow Condensed',sans-serif;font-size:23px;font-weight:800;color:#fff7dd;text-shadow:0 2px 0 #793d47;letter-spacing:.5px}
.feature-product strong{font-size:24px;color:#fff0b5;white-space:nowrap;line-height:1.1}
.feature-product>small{font-size:8px;letter-spacing:.7px}
.product-check{position:absolute;right:10px;top:10px;display:none;width:24px;height:24px;border:1px solid #ffedb0;border-radius:50%;background:#e5c77f;color:#543035;font-size:17px;line-height:22px}
.feature-product.selected .product-check{display:block}
.purchase-summary{text-align:center;padding:12px 5px;border-top:1px solid #ffdf9d55;border-bottom:1px solid #ffdf9d44;background:linear-gradient(90deg,transparent,#ffc98014,transparent)}
.purchase-summary>small{font-size:8px;letter-spacing:2px}
.purchase-summary .big-number{font-size:54px;color:#fff0b9;text-shadow:0 2px 0 #965038,0 4px 12px #291026;margin:2px 0;line-height:1.1}
.purchase-summary>span{font-size:9px;color:#f7dfbf;letter-spacing:.8px}
dialog.purchase-dialog .purchase-note{font-size:9px;text-align:center;margin:12px 0 0}
dialog.purchase-dialog .confirm{margin-top:15px}
dialog.purchase-dialog .confirm button span{font-size:22px;vertical-align:middle;margin-right:5px}
@media(max-width:600px){
 dialog:not(.feature-celebration){padding:22px 16px}
 dialog.purchase-dialog .purchase-heading h2{font-size:29px;padding:0 18px}
 dialog.purchase-dialog .feature-products{gap:8px;margin:14px 0}
 dialog.purchase-dialog .feature-product{min-height:145px;padding:12px 5px;gap:5px;border-radius:9px 19px 9px 19px}
 dialog.purchase-dialog .feature-product.selected{padding:11px 4px}
 .product-art{width:52px;height:52px}.product-name{font-size:18px}.feature-product strong{font-size:18px}
 .feature-product>small{font-size:7px;letter-spacing:.3px}
 .product-check{right:6px;top:6px;width:19px;height:19px;font-size:13px;line-height:17px}
 .purchase-summary{padding:9px 4px}.purchase-summary .big-number{font-size:42px}
 dialog.purchase-dialog .confirm button{font-size:11px;padding:8px 4px}
}
@media(max-height:650px){
 dialog.purchase-dialog{padding:18px 14px}
 dialog.purchase-dialog .purchase-heading h2{font-size:25px;margin-bottom:9px}
 dialog.purchase-dialog .feature-products{margin:10px 0}
 dialog.purchase-dialog .feature-product{min-height:112px;padding:8px 4px;gap:3px}
 dialog.purchase-dialog .feature-product.selected{padding:7px 3px}
 .product-art{width:40px;height:40px}.product-name{font-size:17px}.feature-product strong{font-size:17px}
 .purchase-summary{padding:7px 3px}.purchase-summary .big-number{font-size:35px}
 dialog.purchase-dialog .purchase-note{margin:8px 0 0}
 dialog.purchase-dialog .confirm{margin-top:10px}
}
/* Real original raster ornament wraps live controls; no baked-in prices or grid. */
.purchase-bet{display:grid;grid-template-columns:32px minmax(80px,150px) 32px;justify-content:center;gap:5px;align-items:center;margin:8px auto 0}
.purchase-bet>small{grid-column:1/-1;font-size:8px;letter-spacing:1px}
.purchase-bet>button{height:30px;width:30px;border-radius:50%;padding:0;background:linear-gradient(#c9965138,#eabe7d15);border:1px solid #ecca87;font-size:22px;color:#fff0c8}
.purchase-bet>b{height:30px;display:grid;place-items:center;border:1px solid #ecca8780;background:#b9814030;font-size:15px;color:#fff3c9}
dialog.purchase-dialog[data-game=sweetrotto]{background:radial-gradient(ellipse at 30% 0%,#ffd5ed88,transparent 65%),linear-gradient(145deg,#d84d95,#862756 60%,#bb4278)}
dialog.purchase-dialog[data-game=rotto-rush]{background:radial-gradient(ellipse at 30% 0%,#ead3ff66,transparent 65%),linear-gradient(145deg,#9b64b4,#5c345d 60%,#86538a)}
dialog.purchase-dialog[data-game=rotto-blaze]{background:radial-gradient(ellipse at 30% 0%,#ffcf8477,transparent 65%),linear-gradient(145deg,#ac4c2c,#57241f 60%,#86412c)}
dialog.purchase-dialog[data-game=rotto-bass]{background:radial-gradient(ellipse at 30% 0%,#e0f7d344,transparent 65%),linear-gradient(145deg,#377e70,#214840 60%,#49624b)}
dialog.purchase-dialog[data-purchase-mode=super]{background:radial-gradient(ellipse at top,#ffecc28c,transparent 65%),linear-gradient(145deg,#d89447,#88442e 65%,#ae673b)}
dialog.purchase-dialog .purchase-heading h2{font-family:Inter,Arial,sans-serif;font-size:30px;font-weight:900;letter-spacing:-.8px;text-shadow:0 2px 0 #854332,0 4px 8px #321225;line-height:1.08}
dialog.purchase-dialog .feature-product{transition:background .22s,box-shadow .22s,border-color .22s}
@media(max-width:600px){dialog.purchase-dialog .purchase-heading h2{font-size:23px;letter-spacing:-.5px}}
dialog.purchase-dialog{border:0;border-radius:0;padding:36px 30px 28px;background:radial-gradient(ellipse at top,#be84554a,transparent 65%),linear-gradient(145deg,#673944,#3a2033 60%,#5c303c)}
dialog.purchase-dialog:before{inset:0;border:30px solid transparent;border-image:var(--frame-art) 256 / 30px / 0 stretch;border-radius:0;z-index:0}
dialog.purchase-dialog #modalContent{position:relative;z-index:1}
dialog.purchase-dialog .close{top:24px;right:25px;width:28px;height:28px;background:linear-gradient(#a8443b,#682630);border:1px solid #ffe2a1;color:#fff4d3;border-radius:5px}
dialog.purchase-dialog .purchase-heading{border:0}
dialog.purchase-dialog .purchase-heading h2{font-family:Georgia,serif;font-size:29px;font-weight:900;color:#ffe6a5;text-shadow:0 2px 0 #8d4a2d,1px 0 #643126,-1px 0 #643126,0 4px 8px #1e0b16}
dialog.purchase-dialog .feature-product{border:2px solid #e5bf7c;border-radius:4px;background:radial-gradient(ellipse at top,#fff0a92b,transparent),linear-gradient(145deg,#914142,#532538);box-shadow:inset 0 0 0 2px #3b172b,inset 0 0 0 3px #d3975160,0 3px 10px #280f1d40}
dialog.purchase-dialog .feature-product.selected{border-color:#fff0a4;background:radial-gradient(ellipse at top,#ffeda84a,transparent),linear-gradient(145deg,#b06b42,#80303e);box-shadow:inset 0 0 0 2px #9e7135,inset 0 0 0 3px #fff3bf77,0 0 18px #ffd38030}
.game:has(#title) .rail-buy{border-image:var(--frame-art) 256 / 18px / 0 stretch;border-radius:0}
.game:has(#title) .rail-buy:after{display:none}
.game .board-wrap:has(.board) .board{border-radius:8px}
.game .board:before{content:'';position:absolute;inset:0;border:22px solid transparent;border-image:var(--frame-art) 256 / 22px / 0 stretch;pointer-events:none;z-index:9}
@media(max-width:600px){
 dialog.purchase-dialog{padding:30px 22px 22px}
 dialog.purchase-dialog:before{border-image-width:23px}
 dialog.purchase-dialog .purchase-heading h2{font-size:23px;padding:0 16px}
 dialog.purchase-dialog .close{top:18px;right:18px;width:23px;height:23px;font-size:19px}
 .game:has(#title) .rail-buy{border-image-width:10px}
 .game .board:before{border-image-width:12px}
}
@media(max-height:650px){
 dialog.purchase-dialog{padding:25px 21px 19px}
 dialog.purchase-dialog:before{border-image-width:22px}
 dialog.purchase-dialog .purchase-heading h2{font-size:21px;margin-bottom:8px}
 .game:has(#title) .rail-buy{border-image-width:12px}
}
dialog.purchase-dialog .purchase-heading h2{font-family:Inter,Arial,sans-serif;font-size:30px;letter-spacing:-.8px;line-height:1.08;font-weight:900}
@media(max-width:600px){dialog.purchase-dialog .purchase-heading h2{font-size:23px;letter-spacing:-.5px}}
@media(max-height:650px){dialog.purchase-dialog .purchase-heading h2{font-size:21px}}
.game{position:relative;z-index:1}
.identity-wing{position:fixed;z-index:2;pointer-events:none;text-align:center;filter:drop-shadow(0 5px 15px #3b122d66)}
.identity-wing[hidden]{display:none}
.identity-wing img{display:block;width:100%;height:auto;max-height:300px;object-fit:contain}
.identity-wing>span{display:block;color:#fff0c1;font-size:9px;font-weight:800;letter-spacing:3px;text-shadow:0 2px 6px #30121d;margin-top:8px}
.masthead-logo{display:none}
@media(max-width:1200px) and (orientation:portrait){
 .game .top h1{font-size:0;line-height:1}
 .masthead-logo{display:block;width:105px;height:38px;object-fit:contain;object-position:left center}
 .identity-wing{display:none}
}
@media(prefers-reduced-motion:reduce){.feature-product{transition:none!important}}
.game .board{background:repeating-linear-gradient(90deg,transparent 0,transparent calc(100% / var(--cols) - 1px),#693d5320 calc(100% / var(--cols) - 1px),#693d5320 calc(100% / var(--cols))),linear-gradient(145deg,var(--board-top),var(--board-bottom))}
@media(max-width:1200px) and (orientation:portrait) and (max-height:650px){.masthead-logo{height:24px;width:88px}}
.living-scene{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;contain:strict}
.bass-identity>img:first-child{max-height:125px}
.bass-identity .fisherman{height:var(--fisherman-height,400px);max-height:580px;width:100%;object-fit:contain;margin-top:10px;transform:scaleX(-1)}
.fisherman-portrait{display:none}
.bonanza-energy{position:absolute;z-index:10;width:12px;height:12px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,#fffef5 10%,#ffe69f 35%,#ff7aac 65%,transparent 75%);box-shadow:0 0 20px #ff9bcd}
.bonanza-bomb-preview{position:absolute;left:35%;top:27%;width:30%;height:38%;z-index:9;pointer-events:none;filter:drop-shadow(0 0 22px #ff81c1)}
.bonanza-bomb-preview b{position:absolute;left:0;right:0;bottom:12%;text-align:center;font-size:clamp(24px,4vw,64px);color:#fff3ae;text-shadow:0 3px 3px #873658,2px 0 #873658,-2px 0 #873658}
.purchase-dialog[data-game="rotto-bonanza-2500"] .feature-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.purchase-dialog[data-game="rotto-bonanza-2500"] .feature-product{min-width:0;padding:10px 6px}
.purchase-dialog[data-game="rotto-bonanza-2500"] .product-name{font-size:11px}
.purchase-dialog[data-game="rotto-bonanza-2500"] .feature-product strong{font-size:17px}
dialog.purchase-dialog[data-game="rotto-bonanza-2500"]{background:radial-gradient(ellipse at 30% 0%,#ffe8d677,transparent 65%),linear-gradient(145deg,#c95189,#783452 65%,#ac5570)}
.bass-compact-character .fisherman-portrait{display:block;width:40px;height:44px;flex-shrink:0;overflow:hidden}
.fisherman-portrait img{width:100%;height:100%;object-fit:contain}
@media(orientation:landscape) and (max-height:600px){.bass-compact-character .fisherman-portrait{width:28px;height:28px}}
@media(max-width:1200px),(max-height:499px){.fisherman-portrait{display:block;width:40px;height:44px;flex-shrink:0;overflow:hidden}.fisherman-portrait img{width:100%;height:100%;object-fit:contain}.bass .top{gap:8px}}
body.living-scene-ready .game{background:transparent}
.game.rush .board:before{border-image-width:16px}
.caption.payout-readout{display:block;height:42px;min-height:42px;margin:5px 0 0;font-weight:800;font-size:clamp(10px,1vw,14px);letter-spacing:.15px;line-height:1.35;color:#fff7d7;text-shadow:0 1px 4px #352121,0 0 12px #33222288;overflow-wrap:anywhere}
.board.reading-win .tile:not(.winning){opacity:.36}
.board .cell-payout{position:absolute;display:flex;align-items:flex-end;justify-content:center;width:calc(100% / var(--cols));height:calc(100% / var(--rows));padding:0 2px 6%;font-size:clamp(10px,1.4vw,21px);color:#fff5ba;text-shadow:0 2px 3px #352919,1px 0 #352919,-1px 0 #352919;white-space:nowrap;z-index:12;pointer-events:none}
.board .flashes{z-index:8;pointer-events:none;overflow:hidden}
.tile.collecting:after{content:"";position:absolute;inset:6%;border-radius:50%;border:2px solid #fff0a9;box-shadow:0 0 25px #f8d563aa,inset 0 0 18px #fff0a955;pointer-events:none}
.tile.fish-source .symbol-art{filter:drop-shadow(0 0 10px #ffffc8) brightness(1.15)}
.fish-flight{position:absolute;width:clamp(28px,6vw,62px);height:clamp(28px,6vw,62px);z-index:11;pointer-events:none;filter:drop-shadow(0 0 8px #fff5ac)}
.fish-flight b{position:absolute;left:50%;bottom:-2px;transform:translateX(-50%);font-size:clamp(10px,1.2vw,17px);white-space:nowrap;color:#fff2ad;text-shadow:0 2px 3px #15392f,1px 0 #15392f,-1px 0 #15392f}
.fx-test output{font-size:10px;flex-basis:100%;color:#ffe6af}
@media(orientation:landscape) and (max-height:600px){.caption.payout-readout{height:30px;min-height:30px;margin-top:3px;font-size:10px}}
@media(max-width:1200px) and (orientation:portrait){.game .board-wrap{width:min(100%,calc((100dvh - 400px - var(--payout-space,40px))*var(--board-ratio)))}}
@media(max-width:1200px) and (orientation:portrait) and (max-height:650px){.game .board-wrap{width:min(100%,calc((100dvh - 320px - var(--payout-space,40px))*var(--board-ratio)))}}
@media(max-width:1200px) and (orientation:portrait){.game.rush .board:before{border-image-width:8px}}
/* Game-specific stage lighting; live reels remain behind every celebration. */
.bass-trail-host .bass-trail-heading{display:flex;align-items:center;justify-content:space-between;gap:4px;margin-bottom:6px}
.bass-trail-heading strong{color:#fff0b0;font-size:30px;text-shadow:0 2px #755025,0 0 15px #ffe79955}
.bass-trail-stages{display:grid;gap:6px}
.bass-trail-stage{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px;padding:3px 4px;border-bottom:1px solid #e6cb9366;background:linear-gradient(100deg,#4e5f4111,#b49b5922,transparent)}
.bass-trail-stage>b{font-size:9px;color:#f5e3be;white-space:nowrap}.bass-trail-stage>b span{display:block;color:#ffc977;font-size:13px}
.bass-portraits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px}
.bass-trail-portrait{position:relative;display:block;aspect-ratio:1;min-width:0;border:1px solid #d4b77266;border-radius:50%;background:radial-gradient(#f6cd7350,#12483966);filter:grayscale(1);opacity:.42;transition:filter .2s,opacity .2s,box-shadow .2s}
.bass-trail-portrait img{width:100%;height:100%;object-fit:contain}.bass-trail-portrait i{position:absolute;right:-1px;bottom:-2px;font-style:normal;font-size:7px;color:#fff4ce;text-shadow:0 1px 2px #122d22}
.bass-trail-portrait.lit{opacity:1;filter:none;box-shadow:0 0 10px #fff0a744;border-color:#ffe7a7}
.bass-trail-portrait.arrived{animation:trail-arrival .48s ease-out}.bass-trail-stage.complete>b{color:#ffdc84}
@keyframes trail-arrival{0%{box-shadow:0 0 0 8px #fff0b400;filter:brightness(2)}40%{box-shadow:0 0 18px 4px #ffe88f}100%{box-shadow:0 0 10px #fff0a744;filter:none}}
.board .collector-subtotal{position:absolute;left:4%;right:4%;bottom:3%;z-index:4;display:grid;place-items:center;gap:1px;padding:3px 2px;background:linear-gradient(#fff0a8,#e6ae55);border:1px solid #fff4ca;border-radius:50% 50% 12px 12px;color:#49311b;text-shadow:0 1px #fff2c8;box-shadow:0 3px 8px #173d3970}
.collector-subtotal small{font-size:clamp(6px,.7vw,10px);font-weight:900;letter-spacing:.5px}.collector-subtotal strong{font-size:clamp(10px,1.4vw,22px);font-weight:900;white-space:nowrap;line-height:1.15}
.tile.collecting .badge,.tile.collected .badge{visibility:hidden}.tile.collected .symbol-art{filter:drop-shadow(0 0 12px #f6d16955)}
.collector-subtotal.received{animation:subtotal-arrival .2s ease-out}
@keyframes subtotal-arrival{50%{filter:brightness(1.35);box-shadow:0 0 15px #fff0a9}}
.collector-transfer{position:absolute;z-index:20;pointer-events:none;padding:6px 12px;border-radius:30px;background:linear-gradient(#fff1b4,#e6af61);border:1px solid #fff8d5;color:#4a3323;font-weight:900;font-size:clamp(12px,1.5vw,22px);white-space:nowrap;box-shadow:0 0 20px #fff0b077}
.slot-award-stage{position:fixed;inset:0;z-index:25;display:grid;place-items:center;pointer-events:auto;overflow:hidden;background:radial-gradient(ellipse,#32212688,#10231bd9);color:#fff1ba;isolation:isolate}
.slot-award-stage .award-light{position:absolute;width:120vmax;height:120vmax;left:50%;top:50%;margin:-60vmax;z-index:-1;background:repeating-conic-gradient(#fff0b400 0deg,#ffe29555 9deg,#fff0b400 19deg,#fff0b400 32deg);animation:award-light 25s linear infinite;mask-image:radial-gradient(#000,transparent 65%)}
.slot-award-stage .award-content{width:min(680px,90vw);text-align:center;animation:award-arrive .48s cubic-bezier(.17,.8,.2,1) both;text-shadow:0 3px #623d24,0 0 25px #dfaf5366}
.award-content .award-kicker{font-size:clamp(13px,2vw,22px);font-weight:900;letter-spacing:4px;color:#fff5d7}
.award-content h2{font-size:clamp(44px,8vw,98px);line-height:.96;letter-spacing:-2px;margin:15px 0;transform:rotate(-3deg);color:#ffe89c;text-shadow:0 2px #aa5b23,0 4px #8a4522,0 7px #542e21,0 0 36px #ffe89c55}
.award-portrait{width:clamp(72px,12vw,140px);height:clamp(72px,12vw,140px);object-fit:contain;filter:drop-shadow(0 0 26px #fff0b4aa)}
.award-plaque{border:2px solid #fff0ac;border-radius:25px 70px;background:radial-gradient(ellipse at top,#f2cf9666,transparent),linear-gradient(135deg,#4e6440,#254c3e);box-shadow:inset 0 0 0 4px #ab895280,inset 0 0 0 6px #fff1b450,0 0 55px #cfa86555;padding:14px 18px;display:flex;justify-content:center;align-items:center;gap:24px}
.award-plaque strong{font-size:clamp(62px,12vw,140px);line-height:1;font-weight:900}.award-plaque span{font-size:clamp(13px,2vw,22px);font-weight:900;line-height:1.3;letter-spacing:2px}
.award-content p{font-weight:900;font-size:clamp(12px,2vw,23px);margin:15px 0 0}.award-content p b{font-size:1.4em;color:#ffe083}
@keyframes award-light{to{transform:rotate(360deg)}}@keyframes award-arrive{0%{opacity:0;transform:scale(.65)}75%{opacity:1;transform:scale(1.035)}100%{transform:scale(1)}}
dialog.replay-win-show .feature-show{height:clamp(72px,13vh,150px)}
dialog.replay-win-show .feature-emblem{width:clamp(85px,12vw,130px);height:clamp(85px,12vw,130px);margin:0;transform:translate(-50%,-50%)}
dialog.replay-win-show h2{font-size:clamp(42px,8.5vw,110px);line-height:.95;letter-spacing:-1.5px;transform:rotate(-3deg);color:#ffe6a0;text-shadow:0 2px #c57b34,0 4px #9c4b32,0 7px #6d3431,0 0 42px #ffc88f66;margin:0 0 26px}
dialog.replay-win-show .show-payout-plaque{position:relative;border:2px solid #ffe3a3;border-radius:28px 65px;padding:18px 14px;background:radial-gradient(ellipse at top,#ffc98555,transparent),linear-gradient(130deg,#884d5b,#613448 65%,#a75c69);box-shadow:inset 0 0 0 4px #6a393b,inset 0 0 0 6px #ffdeb470,0 10px 35px #190d2288,0 0 65px #ffba8466}
dialog.replay-win-show[data-game=rotto-bass] .show-payout-plaque{background:radial-gradient(ellipse at top,#ffe2ab44,transparent),linear-gradient(130deg,#4a7154,#274b3d 65%,#6b7449)}
dialog.replay-win-show[data-game=rotto-blaze] .show-payout-plaque{background:radial-gradient(ellipse at top,#ffde8544,transparent),linear-gradient(130deg,#a6592b,#632822 65%,#ab562e)}
dialog.replay-win-show .big-number{font-size:clamp(35px,8vw,100px);color:#fff0b5;background:none;filter:none;text-shadow:0 3px #975b30,0 5px #633324;white-space:nowrap;letter-spacing:-1px;line-height:1.1}
dialog.replay-win-show .show-total-label{font-size:10px;letter-spacing:3px;color:#fff1bf;font-weight:900;margin-bottom:9px}
dialog.replay-win-show .show-stars{color:#ffdb78;font-size:28px;letter-spacing:18px;position:relative;text-shadow:0 0 20px #ffc677}
dialog.replay-win-show .confetti{width:22px!important;height:22px!important;border-radius:50%!important;border:2px solid #fff0a8;background:linear-gradient(130deg,#fff5bb,#eab448 48%,#bf7431)!important;box-shadow:inset 0 0 0 2px #dc963c,0 0 10px #ffcd7355}
@media(max-width:1200px) and (orientation:portrait){.bass-trail-stages{gap:1px}.bass-trail-host .bass-trail-heading{margin-bottom:2px}.bass-trail-heading strong{font-size:20px}.bass-trail-stage{padding:1px 2px}.bass-trail-portrait{max-width:24px}.bass-trail-stage>b{font-size:7px}.bass-trail-stage>b span{font-size:10px}.bass-trail-heading small{font-size:6px!important}.bass-trail-portrait i{font-size:5px}.slot-award-stage .award-content{width:88vw}dialog.replay-win-show .show-payout-plaque{padding:16px 6px;border-radius:20px 40px}dialog.replay-win-show h2{font-size:clamp(40px,12vw,70px)}dialog.replay-win-show .big-number{font-size:clamp(28px,7vw,54px)}}
@media(max-height:500px){.award-portrait{width:62px;height:62px}.award-content h2{font-size:44px;margin:6px 0}.award-plaque{padding:8px 14px}.award-plaque strong{font-size:72px}.award-content p{margin-top:7px}dialog.replay-win-show h2{font-size:44px;margin-bottom:10px}dialog.replay-win-show .feature-show{height:55px}dialog.replay-win-show .big-number{font-size:42px}dialog.replay-win-show .show-payout-plaque{padding:9px}dialog.replay-win-show .show-stars{font-size:16px}}
@media(prefers-reduced-motion:reduce){.bass-trail-portrait,.slot-award-stage .award-light,.slot-award-stage .award-content,.bass-trail-portrait.arrived,.collector-subtotal.received{animation:none;transition:none}}
dialog.replay-win-show:has(.win-title-art) .feature-show{height:0}
dialog.replay-win-show h2.illustrated-win-title{transform:none;margin:8px auto 12px;line-height:0;max-width:850px}
.win-title-art{display:block;width:100%;height:auto;max-height:25vh;object-fit:contain;filter:drop-shadow(0 8px 14px #32142566);animation:win-title-arrival .55s cubic-bezier(.18,.8,.23,1)}
@keyframes win-title-arrival{from{transform:scale(.72);opacity:0}to{transform:scale(1);opacity:1}}
@media(max-width:1200px) and (orientation:portrait) and (max-height:650px){.bass-trail-host .bass-trail-heading{margin:0}.bass-trail-heading strong{font-size:16px}.bass-trail-stages{gap:0}.bass-trail-stage{padding:0 2px}.bass-trail-portrait{max-width:14px}.bass-trail-stage>b{font-size:7px;line-height:1}.bass-trail-stage>b span{font-size:8px}}
@media(max-height:500px){dialog.replay-win-show h2.illustrated-win-title{margin:2px auto 7px}.win-title-art{max-height:24vh}}
@media(prefers-reduced-motion:reduce){.win-title-art{animation:none}}
dialog.replay-win-show::backdrop{background:#170e25b8;backdrop-filter:blur(3px)}
dialog.replay-win-show:has(.win-title-art) .feature-show{position:absolute;inset:0;height:100%;pointer-events:none;z-index:-1;overflow:hidden}
dialog.replay-win-show .feature-rays{width:min(1000px,160vw);height:min(1000px,160vw);margin:0;transform:translate(-50%,-50%);opacity:.75;mask-image:radial-gradient(circle,#000 5%,#0008 40%,transparent 70%)}
dialog.replay-win-show[open] .feature-rays{animation:show-rays-turn 24s linear infinite}
dialog.replay-win-show .feature-halo{width:85%;height:60%;margin:0;transform:translate(-50%,-50%);border:0;border-radius:50%;box-shadow:none;background:radial-gradient(ellipse,#fff1aa30,transparent 68%)}
dialog.replay-win-show #continue{border:1px solid #fff1c3;color:#493323;background:linear-gradient(145deg,#fff0be,#e3bb72 65%,#c89955);box-shadow:inset 0 1px #fff8dd,0 3px 0 #71482d;min-height:44px}
@keyframes show-rays-turn{from{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}
@media(prefers-reduced-motion:reduce){dialog.replay-win-show[open] .feature-rays{animation:none}}
@media(max-height:500px){.win-title-art{max-height:32vh}}
/* Feature entry and recap have their own compositions, not a recycled win box. */
dialog.premium-feature-stage{width:min(1000px,calc(100vw - 24px));padding:24px 28px;max-height:calc(100dvh - 24px);overflow:hidden;isolation:isolate;color:#fff3d2}
dialog.premium-feature-stage::backdrop{background:#160e22b8;backdrop-filter:blur(2px)}
.premium-feature-stage #modalContent{position:relative;overflow:hidden}
.premium-feature-stage .feature-badge{position:relative;z-index:2;margin-bottom:8px}
.stage-ambient{position:absolute;inset:-22px;z-index:-1;pointer-events:none;overflow:hidden;border-radius:40%}
.stage-rays{position:absolute;left:50%;top:50%;width:1000px;height:1000px;background:repeating-conic-gradient(transparent 0deg,var(--stage-glow) 7deg,transparent 15deg,transparent 32deg);opacity:.26;mask-image:radial-gradient(circle,#0003 10%,#000 36%,transparent 64%);transform:translate(-50%,-50%);animation:show-rays-turn 30s linear infinite}
.stage-orbit{position:absolute;inset:15% 5%;border-radius:50%;border:2px solid var(--stage-glow);box-shadow:0 0 30px var(--stage-glow),inset 0 0 45px var(--stage-glow);opacity:.24;transform:rotate(-14deg);animation:stage-orbit-breathe 3s ease-in-out infinite}
.stage-stars{position:absolute;inset:0}.stage-stars i{position:absolute;left:var(--x);top:var(--y);width:5px;height:5px;background:#fff4bf;box-shadow:0 0 9px #ffe99a;border-radius:50%;animation:stage-star-pulse 2.6s var(--delay) infinite ease-in-out}
.stage-brand img{width:210px;height:78px;object-fit:contain;filter:drop-shadow(0 3px 8px #26152888)}
.stage-layout{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.15fr);align-items:center;gap:18px;margin:8px 0 10px}
.stage-hero{position:relative;min-width:0;align-self:center;isolation:isolate}
.stage-hero-glow{position:absolute;inset:5%;z-index:-1;border-radius:50%;background:radial-gradient(ellipse,var(--stage-glow),transparent 68%);opacity:.45;filter:blur(8px)}
.stage-crest{display:block;width:100%;height:min(28vw,340px);object-fit:contain;filter:drop-shadow(0 6px 12px #29132666);animation:stage-crest-reveal .7s cubic-bezier(.18,.8,.22,1) both}
.stage-scatter-medallion{position:absolute;width:92px;height:92px;right:4%;bottom:-10px;display:grid;place-items:center;border:2px solid var(--stage-gold);border-radius:50%;background:radial-gradient(#fff0b13b,var(--stage-base));box-shadow:0 0 0 4px #e5b66844,0 5px 18px #210d1c66}
.stage-scatter-medallion .symbol-art{width:85%;height:85%}
.stage-copy{min-width:0}.stage-kicker{color:var(--stage-gold);font-size:13px;letter-spacing:4px;font-weight:900}
.premium-feature-stage .stage-copy h2{font-size:clamp(27px,3.3vw,48px);line-height:1.03;margin:10px 0 20px;letter-spacing:-.7px;color:var(--stage-gold);text-shadow:0 2px #8c5037,0 4px #4e2733,0 0 25px #ffe6bb44}
.stage-turn-plaque{display:flex;align-items:center;justify-content:center;gap:24px;border:2px solid var(--stage-gold);border-radius:22px 50px;padding:10px 22px;background:radial-gradient(ellipse at top,#ffe8ae55,transparent),linear-gradient(135deg,var(--stage-base),#482a455c);box-shadow:inset 0 0 0 4px #ffd48833,0 0 50px #ffd59826,0 8px 20px #28132755}
.stage-turn-plaque>strong{font-size:clamp(96px,10vw,150px);line-height:1;color:#ffecac;text-shadow:0 3px #bb773f,0 6px #633525}
.stage-turn-plaque>span{font-size:14px;font-weight:800;text-align:left;line-height:1.35}.stage-turn-plaque>span b{font-size:24px;white-space:nowrap}
.premium-feature-stage .stage-mechanic{font-size:10px;letter-spacing:1px;color:#ffedce;margin:20px 0 9px;line-height:1.45}
.premium-feature-stage .stage-caption{font-size:11px;line-height:1.4;color:#eadccc;margin:10px 0}
.premium-feature-stage .confirm{margin-top:20px}
.premium-feature-stage #continue{min-width:220px;min-height:46px;color:#4a2d24;background:linear-gradient(145deg,#fff4c9,#efc47d 60%,#c7944e);border:1px solid #ffefc5;border-radius:12px 24px;box-shadow:inset 0 2px #fff8da,0 4px #784831;letter-spacing:2px}
.stage-result-plaque{padding:18px 12px;border:2px solid var(--stage-gold);border-radius:20px 44px;background:radial-gradient(ellipse at top,#ffe8ae44,transparent),linear-gradient(135deg,var(--stage-base),#452c4266);box-shadow:inset 0 0 0 4px #ffe7b233,0 0 40px #ffdc9433}
.stage-result-plaque>small{display:block;font-size:9px;letter-spacing:1.5px;color:#fff1d0}
.stage-result-plaque>strong{display:block;font-size:clamp(35px,4.4vw,65px);line-height:1.25;color:var(--stage-gold);text-shadow:0 3px #8a5231,0 5px #5a2f25;white-space:nowrap;letter-spacing:-1px;margin-top:10px}
.stage-statistics{display:grid;grid-template-columns:1fr 1fr;margin:20px 0 4px;gap:10px}.stage-statistics>div{border-bottom:1px solid #ffe7ae66;padding-bottom:8px}.stage-statistics dt{font-size:8px;letter-spacing:.8px;line-height:1.5;color:#f1e2c7}.stage-statistics dd{font-size:36px;color:var(--stage-gold);margin:4px 0 0;text-shadow:0 2px #8c5431}
.slot-award-stage .award-crest{width:min(240px,36vw);height:145px;object-fit:contain;filter:drop-shadow(0 0 22px var(--stage-glow));animation:stage-crest-reveal .5s ease-out both}
.slot-award-stage .award-light{background:repeating-conic-gradient(transparent 0deg,var(--stage-glow) 6deg,transparent 16deg,transparent 32deg)}
.slot-award-stage .award-plaque{background:radial-gradient(ellipse at top,#fff0bd55,transparent),linear-gradient(130deg,var(--stage-base),#482c415c)}
@keyframes stage-crest-reveal{from{transform:translateY(25px) scale(.8);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}
@keyframes stage-star-pulse{0%,100%{opacity:.15;transform:scale(.5)}50%{opacity:1;transform:scale(1.4)}}
@keyframes stage-orbit-breathe{0%,100%{opacity:.15}50%{opacity:.32}}
@media(max-width:600px) and (orientation:portrait){
 dialog.premium-feature-stage{padding:18px 14px}.stage-brand img{height:52px;width:165px}.stage-layout{grid-template-columns:minmax(0,1fr);gap:2px;margin:0}.stage-hero{width:75%;margin:0 auto}.stage-crest{max-height:180px}.stage-scatter-medallion{width:52px;height:52px;bottom:0}.stage-kicker{font-size:10px;letter-spacing:2px}.premium-feature-stage .stage-copy h2{font-size:28px;margin:5px 0 12px}.stage-turn-plaque{gap:14px;padding:8px 12px;border-radius:18px 36px}.stage-turn-plaque>strong{font-size:92px}.stage-turn-plaque>span{font-size:10px}.stage-turn-plaque>span b{font-size:19px}.premium-feature-stage .stage-mechanic{margin:12px 0 6px;font-size:8px}.premium-feature-stage .confirm{margin-top:12px}.stage-result-plaque{padding:10px}.stage-result-plaque>strong{font-size:clamp(30px,8vw,45px)}.stage-statistics{margin:12px 0 0}.stage-statistics dd{font-size:28px}.slot-award-stage .award-crest{width:170px;height:110px}
}
@media(max-width:600px) and (orientation:portrait) and (max-height:650px){
 dialog.premium-feature-stage{padding:12px 12px}.premium-feature-stage .feature-badge{font-size:7px;letter-spacing:1px}.stage-brand img{height:36px;width:120px}.stage-crest{max-height:110px}.stage-scatter-medallion{width:40px;height:40px}.premium-feature-stage .stage-copy h2{font-size:24px;margin-bottom:8px}.stage-turn-plaque>strong{font-size:68px}.stage-turn-plaque>span b{font-size:16px}.premium-feature-stage .stage-caption{font-size:9px;margin:6px 0}.premium-feature-stage .stage-mechanic{font-size:7px}.premium-feature-stage #continue{min-height:40px;min-width:180px}.stage-statistics dt{font-size:7px}.stage-statistics dd{font-size:24px}.stage-result-plaque>strong{font-size:30px}.slot-award-stage .award-crest{height:80px}
}
@media(orientation:landscape) and (max-height:500px){
 dialog.premium-feature-stage{padding:10px 22px}.premium-feature-stage .feature-badge{font-size:7px;margin:0}.stage-brand img{height:35px;width:120px}.stage-layout{gap:15px;margin:0 0 3px;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.stage-crest{max-height:190px}.stage-scatter-medallion{width:58px;height:58px;bottom:-3px}.stage-kicker{font-size:9px;letter-spacing:2px}.premium-feature-stage .stage-copy h2{font-size:26px;margin:4px 0 9px}.stage-turn-plaque{padding:6px 12px;gap:18px}.stage-turn-plaque>strong{font-size:72px}.stage-turn-plaque>span{font-size:9px}.stage-turn-plaque>span b{font-size:18px}.premium-feature-stage .stage-mechanic{font-size:8px;margin:9px 0 0}.premium-feature-stage .stage-caption{font-size:9px;margin:5px 0}.premium-feature-stage .confirm{margin-top:7px}.premium-feature-stage #continue{min-height:34px;padding:7px 12px;min-width:180px}.stage-result-plaque{padding:8px}.stage-result-plaque>small{font-size:8px}.stage-result-plaque>strong{font-size:34px;margin-top:5px}.stage-statistics{margin:9px 0 0}.stage-statistics dt{font-size:7px}.stage-statistics dd{font-size:23px;margin-top:2px}.slot-award-stage .award-crest{height:75px}
}
@media(prefers-reduced-motion:reduce){.stage-crest,.stage-rays,.stage-orbit,.stage-stars i,.slot-award-stage .award-crest{animation:none!important}}
