body.film-portrait .vhs-footer{bottom:calc((100vh - var(--film-h))/2 + var(--film-h)*.10)}
body.film-portrait #start-screen,
body.film-recording-portrait #start-screen{box-sizing:border-box;padding:0}
#start-screen[data-room-centered="true"] #press-start{position:absolute;left:var(--start-room-x);top:var(--start-room-y);translate:-50% -50%}

.cockpit .led-digits{opacity:var(--led-flutter,1)}
.cockpit .instrument:before{display:none}
.cockpit .instrument:after{content:'';position:absolute;inset:0;pointer-events:none;opacity:var(--led-texture,0);background:repeating-linear-gradient(0deg,#000 0px,#000 1px,transparent 1px,transparent 3px);mix-blend-mode:multiply}
.meter-halo{position:absolute;transform:translate(-50%,-50%);background:var(--led);border-radius:50%;pointer-events:none;z-index:1}

/* The director is available above the entry screen, before audio/game activation. */
body.awaiting-entry>#director-panel{visibility:visible!important;pointer-events:auto!important}
#entry-director{appearance:none;background:transparent;border:1px solid #69515e;border-radius:3px;color:#cbb6c1;padding:10px 16px;font:12px Arial,sans-serif;cursor:pointer;max-width:90vw}
#entry-director:hover{background:#241a22;color:#ffe0ed}
#entry-director:focus-visible{outline:2px solid #ffd3e5;outline-offset:4px}

#director-cursor{width:25px;height:32px;filter:drop-shadow(0 2px 2px #000c) drop-shadow(0 0 5px #ff80b9) drop-shadow(0 0 12px #ff80b960)}
/* A single, small acknowledgement at the tip; no persistent halo or bounce. */
#director-cursor svg{transform-origin:2.35px 1.6px}
#director-cursor.click svg{animation:cursor-press .32s ease-out both}
#director-cursor.click path{animation:cursor-click-color .32s ease-out both}
#director-cursor:after{content:'';position:absolute;left:2.35px;top:1.6px;width:18px;height:18px;margin:-9px;border:1px solid #f5d9b8;border-radius:50%;opacity:0;pointer-events:none}
#director-cursor.click:after{animation:director-click-ring .34s ease-out both}
@keyframes cursor-press{0%,100%{transform:scale(1)}22%{transform:scale(.92)}}
@keyframes cursor-click-color{0%,100%{fill:#fff5fc}18%,42%{fill:#f5d2ac}}
@keyframes director-click-ring{0%{opacity:0;transform:scale(.4)}18%{opacity:.62}100%{opacity:0;transform:scale(1.1)}}
@media(prefers-reduced-motion:reduce){#director-cursor.click svg,#director-cursor.click:after{animation:none}#director-cursor.click path{animation-duration:.18s}}

body #level-caption,body.film-portrait #level-caption{left:0;right:0;width:auto;bottom:var(--caption-bottom,200px);z-index:10005;font:italic 26px Georgia,serif;color:#ffe5ef;text-shadow:0 0 12px #ff88bb80,0 2px 4px #000;pointer-events:none}

body #level-caption,body.film-portrait #level-caption{font:500 12px/1.3 Arial,sans-serif;letter-spacing:.16em;color:#f3d9e4;text-shadow:0 1px 5px #0009}
body #level-caption.show{animation:penthouse-faster 1.6s both}
@keyframes penthouse-faster{0%{opacity:0;transform:translateY(3px)}25%,65%{opacity:.8;transform:translateY(0)}100%{opacity:0;transform:translateY(-2px)}}

body.awaiting-entry>#extra-props{visibility:visible!important;pointer-events:auto!important;z-index:10025;top:24px;max-height:calc(100vh - 48px)}
body.awaiting-entry>#extra-props:not([open]){display:none}
#entry-settings{appearance:none;background:transparent;border:1px solid #69515e;border-radius:3px;color:#cbb6c1;padding:10px 16px;font:12px Arial;cursor:pointer}

/* Wider, readable settings without squeezing sliders beside their labels. */
body #extra-props.settings-panel{box-sizing:border-box;width:min(360px,calc(100vw - 24px));padding:14px 16px;max-height:calc(100dvh - 110px)}
body #extra-props.settings-panel label{flex-wrap:wrap;font-size:11px;line-height:1.5}
body #extra-props.settings-panel label:has(input[type=range]){display:flex;justify-content:space-between}
body #extra-props.settings-panel input[type=range]{display:block;flex:0 0 100%;box-sizing:border-box;width:100%;margin:6px 0 9px}
body #extra-props.settings-panel output{margin-left:auto;font-variant-numeric:tabular-nums}
body #extra-props.settings-panel select{font-size:11px;min-height:30px}
body #extra-props.settings-panel .settings-group>summary{line-height:1.5}
@media(max-width:650px){body #extra-props.settings-panel{right:10px;width:min(330px,calc(100vw - 20px));padding:12px;max-height:calc(100dvh - 130px)}}

.panel-technical{position:absolute;inset:0;pointer-events:none;color:#a8a59a;font:500 clamp(4px,.62vw,7px)/1 Arial,sans-serif;letter-spacing:.13em;opacity:.7}
.panel-tech-drive{position:absolute;left:41%;top:9%}
.panel-tech-audio{position:absolute;left:62%;top:67%}
.panel-tech-lines{position:absolute;right:5%;top:7%;width:7%;height:5%;background:repeating-linear-gradient(to bottom,#f12418 0,#f12418 1px,transparent 1px,transparent 4px);clip-path:polygon(0 0,90% 0,100% 100%,10% 100%);opacity:.85}

/* Only the director's rendered pointer is visible during automated playback. */
body.director-cursor-active,body.director-cursor-active *{cursor:none!important}

/* Clear navigation hierarchy above neutral control labels. */
body #extra-props.settings-panel>summary,
body #extra-props.settings-panel .settings-group>summary{
 color:#fff080;font-weight:700;font-size:13px;letter-spacing:.025em;
 padding:5px 0;line-height:1.5;
}
body #extra-props.settings-panel .settings-group>summary::marker{color:#ff766d}
body #extra-props.settings-panel legend,
body #extra-props.settings-panel .settings-subheading,
body #extra-props.settings-panel h3,
body #extra-props.settings-panel h4{
 color:#ffaaa0;font-weight:700;font-size:12px;line-height:1.5;
}
body #extra-props.settings-panel .settings-subheading{margin:18px 0 7px}
