/* Gates portrait gameplay observation, original ROTTO skin; no result/math changes. */
#boardSlot{display:contents}
.betLabel{display:block;text-align:center;font-size:12px;font-weight:700;letter-spacing:1px}
dialog .betrow b{flex:1;min-width:0;padding:12px 6px;text-align:center;border:1px solid #ffffff20;border-radius:12px;background:#ffffff08;font-variant-numeric:tabular-nums}
dialog .betrow button{flex:none}dialog .betrow button:disabled{opacity:.35}
#speed{min-width:44px;min-height:26px;display:grid;place-items:center;border-radius:20px}
#speed svg{width:35px;height:17px;fill:none;stroke:#ffffff30;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}#speed svg .active{stroke:#f5d6a0}
@media(max-aspect-ratio:1/1){
 #stage{width:100vw;height:100dvh;max-height:none;aspect-ratio:auto;padding:env(safe-area-inset-top,0px) 3vw env(safe-area-inset-bottom,0px);display:grid;grid-template-columns:1fr 1fr;grid-template-rows:clamp(48px,8dvh,76px) 22px auto 56px clamp(64px,10dvh,90px) minmax(88px,1fr) 40px 44px;grid-template-areas:'brand brand' 'headline headline' 'board board' 'result result' 'purchase mode' 'spin history' 'utilities utilities' 'funds funds';gap:6px 10px}
 #brand{position:relative;grid-area:brand;left:auto;top:auto;align-self:center;text-align:center}
 #brand h1{font-size:clamp(20px,5.5vw,36px);margin:4px 0}
 #brand span{font-size:10px;letter-spacing:2px}#brand span b{font-size:9px;padding:3px 6px}
 #headline{position:relative;grid-area:headline;left:auto;top:auto;width:auto;align-self:center;font-size:clamp(10px,2.5vw,15px);line-height:1.2}
 #boardSlot{display:grid;grid-area:board;place-items:center;min-width:0;min-height:0;container-type:size;height:min(60.65vw,calc(100dvh - 390px));}
 #board{position:relative;left:auto;top:auto;width:min(100cqw,155cqh);height:auto;aspect-ratio:1.55;border-radius:16px;max-height:100%;}
 .cell .symbol{width:87%;height:90%;max-height:none;clip-path:none}
 .cell .value{font-size:clamp(16px,5vw,32px)}.cell.scatter .symbol:after{font-size:clamp(9px,2.4vw,16px)}
 #left,#hud{display:contents}
 #buy,#featureMeter{grid-area:purchase}#ante,#freeMeter{grid-area:mode}
 .plaque{position:relative;min-width:0;min-height:0;padding:7px 5px;border-radius:14px;gap:1px;margin:0}
 .plaque span{font-size:clamp(9px,2.2vw,13px);letter-spacing:.5px}.plaque strong{font-size:clamp(18px,4.6vw,28px);margin:2px 0}.plaque small{font-size:clamp(8px,1.9vw,11px);letter-spacing:0}.parchment b{font-size:10px;margin:2px 0 0;padding:2px 12px}
 #result{position:relative;grid-area:result;align-self:center;min-width:0}#result small{font-size:9px;letter-spacing:1px;line-height:1.2}#win{font-size:clamp(22px,6vw,30px);line-height:1}#status{font-size:10px;max-width:100%;line-height:1.2;margin:0}
 #spinControls{position:relative;grid-area:spin;width:100%;align-self:center;min-width:0}
 #spin{width:clamp(66px,20vw,106px);height:clamp(66px,20vw,106px);padding:15px}.round{width:34px;height:34px;font-size:25px}.spinrow{gap:7px}.subrow{margin-top:8px;gap:6px}.subrow button{font-size:9px;padding:4px 6px;min-height:26px}
 #history{grid-area:history;display:flex;position:relative;min-width:0;min-height:0;max-height:140px;align-self:center;height:100%;border-radius:14px;padding:8px;overflow:auto}
 #history:before{font-size:9px;letter-spacing:.5px;margin-bottom:4px}#history:empty:after{font-size:11px;line-height:1.4}.historyRow{font-size:11px;padding:3px 0}.historyRow .mini{width:22px;height:22px;flex:none}
 .utilities{position:relative;grid-area:utilities;flex-direction:row;align-items:center;justify-content:center;gap:26px}.utilities button{width:36px;height:36px;font-size:18px}
 #funds{position:relative;grid-area:funds;display:flex;align-items:center;justify-content:center;gap:14px;width:100%;font-size:clamp(12px,3.2vw,20px);line-height:1.2;min-width:0;border-top:1px solid #ffffff18}
 #funds span{font-size:9px;min-width:0;letter-spacing:.5px}#funds div,#funds button{gap:5px;min-width:0;white-space:normal}#funds b{overflow-wrap:anywhere}#betOpen{padding:5px 0}
 .feature #featureMeter,.feature #freeMeter{min-height:0;gap:2px}.powerOrb{width:92px;height:43px}.powerOrb #featureMultiplier{font-size:22px}.freeCount #remaining{font-size:30px}.freeCount span{font-size:9px}.freeProgress{height:3px}
 dialog{position:fixed;width:calc(100vw - 28px);max-width:480px;max-height:calc(100dvh - 32px);border-radius:18px;padding:24px 18px;font-size:14px;overflow:auto}
 dialog h2{font-size:20px;margin:12px 28px 20px}dialog p{font-size:12px}dialog .close{font-size:30px;right:10px;top:6px;width:38px;height:38px}dialog .betrow{margin:16px 0;gap:12px}dialog .betrow b{font-size:26px}dialog .betrow button{width:48px;height:48px;font-size:28px}dialog .options button{font-size:12px;padding:12px}dialog .actions button{font-size:13px;padding:14px 16px}dialog .largePrice{font-size:36px}dialog table{font-size:11px}
 #loading{font-size:26px}#loading small{font-size:12px}#toast{font-size:13px;padding:12px}
}
@media(max-aspect-ratio:1/1) and (max-height:650px){
 #stage{grid-template-rows:40px 18px auto 44px 60px minmax(76px,1fr) 32px 34px;gap:3px 8px}
 #boardSlot{height:min(60.65vw,calc(100dvh - 338px))}#brand h1{font-size:20px}#brand span{font-size:8px}
 #spin{width:58px;height:58px;padding:12px}.round{width:28px;height:28px}.subrow{margin-top:2px}.subrow button{min-height:20px;padding:2px 5px}
 .utilities button{width:28px;height:28px;font-size:16px}#history{max-height:90px}#status{font-size:9px}
}
