body[data-game-ui],body[data-game-ui] *,body.testing,body.testing *{
 -webkit-user-select:none;
 user-select:none;
 -webkit-touch-callout:none;
}
body[data-game-ui] :is(input,textarea,[contenteditable]:not([contenteditable="false"])),
body[data-game-ui] [contenteditable]:not([contenteditable="false"]) *,
body.testing :is(input,textarea,[contenteditable]:not([contenteditable="false"])),
body.testing [contenteditable]:not([contenteditable="false"]) *{
 -webkit-user-select:text;
 user-select:text;
 -webkit-touch-callout:default;
}

/* Shared interaction HUD for the game and editor play mode. */
.interaction-hint{
 position:fixed;right:max(24px,env(safe-area-inset-right));bottom:max(28px,env(safe-area-inset-bottom));
 max-width:calc(100vw - 48px);padding:10px 13px;
 border:0;border-left:1px solid #b4cbd54d;
 background:linear-gradient(90deg,#080e15b8,#080e1559);
 color:#b7c6cf;font:11px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;
 letter-spacing:.045em;text-align:right;text-shadow:0 1px 3px #000;
 pointer-events:none;z-index:20;
}
@media(max-width:600px){.interaction-hint{right:max(14px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));max-width:calc(100vw - 28px);font-size:10px;}}
/* Four physical slots; the selected item rests above the circular guide. */
.inventory-hud{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:max(74px,env(safe-area-inset-bottom));width:152px;pointer-events:none;z-index:17;color:#c2d9df;font:10px/1.4 monospace;filter:drop-shadow(0 1px 3px #000b);user-select:none;}
.inventory-hud[hidden]{display:none;}
.inventory-ring{position:relative;width:124px;height:124px;margin:12px auto 7px;border:1px solid #a0d5de25;border-radius:50%;background:radial-gradient(circle,transparent 48%,#8bc0ca08 49%,transparent 69%);}
.inventory-ring:after{content:'';position:absolute;inset:19px;border:1px dashed #a0d5de15;border-radius:50%;}
.inventory-slot{--slot-angle:0deg;position:absolute;left:50%;top:50%;width:35px;height:35px;margin:-18px;border-radius:50%;border:1px solid #bbdce52e;background:#06111640;display:grid;place-items:center;transform:rotate(var(--slot-angle)) translateY(-57px) rotate(calc(-1 * var(--slot-angle)));transition:transform .25s ease,border-color .2s,background .2s;color:#8da2aa65;}
.inventory-slot svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linejoin:round;stroke-linecap:round;}
.inventory-slot.occupied{color:#a8c5d0bb;}
.inventory-slot.selected{color:#e3f5f8;border-color:#c0ecf694;background:#20363f9c;box-shadow:0 0 13px #b6e9f015;}
.inventory-number{position:absolute;right:-3px;top:-5px;font-size:8px;color:#adc5ceaa;}
.inventory-label{text-align:center;letter-spacing:.12em;text-transform:uppercase;font-size:9px;color:#c3dbe1c7;}
.interaction-hint{background:none!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;padding:0!important;bottom:max(22px,env(safe-area-inset-bottom));right:max(24px,env(safe-area-inset-right));text-shadow:0 1px 4px #000;max-width:min(350px,calc(100vw - 48px));}
@media(max-width:600px){.inventory-hud{right:16px;transform:scale(.85);transform-origin:right bottom;bottom:78px}.interaction-hint{right:16px;font-size:10px;max-width:calc(100vw - 32px)}}
@media(prefers-reduced-motion:reduce){.inventory-slot{transition:none;}}

#voice-line-progress{display:block;margin:1.6rem 0 0;text-align:center;font-size:.7rem;letter-spacing:.15em;color:rgba(205,222,230,.6);font-variant-numeric:tabular-nums;}
#voice-line-progress[hidden]{display:none;}

/* Curved helmet projection: no additional scene render pass. */
.inventory-hud{opacity:.74;transform:perspective(850px) rotateY(-9deg) rotateX(5deg);transform-origin:right bottom;color:#aacbc7}
.inventory-ring{border-color:#a0d5de22;background:radial-gradient(ellipse at center,#08202b08 30%,transparent 65%);border-radius:48% 52% 47% 53%}
.inventory-ring:after{border-color:#a0d5de12}.inventory-slot{background:transparent!important;box-shadow:none!important;border-radius:50%}.inventory-slot.selected{color:#d5eee8}
.inventory-label{opacity:.66;font-size:8px;letter-spacing:1px}
@media(max-width:600px){.inventory-hud{right:24px;transform:perspective(850px) rotateY(-9deg) rotateX(5deg) scale(.8)}}
