/* Independent thumbs: left moves; the right stick aims and fires beyond its deadzone. */
.touch-stick { user-select:none; -webkit-user-select:none; -webkit-touch-callout:none; }
.touch-stick i { position:absolute; left:50%; top:50%; width:38px; height:38px; border-radius:50%; background:#5ff2e655; border:1px solid #b6fffa; pointer-events:none; transform:translate(-50%,-50%) translate(var(--stick-x,0px),var(--stick-y,0px)); }
.touch-stick b { position:relative; z-index:1; pointer-events:none; font-size:12px; text-shadow:0 1px 3px #000; }
.touch-stick.held { box-shadow:0 0 18px #5ff2e655; }
.armory-upgrade { border:1px solid #42607a; border-radius:10px; padding:12px; margin:10px 0; }
.armory-upgrade h4 { margin:0 0 6px; }.armory-upgrade p { font-size:13px; }
.armory-upgrade ul { list-style:none; padding:0; }.armory-upgrade li { display:flex; flex-wrap:wrap; justify-content:space-between; gap:6px; margin:8px 0; }
.armory-upgrade li[data-met="false"] strong { color:#ffd23f; }.armory-upgrade li[data-met="true"] strong { color:#9bffd3; }
.armory-upgrade button { min-height:44px; margin:6px 4px 0 0; }
#aim-stick { display:none; position:fixed; right:max(16px,env(safe-area-inset-right)); bottom:calc(56px + env(safe-area-inset-bottom)); width:104px; height:104px; border:2px solid #ffd23f; border-radius:50%; background:#102039cc; color:white; z-index:12; touch-action:none; align-items:center; justify-content:center; }
#aim-stick i { background:#ffd23f55; border-color:#fff0b6; }
@media(pointer:coarse) { body[data-wave-mode="run"] #aim-stick { display:flex; } #move-stick { left:max(16px,env(safe-area-inset-left)); bottom:calc(56px + env(safe-area-inset-bottom)); } }
@media (max-width:600px), (pointer:coarse) and (max-height:600px) {
  #hud { top:5px; left:6px; right:6px; padding:6px; font-size:11px; line-height:1.3; }
  #hud .wave-details { display:none; }
  #hud button { min-height:36px; }
  #game-nav { top:60px; left:8px; right:8px; gap:4px; font-size:11px; }
  #game-nav a, #game-nav button { min-height:36px; box-sizing:border-box; display:inline-flex; align-items:center; }
  #game-nav > a { display:none; }
  #panel { top:calc(var(--station-nav-bottom,136px) + 12px); max-height:calc(100dvh - var(--station-nav-bottom,136px) - 44px); }
  #game-nav ~ #dock { top:auto; bottom:56px; max-height:50dvh; }
  #game-nav ~ #dock.closed { left:auto; right:8px; width:auto; height:auto; }
  #dock.closed header b, #dock.closed header > span { display:none; }
  #move-stick { left:max(16px,env(safe-area-inset-left)); bottom:calc(56px + env(safe-area-inset-bottom)); }
  .action-pad { bottom:168px; }
  #where { bottom:4px; max-height:30px; overflow:auto; font-size:10px; line-height:12px; touch-action:pan-y; }
  #hpbar { top:64px; }
  body[data-wave-mode="run"] #game-nav { display:none; }
  #perks { bottom:auto; top:104px; }
  #combo { top:138px; right:8px; }
}
@media (pointer:coarse) and (max-height:600px) and (orientation:landscape) {
  .action-pad { left:140px; right:140px; bottom:calc(56px + env(safe-area-inset-bottom)); grid-template-rows:32px 38px 44px; }
  .pad-btn { min-height:38px; }
  .pad-main { min-height:44px; }
}

.station-map{text-align:center}.station-map>div{display:flex;gap:8px;margin-top:8px}.station-map button{min-height:70px;line-height:1.5;flex:1}#game-nav{max-width:calc(100vw - 20px);flex-wrap:wrap}

#station-interact{display:none;position:fixed;left:140px;bottom:75px;z-index:12;min-height:48px;max-width:110px}body[data-wave-mode=run] #station-interact{display:none}@media(pointer:coarse){body[data-wave-mode=station] #station-interact{display:block}}
