/* Compact HUD. Ownership, not the equipment catalogue, determines visible slots. */
/* Outside the gameplay HUD so menus, pause screens and H-hide retain audio access. */
#floating-sound{position:fixed;z-index:100;right:max(18px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;min-width:138px;margin:0;padding:12px 15px;border:1px solid #b7a27488;border-radius:5px;background:#030708f2;box-shadow:0 5px 24px #0009;color:#e4d0aa;font:600 10px/1.4 var(--sans,system-ui);letter-spacing:.07em;cursor:pointer;touch-action:manipulation}
#floating-sound:before{content:'';width:19px;height:19px;background:currentColor;mask:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 9h4l5-4v14l-5-4H3z' fill='black'/%3E%3Cpath d='M16 8q4 4 0 8m3-11q7 7 0 14' fill='none' stroke='black' stroke-width='1.5'/%3E%3C/svg%3E")}
#floating-sound[aria-pressed=false]{color:#b8c1bd;border-color:#74868166}
#floating-sound[aria-pressed=false]:after{content:'';position:absolute;left:15px;top:21px;width:21px;height:2px;background:#e5a28c;transform:rotate(-45deg);box-shadow:0 0 0 1px #030708}
#floating-sound:hover{background:#141912;border-color:#e3c18c}#floating-sound:focus-visible{outline:2px solid #f0d29b;outline-offset:4px}#floating-sound:disabled{opacity:.55;cursor:wait}
#main-menu .site-footer{padding-bottom:85px}
@media(max-width:520px){#game-shell[data-state] .bottom-hud{bottom:78px}#floating-sound{right:max(12px,env(safe-area-inset-right));min-width:128px;font-size:9px}#game-shell .intro-overlay .version{bottom:72px}}
#interaction-prompt{position:absolute;left:50%;top:43%;transform:translate(-50%,-50%);max-width:min(460px,85vw);padding:7px 10px;background:#071014df;border:1px solid #d2b57566;border-radius:4px;color:var(--amber);font:10px/1.5 var(--mono);pointer-events:none;text-align:center;z-index:2}#interaction-prompt kbd{font:11px var(--mono);margin-right:5px;color:#fff}
#game-shell #compass{position:absolute;left:50%;top:12px;transform:translateX(-50%);width:min(560px,calc(100vw - 420px));height:66px;pointer-events:none;color:#e4e9df;z-index:2;text-shadow:0 1px 4px #000}
.compass-window{height:42px;position:relative;overflow:hidden;background:linear-gradient(90deg,transparent,#071014b0 20%,#071014b0 80%,transparent);border-bottom:1px solid #d2b57550;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
#compass-track{position:absolute;left:50%;top:0;width:0;height:42px;will-change:transform}
.compass-tick{position:absolute;bottom:0;height:5px;width:1px;background:#bac9bf70}
.compass-tick.major{height:9px;background:#c8d5cb99}.compass-tick.cardinal{height:12px;background:#e7dac0}
.compass-tick b{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);font:600 13px var(--mono);letter-spacing:.04em;white-space:nowrap;color:#edf0e5}.compass-tick b.north{color:var(--amber)}
.compass-center{position:absolute;left:50%;top:37px;transform:translateX(-50%);width:8px;height:7px;background:var(--amber);clip-path:polygon(50% 0,100% 100%,0 100%)}
.compass-reading{display:flex;justify-content:center;align-items:baseline;gap:8px;padding-top:7px;font-variant-numeric:tabular-nums}
#compass-direction{font:600 11px var(--mono);color:var(--amber)}
#game-shell .bottom-hud{bottom:16px;left:50%;right:auto;transform:translateX(-50%);width:auto}
#game-shell .bottom-hud .inventory-block{width:min(480px,calc(100vw - 32px));margin:0;padding:9px 10px;background:#071014ce;border:1px solid #80958938;border-radius:6px}
.vitals-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start;margin-bottom:6px}
#game-shell .inventory-block #player-health-panel,#game-shell .inventory-block #sprint-panel{position:static;display:grid;grid-template-columns:auto 1fr;gap:4px 6px;align-items:center;width:auto;min-width:0;padding:0;margin:0;background:none;border:0;box-shadow:none}
#game-shell .inventory-block #player-health-panel{order:-1}
#game-shell #player-health-panel>span,#game-shell #sprint-panel>span{font:9px var(--mono);letter-spacing:.04em}
#game-shell #player-health-value,#game-shell #sprint-status{font:9px var(--mono);float:none;text-align:right;white-space:normal}
#game-shell #player-health,#game-shell #sprint-energy{grid-column:1/-1;width:100%;height:4px;margin:0}
#game-shell .inventory{display:flex;flex-wrap:wrap;justify-content:center;gap:5px;margin:5px 0}
#game-shell .inventory .slot{display:grid;flex:0 0 46px;grid-template-columns:10px 1fr 14px;grid-template-rows:1fr;width:46px;height:42px;min-height:0;padding:5px 3px;background:#14201dc9;border-radius:3px}
#game-shell .inventory .slot[hidden]{display:none}
#game-shell .slot .item-symbol{grid-column:2;grid-row:1;font:22px/1 var(--sans)}
#game-shell .slot kbd{grid-column:1;grid-row:1;align-self:start;font:8px var(--mono);padding:0;border:0;color:#d1d9cc}
#game-shell .slot b{grid-column:3;grid-row:1;align-self:end;font:9px var(--mono);color:#e3dec9;text-align:right;z-index:1}
#game-shell .slot .item-name{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
#game-shell .slot.selected{border-color:#e0ca91;box-shadow:inset 0 -2px #e0ca91;background:#344135}
#game-shell .slot.cooling{border-color:#68a79770;background:#0f2624}
#game-shell .slot.cooling .item-symbol{opacity:.5}
#game-shell .held-label{font:10px var(--sans);margin:6px 0 4px;line-height:1.3}
#game-shell .use-label{font-size:8px}#game-shell .use-label kbd{font-size:8px;padding:0 3px}
#game-shell #held-hint{min-height:0;margin:3px 0;color:#9de4ce;font:9px/1.3 var(--mono);text-align:center}
#game-shell #weapon-durability-panel{border:0;background:none;padding:2px 0;margin:4px 0;font:8px var(--mono)}
#game-shell #weapon-durability{height:3px;margin-top:4px}
#game-shell #flashlight-panel{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px;margin-top:7px;padding:6px 0 0;border:0;border-top:1px solid #8b9f8530;background:none}
#game-shell #flashlight-toggle{font-size:9px;padding:0;gap:7px;width:auto}
#game-shell #flashlight-toggle kbd{font-size:8px}#game-shell #flashlight-battery{height:3px;margin:0}
#game-shell .bottom-hud #toast{top:auto;bottom:calc(100% + 10px);font:10px/1.4 var(--sans);padding:8px 12px;max-width:min(500px,85vw)}
#game-shell[data-state=playing] .topbar{top:17px;left:20px;right:20px}
#game-shell[data-state=playing] .brand{font-size:10px;letter-spacing:.12em}
#game-shell[data-state=playing] .brand small{display:none}
#game-shell[data-state=playing] .topbar .quiet-button{font-size:8px;padding:6px 8px}
#game-shell[data-state=playing] .clock{top:68px;left:50%}
#game-shell[data-state=playing] #timer{font-size:25px}
#game-shell[data-state=playing] .clock .label{font-size:8px}
#game-shell #objective-panel{top:68px;right:20px;width:185px}
#game-shell #objective-panel h3{font-size:11px;margin-bottom:5px;padding-bottom:5px}
#game-shell #match-objective{font-size:11px;line-height:1.5}
#game-shell #objective-detail,#game-shell #reinforcement-status{font-size:9px;margin-top:5px;line-height:1.4}
#game-shell #effects{top:187px;right:20px;width:185px;gap:5px}
#game-shell .effect{font-size:8px;padding:7px}
#game-shell #map-panel{left:auto;right:20px;bottom:104px;width:130px;padding:5px;border-width:1px}
#game-shell #minimap{width:118px;height:118px}
#game-shell #expand-map-button{bottom:-25px;font-size:8px;padding:4px 7px}
#game-shell .score-panel{left:20px;top:auto;bottom:22px}
#game-shell .score-panel>span{font-size:7px;max-width:150px;margin-bottom:5px}
#game-shell .score-panel b{font-size:25px}#game-shell .score-panel small{font-size:8px;margin-top:5px}
#game-shell #xp-panel{left:20px;bottom:115px;width:145px;padding:6px 8px;font-size:8px;border-color:#d2b57538}
#game-shell #hud-progress{height:3px;margin-top:5px}
#game-shell #level-up-message{font-size:9px}
#game-shell[data-state=playing] #standings{left:20px;top:65px;width:180px;padding:3px 6px;max-height:25vh}
#game-shell .standing-row{font-size:9px;padding:5px}
#game-shell #starting-lobby-label{top:144px;font-size:8px;padding:5px 8px;max-width:38vw}
@media(max-width:950px){#game-shell .bottom-hud .inventory-block{width:360px}#game-shell .inventory .slot{flex-basis:33px;width:33px;height:38px;grid-template-columns:6px 1fr 9px;gap:0}#game-shell .slot .item-symbol{font-size:18px}#game-shell .slot b{font-size:8px}#game-shell #xp-panel{width:125px}}
@media(max-width:700px){#game-shell .bottom-hud .inventory-block{width:min(340px,calc(100vw - 24px));padding:8px}#game-shell .inventory{gap:4px}#game-shell .inventory .slot{flex-basis:31px;width:31px}#game-shell #sprint-status{font-size:8px}.vitals-row{gap:10px}#game-shell #map-panel{right:12px;bottom:210px;width:106px}#game-shell #minimap{width:94px;height:94px}#game-shell .score-panel{left:12px;bottom:208px}#game-shell #xp-panel{left:12px;bottom:290px;width:120px}#game-shell #objective-panel{right:12px;top:65px;width:150px}#game-shell #effects{top:178px;right:12px;width:150px}#game-shell[data-state=playing] #standings{left:12px;top:65px;width:145px;max-height:20vh}#game-shell #starting-lobby-label{top:142px;left:12px;transform:none;max-width:140px}#game-shell[data-state=playing] .brand{font-size:9px}#game-shell[data-state=playing] .brand-mark{font-size:17px}#game-shell[data-state=playing] .topbar{left:12px;right:12px}#game-shell[data-state=playing] .top-actions{gap:5px}#game-shell[data-state=playing] .topbar .quiet-button{font-size:7px;padding:5px}#game-shell[data-state=playing] .clock{left:49%}#game-shell[data-state=playing] #timer{font-size:22px}}
@media(max-width:380px){#game-shell .bottom-hud .inventory-block{width:calc(100vw - 24px)}#game-shell .inventory .slot{flex-basis:30px;width:30px}.vitals-row{gap:8px}#game-shell #sprint-status{font-size:7px}}
@media(max-width:1050px){#game-shell #compass{top:48px;width:min(560px,calc(100vw - 48px))}#game-shell[data-state=playing] .clock{top:104px;left:50%}#game-shell #objective-panel,#game-shell[data-state=playing] #standings{top:202px}#game-shell #effects{top:316px}#game-shell #starting-lobby-label{top:172px;left:50%;transform:translateX(-50%);max-width:80vw}#game-shell #prize-run-status{top:172px;max-width:90vw;white-space:normal;text-align:center}}
