/* Thumb zones sit above the canvas, leaving the center clear for aiming. */
html,body{overscroll-behavior:none;height:100%;height:100dvh}
button,select,input{touch-action:manipulation}
.touch-mode .touch-controls:not(.hidden){display:block!important}
.touch-mode #game,.touch-mode .touch-controls{touch-action:none;-webkit-user-select:none;user-select:none}
.look-pad{position:absolute;inset:70px 0 0 42%;pointer-events:auto;touch-action:none}
.look-pad span{position:absolute;top:24%;left:20%;font:9px monospace;letter-spacing:.15em;color:#ffffff55;pointer-events:none}
.touch-mode .joystick{left:max(22px,env(safe-area-inset-left));bottom:max(25px,env(safe-area-inset-bottom));width:112px;height:112px;z-index:3;background:radial-gradient(circle,#192c2c88 35%,#10222155 36%);border:1px solid #93efd44d;box-shadow:0 0 0 9px #0002}
.touch-mode .joystick-knob{width:46px;height:46px;left:32px;top:32px;background:#bcebd548;border:1px solid #bcebd588}
.touch-mode .touch-run{position:absolute;left:max(36px,env(safe-area-inset-left));bottom:155px;min-width:84px;height:44px;z-index:4;border:1px solid #9bdfc25c;border-radius:25px;background:#101c20d9;color:#d1e9dd;font:700 10px system-ui;pointer-events:auto;letter-spacing:.07em}
.touch-run[aria-pressed="true"]{background:#7aefb5!important;color:#071811!important;box-shadow:0 0 20px #4de8a644}
.touch-toolbar{position:absolute;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));display:flex;gap:7px;pointer-events:auto;z-index:5}
.touch-toolbar button{height:44px;min-width:44px;border:1px solid #a2e9cd55;border-radius:12px;background:#111c21d9;color:#e3f7ed;font:700 10px system-ui;padding:0 10px}
.touch-mode .touch-pause{position:static;width:44px;height:44px}
.touch-mode .touch-actions{position:absolute;right:max(15px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,44px);grid-template-rows:48px 60px;gap:10px;z-index:4;pointer-events:auto}
.touch-mode .touch-actions button{width:44px;height:48px;padding:0;border-radius:15px;font:700 8px system-ui;letter-spacing:.02em;background:#101c20d9;border:1px solid #c5eedd66;touch-action:none;color:#e9fff3}
.touch-mode .touch-actions [data-action="aim"]{height:60px;border-radius:50%;font-size:11px}
.touch-mode .touch-actions .touch-fire{grid-column:2/5;width:152px;height:60px;border-radius:30px;background:#83e9b7;color:#071b16;border-color:#b7f5ce;font-size:13px;box-shadow:0 0 25px #1fd78426}
.touch-mode #viewBtn,.touch-mode .compass,.touch-mode .score-panel,.touch-mode .health-caption,.touch-mode .reload-hint{display:none}
.touch-mode .hud-topline{left:14px;right:auto;top:13px;font-size:9px}
.touch-mode .performance{margin-left:12px;font-size:9px}
.touch-mode .objective-panel{left:50%;top:14px;transform:translateX(-50%);width:min(38vw,300px);padding:8px 12px;background:#09121888;border-radius:10px}
.touch-mode .objective-panel h2{font-size:12px;margin:4px 0}
.touch-mode .objective-panel p{font-size:10px;margin:0}
.touch-mode .objective-panel .hud-label{font-size:8px}
.touch-mode .objective-track{margin-top:6px}
.touch-mode .health-panel{left:max(17px,env(safe-area-inset-left));top:55px;bottom:auto;transform:none;width:105px}
.touch-mode .health-heading strong{font-size:23px}
.touch-mode .health-heading .hud-label{font-size:7px}
.touch-mode .ammo-panel{right:max(16px,env(safe-area-inset-right));top:65px;bottom:auto;transform:none;text-align:right}
.touch-mode .weapon-name{font-size:8px}
.touch-mode .ammo-count strong{font-size:30px}
.touch-mode .ammo-count{line-height:1.1}
.touch-mode .ammo-footer{margin-top:4px;font-size:8px}
.touch-mode .grenade-count{font-size:8px}
.touch-mode .hud-bottomline{left:155px;right:205px;bottom:10px;font-size:8px}
.touch-mode .killfeed{top:130px;right:15px;font-size:9px}
.touch-mode .toast{top:29%;max-width:65%;font-size:10px;padding:8px 12px}
.touch-mode .interaction{top:61%;max-width:45%;font-size:11px}
.touch-mode .screen-grain{opacity:.035}
.sensitivity-setting{max-width:240px;margin-top:12px}
.sensitivity-setting input{accent-color:#83e9b7;width:100%;height:28px}
.touch-mode .intro{overflow:auto;overscroll-behavior:contain}
.touch-mode .intro-content{padding-bottom:100px}
.touch-mode .desktop-instructions{display:none}
.touch-mode .mobile-instructions{display:block}
@media(max-width:600px) and (orientation:portrait){
 .touch-mode .hud-brand{font-size:8px}.touch-mode .hud-topline .performance{display:none}
 .touch-mode .objective-panel{top:150px;width:65vw}
 .touch-mode .health-panel{top:67px}.touch-mode .ammo-panel{top:65px}
 .look-pad{inset:220px 0 0 39%}.look-pad span{top:30%;left:10%;font-size:8px}
 .touch-mode .touch-actions{grid-template-columns:repeat(4,44px);gap:7px;right:12px}
 .touch-mode .touch-actions .touch-fire{width:146px}
 .touch-mode .joystick{left:18px;width:102px;height:102px}.touch-mode .joystick-knob{left:27px;top:27px}
 .touch-mode .touch-run{left:24px;bottom:147px}
 .touch-mode .hud-bottomline{left:130px;right:177px;bottom:5px}
 .touch-mode .toast{top:36%;max-width:85%}.touch-mode .killfeed{top:200px}
 .touch-mode .intro-footer{position:relative;bottom:auto;flex-wrap:wrap;padding:14px;gap:10px}
 .touch-mode .intro-content{padding-bottom:20px}
}
@media(max-height:500px) and (orientation:landscape){
 .touch-mode .intro{display:block;padding:18px 28px}
 .touch-mode .brand{position:static;margin:0 0 8px;font-size:10px}
 .touch-mode .intro-content{margin:0;max-width:none;width:100%;padding:0 0 60px;display:grid;grid-template-columns:1fr 1fr;column-gap:35px;align-content:start}
 .touch-mode .intro-content>.eyebrow,.touch-mode .operation-label,.touch-mode .intro-copy,.touch-mode .mission-tag,.touch-mode .character-strip,.touch-mode .dossier-button{display:none}
 .touch-mode .game-wordmark{grid-column:1;grid-row:1;margin:0 0 10px}
 .touch-mode .game-wordmark img{width:100%;max-width:370px}
 .touch-mode #startBtn{grid-column:1;grid-row:2;min-height:51px;margin:4px 0}
 .touch-mode #statusText{grid-column:1;grid-row:3;margin:4px 0;font-size:9px}
 .touch-mode .settings-row{grid-column:2;grid-row:1/4;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0}
 .touch-mode .setting{min-width:0;font-size:8px}.touch-mode .setting select{min-height:38px;font-size:11px;width:100%;padding:5px}
 .touch-mode .camera-setting{grid-column:2;grid-row:4;max-width:none;margin:8px 0}
 .touch-mode .sensitivity-setting{grid-column:1;grid-row:4;max-width:none;margin:8px 0}
 .touch-mode .mobile-instructions{grid-column:1/3;font-size:11px;max-width:none;margin:6px 0}
 .touch-mode .scene-caption{display:none}.touch-mode .intro-footer{position:absolute;bottom:12px;left:28px;right:28px;width:auto;min-width:0;padding:0;font-size:8px}
 .touch-mode .utility-button{font-size:8px;padding:9px}
 .touch-mode .dialog{max-height:95dvh;overflow:auto;padding:20px}.touch-mode .dialog h2{font-size:32px}
}
@media(prefers-reduced-motion:reduce){.touch-controls *{animation:none!important;transition:none!important}}
