@font-face{font-family:CorncobDOS;src:url('dos-font.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}
:root{color-scheme:dark;font:16px/1.5 monospace;background:#000;color:#aaa;--muted:#aaa;--line:#55ffff;--green:#ffff55;--blue:#0000aa}
*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}main{max-width:1040px;margin:auto;padding:16px 24px}header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 0 12px}h1{font:400 20px/1 CorncobDOS,monospace;letter-spacing:0;margin:0;color:#aaa}.eyebrow{font:400 12px/1.4 monospace;color:#777;margin:0 0 5px}#status{font:12px/1.4 monospace;color:#aaa;max-width:50ch;text-align:right;margin:0}#flight-shell{background:var(--blue);border:0;box-shadow:0 0 0 1px #222}#flight{background:#000;display:grid;place-items:center}canvas{display:block;width:100%;height:auto;aspect-ratio:4/3;image-rendering:pixelated;outline-offset:4px}
.menu{font:400 24px/1 CorncobDOS,monospace;color:#aaa;background:var(--blue);min-height:620px;padding:24px 36px;position:relative}.menu-heading{border-bottom:2px solid #55ffff;text-align:center;margin:0 0 28px;padding:8px 0 12px;color:#fff}h2{font:inherit;font-size:32px;line-height:1.2;margin:0}h3{font:inherit;color:#ffff55;margin:16px 0}p{margin:16px 0}.menu-content{min-width:0}.dos-instructions{text-align:center;color:#55ffff;line-height:1.2;margin:16px 0 24px}.dos-choices{display:flex;flex-direction:column;gap:0;max-width:52ch;margin:0 auto 24px}.dos-choice{display:block;width:100%;text-align:left;padding:3px 1ch;border:0;background:transparent;color:#aaa;border-radius:0;line-height:1.15;box-shadow:none}.dos-choice .hotkey{color:#fff}.dos-choice.selected,.dos-choice:hover,.dos-choice:focus-visible{background:#aaa;color:#000;outline:none}.dos-choice.selected .hotkey,.dos-choice:hover .hotkey,.dos-choice:focus-visible .hotkey{color:#a00}.dos-choice:focus-visible{box-shadow:inset 0 0 0 2px #fff}.dos-status{border-top:1px solid #5555ff;padding-top:12px;margin-top:18px}.dos-status p{margin:4px 0;line-height:1.2}.status-label,.pilot-line{color:#ffff55}.muted{color:#aaa;font-size:20px;line-height:1.25}.trainee-note{font-size:18px;margin:12px 0 0;max-width:80ch}.menu-message{color:#ffff55;line-height:1.3;margin:16px 0 0}.menu-message:empty{display:none}
button,input,select,textarea{font:inherit}button{font-family:CorncobDOS,monospace;font-size:24px;font-weight:400;color:#fff;background:#0000aa;border:1px solid #55ffff;padding:6px 12px;cursor:pointer;border-radius:0;line-height:1.2}button:hover{background:#00a;color:#ffff55}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #fff;outline-offset:2px}a{color:#55ffff}input{border:0;border-bottom:2px solid #55ffff;padding:6px 8px;background:#000;color:#fff;max-width:100%;border-radius:0}form{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}form input{min-width:0}.menu-actions,.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.menu-actions button{font-size:20px}.toolbar{padding:10px;margin:0;background:#000;border-top:1px solid #555}.toolbar button{font:14px/1.4 monospace;background:#111;color:#aaa;border-color:#555}.theater-panes{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:24px;align-items:start}.theater-detail{border:1px solid #55ffff;padding:0 16px 12px;min-height:300px}.theater-description{font:20px/1.2 CorncobDOS,monospace;white-space:pre-wrap;overflow-wrap:anywhere;color:#aaa}.theater-detail p{font-size:20px;line-height:1.2}.theater-panes .dos-choices{margin-top:16px}.roster-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #5555ff}table{border-collapse:collapse;width:100%;margin:12px 0 24px;line-height:1.25}td,th{border-bottom:1px solid #5555ff;padding:8px 12px;text-align:left;font-weight:400}th{width:35%;color:#ffff55}.briefing{font:20px/1.1 CorncobDOS,monospace;color:#fff;background:#a50;border:1px solid #ffff55;padding:16px;overflow-x:auto;white-space:pre;min-height:24em}.report-score{font-size:32px;color:#ffff55}.menu-content>label{display:block;margin-block:.8rem;line-height:1.2}.menu-content>label>input{width:5rem;margin-inline-start:.5rem}.menu-content>button{margin:0 8px 12px 0}.menu[data-screen=welcome] .menu-heading{margin:60px 0 40px}.menu[data-screen=welcome] h2{font-size:48px}.menu[data-screen=welcome] .dos-choices{margin-top:60px;max-width:44ch}
footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font:12px/1.4 monospace;color:#777;padding:14px 0}footer a{color:#aaa}#flight-shell:fullscreen{overflow:auto;border:0;display:flex;flex-direction:column;justify-content:center;background:#000}#flight-shell:fullscreen canvas{width:min(100vw,125.333333vh);height:auto;max-height:94vh;object-fit:fill}#flight-shell:fullscreen .menu{max-width:1040px;width:100%;margin:auto}#flight-shell:fullscreen .toolbar{justify-content:center}
.boss-screen{background:#000;color:#aaa;padding:0;white-space:pre;overflow:auto;font:20px/1 CorncobDOS,monospace;width:max-content;max-width:100%}.boss-cursor{box-shadow:inset 0 -2px #aaa}.boss-editor{display:block;width:100%;font:20px/1 CorncobDOS,monospace;color:#eee;background:#000;border:1px solid #aaa;padding:10px;margin-block:16px}.menu[data-boss]{background:#000}.menu[data-boss] .menu-heading{display:none}.menu:not([hidden])~#flight,.menu:not([hidden])~#flight-toolbar{display:none}
@media(max-width:800px){main{padding:10px}.menu{font-size:20px;padding:20px;min-height:560px}h2{font-size:28px}.dos-instructions{font-size:20px}.dos-choice{font-size:20px}.theater-panes{grid-template-columns:1fr}.theater-detail{min-height:0}.briefing{font-size:16px}.muted{font-size:18px}}
@media(max-width:480px){main{padding:8px 4px}header{padding:0 6px}h1{font-size:18px}.eyebrow{font-size:10px}#status{font-size:10px}.menu{padding:16px 12px;font-size:20px}.dos-choice{white-space:normal}.menu-heading{margin-bottom:18px}.dos-instructions{line-height:1.25}.menu[data-screen=welcome] h2{font-size:36px}td,th{padding:8px 4px}th{width:40%}footer{font-size:10px;padding:12px 6px}}
