/* Wspólna powierzchnia interfejsu: bezpieczny obszar, przewijanie sekcji i czytelny tekst. */
.raid-terminal-overlay,.sh-modal-wrap{box-sizing:border-box;padding:calc(10px + env(safe-area-inset-top)) calc(10px + env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) calc(10px + env(safe-area-inset-left))}
.raid-terminal-overlay .raid-terminal,.sh-modal-wrap .sh-modal{box-sizing:border-box;min-width:0;min-height:0;max-width:100%;max-height:100%;}
.raid-terminal .terminal-head,.raid-terminal .terminal-tabs,.raid-terminal .terminal-foot,.sh-modal .sh-modal-head{flex:0 0 auto}
.raid-terminal .terminal-pane,.sh-modal .sh-modal-body{min-height:0;min-width:0}
.terminal-map-wrap{display:flex;align-items:center;justify-content:center}
#terminalMap{width:100%;height:100%;max-width:100%;object-fit:contain}
.terminal-map-controls{min-width:0}
.terminal-map-controls small{line-height:1.35}
.tm-map-view,.tm-messages,.wrist-raid-messages,.terminal-health-layout{min-width:0;min-height:0}
#settingsUI .st-panel{max-width:calc(100vw - env(safe-area-inset-left) - env(safe-area-inset-right) - 12px);max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 12px)}

/* PC: najważniejsze parametry zostają, pomocnicze informacje zanikają po bezczynności. */
@media (pointer:fine) and (hover:hover){
  #touch,#mobileActions,#btnMobilePause,#btnMobileMute{display:none}
  #desktopActions{display:none}
  #hint{display:flex;align-items:center;gap:10px;bottom:calc(12px + env(safe-area-inset-bottom));border-color:#64818b;background:#0b1d2bdc;color:#e6d18f;font:700 11px Consolas,"Courier New",monospace;letter-spacing:.08em;white-space:nowrap;transition:opacity .35s,transform .35s}
  #hint::before{content:"✋";font-size:14px;letter-spacing:0}
  #hint small{font-size:10px;font-weight:400;color:#a7c2c8}
  #stats,#hudRight{transition:opacity .4s,transform .4s}
  #stats .stats-meta,#stats .stat-bar-box,#grenadeInfo,#raidInfo{transition:opacity .4s}
  #mobileVitals{display:block;margin-bottom:8px}
  .mv-readout{display:flex;justify-content:space-between;gap:14px;color:#e3dad0;font-weight:700;font-size:12px}
  .mv-readout b{color:#f0ce8c}
  .mv-healthbar{height:5px;margin-top:5px;background:#252528;border-radius:4px;overflow:hidden}
  .mv-healthbar i{display:block;height:100%;background:#d86859}
  .mv-healthbar i.critical{background:#f04c40}
  body.hud-idle #hint{opacity:0;transform:translate(-50%,12px);pointer-events:none}
  body.hud-idle #stats .stats-meta,body.hud-idle #stats .stat-bar-box{opacity:.18}
  body.hud-idle #grenadeInfo,body.hud-idle #raidInfo{opacity:.32}
  body.hud-danger #stats{border-color:#d26e59}
}

.action-wheel-overlay{position:fixed;inset:0;z-index:85;display:grid;place-items:center;background:#02080ac7;backdrop-filter:blur(3px);pointer-events:auto}
.action-wheel{position:relative;width:min(300px,80vmin);height:min(300px,80vmin);border:2px solid #799ba7;border-radius:50%;background:radial-gradient(circle,#152d3be8 0 24%,#0a1928f0 25% 100%);box-shadow:0 0 0 8px #11293888,0 25px 80px #000}
.action-wheel-title{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);max-width:90px;color:#f0d58f;font:700 11px Consolas,"Courier New",monospace;text-align:center;overflow-wrap:anywhere}
.action-wheel-item{position:absolute;left:50%;top:50%;width:clamp(72px,23vmin,108px);min-height:42px;margin:0;transform:translate(-50%,-50%) rotate(var(--angle)) translateY(max(-112px,-29vmin)) rotate(calc(0deg - var(--angle)));padding:5px;border:1px solid #759ca8;background:#133041;color:#e5e7df;font:700 10px Consolas,"Courier New",monospace;text-align:center;overflow-wrap:anywhere}
.action-wheel-item:hover,.action-wheel-item:focus-visible{border-color:#e6ca85;background:#38516a;color:#fff2cf}

@media (orientation:landscape) and (max-height:640px){
  .raid-terminal-overlay.wrist-open,.sh-modal-wrap.wrist-open,.sh-modal-wrap.armory-open{padding:calc(4px + env(safe-area-inset-top)) calc(5px + env(safe-area-inset-right)) calc(4px + env(safe-area-inset-bottom)) calc(5px + env(safe-area-inset-left))}
  .raid-terminal-overlay.wrist-open .raid-terminal,.sh-modal-wrap.wrist-open .sh-modal,.sh-modal-wrap.armory-open .sh-modal{width:100%;height:100%;max-height:100%;border-width:5px;border-radius:10px;zoom:1}
  #shelterUI .sh-modal-wrap.wrist-open .sh-modal,#shelterUI .sh-modal-wrap.armory-open .sh-modal,#shelterUI .sh-modal-body{zoom:1}
  #settingsUI .st-panel,#settingsUI .st-body{zoom:1}
  .sh-modal-wrap.wrist-open::before,.raid-terminal-overlay.wrist-open::before{opacity:.38}
  .sh-modal-wrap.wrist-open .sh-modal-head,.raid-terminal-overlay.wrist-open .terminal-head,.sh-modal-wrap.armory-open .sh-modal-head{min-height:34px;padding:3px 8px}
  .sh-modal-wrap.wrist-open .sh-x,.raid-terminal-overlay.wrist-open #raidTerminalClose{min-width:28px;min-height:28px;padding:2px 7px}
  .raid-terminal-overlay.wrist-open .terminal-head h2{font-size:clamp(11px,1.8vw,15px)}
  .raid-terminal-overlay.wrist-open .terminal-tabs,.sh-modal-wrap.wrist-open .tm-tabs{gap:4px;padding:3px 6px;scrollbar-width:thin}
  .raid-terminal-overlay.wrist-open .terminal-tabs button,.sh-modal-wrap.wrist-open .tm-tabs button{font-size:clamp(10px,1.5vw,12px);min-height:30px;padding:4px 8px}
  .raid-terminal-overlay.wrist-open .terminal-pane{padding:5px 7px;gap:5px}
  .raid-terminal-overlay.wrist-open .terminal-foot{padding:3px 8px}
  .raid-terminal-overlay.wrist-open .terminal-foot button{padding:5px 8px;font-size:10px}
  #terminalMapPane{display:grid;grid-template-columns:minmax(0,1fr) minmax(155px,25%);grid-template-rows:minmax(0,1fr);align-items:stretch}
  #terminalMapPane[hidden]{display:none}
  .terminal-map-controls{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;flex-wrap:nowrap;gap:6px;overflow:auto;font-size:11px}
  .terminal-map-controls label{display:flex;flex-wrap:wrap;gap:3px}
  .terminal-map-controls select{max-width:100%;min-height:30px}
  .terminal-map-controls button{white-space:normal;padding:5px;font-size:10px}
  .terminal-map-controls small{flex-basis:auto;font-size:10px;color:#c8d9d8}
  .sh-modal-wrap.wrist-open .sh-modal-body{padding:4px;overflow:auto}
  .sh-modal-wrap.wrist-open .tm{padding:4px}
  .tm-statusline{padding:1px 3px 3px;font-size:10px}
  .tm-map{min-height:0;flex:1;height:auto}
  .tm-message-list,.wrist-raid-messages #terminalMessagesList{overflow:auto}
  .wrist-raid-messages,.tm-messages{min-height:0}
  .terminal-health-layout{grid-template-columns:minmax(100px,25%) minmax(0,1fr);gap:6px}
  .body-outline svg{height:calc(100dvh - 160px);min-height:100px}
  .sh-modal-wrap.armory-open .sh-modal-body{overflow:hidden;padding:5px}
  .armory-open .ar-grid{display:grid;grid-template-columns:minmax(190px,38%) minmax(0,1fr);flex:1;min-height:0;gap:6px}
  .armory-open .ar-char,.armory-open .ar-stash{overflow:auto;padding:6px;min-height:0}
  .armory-open .ar-stash{overflow:hidden}
  .armory-open .ar-doll{grid-template-columns:minmax(48px,1fr) minmax(65px,80px) minmax(48px,1fr);gap:3px}
  .armory-open .ar-slot{min-height:55px;padding:2px}
  .armory-open .ar-tabs{gap:3px;margin-bottom:4px}
  .armory-open .ar-tabs button{min-height:30px;padding:3px 2px;font-size:10px}
  .armory-open .ar-items{overflow:auto;flex:1;min-height:0;max-height:none}
  .armory-open .ar-detail{max-height:32%;overflow:auto}
  .ar-grenade-row{grid-template-columns:32px minmax(0,1fr) auto;padding:5px;gap:5px}
  .ar-grenade-row .ic{width:30px;height:30px}
  .ar-grenade-amount button{width:30px;height:30px}
}
@media (orientation:landscape) and (max-height:640px) and (max-width:700px){
  .armory-open .ar-grid{grid-template-columns:1fr;overflow:auto}
  .sh-modal-wrap.armory-open .sh-modal-body{overflow:auto}
  .armory-open .ar-char,.armory-open .ar-stash{overflow:visible}
  .armory-open .ar-items{overflow:visible}
}
