/* Phone-first refinements. Browser zoom and normal page scrolling stay enabled. */
html{scroll-padding-bottom:env(safe-area-inset-bottom)}body{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}button,a,summary{touch-action:manipulation}button{user-select:none;-webkit-user-select:none}dialog{overscroll-behavior:contain}#balance,#lastWin,#betValue{overflow-wrap:anywhere}#spin{touch-action:manipulation}.bet-control button:after{display:none}.top-actions button,.modal-head button{min-height:44px;min-width:44px}.modal-head{position:sticky;top:-28px;background:#f2ecdc;z-index:2;padding:8px 0}.modal-head button{flex-shrink:0}.machine-footer button,.bonus-card button{min-height:44px}summary{min-height:44px;align-content:center}.cell small{line-height:1.2}
@media(max-width:760px){
:root{--phone-cell:clamp(58px,10.8dvh,86px)}
header{height:60px;padding:0 12px;gap:8px}.wordmark{font-size:24px;gap:7px;letter-spacing:1px}.wordmark span{font-size:8px;letter-spacing:1.5px;padding-left:8px}.top-actions{gap:4px}.top-actions button{padding:8px;min-width:44px;font-size:11px}.top-actions #sound span,.top-actions #motion span{display:none}.top-actions #sound,.top-actions #motion{font-size:18px}.top-actions #rules span{display:none}.edition{display:none}
main{padding:0 12px}.intro{padding:10px 0 13px}.intro .eyebrow,.intro p{display:none}h1{font-size:21px;line-height:1.2;letter-spacing:-.5px;margin:0}h1 br{display:none}h1 em{margin-left:.2em;font-size:21px}.machine{padding:0 10px;border-radius:13px}.machine-crown{padding:10px 0 6px;gap:15px}.machine-crown .small{font-size:8px;letter-spacing:2px}.machine-crown h2{font-size:19px;letter-spacing:1.2px;margin:2px 0}.crown-star{font-size:20px}.feature-strip{padding:5px 0 9px;gap:10px;font-size:8px;letter-spacing:.2px}.cell{height:var(--phone-cell);min-height:var(--phone-cell)}.cell svg,.cell img{height:calc(var(--phone-cell) - 21px);width:min(64px,90%);object-fit:contain}.cell small{font-size:7px;letter-spacing:0;max-width:100%;padding:0 2px;white-space:nowrap;overflow:hidden;text-overflow:clip}.cell.bonus small{font-size:6px}.reel.rolling{height:calc(var(--phone-cell)*3 + 4px)}.spin-symbol{height:calc(var(--phone-cell) + 1.333px)}.spin-symbol svg,.spin-symbol img{height:calc(var(--phone-cell) - 16px);width:60px}.reels{gap:2px}.reel-frame{padding:4px}.winning-lines{inset:4px;width:calc(100% - 8px);height:calc(100% - 8px)}
.message-bar{min-height:44px;font-size:11px;line-height:1.35;padding:7px 2px;flex-wrap:wrap;gap:4px}.status-dot{display:none}#message{flex:1 1 190px}#bonusTag{font-size:9px}.dashboard{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto;gap:10px 16px;padding:10px 0 12px;align-items:end}.credits{grid-column:1;grid-row:1}.win{grid-column:2;grid-row:1;display:block;text-align:right;border:0;padding:0}.meter label,.bet-control label{font-size:10px;letter-spacing:1px;margin:0 0 4px}.meter strong,.win strong{font-size:24px;line-height:1.1}.meter small{display:none}.bet-control{grid-column:1;grid-row:2;text-align:left}.bet-control>div{justify-content:space-between;gap:4px}.bet-control output{font-size:24px}.bet-control button{width:44px;height:44px;flex-shrink:0;font-size:25px}.bet-control small{display:none}.spin{grid-column:2;grid-row:2;height:60px;font-size:20px;gap:14px;border-radius:10px}.spin b{font-size:30px}.machine-footer{padding:2px 0;font-size:9px;letter-spacing:.1px;gap:8px}.machine-footer button{font-size:11px;padding:0 4px}.machine-footer>span:last-child{display:none}.bottom-row{margin:18px 0;gap:14px}.bonus-card{padding:12px;gap:10px}.bonus-card h3{font-size:19px}.bonus-card p{font-size:12px;line-height:1.5}.bonus-card p br{display:none}.bonus-card button{font-size:12px;white-space:normal;text-align:left;margin:0 0 0 43px}.play-note>span{font-size:10px}.play-note p{font-size:11px}footer{font-size:9px;padding:15px 12px 20px}.celebration small{font-size:9px}.celebration>span{font-size:16px}.celebration.line>span{font-size:10px}.celebration.line strong{font-size:24px}dialog{padding:20px;max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.modal-head{top:-20px}.modal-head h2{font-size:25px}.modal-head .eyebrow{font-size:8px;letter-spacing:1.5px}dialog p{font-size:14px}.payrow{grid-template-columns:minmax(0,1fr) repeat(3,38px);font-size:12px;gap:3px}.rule-callout p{font-size:13px}#lineDiagrams{grid-template-columns:repeat(5,1fr);gap:7px}
}
@media(max-width:359px){header{padding:0 8px}.wordmark{font-size:21px}.wordmark span{display:none}.top-actions button{padding:6px}.intro h1,.intro h1 em{font-size:18px}.machine-crown h2{font-size:17px}.feature-strip{gap:6px;font-size:7px}.dashboard{gap:9px}.bet-control output{font-size:20px}.cell small{font-size:6px}.cell.bonus small{font-size:5px}.celebration>span{font-size:13px}.celebration.line{gap:7px}.celebration.line .win-emblem{width:45px}}
/* Landscape phones: keep reels and all main controls together without a tall header. */
@media(orientation:landscape) and (max-height:520px) and (max-width:1000px){
:root{--phone-cell:clamp(49px,17dvh,70px)}header{height:48px;padding:0 16px}.edition{display:none}.top-actions button{min-height:40px;min-width:44px;padding:5px 10px}.intro,.bottom-row,body>footer{display:none}main{padding:10px 16px 16px;max-width:950px}.machine{display:grid;grid-template-columns:minmax(0,1fr) 190px;column-gap:16px;padding:0 14px}.machine-crown{grid-column:1/-1;padding:6px 0 3px;gap:20px}.machine-crown .small{display:none}.machine-crown h2{font-size:18px;margin:0}.crown-star{font-size:16px}.feature-strip{grid-column:1;padding:4px 0 7px;gap:14px;font-size:8px}.reel-frame{grid-column:1;grid-row:3}.cell{height:var(--phone-cell);min-height:var(--phone-cell)}.cell img,.cell svg{height:calc(var(--phone-cell) - 17px);width:65px}.cell small{font-size:7px;letter-spacing:0}.cell.bonus small{font-size:6px}.reel.rolling{height:calc(var(--phone-cell)*3 + 4px)}.spin-symbol{height:calc(var(--phone-cell) + 1.333px)}.spin-symbol img,.spin-symbol svg{height:calc(var(--phone-cell) - 12px);width:65px}.message-bar{grid-column:1;grid-row:4;min-height:34px;font-size:10px;padding:5px 0;line-height:1.25;gap:4px;flex-wrap:wrap}.status-dot{display:none}#bonusTag{font-size:8px}.dashboard{grid-column:2;grid-row:2/5;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto;gap:9px 8px;align-self:stretch;padding:6px 0 9px;border:0;align-items:center}.credits{grid-column:1;grid-row:1}.win{grid-column:2;grid-row:1;display:block;text-align:right;border:0;padding:0}.meter label,.bet-control label{font-size:8px;letter-spacing:.5px;margin-bottom:3px}.meter strong,.win strong{font-size:20px}.meter small,.bet-control small{display:none}.bet-control{grid-column:1/-1;grid-row:2;text-align:center}.bet-control>div{justify-content:space-between;gap:8px}.bet-control button{width:44px;height:44px;font-size:25px}.bet-control output{font-size:24px}.spin{grid-column:1/-1;grid-row:3;width:100%;height:52px;font-size:19px;gap:22px}.machine-footer{grid-column:1/-1;min-height:35px;padding:0;font-size:9px}.machine-footer button{min-height:35px;font-size:11px}.machine-footer>span:last-child{display:none}.celebration>span{font-size:15px;margin-top:4px}.celebration strong,.celebration.nice strong,.celebration.mega strong,.bonus-reveal strong{font-size:40px}.win-emblem,.celebration.cinematic .win-emblem{height:32px;width:70px}.celebration small{font-size:8px;margin-top:2px}.celebration.line strong{font-size:25px}.celebration.line{min-height:44px;padding:5px 10px}dialog{max-height:calc(100dvh - 20px);padding:18px}.modal-head{top:-18px}
}
body{min-width:0}
@media(orientation:portrait) and (max-width:760px) and (max-height:620px){.intro{display:none}main{padding-top:12px}.machine-crown .small{display:none}.machine-crown{padding-top:8px}.machine-crown h2{font-size:18px}}
@media(max-width:359px){.machine-crown{gap:8px}.machine-crown h2{font-size:16px;letter-spacing:.7px;white-space:nowrap}.crown-star{font-size:16px}.bet-control>div{gap:0}.bet-control output{font-size:20px;min-width:3ch;white-space:nowrap;overflow-wrap:normal;letter-spacing:-1px}.dashboard{column-gap:8px}}
