#phaseNav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-bottom:1px solid var(--line);margin-top:12px;gap:5px}#phaseNav button{background:#10191c;color:var(--muted);padding:16px 12px;display:flex;align-items:center;gap:10px;text-align:left;border-bottom:2px solid transparent;font-size:14px}#phaseNav button b{font:22px Georgia;color:var(--gold)}#phaseNav button.active{background:#1b2824;color:var(--lime);border-color:var(--lime)}#phaseNav button:disabled{opacity:.45}#chapterNav[hidden]{display:none}.extension-hero{height:360px;position:relative;isolation:isolate;overflow:hidden;margin-bottom:24px}.extension-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}.extension-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#050c0ff0,#050c0faa 48%,#050c0f22);z-index:-1}.extension-hero>div{padding:40px 5%;max-width:830px}.extension-hero h1{font:44px/1.12 Georgia;margin:14px 0}.extension-hero p{font-size:17px;line-height:1.65;max-width:650px;color:#d5dfda}.extension-hero p.eyebrow{font-size:12px;color:var(--gold)}.puzzle-columns{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1.5fr);gap:22px;align-items:start}.clue-panel,.puzzle-work,.recorder{background:#111d21;border:1px solid #344a49;padding:24px;min-width:0}.clue-panel{border-top:3px solid var(--gold)}.clue-panel h2,.puzzle-work h2,.recorder h2{font:26px/1.2 Georgia;margin:0 0 18px;color:#eee8d8}.clue-panel p,.puzzle-work p,.recorder p{color:#bfcac9;font-size:16px;line-height:1.7}.clue-panel ol{padding-left:23px;margin:10px 0}.clue-panel li{font-size:16px;line-height:1.7;padding:8px 0 8px 5px;border-bottom:1px solid #2d3d3c}.clue-panel b{color:#f1e2b9}.timeline-slots{display:grid;gap:8px;margin-bottom:24px}.timeline-slots button{display:flex;align-items:center;gap:14px;background:#172b29;border:1px dashed #536e63;text-align:left;padding:10px 16px;min-height:50px;font-size:16px}.timeline-slots button span{font:22px Georgia;color:var(--gold)}.timeline-slots button:disabled{background:transparent;opacity:.55}.timeline-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0 24px}.timeline-cards button{padding:0;background:#1a2b2e;text-align:left;border:1px solid #48594f}.timeline-cards img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}.timeline-cards b{padding:12px 10px;display:block;font-size:14px;line-height:1.4;font-weight:500}.puzzle-work form,.recorder form{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.puzzle-work form label,.recorder form label{flex-basis:100%;font-size:16px;color:var(--gold)}.puzzle-work input:not([type=checkbox]),.recorder input:not([type=checkbox]){background:#081114;border:1px solid #6e8279;color:var(--text);padding:13px 16px;min-width:120px;max-width:240px;font:20px monospace;letter-spacing:3px}.extension-feedback{color:var(--gold);font-size:16px;min-height:32px;margin:20px 0 0}.extension-bottom{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:14px;gap:20px;margin-bottom:30px}.ledger{display:flex;flex-wrap:wrap;gap:12px;font-size:15px;padding-top:10px}.ledger span{border:1px solid #56645c;padding:6px 10px}.document-rule{margin-bottom:22px}.permit-grid,.suspect-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:24px}.permit{background:#e5e0cf;color:#1d2927;border:3px solid transparent;text-align:left;padding:22px 16px;position:relative;box-shadow:3px 5px 0 #ffffff0b}.permit .eyebrow{font-size:10px;color:#656447}.permit h2{font:30px Georgia;margin:20px 0;border-bottom:1px solid #8b8e7a;padding-bottom:10px}.permit.selected,.suspect-file.selected{border-color:var(--lime);box-shadow:0 0 0 2px #657b3f}.permit dl{font-size:14px;line-height:1.5;margin:0}.permit dt{color:#626655;margin-top:10px}.permit dd{font-weight:700;margin:0}.permit-select{font-size:13px;margin-top:20px;display:block;border-top:1px solid #929986;padding-top:12px}.reason-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0 24px}.reason-grid label{display:flex;gap:12px;align-items:flex-start;border:1px solid #3e5350;padding:15px;font-size:16px;cursor:pointer}.reason-grid input{width:19px;height:19px;accent-color:#c3da91;flex:none;margin:3px 0}.stage-reward{border:1px solid #657b58;border-left:5px solid var(--lime);padding:40px;background:#182622;max-width:960px;margin:auto}.stage-reward h2{font:34px Georgia}.stage-reward p{font-size:19px;line-height:1.8;color:#d1ddd7}.route-map{width:100%;height:auto;background:#0a141b;margin-bottom:18px;border:1px solid #3f5255;display:block}.route-map line{stroke:#547375;stroke-width:4}.route-map line.used{stroke:var(--lime);stroke-width:6}.route-map rect{fill:#111f24}.route-map text{fill:#e7e6cf;text-anchor:middle}.route-map .edge-cost{font:20px monospace;fill:var(--gold)}.route-map circle{fill:#20383d;stroke:#648485;stroke-width:2}.route-map circle.visited{fill:#567041;stroke:var(--lime)}.route-map .node-letter{font:bold 18px Arial}.route-map .node-name{font:18px Arial;paint-order:stroke;stroke:#0a141b;stroke-width:5px}.route-controls{display:flex;flex-wrap:wrap;gap:8px}.route-controls button{font-size:14px}.route-readout{padding:20px 0;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;font-size:16px}.route-readout span{color:var(--gold)}.clue-panel+.puzzle-work{margin-top:22px}.signal-lamp{width:110px;height:110px;border-radius:50%;border:2px solid #73958f;background:#162b31;box-shadow:inset 0 0 30px #0008;margin:30px auto}.signal-lamp.lit{background:#e5f4c5;box-shadow:0 0 42px #c2e68a99;border-color:#efffd5}.recorder{text-align:center}.recorder .footer-actions{justify-content:center}.recorder form{text-align:left;border-top:1px solid #415352;padding-top:24px;margin-top:24px}.audio-options{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:22px}.audio-options label{display:flex;align-items:center;gap:9px;font-size:15px}.audio-options input{accent-color:var(--lime);width:18px;height:18px}.morse-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.morse-grid>div{border:1px solid #445754;padding:12px;display:flex;align-items:center;gap:16px}.morse-grid b{font:25px Georgia;color:var(--gold)}.morse-grid span{font:16px monospace;color:#e9edda;letter-spacing:1px;white-space:nowrap}.final-findings{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.final-findings p{border-left:2px solid var(--gold);padding-left:14px}.suspect-grid{margin-top:24px}.suspect-file{background:#152426;border:3px solid #304747;color:var(--text);padding:20px 16px;text-align:left}.suspect-file small{font:11px monospace;letter-spacing:1px;color:var(--gold)}.suspect-file h2{font:25px Georgia;margin:15px 0}.suspect-file p{font-size:15px;color:var(--muted)}.suspect-file dl{font-size:14px;margin:0 0 22px;line-height:1.6}.suspect-file dt{color:var(--muted);margin-top:10px}.suspect-file dd{margin:0;color:var(--text)}.suspect-file>b{font-size:14px;color:var(--lime)}
@media(max-width:1100px){#phaseNav{grid-template-columns:repeat(3,1fr)}.permit-grid,.suspect-grid{grid-template-columns:1fr 1fr}.puzzle-columns{grid-template-columns:1fr 1.3fr}.extension-hero h1{font-size:38px}.morse-grid{grid-template-columns:1fr}}
@media(max-width:760px){.puzzle-columns{grid-template-columns:1fr}.extension-hero{height:auto;min-height:355px}.extension-hero>div{padding:28px 24px}.extension-hero h1{font-size:34px}.extension-hero p{font-size:16px}.reason-grid{grid-template-columns:1fr}.morse-grid{grid-template-columns:1fr 1fr}.final-findings{grid-template-columns:1fr;gap:0}.route-map .node-name{font-size:20px}.stage-reward{padding:26px}.stage-reward p{font-size:17px}}
@media(max-width:480px){#phaseNav{gap:3px}#phaseNav button{padding:11px 7px;font-size:12px;gap:7px;align-items:flex-start}#phaseNav button b{font-size:18px}.clue-panel,.puzzle-work,.recorder{padding:18px}.permit-grid,.suspect-grid{gap:9px}.permit,.suspect-file{padding:17px 12px}.permit h2{font-size:25px}.suspect-file h2{font-size:22px}.permit .eyebrow{font-size:10px;letter-spacing:1px}.timeline-cards{grid-template-columns:1fr 1fr}.morse-grid>div{gap:10px;padding:8px}.morse-grid span{font-size:13px}.extension-bottom{flex-wrap:wrap;gap:0}.route-controls button{padding:10px;font-size:13px}.route-readout{font-size:14px}.stage-reward h2{font-size:28px}}
@media print{#printRoot table{width:100%;border-collapse:collapse;font-size:11pt}#printRoot th,#printRoot td{border:1px solid #999;padding:7px;text-align:left}.print-page{overflow-wrap:anywhere}}

.scene.finished .scene-title h1{font-size:clamp(38px,5vw,78px)}

@media print{#printRoot .route-map{width:100%;max-height:100mm;background:#fff;border:1px solid #777}#printRoot .route-map line{stroke:#555}#printRoot .route-map rect,#printRoot .route-map circle{fill:white;stroke:#777}#printRoot .route-map text{fill:#111;stroke:none}}
