#game{touch-action:none;-webkit-user-select:none;user-select:none}
#touch-controls{display:none}
.touch-device #touch-controls{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#fff5e6;gap:12px;touch-action:none;user-select:none;-webkit-user-select:none}
.touch-directions{display:flex;align-items:center;gap:10px}
#touch-controls button{min-width:56px;min-height:52px;padding:10px;font-size:22px;touch-action:none;transition:none}
#touch-controls button.pressed{background:#ffe17b;transform:translateY(3px);box-shadow:none}
#touch-controls [data-control=action]{min-width:86px;background:#ff685a}
.touch-vertical{display:none;gap:8px}
#touch-controls[data-flight=true] .touch-vertical{display:flex}
.touch-device .desktop-pause-hint{display:none}
.touch-device .game-wrap{padding-bottom:0}
.touch-device .cinema-stage{bottom:0}
.touch-device .cinema-video{object-fit:contain;background:#d5b789}
.touch-device .cinema-wings,.touch-device .cinema-goal{background:transparent}
@media(max-width:600px){
 .crop-layout{grid-template-columns:1fr}.crop-controls{padding-top:6px}#crop{max-width:250px}
 .character-panel{padding:16px}.sample-choices,.hair-choices{gap:6px}
 .setup-intro .badge{font-size:15px}.setup-intro h1{font-size:36px}
 .range-label{font-size:17px}.crop-controls input[type=range]{height:32px}
 .crop-controls button{min-height:44px}.preview-turn button{min-height:44px}
 .finish-actions{gap:12px}.finish-actions button{font-size:17px}
}
@media(any-pointer:coarse),(max-width:600px){
 body.touch-device[data-screen=play] main{width:100%;padding:env(safe-area-inset-top,0px) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}
 .touch-device[data-screen=play]{overscroll-behavior:none}
 .touch-device .play-top{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}
 .touch-device .small-brand{font-size:18px}.touch-device #game-phase{font-size:17px;display:inline}
 .touch-device .play-top>div{width:100%;flex-wrap:wrap;gap:7px;justify-content:space-between}
 .touch-device .hearts{min-width:63px;gap:2px}.touch-device .hearts span{font-size:24px}
 .touch-device .coin-hud{font-size:14px;padding:5px 7px}.touch-device .coin-hud b{font-size:20px}.touch-device .coin-hud small{font-size:12px}
 .touch-device #sound,.touch-device #pause{font-size:14px;min-height:44px;padding:7px 9px;min-width:0}
 .touch-device .visitor-hud{font-size:13px;padding:4px 8px;order:5;margin-left:auto}.touch-device .visitor-hud b{font-size:16px}
 .touch-device .progress-track{margin-bottom:6px;height:4px}
 .touch-device .game-wrap{max-width:100%;border-radius:14px;border-width:2px}
 .touch-device .play-bottom{font-size:15px;padding:8px 10px;margin-top:9px;line-height:1.45}
 .touch-device #game-instruction{font-size:15px!important}.touch-device #game-status{font-size:16px;line-height:1.4;margin:8px 0}
 .touch-device #pause-panel{padding:10px}.touch-device #pause-panel>div{padding:16px;max-height:100%;overflow:auto;overscroll-behavior:contain}
 .touch-device #pause-panel h2{font-size:20px;margin:6px 0 12px}.touch-device #pause-panel button{min-height:44px;margin:10px 0}.touch-device .pause-help p{font-size:16px}
}
@media(orientation:portrait){
 .touch-device #game{aspect-ratio:4/3}
}
@media(max-width:430px){
 .touch-device #touch-controls[data-flight=true]{padding:8px 10px;gap:8px}
 #touch-controls[data-flight=true] button{min-width:44px;min-height:48px;padding:6px;font-size:20px}
 #touch-controls[data-flight=true] [data-control=action]{min-width:64px}
 #touch-controls[data-flight=true] .touch-directions,#touch-controls[data-flight=true] .touch-vertical{gap:6px}
}
@media(orientation:landscape) and (max-height:600px){
 .touch-device[data-screen=play] main{padding-top:0;padding-bottom:0}
 .touch-device .play-top{flex-wrap:nowrap;margin:3px 0;gap:8px}
 .touch-device .play-top>div{width:auto;flex:1;flex-wrap:nowrap;gap:6px}
 .touch-device #game-phase{font-size:15px;white-space:nowrap}.touch-device .small-brand{display:none}
 .touch-device .visitor-hud{order:0;margin-left:0;font-size:11px;padding:3px 5px;gap:3px}.touch-device .visitor-hud b{font-size:14px}
 .touch-device .coin-hud{font-size:12px;padding:3px 5px}.touch-device .coin-hud b{font-size:17px}
 .touch-device #sound,.touch-device #pause{font-size:12px;min-height:36px;padding:5px 7px}
 .touch-device .game-wrap{width:calc((100svh - 96px)*16/9);max-width:100%;border-radius:10px}
 .touch-device #game{aspect-ratio:16/9}
 .touch-device #touch-controls{position:absolute;inset:auto 0 0;z-index:4;background:transparent;pointer-events:none;padding:8px 12px}
 .touch-device #touch-controls button{pointer-events:auto;opacity:.86;min-height:44px;min-width:48px;font-size:19px}
 .touch-device #touch-controls [data-control=action]{min-width:72px}
 .touch-device .touch-directions,.touch-device .touch-vertical{gap:7px}
 .touch-device .play-bottom{border:0;background:transparent;padding:2px 0;margin:2px auto;font-size:13px;justify-content:center}
 .touch-device #game-instruction{font-size:13px!important}
 .touch-device #game-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
}
