/* Lightweight pixel terminals: no per-button backdrop filters. */
@font-face{font-family:EchoControl;src:url('./Galmuri11.woff2') format('woff2');font-display:swap}
.touch{z-index:4;user-select:none;-webkit-user-select:none;touch-action:none}
.touch button{font-family:EchoControl,monospace;font-size:11px;border-radius:0;border:2px solid var(--control,#66cad9);background:linear-gradient(180deg,#142837ed,#09131ded);backdrop-filter:none;box-shadow:inset 0 -5px #02080c,inset 0 2px #8eeeff25;color:#d9f8ff;clip-path:polygon(6px 0,calc(100% - 6px) 0,calc(100% - 6px) 3px,100% 3px,100% calc(100% - 6px),calc(100% - 6px) calc(100% - 6px),calc(100% - 6px) 100%,3px 100%,3px calc(100% - 3px),0 calc(100% - 3px),0 6px,6px 6px);touch-action:none}
.touch button::after{content:'';position:absolute;left:8px;bottom:7px;width:10px;height:2px;background:var(--control,#66cad9);box-shadow:14px 0 #66cad933}
.touch button.active{transform:translateY(2px);background:#285065;box-shadow:inset 0 0 0 2px var(--control,#66cad9);color:#fff}
#attack{--control:#ff6088}#parry{--control:#f6d583}#ability{--control:#b9a0ff}
#mobile-pause{left:max(12px,env(safe-area-inset-left));top:54px;width:48px;height:44px;font-size:10px}
#mobile-landscape{left:calc(max(12px,env(safe-area-inset-left)) + 56px);top:54px;width:48px;height:44px;font-size:10px}
#orientation-help{position:absolute;top:105px;left:12px;max-width:180px;font:12px/1.6 sans-serif;color:#d9f8ff;background:#08121bea;pointer-events:none}
#orientation-help:empty{display:none}
body:has(.cinematic:not(.hidden)) .touch,body:has(.overlay:not(.hidden)) .touch,body:has(#auth-modal:not(.hidden)) .touch,body:has(#settings-modal:not(.hidden)) .touch,body:has(.dialogue:not(.hidden)) .touch{visibility:hidden;pointer-events:none}
@media(pointer:coarse),(max-width:760px){
 .touch{--base:max(12px,env(safe-area-inset-bottom));--side:max(12px,env(safe-area-inset-right))}
 #left,#right,#jump,#attack,#parry,#wire,#ability{width:56px;height:56px}
 #left{left:max(12px,env(safe-area-inset-left));bottom:var(--base)}#right{left:calc(max(12px,env(safe-area-inset-left)) + 64px);bottom:var(--base)}
 #attack{right:var(--side);bottom:var(--base)}#jump{right:calc(var(--side) + 64px);bottom:var(--base)}
 #wire{right:var(--side);bottom:calc(var(--base) + 64px)}#parry{right:calc(var(--side) + 64px);bottom:calc(var(--base) + 64px)}#ability{right:calc(var(--side) + 128px);bottom:calc(var(--base) + 64px)}
 .hud{padding:10px 12px}.top{gap:8px}.brand{font-size:12px;letter-spacing:0;gap:5px}.status{min-width:0;font-size:10px;letter-spacing:0}.status strong{font-size:11px}.player-health{width:70px}.music-toggle{min-height:36px;font-size:10px}
 .quest{top:107px;right:12px;width:185px;padding:7px 9px;backdrop-filter:none;background:#0a1324e8}.quest-title{font-size:12px}.quest-label{font-size:9px}.quest-objective,.quest-progress{font-size:10px;line-height:1.45}
 .boss-hud{top:62px;width:calc(100% - 140px);min-width:0}.boss-hud-kicker{font-size:8px;letter-spacing:.08em}.boss-hud-name{font-size:12px;letter-spacing:0}
 .hint{font-size:10px;max-width:90vw;margin-bottom:145px;padding:5px 8px;backdrop-filter:none}
 .dialogue{max-height:65dvh;overflow:auto;padding:13px 15px;bottom:max(14px,env(safe-area-inset-bottom))}.dialogue-text{font-size:14px}.dialogue-next{min-height:44px}
 .terminal-card{padding:20px;max-height:calc(100dvh - 24px)}.modal-layer,.overlay{backdrop-filter:none}.card{max-height:calc(100dvh - 24px);overflow:auto}
 .field input{font-size:16px}.terminal-button,.stage-option{min-height:44px}
}
@media(pointer:coarse) and (orientation:landscape){.quest{top:105px;width:175px}.quest-objective{display:none}.hint{display:none}.dialogue{max-height:80dvh}.brand{max-width:40vw}}
@media(pointer:coarse) and (orientation:landscape){
 .hud{padding-top:max(8px,env(safe-area-inset-top));padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}
 .quest{top:99px;right:max(12px,env(safe-area-inset-right));width:160px}.quest-title{margin:3px 0}.quest-label{display:none}
 .boss-hud{top:12px;width:36vw;max-width:350px}.boss-hud-name{font-size:12px}
 .dialogue{width:min(620px,calc(100% - 150px));bottom:12px}.dialogue-text{font-size:13px}.dialogue-speaker{margin-bottom:5px}
 .terminal-card{max-height:calc(100dvh - 20px)}
}
