/* Build 005: compact bulletin, Gilbert cabinet badge and interactive terminal. */
.cabinet-logo{width:100%;height:100%;object-fit:contain;padding:2px}
.monitor .terminal{display:flex;flex-direction:column;min-height:0;overflow:auto;scrollbar-width:thin;scrollbar-color:#ad914b #11140c}
.monitor .announcement h3,.monitor #typed-announcement h3{max-width:26ch;font-size:1em;line-height:1.35;margin-bottom:.6em}
.monitor .announcement p,.monitor #typed-announcement p{margin-bottom:.6em;font-size:.95em;line-height:1.4}
.command-line{margin-top:auto;padding-top:.4em;font:inherit;color:var(--phosphor)}
.command-line label{display:block;font:inherit;letter-spacing:.5px}
.input-row{display:flex;gap:.4em;align-items:center;min-height:1.5em}
.command-line input{min-width:0;width:100%;padding:0;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;caret-color:var(--phosphor);outline:none}
.command-line input:focus-visible{box-shadow:0 1px var(--phosphor)}
.command-line button,.movie-controls button,.movie-controls a{border:1px solid #bda35a;background:#10140b;color:var(--phosphor);font:inherit;padding:1px 5px;text-decoration:none;cursor:pointer}
.command-line button:focus-visible,.movie-controls :focus-visible{outline:2px solid var(--phosphor);outline-offset:2px}
#command-reply{font:inherit;font-size:.85em;display:block;white-space:pre-wrap;overflow-wrap:anywhere;margin-top:.4em}
#command-reply[hidden]{display:none}
.monitor .terminal.typing .command-line{visibility:hidden}
.movie-panel{position:absolute;inset:6% 5% 7%;z-index:1;display:flex;flex-direction:column;gap:8px;color:var(--phosphor);filter:none}
.movie-panel[hidden]{display:none}
.monitor[data-mode=cinema] .crt-phosphor{visibility:hidden}
.movie-viewport{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden}
#movie-frame{margin:0;padding:0;font-family:'Courier New',Courier,monospace;line-height:1.15;letter-spacing:0;white-space:pre;color:inherit;text-shadow:0 0 3px #d5b65455;font-weight:normal}
.movie-controls{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:5px;font:clamp(6px,.62vw,9px)/1.4 var(--mono);flex-shrink:0}
.movie-controls>span{flex-basis:100%;text-align:center;letter-spacing:.4px}
.monitor[data-power=off] .movie-panel{visibility:hidden}
@media(max-width:760px){.movie-controls{font-size:8px}.monitor .monitor-model{font-size:4px}.monitor .terminal-bar{margin-bottom:5px}.monitor .announcement p,.monitor #typed-announcement p{font-size:.9em}}
@media(prefers-reduced-motion:reduce){.command-line input{caret-animation:manual}}
/* Build 006: keep instrumentation and prompt outside the clipped scroll region. */
.monitor .terminal{overflow:hidden;isolation:isolate;clip-path:inset(0);flex-shrink:1}
.monitor .terminal-bar{flex:none;margin-bottom:6px}
.terminal-content{min-height:0;flex:1;overflow:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ad914b #11140c;clip-path:inset(0);isolation:isolate;padding-right:3px}
.screen-topline,.screen-build{position:relative;z-index:1;flex-shrink:0}
.command-line{margin:0;flex-shrink:0;padding-top:5px;cursor:text}
.input-row{display:block;position:relative;min-height:1.4em}
.terminal-input-shell{position:relative;overflow:hidden;width:100%;height:1.4em}
.command-line input{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:none!important;box-shadow:none!important;background:transparent;color:transparent;caret-color:transparent;text-shadow:none;font:inherit;line-height:1.4;letter-spacing:0}
.command-display{position:absolute;left:0;top:0;white-space:pre;font:inherit;line-height:1.4;pointer-events:none;letter-spacing:0}
.block-caret{display:inline-block;width:1ch;height:1.05em;vertical-align:-.12em;background:var(--phosphor);color:#100d07;animation:blink 1s step-end infinite;text-shadow:none}
.monitor[data-power=off] .block-caret{animation:none;visibility:hidden}
.monitor .terminal.typing .command-line{visibility:visible}
@media(prefers-reduced-motion:reduce){.block-caret{animation:none}}

/* Build 007: reveal READY. after the bulletin, then light the command cursor. */
.monitor .terminal.typing .command-line{visibility:hidden}
.monitor .terminal.typing.prompt-typing .command-line{visibility:visible}
.monitor .terminal.typing .command-line .input-row{visibility:hidden}

/* Build 008: a clear transcript while the simulated Telnet session connects. */
.monitor:is([data-mode=connecting],[data-mode=connection-failed]) .announcement,
.monitor:is([data-mode=connecting],[data-mode=connection-failed]) #typed-announcement{display:none}
.monitor[data-mode=connecting] .command-line{visibility:hidden}
.monitor:is([data-mode=connecting],[data-mode=connection-failed]) #command-reply{font-size:1em;line-height:1.5;margin-top:0}
