/* Shared control locations follow the accepted Olympus scene.
   Board ratios, artwork, collector presentation and result engines stay independent. */
/* A feature replaces ante; portrait's high-specificity display:flex must not revive it. */
body #game.soft-cabinet.premium-world.feature-active #mode.rail-ante,
body #game.soft-cabinet.premium-world #mode.rail-ante[hidden]{display:none!important;pointer-events:none}
/* Bass collector owns the unused ante space, rather than a tiny corner meter. */
body #game.soft-cabinet.bass .mechanics.bass-trail-host{padding:12px;border:1px solid #b7eee58c;border-radius:24px;background:linear-gradient(150deg,#124957e8,#102c43ee);box-shadow:inset 0 1px 0 #d0fff866,0 5px 20px #071b3366;max-height:none}
body #game.soft-cabinet.bass .bass-trail-heading{height:auto;min-height:30px;margin:0 0 8px;gap:5px}
body #game.soft-cabinet.bass .bass-trail-heading small{font-size:11px!important;line-height:1.15;color:#e0fff9;letter-spacing:.4px}
body #game.soft-cabinet.bass .bass-trail-heading strong{font:400 32px/1 'Rotto Display',Impact,sans-serif;color:#ffe599}
body #game.soft-cabinet.bass .bass-trail-stages{gap:7px}
body #game.soft-cabinet.bass .bass-trail-stage{height:auto;min-height:38px;padding:4px 3px;gap:5px;border-radius:10px;background:linear-gradient(100deg,#81eadb1c,#66b7f012);border-bottom:1px solid #b6eee655}
body #game.soft-cabinet.bass .bass-trail-portrait{width:100%;height:auto;max-width:38px;min-width:0;opacity:.7;filter:grayscale(.7)}
body #game.soft-cabinet.bass .bass-trail-portrait.lit{opacity:1;filter:none;border-color:#ffedac;box-shadow:0 0 12px #ffdb7199}
body #game.soft-cabinet.bass .bass-trail-portrait i{font-size:9px}
body #game.soft-cabinet.bass .bass-trail-stage>b{display:block;font-size:10px;line-height:1.1}
body #game.soft-cabinet.bass .bass-trail-stage>b span{font-size:16px;color:#ffe3a0}
@media(orientation:portrait) and (max-width:1200px){
 body #game.soft-cabinet.bass .mechanics.bass-trail-host{grid-column:4/7;grid-row:4/6;align-self:center;width:100%;height:auto;min-height:0;padding:8px;max-height:none}
 body #game.soft-cabinet.bass .spin-group{grid-column:1/4;gap:5px}
 body #game.soft-cabinet.bass .bass-trail-stage{min-height:32px;height:38px}
 body #game.soft-cabinet.bass .bass-trail-portrait{max-width:28px;max-height:28px}
 body #game.soft-cabinet.bass .bass-trail-heading strong{font-size:28px}
 body #game.soft-cabinet.bass .history{display:none}
}
@media(orientation:portrait) and (max-height:700px){
 body #game.soft-cabinet.bass .mechanics.bass-trail-host{padding:5px;border-radius:16px}
 body #game.soft-cabinet.bass .bass-trail-heading{min-height:20px;margin-bottom:3px}
 body #game.soft-cabinet.bass .bass-trail-heading small{font-size:9px!important}
 body #game.soft-cabinet.bass .bass-trail-heading strong{font-size:22px}
 body #game.soft-cabinet.bass .bass-trail-stages{gap:2px}
 body #game.soft-cabinet.bass .bass-trail-stage{min-height:24px;height:26px;padding:1px 2px}
 body #game.soft-cabinet.bass .bass-trail-stage>b{font-size:8px}
 body #game.soft-cabinet.bass .bass-trail-stage>b span{font-size:12px}
}
@media(orientation:landscape){
 body #game.soft-cabinet .hud{grid-template-columns:16% minmax(0,1fr) minmax(170px,24%) minmax(190px,24%)!important;gap:2%}
 body #game.soft-cabinet .hud .round-win{grid-column:2}
 body #game.soft-cabinet .hud .money{grid-column:3;justify-self:end;width:max-content;max-width:100%}
 body #game.soft-cabinet .spin-control{position:relative}
 body #game.soft-cabinet .spin-control #auto{position:absolute;bottom:0;left:calc(100% + 12px);width:110px;min-height:22px;height:22px;padding:2px 8px;border:1px solid #ffffff88;border-radius:999px;background:#20183768;font:11px Arial,sans-serif;white-space:nowrap}
 body #game.soft-cabinet.premium-world:not(.bass){--board-ratio:1.65!important}
 body #game.soft-cabinet.premium-world .cabinet{width:90%;margin-left:2%;grid-template-columns:clamp(130px,12vw,210px) minmax(0,1fr);gap:16px}
}
@media(orientation:portrait) and (max-width:1200px){
 body #game.soft-cabinet.premium-world #mode.rail-ante{grid-area:feature;justify-self:stretch;align-self:stretch;max-width:none}
 body #game.soft-cabinet.premium-world #mode.rail-ante{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;min-width:0;min-height:0;height:100%;width:100%;padding:4px 6px;border:0;border-radius:16px;overflow:visible;transform:none;filter:none;background:url('/assets/olympus-board-gold-v5.png') center/100% 110% no-repeat,linear-gradient(135deg,#fffef4,#eae6f7) center/94% 88% no-repeat;box-shadow:none}
 body #game.soft-cabinet #mode.rail-ante>small{font:400 12px/13px 'Rotto Display',Impact,sans-serif;letter-spacing:0;color:#273568;margin:0}
 body #game.soft-cabinet #mode.rail-ante>strong{font:400 clamp(15px,4vw,22px)/22px 'Rotto Display',Impact,sans-serif;color:#273568;margin:0;white-space:nowrap}
 body #game.soft-cabinet #mode #modeDetail{display:none}
 body #game.soft-cabinet #mode .rail-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1px;width:64px;height:28px;min-height:28px;margin:0;padding:0;border:0;background:none;transform:none;animation:none}
 body #game.soft-cabinet #mode .rail-toggle i{display:block;flex:none;width:34px;height:16px;border:1px solid #657090;border-radius:12px;background:#626d87;box-shadow:none}
 body #game.soft-cabinet #mode .rail-toggle i:after{width:10px;height:10px;left:2px;top:2px;background:white;box-shadow:none;transform:none;transition:none}
 body #game.soft-cabinet #mode[aria-pressed=true] .rail-toggle i{background:#138567}
 body #game.soft-cabinet #mode[aria-pressed=true] .rail-toggle i:after{left:20px}
 body #game.soft-cabinet #mode #modeState{font:700 9px/10px Arial,sans-serif;color:#293257;text-shadow:none;letter-spacing:0}
}
@media(orientation:portrait) and (max-height:700px){
 body #game.soft-cabinet:has(#mode){grid-template-rows:50px auto 48px 66px minmax(78px,1fr) 30px 38px!important}
 body #game.soft-cabinet:has(#mode) .board-wrap{width:min(100%,calc((100dvh - 355px)*var(--board-ratio)))!important}
}
@media(orientation:landscape){
 html:has(#game),body:has(#game){height:100%;min-height:0;overflow:hidden}
 body #game.soft-cabinet{height:100dvh;min-height:0;max-height:100dvh;box-sizing:border-box}
 body #game.soft-cabinet .cabinet{min-height:0}
}
body #game.soft-cabinet .money{background:none;border:0;box-shadow:none;filter:none;backdrop-filter:none}
body #game.soft-cabinet .money :is(small,strong,button,b){font-family:'Rotto Display',Impact,'Arial Narrow',sans-serif;font-weight:400;text-shadow:0 1px 2px #191126;font-synthesis:none}
body #game.soft-cabinet .money>small,body #game.soft-cabinet .money .bet{color:#ffe16e}
body #game.soft-cabinet .money>strong,body #game.soft-cabinet .money .bet b{color:#fff}
body #game.soft-cabinet .series-scene-tool{display:grid;place-items:center;width:58px;border:0;border-radius:999px;background:#20183768}
.series-scene-tool svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}
.series-audio-menu{position:absolute;z-index:90;right:12px;bottom:92px;padding:12px;border:1px solid #ead7ff55;border-radius:18px;background:#211331ed}
.series-audio-menu[hidden]{display:none}
body:has(#game.soft-cabinet) dialog#modal.series-bet-dialog{width:min(280px,90vw);padding:18px 14px 12px;border-radius:22px;border:1px solid #d9b9f47a;background:#211331ed;box-shadow:0 6px 24px #12091c66;filter:none;backdrop-filter:none;animation:none}
dialog#modal.series-bet-dialog::backdrop{background:transparent;backdrop-filter:none}
dialog#modal.series-bet-dialog #modalContent>h2{display:none}
dialog#modal.series-bet-dialog #modalContent>small{font:400 20px/1.3 'Rotto Display',Impact,sans-serif;color:#fff0bd;text-align:center;letter-spacing:0;margin:5px 20px 16px 0}
dialog#modal.series-bet-dialog label{display:block;text-align:center;font:bold 11px/1.2 Arial,sans-serif;letter-spacing:.3px}
dialog#modal.series-bet-dialog .series-bet-step{display:grid;grid-template-columns:32px minmax(0,1fr) 32px;gap:7px;margin:7px 0 12px;align-items:center}
dialog#modal.series-bet-dialog .series-bet-step button{width:32px;height:32px;min-width:0;border:1px solid #e9cb9b80;background:#fff1d00c;font:300 22px Arial;padding:0;border-radius:50%}
dialog#modal.series-bet-dialog .series-bet-step strong{display:grid;place-items:center;min-height:44px;min-width:0;border:1px solid #e9cb9b60;border-radius:999px;background:#fff1d00b;font:400 20px/1 'Rotto Display',Impact,sans-serif;color:#fff4d6}
dialog#modal.series-bet-dialog p{font:10px/1.4 Arial,sans-serif;text-align:left}
dialog#modal.series-bet-dialog #seriesMaxBet{display:block;margin:10px auto 0;border:0;border-radius:999px;padding:10px 15px;background:linear-gradient(#fff1b8,#d9a74e);color:#302033;font:bold 12px Arial}
dialog#modal.series-bet-dialog .close{top:5px;right:7px;width:32px;height:32px;font-size:22px;padding:0;background:none;border:0}
@media(orientation:portrait) and (max-width:1200px){
 body #game.soft-cabinet .tools{justify-content:space-between!important;gap:4px!important;width:100%}
 body #game.soft-cabinet .tools>button{width:58px;min-width:0;height:34px;padding:5px;border:0;border-radius:999px;background:#20183768}
 body #game.soft-cabinet .tools #auto{font-size:0}
 body #game.soft-cabinet .tools #auto:after{content:'⟳';font:28px/1 Arial}
 body #game.soft-cabinet .tools #auto[aria-pressed=true]:after{content:'■';font-size:18px}
 body #game.soft-cabinet .tools #speed svg{width:44px;height:24px}
 body #game.soft-cabinet .money{display:flex;justify-content:center;align-items:baseline;gap:4px!important}
 body #game.soft-cabinet .money>small{display:inline;font-size:clamp(13px,3.7vw,22px);letter-spacing:0}
 body #game.soft-cabinet .money>strong,body #game.soft-cabinet .money .bet,body #game.soft-cabinet .money .bet b{font-size:clamp(13px,3.7vw,22px)!important;line-height:1.1;margin:0}
 body #game.soft-cabinet .money .bet{padding:0;min-height:32px;background:none;border:0}
 body #game.soft-cabinet .spin-group{gap:12px}
}
@media(orientation:landscape){
 body #game.soft-cabinet .money{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:5px 8px;align-items:baseline}
 body #game.soft-cabinet .money>small{font-size:clamp(16px,1.4vw,26px);letter-spacing:0}
 body #game.soft-cabinet .money>strong{font-size:clamp(19px,1.7vw,30px);margin:0;white-space:nowrap}
 body #game.soft-cabinet .money .bet{grid-column:1/-1;display:flex;gap:8px;align-items:baseline;padding:0;border:0;background:none;font-size:clamp(16px,1.4vw,26px)}
 body #game.soft-cabinet .money .bet b{font-size:clamp(19px,1.7vw,30px)}
 body #game.soft-cabinet{grid-template-rows:32px minmax(0,1fr) 124px}
 body #game.soft-cabinet .cabinet{width:78%;margin:0 0 0 7%;grid-template-columns:clamp(130px,13vw,230px) minmax(0,1fr)}
 body #game.soft-cabinet .rail{align-self:start;margin-top:30px;max-height:100%;overflow:auto;scrollbar-width:thin}
 body #game.soft-cabinet .hud{width:100%;margin:0;display:grid;grid-template-columns:18% 24% 24% 24%;gap:2%;align-items:center;min-height:0;padding:6px 10px;box-sizing:border-box}
 body #game.soft-cabinet .money{grid-column:2;grid-row:1;min-width:0}
 body #game.soft-cabinet .round-win{grid-column:3;grid-row:1;min-width:0}
 body #game.soft-cabinet .spin-group{grid-column:4;grid-row:1;justify-content:center;flex-shrink:0}
 body #game.soft-cabinet .tools{grid-column:1;grid-row:1;display:flex;flex-wrap:wrap;justify-content:center;width:100%;max-width:none;gap:5px}
 body #game.soft-cabinet .tools>button{grid-column:auto;min-width:38px;min-height:38px;padding:6px;font-size:9px}
}
/* Every series reserves a real result row clear of the reel's outer frame. */
@media(orientation:portrait) and (max-width:1200px){
 body #game.soft-cabinet.premium-world .ribbon,body #game.soft-cabinet.premium-world .caption{display:none}
 body #game.soft-cabinet.premium-world.rush{--board-ratio:1.2!important}
 body #game.soft-cabinet.premium-world.rush .board-wrap{width:min(100%,calc((100dvh - 500px)*1.2))}
}
@media(orientation:portrait) and (max-height:700px){
 body #game.soft-cabinet.premium-world.rush .board-wrap{width:min(100%,calc((100dvh - 345px)*1.2))}
}
@media(orientation:landscape) and (max-height:500px){
 body #game.soft-cabinet .hud{grid-template-columns:14% minmax(0,1fr) 25% 25%!important;gap:2%}
 body #game.soft-cabinet .spin-control{padding-bottom:18px}
 body #game.soft-cabinet .spin-control #speed{position:absolute;right:100%;bottom:0;width:28px;height:18px}
 body #game.soft-cabinet .spin-control #auto{bottom:0;left:50%;transform:translateX(-50%);width:80px;height:18px;min-height:18px;font-size:9px}
}
@media(orientation:portrait) and (max-width:1200px){
 body #game.soft-cabinet{grid-template-rows:76px auto 52px 70px minmax(114px,1fr) 42px 52px}
 body #game.soft-cabinet .board-wrap{padding-bottom:8px}
 body #game.soft-cabinet .round-win{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;margin:0;min-height:46px;line-height:1}
 body #game.soft-cabinet .round-win>small{font-size:10px;line-height:12px;margin:0}
 body #game.soft-cabinet .round-win>strong{font-size:28px;line-height:30px;margin:0}
}
@media(orientation:portrait) and (min-width:600px) and (max-width:1200px){
 body #game.soft-cabinet{grid-template-rows:86px auto 52px 76px minmax(115px,1fr) 42px 58px}
}
@media(orientation:portrait) and (max-height:700px){
 body #game.soft-cabinet{grid-template-rows:50px auto 48px 50px minmax(78px,1fr) 30px 38px}
 body #game.soft-cabinet .round-win>strong{font-size:25px;line-height:28px}
}
@media(orientation:landscape) and (max-height:500px){
 body #game.soft-cabinet .tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;align-content:center}
 body #game.soft-cabinet .tools>button{width:100%;min-width:0;min-height:28px;height:28px;padding:2px;font-size:7px}
 body #game.soft-cabinet.premium-world #mode.rail-ante{flex-shrink:0;min-height:76px}
 body #game.soft-cabinet{grid-template-rows:24px minmax(0,1fr) 82px}
 body #game.soft-cabinet .cabinet{width:96%;margin-left:2%;grid-template-columns:17% minmax(0,1fr)}
 body #game.soft-cabinet .rail{margin-top:10px}
 body #game.soft-cabinet .tools>button{min-height:30px;font-size:8px;padding:4px}
 body #game.soft-cabinet .money>strong{font-size:19px}
 body #game.soft-cabinet .round-win>strong{font-size:27px}
}
@media(orientation:portrait) and (max-width:1200px){
 body #game.soft-cabinet{grid-template-columns:repeat(6,minmax(0,1fr));grid-template-areas:'brand brand brand brand brand brand' 'board board board board board board' 'result result result result result result' 'buy buy buy feature feature feature' 'spin spin spin spin mechanics mechanics' 'tools tools tools tools tools tools' 'funds funds funds funds funds funds'}
 body #game.soft-cabinet .tools{grid-area:tools;justify-content:center;gap:12px}
 body #game.soft-cabinet .history{grid-area:mechanics;align-self:end;height:auto;max-height:40%;overflow:auto}
 body #game.soft-cabinet .history:not(:has(.history-row)){display:none}
 body #game.soft-cabinet:has(.history-row) .mechanics{align-self:start;max-height:60%}
 body #game.soft-cabinet .mechanics{width:100%;min-width:0}
 body #game.soft-cabinet .bass-trail-heading{min-width:0;flex-wrap:wrap;justify-content:center;height:auto}
 body #game.soft-cabinet .bass-trail-heading small{white-space:normal;text-align:center}
 body #game.soft-cabinet .money{flex-wrap:nowrap;gap:6px;white-space:nowrap}
 body #game.soft-cabinet .money>strong{font-size:clamp(16px,4.1vw,28px)}
 body #game.soft-cabinet .money .bet{font-size:clamp(10px,2.5vw,17px)}
 body #game.soft-cabinet .money .bet b{font-size:inherit}
}
/* Reserve controls before sizing the board, including its ribbon and outer trim. */
@media(orientation:portrait) and (max-width:1200px){
 body #game.soft-cabinet .board-wrap,
 body #game.soft-cabinet[data-cabinet-game="rotto-blaze"] .board-wrap{width:min(100%,calc((100dvh - 420px)*var(--board-ratio)))}
 body #game.soft-cabinet[data-cabinet-game="rotto-blaze"]{grid-template-rows:76px auto 52px 70px minmax(114px,1fr) 42px 52px}
}
@media(orientation:portrait) and (min-width:600px) and (max-width:1200px){
 body #game.soft-cabinet .board-wrap,
 body #game.soft-cabinet[data-cabinet-game="rotto-blaze"] .board-wrap{width:min(100%,calc((100dvh - 450px)*var(--board-ratio)))}
 body #game.soft-cabinet[data-cabinet-game="rotto-blaze"]{grid-template-rows:86px auto 52px 76px minmax(115px,1fr) 42px 58px}
}
@media(orientation:portrait) and (max-height:700px){
 body #game.soft-cabinet .board-wrap,
 body #game.soft-cabinet[data-cabinet-game="rotto-blaze"] .board-wrap{width:min(100%,calc((100dvh - 345px)*var(--board-ratio)))}
 body #game.soft-cabinet[data-cabinet-game="rotto-blaze"]{grid-template-rows:50px auto 48px 50px minmax(78px,1fr) 30px 38px}
}
@media(orientation:landscape) and (min-height:501px){
 body #game.soft-cabinet .board-wrap{width:min(100%,calc((100dvh - 230px)*var(--board-ratio)))}
}
