/* Phone layout stays in CSS pixels; only the jumping canvas is scaled. */
.game-column{flex:none;min-width:0;max-width:100%}
.touch-controls,.touch-help{display:none}
.touch-controls[hidden]{display:none!important}
@media (pointer:coarse),(max-width:600px){
 .touch-controls:not([hidden]){display:flex;gap:10px;width:100%;margin:12px auto 0;max-width:400px;padding-bottom:env(safe-area-inset-bottom,0px)}
 .touch-controls button{height:56px;flex:1;border:1px solid #6885af;border-radius:14px;background:linear-gradient(#304e76,#203754);color:#ecf4ff;font-size:22px;font-weight:800;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
 .touch-controls button:active{background:#4475b4}
 .touch-controls button span{font-size:11px;letter-spacing:1px}
 .touch-controls #touchPause{flex:0 0 54px}
 .touch-help{display:inline}.keyboard-help{display:none}
 body[data-game-state=playing] .game-viewport{touch-action:none;user-select:none;-webkit-user-select:none}
}
@media (max-width:600px), (max-height:500px) and (pointer:coarse){
 html{scroll-padding-bottom:20px}body{overflow-x:hidden}
 .shell{padding:calc(10px + env(safe-area-inset-top,0px)) max(12px,env(safe-area-inset-right,0px)) calc(20px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px))}
 .header{margin-bottom:12px;gap:8px;min-height:44px}.brand{gap:8px}.brand-icon{width:36px;height:36px;font-size:26px;border-radius:10px}.brand strong{font-size:14px;letter-spacing:1.3px}.sound-button{min-height:44px;padding:8px 10px;font-size:11px}
 .layout{gap:20px}.game-column{width:100%}.game-viewport{border-radius:16px}
 body:not([data-game-state=playing]) #gameCanvas,body:not([data-game-state=playing]) #effectsLayer{visibility:hidden}
 .screen{overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
 .screen> :not(.wardrobe-grid):not(.collection-grid):not(.upgrade-lists){flex-shrink:0}
 .menu-screen{padding:16px 22px 20px}.menu-heading{margin-top:0}.menu-heading h1{font-size:46px;margin:0 0 8px}.stats-card{margin-top:8px;padding:10px}.stat strong{font-size:22px}
 .menu-actions{margin-top:14px;gap:8px}.menu-actions .primary-button{height:44px;font-size:14px}.menu-help{font-size:11px;margin-top:14px}
 .menu-screen .import-button{font-size:12px;min-height:40px;margin-top:4px!important;padding:8px}
 input,select,textarea,.trade-screen input,.trade-screen select{font-size:16px!important}
 .secondary-button{min-height:44px!important;font-size:12px!important}
 .wardrobe-screen,.collection-screen{padding:18px 16px}.wardrobe-heading h2{font-size:22px}.collection-heading{margin-top:4px}.collection-heading h2{font-size:28px}.wardrobe-grid,.collection-grid{flex:none;overflow:visible;margin:16px 0;min-height:0;grid-template-columns:repeat(2,minmax(0,1fr))}.character-card button,.delete-item{min-height:44px;font-size:12px}.character-card{min-height:205px}.collection-screen>.secondary-button,.wardrobe-screen>.secondary-button{margin-top:auto;margin-bottom:0}
 .case-screen{padding:0 16px 16px}.case-tabs button{min-height:44px;font-size:11px}.case-heading h2{font-size:28px}.case-reel-wrapper{max-width:100%;width:352px}.case-screen .primary-button{min-height:48px;margin-top:16px}.case-screen .case-art{height:88px}.case-message{height:auto;min-height:22px;font-size:10px;letter-spacing:0}.case-wallet{padding:9px;font-size:10px}.case-wallet strong{font-size:18px}.case-footnote{font-size:9px;line-height:1.5}
 .upgrade-screen{padding:0 12px 16px}.upgrade-machine{grid-template-columns:minmax(0,1fr) 108px minmax(0,1fr);gap:5px}.upgrade-gauge{width:108px;height:108px}.upgrade-center{width:74px;height:74px}.upgrade-choice{height:118px}.upgrade-choice strong{font-size:9px;line-height:12px;max-height:36px}.upgrade-ratio{min-height:44px;font-size:14px}.upgrade-lists{height:280px;flex:none;min-height:280px}.upgrade-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.upgrade-item{min-height:91px;padding:5px}.upgrade-item>span{font-size:9px;height:25px;line-height:12px}.upgrade-item>small{font-size:9px}.upgrade-message{height:auto;min-height:35px;font-size:11px;line-height:16px}.upgrade-run{min-height:48px}.upgrade-note{font-size:9px;line-height:14px}
 .slots-screen{padding:0 16px 16px}.slots-heading{margin-top:16px}.slots-heading h2{font-size:34px}.bet-picker{flex-wrap:wrap;gap:6px}.bet-picker button{height:44px;min-width:38px;font-size:14px}.bet-picker input{height:44px;width:65px}.slots-message{height:auto;min-height:32px;line-height:16px}.slots-paytable{font-size:10px}.slots-paytable button{min-height:44px;font-size:11px}.slots-screen .slots-note{display:none}.slot-rules{inset:8px;padding:16px}.slot-rules p,.slot-rules table{font-size:13px}
 .casino-screen{padding:12px!important}.casino-header{height:auto;min-height:58px;position:sticky;top:-12px;z-index:2;background:#20152d}.casino-header>button{height:44px;width:44px}.casino-wallet{font-size:12px}.casino-lobby{gap:10px}.casino-lobby button{min-height:140px}.casino-lobby strong{font-size:12px}.casino-lobby small{font-size:10px}.casino-bet{flex-wrap:wrap;gap:7px}.casino-bet label{font-size:12px;margin-right:auto}.casino-bet input{width:72px;min-height:44px}.casino-bet button{width:44px;height:44px;font-size:12px}.casino-primary,.casino-actions button{min-height:46px;font-size:12px}.casino-rules-button{min-height:44px;font-size:12px}.casino-result{font-size:12px}.casino-screen dialog{max-width:calc(100vw - 24px);max-height:80dvh}.casino-screen dialog button{min-height:44px}.dealer-cards{flex-wrap:wrap}.casino-card{max-width:100%}.poker-cards{gap:5px;width:100%}.poker-cards button{flex:1;min-width:0}.poker-cards .casino-card{width:100%;height:auto;max-height:78px}.poker-cards span{min-width:0;width:100%;font-size:7px;min-height:35px;display:grid;place-items:center}.poker-paytable{padding:10px}.poker-paytable p{font-size:11px}.scratch-ticket{width:100%;max-width:324px;box-sizing:border-box;height:190px}.scratch-grid{height:100%;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,1fr)}.scratch-grid img{max-width:100%;height:52px}.scratch-ticket canvas{width:100%;height:100%}
 .tom-screen{padding:14px}.tom-heading h2{font-size:20px}.tom-heading button{width:44px;height:44px}.tom-voice button{height:46px;font-size:12px}.tom-phrase{flex-wrap:wrap}.tom-phrase input{min-height:44px;width:100%;flex-basis:100%}.tom-phrase button{min-height:44px;width:100%;font-size:13px}.tom-note{font-size:10px;line-height:16px}.tom-status{height:auto;min-height:40px;font-size:12px;line-height:18px}.tom-screen>.secondary-button{margin-top:12px}.tom-caption{font-size:11px;line-height:16px}
 .death-screen{padding:26px 12px}.death-video-box{width:100%;height:auto;aspect-ratio:4/3}.video-progress{max-width:100%}.skip-button{max-width:100%}.over-screen{padding:20px 24px}.over-heading{margin-top:12px}.over-heading h2{font-size:48px}.over-help{display:none}
 .relax-panel{width:100%}.relax-video{border-radius:12px}.relax-actions button{min-height:44px;flex:1;font-size:12px}
 /* A full-screen terminal keeps charts and order forms reachable on narrow phones. */
 .trade-screen{inset:0;max-width:none;border-radius:0;border:0;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);height:100%;height:100dvh}
 .trade-top{padding:10px 12px;gap:8px 12px;display:grid;grid-template-columns:1fr 1fr auto;min-height:100px}.trade-brand{grid-column:1/3;grid-row:1}.trade-brand strong{font-size:18px}.trade-top #tradeBack{grid-column:3;grid-row:1;min-height:44px;margin:0}.trade-rate{grid-column:1;grid-row:2;margin:0}.trade-account{grid-column:2/4;grid-row:2}.trade-account:nth-last-of-type(1){display:none}.trade-rate strong,.trade-account strong{font-size:13px}.trade-rate small,.trade-account small{font-size:8px}
 .trade-nav{min-height:48px;padding:0 8px}.trade-nav>button{min-height:48px;font-size:12px;padding:0 12px}.trade-clock{padding-right:8px}.trade-clock button{min-height:40px;font-size:12px}.trade-watch{padding:7px 8px}#tradeWatchlist{min-width:0;width:max-content;gap:6px}.trade-asset{width:123px;min-height:60px;padding:8px!important}.trade-asset strong{font-size:11px}.trade-asset-values strong,.trade-asset-values small{font-size:11px}.trade-body{min-height:0;display:flex;flex-direction:column}.trade-workspace{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.trade-chart-area{height:460px;padding:12px;overflow:visible}.trade-chart-head{flex-wrap:wrap;min-height:78px}.trade-chart-head>div:first-child strong{font-size:13px}.trade-live-price strong{font-size:18px}.trade-frames{width:100%;margin:0}.trade-frames button{min-height:40px;font-size:11px;flex:1}.trade-chart-wrap{min-height:200px}.trade-chart-wrap canvas{min-height:200px}.trade-indicators button{min-height:36px;font-size:10px;padding:6px}.trade-indicators>span{display:none}.trade-terminal-bottom{display:none}.trade-ticket{padding:16px 12px}.trade-ticket label,.trade-option-form label{font-size:12px}.trade-quantity-buttons button{min-height:40px;font-size:10px}.trade-screen input,.trade-screen select{min-height:44px}.trade-deal-buttons button,.trade-action{min-height:48px;font-size:12px!important}.trade-protection-details summary{padding:10px 0;font-size:12px}.trade-estimate>span,.trade-estimate strong{font-size:12px}.trade-estimate small{font-size:10px}.trade-footer{min-height:42px;padding:10px 12px}.trade-message{font-size:11px}.trade-chart-caption{font-size:9px}.trade-panel{padding:16px 12px}.trade-option-layout{grid-template-columns:1fr}.trade-help-grid{grid-template-columns:1fr}.trade-help-grid summary{min-height:44px;font-size:13px}.trade-table td button{min-height:44px}.trade-table-scroll{max-width:100%}.trade-alert-form>*{max-width:100%}.trade-help-grid details p,.trade-page-head p{font-size:12px}.trade-assistant form input{width:100%;min-width:0;flex-basis:100%}
}
@media (max-width:360px){.brand strong{font-size:12px}.menu-screen{padding-left:16px;padding-right:16px}.casino-header strong{font-size:12px}.upgrade-machine{grid-template-columns:minmax(0,1fr) 96px minmax(0,1fr)}.upgrade-gauge{width:96px;height:96px}.upgrade-center{width:66px;height:66px}.trade-top{gap:8px}.trade-rate strong,.trade-account strong{font-size:12px}}
@media (max-height:500px) and (orientation:landscape) and (pointer:coarse){.shell{padding-top:8px}.header{margin-bottom:8px}.game-column{width:100%}.touch-controls:not([hidden]){position:fixed;bottom:12px;left:12px;right:12px;max-width:none;width:auto;pointer-events:none}.touch-controls button{flex:0 0 90px;pointer-events:auto}.touch-controls #touchPause{margin-left:auto;margin-right:auto}body[data-game-state=playing] .relax-panel{display:none}}

.pause-overlay #pauseMenuButton{background:#294260;color:#e3edfc;border:1px solid #6682a7;min-height:44px}
