/* Budget space for the drawing, not fixed padding; overflow is a last resort. */
.os{padding:10px clamp(8px,1.5vw,24px) 4px;max-width:none}
.mast{gap:8px;margin-bottom:8px}.mast h1{margin:4px 0;font-size:clamp(21px,2.2vw,29px)}
.mast .eyebrow{font-size:9px}.mast p{font-size:10px}.about-pilot{display:none}
.console:not(:fullscreen):not(.screen-takeover){height:var(--research-stage-height,70dvh);min-height:260px;display:flex;flex-direction:column;overflow:hidden}
.console .transport{padding:5px 9px;gap:5px}.console .transport button,.console .transport select{padding:5px 8px;font-size:12px;min-height:32px}
.console .bezel{padding:4px 8px;gap:5px}.console .bezel>div{gap:4px;align-items:center}.console .bezel button,.console .bezel select{padding:4px 7px;min-height:28px}
.console .play-settings{padding:3px 8px;gap:8px;font-size:10px}
.console>:not(.operating-system):not(.narrative-window){flex-shrink:0}
.console .narrative-window{flex:0 0 25%;height:auto!important;min-height:72px;max-height:32%;padding:10px clamp(12px,2vw,28px);overflow:auto;scrollbar-width:thin}
.console .passage{font-size:clamp(20px,2.5vw,32px);line-height:1.35;max-width:80ch}
.console .operating-system{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}
.console .work-area{flex:1;min-height:0;overflow:hidden}.console .instrument{min-height:0;padding:4px 8px;overflow:hidden}
.console .instrument-title{min-height:25px;gap:6px}.console .instrument-title h2{font-size:10px}
.console .visual-panes{flex:1;min-height:0!important;overflow:hidden;align-items:stretch}
.console .visual-panes>div,.console .visual-panes>section{min-height:0!important;min-width:0}
.console .visual-panes canvas{height:100%!important;min-height:0!important;max-height:100%!important;object-fit:contain;aspect-ratio:auto}
.console:is(:fullscreen,.screen-takeover){overflow:hidden}.console:is(:fullscreen,.screen-takeover) .work-area,.console:is(:fullscreen,.screen-takeover) .instrument{min-height:0}
.console[data-presentation="reading"] .narrative-window,.console.visuals-hidden .narrative-window{flex:1;max-height:none}
.chapter-ticker{padding:4px 0;gap:5px;scrollbar-width:none}.chapter-ticker::-webkit-scrollbar{display:none}.chapter-ticker button{padding:4px 7px;font-size:10px}
#end-note{padding:5px 10px;font-size:11px}dialog{padding:16px;max-height:85dvh}dialog h2{font-size:23px;margin:4px 0 10px}
.missile-paused-board{position:absolute;z-index:9;top:50%;left:50%;transform:translate(-50%,-50%);width:min(300px,85%);max-height:80%;overflow:auto;background:var(--os-bg);color:var(--os-text);border:1px solid var(--os-ink);padding:12px 18px;box-shadow:0 8px 24px #0006}
.missile-paused-board h3{font-size:12px;margin:0 0 8px}.missile-paused-board ol{font-size:14px;line-height:1.7;margin:8px 0}.missile-paused-board button{font-size:11px;padding:4px 8px}
#defense-takeover{position:absolute;z-index:8;top:32px;left:50%;transform:translateX(-50%);padding:5px 10px;min-width:110px;font:700 10px/1 ui-monospace,monospace;letter-spacing:.1em;background:var(--os-bg);color:var(--os-ink);border:1px solid var(--os-line)}
#defense-takeover[aria-pressed=true]{border-color:var(--os-ink)}canvas.manual-defense{cursor:crosshair;touch-action:none}
@media(max-width:850px){.mast{margin-bottom:6px}.os{padding-top:6px}.mast h1{font-size:23px}.console .passage{font-size:clamp(18px,4.6vw,25px)}.console .visual-panes.with-detail{overflow:auto}}
@media(max-height:440px),(max-width:340px){.console:not(:fullscreen):not(.screen-takeover){overflow:auto}.console:not(:fullscreen):not(.screen-takeover) .operating-system{flex:0 0 180px}.console .transport{gap:3px;padding:3px 6px}.console .narrative-window{padding:5px 10px;min-height:60px}.console .passage{font-size:18px}.console .bezel{padding:3px 6px}}
