/* A single layout for touch devices, including iPad's desktop-style browser. */
.attack-button{position:absolute;right:25px;bottom:24px;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:154px;min-height:70px;padding:12px 18px;border:2px solid #ffd5a0;border-radius:10px;background:linear-gradient(#ee8751,#ac442e);color:#fff4ce;font:800 18px var(--display);box-shadow:0 4px 0 #572619,0 7px 16px #0008;touch-action:none;user-select:none;-webkit-user-select:none}
.attack-button small{font:700 10px Outfit,sans-serif;letter-spacing:1px}
.attack-button.held{filter:brightness(1.15);transform:translateY(2px)}
.tail-button{right:196px;min-width:126px;background:linear-gradient(#59b99b,#246c59);border-color:#a5f2ce}
.grip-hint{font:700 9px Outfit,sans-serif;letter-spacing:.5px;color:#e6caaa;max-width:170px;line-height:1.5}
.grip-hint.latched{color:#afffdb}
.touch-ui .grip-hint{max-width:142px;font-size:8px}
.touch-controls .action-controls [data-control=tail]{background:linear-gradient(#59b99b,#246c59);color:#edffe4;border:2px solid #a5f2ce;box-shadow:0 3px 0 #164b3c}
.touch-controls .action-controls [data-control=fire]{background:linear-gradient(#ee8751,#ac442e);color:#fff4ce;border:2px solid #ffd5a0;box-shadow:0 3px 0 #572619}
.combat-help{padding:14px;border:1px solid #eeb57588;border-radius:8px;background:#633b2238;font-size:12px!important;line-height:1.6!important}
.combat-help strong{color:#ffbf85}
#defeat-count{color:#e2f1b4;display:block}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{min-height:100vh;min-height:100svh;overscroll-behavior-y:none}
.app{padding-left:max(30px,env(safe-area-inset-left));padding-right:max(30px,env(safe-area-inset-right));padding-top:env(safe-area-inset-top)}
button{touch-action:manipulation}
.game-shell{height:calc(100vh - 148px);height:calc(100svh - 148px)}
.touch-help{display:none}
.touch-ui .touch-help{display:block}
.touch-ui .keyboard-help,.touch-ui .home-controls{display:none}
.app:not(.touch-ui) .touch-controls{display:none!important}
.touch-intro{font-size:11px!important;line-height:1.6!important;max-width:330px;margin:15px 0 0!important;color:#d8dfb5!important}
.control-option{display:flex;align-items:center;gap:12px;min-height:48px;margin:12px 0 18px;font-size:13px;color:#eee2b2}
.control-option input{width:23px;height:23px;accent-color:#d8b749}
.app.touch-ui.playing{height:100vh;height:100svh;max-height:none;min-height:0;display:grid;grid-template-rows:68px minmax(0,1fr) 84px;gap:6px;padding-bottom:max(8px,env(safe-area-inset-bottom))}
.touch-ui.playing .topbar{height:auto;min-width:0}
.app.touch-ui.playing .game-shell{height:100%;min-height:0;max-height:none;width:100%;min-width:0}
.touch-ui.playing .footer{display:none}
.app.touch-ui .touch-controls:not([hidden]){position:static;inset:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 0;pointer-events:auto;width:100%;min-width:0}
.touch-controls,.touch-controls button{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:none}
.app.touch-ui .touch-controls button{min-width:44px;height:62px;width:64px;flex-shrink:0}
.app.touch-ui .touch-controls .jump-button{width:74px}
.touch-ui .touch-controls>div{gap:10px!important}
.touch-ui .icon-button,.touch-ui .club-button,.touch-ui .guide-dismiss{min-width:44px;min-height:44px}
.touch-ui .abilities small,.touch-ui .seed-hint{display:none}
.touch-ui .abilities{padding:9px 12px;top:104px;bottom:auto}
.touch-ui .toast{top:auto;bottom:12px;left:50%;max-width:80%;padding:9px 14px}
.touch-ui .boss-hud{top:106px;left:auto;right:22px;transform:none;width:min(270px,43%)}
.overlay.centered{-webkit-backdrop-filter:blur(5px)}
.modal-panel{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y pinch-zoom}
body.game-active{overflow:hidden}
@media(max-width:760px){
 .app{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}
 .game-shell{height:calc(100vh - 132px);height:calc(100svh - 132px)}
 .app.touch-ui .touch-controls button{height:58px;width:49px}
 .app.touch-ui .touch-controls .jump-button{width:58px}
 .touch-ui .touch-controls>div{gap:7px!important}
 .touch-ui .abilities{top:88px;padding:8px 10px}
 .touch-ui .abilities{flex-wrap:wrap;max-width:242px;gap:8px}
 .touch-ui .grip-hint{flex-basis:100%;max-width:none;font-size:7px}
 .touch-ui .boss-hud{top:133px;left:50%;right:auto;transform:translateX(-50%);width:210px;padding:7px 10px}
 .touch-ui .boss-hud span{display:none}
 .touch-ui .stats .icon-button{width:44px;height:44px}
 .touch-ui .stats{padding:4px 7px;gap:7px}
 .touch-ui .club-button{padding:7px 8px;font-size:9px}
 .touch-ui .header-right{gap:5px}
 .touch-ui .brand small{letter-spacing:1px}
 .touch-ui .home-panel .trail-dots{display:none}
 .touch-ui .topbar{height:76px}
}
@media(max-width:360px){
 .touch-ui .brand-icon{display:none}.touch-ui .brand{font-size:14px}.touch-ui .brand small{font-size:5px;letter-spacing:.8px}
 .app.touch-ui .touch-controls button{width:44px;min-width:44px}.app.touch-ui .touch-controls .jump-button{width:47px}
 .touch-ui .touch-controls>div{gap:5px!important}.app.touch-ui .touch-controls{gap:8px}
 .touch-ui .home-panel h1{font-size:35px}.touch-ui .overlay{padding-left:18px;padding-right:18px}
}
@media(max-width:760px) and (orientation:portrait){
 .touch-ui .toast{top:140px;bottom:auto}
 .touch-ui .boss-hud:not([hidden])~.toast{top:194px}
}
@media(max-height:540px) and (orientation:landscape){
 .app{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}
 .app.touch-ui.playing{grid-template-rows:48px minmax(0,1fr) 68px;gap:4px;padding-bottom:max(6px,env(safe-area-inset-bottom))}
 .app.touch-ui .touch-controls button{height:54px;width:60px}.app.touch-ui .touch-controls .jump-button{width:68px}
 .game-shell{height:calc(100vh - 98px);height:calc(100svh - 98px)}
 .touch-ui .hud{inset:8px 10px auto;justify-content:flex-end}.touch-ui .trail-pill{display:none}
 .touch-ui .stats{padding:3px 7px}.touch-ui .stats .icon-button{height:44px;min-height:44px}
 .touch-ui .hearts{font-size:13px}.touch-ui .score-display strong{font-size:17px}
 .touch-ui .abilities{top:10px;left:10px;padding:6px 9px;gap:10px}.touch-ui .abilities>div{grid-template-columns:75px}.touch-ui .abilities progress{width:75px;height:5px}.touch-ui .abilities label{font-size:7px}
 .touch-ui .grip-hint{display:none}
 .touch-ui .boss-hud{top:9px;left:50%;right:auto;transform:translateX(-50%);width:170px;padding:6px 8px}.touch-ui .boss-hud strong{font-size:9px;letter-spacing:.6px}.touch-ui .boss-hud span{display:none}
 .touch-ui .toast{top:auto;bottom:8px;left:50%;max-width:60%;font-size:9px;padding:6px 10px}
 .touch-ui .touch-intro{display:none}.touch-ui .home-panel h1{font-size:34px;margin:9px 0}.touch-ui .home-panel p{font-size:10px;margin-bottom:9px}.touch-ui .home-panel .tag{font-size:6px}
 .touch-ui .home-panel .difficulty button{min-height:40px}.touch-ui .home-panel .primary{min-height:44px}
 .touch-ui .overlay:not(.centered){padding:13px 30px}.touch-ui .topbar{height:54px}
 .touch-ui .modal-panel{max-height:calc(100% - 4px);padding:20px}.touch-ui .overlay.centered{padding:5px 14px}
}
