body.in-voyage{overflow:hidden}.in-voyage>.masthead{display:none}#missionView{position:fixed;inset:0;width:100vw;height:100dvh;overflow:hidden;isolation:isolate;background:#030711}.voyage-world{position:absolute;inset:0;z-index:-3;overflow:hidden;background:#030711}.voyage-world canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.voyage-backdrop{position:absolute;inset:-3%;background:radial-gradient(ellipse at 65% 35%,#0a1830,#020712 70%);transition:transform 4s ease,filter 2s;background-color:#020712}.cinematic-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#030b16ad,transparent 28%,transparent 72%,#030b16c4);pointer-events:none}.scene-transition{position:absolute;inset:0;pointer-events:none;background:#02050b;opacity:0;z-index:20;display:grid;place-items:center;transition:opacity .45s}.scene-transition span{font:10px var(--mono);letter-spacing:5px;color:#a4c4d8}.scene-transition.active{opacity:.88}#missionView .mission-top{max-width:none;position:absolute;left:0;right:0;top:0;height:64px;z-index:5;padding:0 32px;border-bottom:1px solid #c7e2fa16;background:linear-gradient(#040a1680,transparent);backdrop-filter:blur(4px);gap:20px}#missionView .mission-top .text-button{color:#c5d8e7}.voyage-runtime{font:9px var(--mono);color:#8fc4d1;margin-left:auto}#missionSave{margin-left:8px!important}#missionView .mission-heading{position:absolute;left:32px;top:86px;right:32px;padding:0;max-width:none;z-index:4;align-items:flex-start;pointer-events:none}#missionView .mission-heading h1{font-size:30px;letter-spacing:3px;text-shadow:0 3px 20px #0009}#missionView .mission-heading .eyebrow{color:#d6be93;letter-spacing:3px;font-size:9px}#missionView .mission-meta{pointer-events:auto;font-size:10px}#missionView .mission-meta>.button{background:#08132266;backdrop-filter:blur(20px)}.voyage-controls{position:absolute;top:165px;left:32px;right:32px;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:15px}.voyage-controls>div:last-child{display:flex;align-items:center;gap:20px}.camera-buttons{display:flex;gap:6px;background:#08142366;border:1px solid #c9e4fb22;padding:5px;border-radius:7px;backdrop-filter:blur(15px)}.camera-buttons button{font-size:10px;color:#9eb4c8;padding:9px 12px;border-radius:4px;letter-spacing:.5px}.camera-buttons button.active{background:#d8c49d20;color:#e6d0a9}.camera-buttons button:hover{color:#e4f1fa}.voyage-controls .text-button{color:#bdd0dc;font-size:10px}#missionView .stage-tabs{position:absolute;bottom:24px;left:32px;right:32px;max-width:none;padding:0;z-index:9;display:flex;gap:8px;justify-content:center;pointer-events:auto}#missionView .stage-tab{min-width:155px;max-width:220px;flex:1;background:#081422ad;backdrop-filter:blur(22px);border-color:#bad7ef23;border-radius:6px;box-shadow:0 8px 30px #0002;padding:13px 17px}#missionView .stage-tab.active{background:#bfaa841f;border-color:#d6bd9366;box-shadow:inset 0 1px 0 #e4cfac33}#missionView .stage-tab small{color:#87a3bb}#missionView .workspace{position:absolute;inset:0;padding:0;display:block;pointer-events:none;max-width:none}#missionView .world-panel{background:none;border:none;overflow:visible;position:absolute;inset:0;pointer-events:none}#missionView .world-header{position:absolute;left:32px;bottom:105px;height:auto;border:0;padding:0;color:#a0bed1;font-size:10px;z-index:3;pointer-events:auto}#missionView .world-header .icon-button{margin-left:15px}#missionView .world-viewport{position:absolute;inset:0;height:auto;background:none;pointer-events:none}#missionCanvas{display:none}#missionView .world-hud{top:235px;left:34px;right:auto;display:flex;flex-direction:column;gap:10px;font-size:9px;letter-spacing:2px;color:#8aa8bc}#missionView .world-hud>span:last-child{color:#a7dce0}#missionView .hotspots{inset:240px 8% 180px;pointer-events:none;z-index:3}#missionView .hotspot{font-size:12px;pointer-events:auto;gap:12px;white-space:nowrap;background:#08152455;border:1px solid #e0cb9c33;border-radius:40px;padding:7px 14px 7px 7px;backdrop-filter:blur(10px)}#missionView .hotspot:before{width:32px;height:32px;box-shadow:0 0 0 7px #d7bd930a,0 0 30px #d7bd9315;font-size:20px}#missionView .hotspot:nth-child(1){left:12%;top:32%}#missionView .hotspot:nth-child(2){left:53%;top:16%}#missionView .hotspot:nth-child(3){left:64%;top:66%}#missionView .scene-message{left:32px;bottom:145px;right:auto;max-width:380px;background:#0814216b;border-color:#8fb7d129;font-size:11px;backdrop-filter:blur(12px);z-index:4}#missionView .telemetry{position:absolute;right:32px;bottom:109px;width:360px;gap:20px;padding:15px 18px;background:#07111d77;backdrop-filter:blur(16px);border:1px solid #cde6f51c;border-radius:6px;z-index:4}#missionView .telemetry small{font-size:7px;color:#7996ac}#missionView .telemetry b{font-size:12px}#missionView .mission-brief,#missionView .objectives,#missionView .extension-card{display:none}#missionView .insight{position:absolute;left:50%;bottom:160px;transform:translateX(-50%);margin:0;width:min(650px,80vw);max-height:200px;overflow:auto;background:#0b192bd9;backdrop-filter:blur(24px);border-color:#9ccee04d;color:#cee1eb;padding:23px;font-size:13px;pointer-events:auto;z-index:7;box-shadow:0 20px 80px #0007}#missionView .task-panel{position:absolute;width:min(650px,47vw);right:32px;top:225px;bottom:108px;max-height:none;overflow:auto;pointer-events:auto;background:linear-gradient(135deg,#223b526e,#0b1528bb);border:1px solid #d2e9ff3b;border-radius:14px;backdrop-filter:blur(30px) saturate(125%);-webkit-backdrop-filter:blur(30px) saturate(125%);box-shadow:0 25px 90px #0005,inset 0 1px 0 #ffffff24;z-index:8;transition:opacity .35s,transform .4s;scrollbar-width:thin;scrollbar-color:#7398af4d transparent}.terminal-dragbar{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;background:#091728a8;backdrop-filter:blur(25px);padding:13px 19px;border-bottom:1px solid #cbe4f822;font:9px var(--mono);color:#91aec5;letter-spacing:1px}.terminal-dragbar button{font-family:inherit;font-size:9px}#missionView .task-panel-heading{padding:17px 22px;background:transparent;border-bottom-color:#cbe4f816}#missionView .task-panel-heading h2{font-size:18px}#missionView .task-panel-heading .eyebrow{color:#a6cbde}#missionView .task-body{padding:20px 24px}#missionView .task-body h3{font-size:17px}#missionView .task-body p{font-size:12px;color:#adc2d1}#missionView .explore-symbol{font-size:40px;margin:0 0 15px}#missionView #exploreChecklist{margin:18px 0}#missionView .explore-item{padding:10px 0}#missionView .editor-toolbar{background:#06132365;color:#a9cede;border-color:#b4d6ed20}#missionView .editor-shell{height:250px;min-height:200px;background:#06111d91}#missionView .editor-shell pre{background:#1024384a;color:#7192ab}#missionView .editor-shell textarea{font:13px/24px var(--mono);color:#d4eafa;background:transparent}#missionView .editor-bottom{background:#0715227a;color:#82a2ba;border-color:#b4d6ed20}#missionView .console{background:#05101cd1;border-color:#b4d6ed29}#missionView .console pre{font-size:12px;min-height:60px;max-height:180px}#missionView .stdin-panel{background:#07142336;border-color:#b4d6ed20}#missionView .run-actions{padding:14px 17px}#missionView .button.primary{background:linear-gradient(135deg,#e5cfaa,#bea77d);box-shadow:0 4px 25px #e2c79710;color:#15202c}#missionView .button.ghost{background:#14304a4d;border-color:#bddbec30}#missionView .task-footer{background:#06101a33;border-color:#cbe4f821}#missionView .quiz-option{background:#09203965;border-color:#aacfe32d}#missionView .quiz-option.selected{border-color:#d7bd93;background:#d7bd9315}.exercise-tabs{display:flex;gap:6px;padding:14px 18px 8px;flex-wrap:wrap}.exercise-tab{font-size:10px;border:1px solid #b2cfdf30;border-radius:5px;padding:8px 10px;color:#a6c2d4;background:#0d223848}.exercise-tab.active{background:#a6c9dc18;color:#e1f3ff;border-color:#a6c9dc77}.exercise-tab.done{color:#9bddcf}.exercise-brief{padding:5px 21px 15px;font-size:12px;line-height:1.9;color:#bbd0de;margin:0;white-space:pre-line}.narration-panel{position:absolute;left:50%;bottom:145px;transform:translateX(-50%);width:min(840px,75vw);padding:26px 32px 0;z-index:7;background:linear-gradient(120deg,#16344b69,#081422d9);backdrop-filter:blur(24px);border:1px solid #d4e9fa38;border-radius:13px;box-shadow:0 25px 100px #0006;overflow:hidden;transition:opacity .4s,transform .4s}.narration-speaker{display:flex;align-items:center;gap:15px;margin-bottom:22px}.narration-speaker>span:first-child{font:35px serif;color:#d9c39c}.narration-speaker b{font:12px var(--mono);letter-spacing:3px;color:#e2cba4}.narration-speaker small{font-size:9px;color:#86a5b9;display:block;margin-top:7px;letter-spacing:1px}#narrationPage{margin-left:auto;font:9px var(--mono);color:#7699b1;letter-spacing:2px}.narration-text{min-height:110px;max-height:36vh;overflow:auto;font-size:18px;line-height:2.1;letter-spacing:1px;color:#dfebf2;white-space:pre-wrap;text-shadow:0 1px 5px #0004}.narration-text:after{content:'▍';color:var(--gold);font-size:.8em;animation:cursorBlink .9s steps(1) infinite}.narration-controls{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 0}.narration-controls label{font-size:10px;color:#9db6c9;display:flex;gap:8px;align-items:center}.narration-controls input{width:13px;accent-color:var(--gold)}.narration-controls .text-button{color:#adc9db;font-size:11px}.narration-progress{height:2px;background:#adcbe214;margin:0 -32px}.narration-progress i{display:block;height:100%;background:#d5bd9588;width:0}.demo-panel{position:absolute;right:9%;top:25%;bottom:17%;width:min(620px,46vw);z-index:8;background:linear-gradient(135deg,#28496382,#07172aeb);backdrop-filter:blur(28px);border:1px solid #c4e0f740;border-radius:14px;padding:28px;overflow:auto;box-shadow:0 25px 100px #0006}.demo-panel .eyebrow{font-size:8px;color:#acd0e4}.demo-panel h2{font-size:22px;color:#dbeef8}.demo-panel pre{font:12px/1.95 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;background:#08172794;border:1px solid #adcce328;padding:18px;border-radius:6px;max-height:35vh;overflow:auto;color:#bbdfea}.demo-panel>p:not(.eyebrow){font-size:11px;color:#9fbacc}.demo-panel>div{display:flex;gap:10px;flex-wrap:wrap}.demo-panel .button{font-size:11px;padding:11px 15px}.runtime-panel{position:absolute;top:222px;left:32px;width:275px;padding:14px 17px;z-index:12;border:1px solid #9ac7df38;background:#081b2bcc;backdrop-filter:blur(16px);border-radius:7px;color:#b4cfdd;font-size:11px;line-height:1.7}.runtime-panel progress{width:100%;height:4px;accent-color:#cbb690;margin:10px 0;display:block}.runtime-panel small{font-size:9px;color:#8aafc2;display:block}.runtime-panel.error{border-color:#db9b8270}.runtime-panel.error>span{color:#e6baa5}#missionView[data-mode=narration] .task-panel,#missionView[data-mode=demo] .task-panel,#missionView[data-mode=action] .task-panel,#missionView[data-mode=scenery] .task-panel{opacity:0;transform:translateX(50px);pointer-events:none}#missionView[data-mode=narration] .hotspots,#missionView[data-mode=demo] .hotspots,#missionView[data-mode=action] .hotspots{display:none}#missionView:not([data-mode=narration]) .narration-panel{opacity:0;transform:translate(-50%,25px);pointer-events:none}#missionView[data-mode=practice] .telemetry{right:auto;left:32px}#missionView[data-mode=practice] .scene-message{max-width:33vw}#missionView[data-mode=practice] .hotspots{right:53%;left:0}#missionView[data-mode=practice] .hotspot:nth-child(1){left:8%;top:25%}#missionView[data-mode=practice] .hotspot:nth-child(2){left:40%;top:45%}#missionView[data-mode=practice] .hotspot:nth-child(3){left:18%;top:68%}.is-warp:after{content:'';position:absolute;inset:0;background:repeating-conic-gradient(from 10deg at 50% 50%,transparent 0deg 4deg,#bdedff35 4.1deg 4.3deg,transparent 4.4deg 9deg);animation:warpFlash 1.8s ease-in-out;pointer-events:none}.fallback-ship{position:absolute;left:45%;top:44%;width:180px;height:110px;transform:rotate(-12deg);transition:transform 2.5s ease;filter:drop-shadow(0 0 15px #80cbff77)}.fallback-ring{position:absolute;inset:0;border:10px double #a8b8c4;border-radius:50%;transform:rotateX(50deg);box-shadow:0 0 0 2px #162635,inset 0 0 0 3px #344d62}.fallback-hull{position:absolute;left:37%;top:40%;width:80px;height:22px;background:linear-gradient(#c3d3df,#425a70);clip-path:polygon(0 12%,80% 0,100% 50%,70% 100%,0 85%)}.fallback-thrust{position:absolute;left:15%;top:45%;width:50px;height:9px;background:linear-gradient(90deg,transparent,#b2e7ff);filter:blur(3px)}@keyframes cursorBlink{50%{opacity:0}}@keyframes warpFlash{0%,100%{opacity:0;transform:scale(.8)}45%{opacity:1;transform:scale(1.8)}}@media(min-width:1800px){#missionView .task-panel{width:720px;top:245px;right:55px}.narration-panel{bottom:180px}.narration-text{font-size:21px}.voyage-controls{top:180px}#missionView .editor-shell{height:340px}}@media(max-width:1000px){#missionView .mission-top{padding:0 20px;gap:12px}#missionView .mission-heading{left:22px;right:22px;top:84px}#missionView .mission-heading h1{font-size:24px}.voyage-controls{left:22px;right:22px;top:153px}.camera-buttons button{font-size:9px;padding:8px}.voyage-controls>div:last-child{gap:12px}#missionView .task-panel{width:55vw;right:20px;top:213px;bottom:94px}#missionView .stage-tabs{bottom:18px;left:20px;right:20px;gap:5px}#missionView .stage-tab{min-width:0;padding:12px 10px;gap:8px}#missionView .stage-tab small{display:none}#missionView .telemetry{width:310px;bottom:100px;right:20px;gap:10px}#missionView .world-header{left:22px;bottom:102px}#missionView[data-mode=practice] .world-header{bottom:172px}#missionView .scene-message{left:22px;bottom:145px;max-width:32vw;font-size:10px}#missionView[data-mode=practice] .scene-message{bottom:205px;max-width:34vw}#missionView .world-hud{left:24px;top:210px;font-size:8px}.narration-panel{width:85vw;bottom:155px;padding:22px 26px 0}.narration-text{font-size:17px}.runtime-panel{left:22px;top:210px;width:230px}.voyage-runtime{font-size:8px}.demo-panel{right:5%;width:58vw;top:24%;bottom:17%}}@media(max-width:680px){#missionView .mission-top{height:51px;padding:0 14px;gap:8px}#missionView .mission-top>button{font-size:9px}.voyage-runtime{font-size:7px;max-width:115px;line-height:1.6}#missionSave{font-size:8px;max-width:82px}#missionView .mission-heading{left:17px;right:17px;top:70px}#missionView .mission-heading h1{font-size:20px;letter-spacing:1px}#missionView .mission-heading .eyebrow{font-size:7px;letter-spacing:1px}#missionView .mission-meta>.button{font-size:9px;padding:7px}.voyage-controls{top:128px;left:13px;right:13px;display:block}.camera-buttons{justify-content:space-between;gap:1px;padding:4px}.camera-buttons button{font-size:9px;padding:7px 8px}.voyage-controls>div:last-child{justify-content:flex-end;margin-top:8px;gap:15px}.voyage-controls .button{font-size:9px;min-height:29px;padding:7px 10px}#missionView .world-hud{top:205px;left:17px;font-size:7px;letter-spacing:1px}#missionView .stage-tabs{bottom:12px;left:10px;right:10px;gap:4px}#missionView .stage-tab{padding:10px 7px;min-width:0;gap:4px;font-size:9px;border-radius:5px;display:block;text-align:center}#missionView .stage-tab>span:first-child{display:block;margin-bottom:5px;font-size:10px}#missionView .task-panel{top:205px;left:10px;right:10px;bottom:86px;width:auto;border-radius:11px;background:linear-gradient(135deg,#25425a9c,#061428ed)}#missionView .terminal-dragbar{font-size:8px;padding:12px 15px}#missionView .task-panel-heading{padding:15px 18px}#missionView .task-panel-heading h2{font-size:17px}#missionView .editor-shell{height:240px;min-height:180px}#missionView .editor-shell textarea{font-size:12px}#missionView .task-panel .button{font-size:10px}#missionView .scene-message,#missionView .telemetry,#missionView .world-header{display:none}#missionView[data-mode=action] .scene-message,#missionView[data-mode=scenery] .scene-message{display:flex;left:18px;bottom:105px;max-width:none;right:18px;font-size:12px}#missionView[data-mode=action] .telemetry,#missionView[data-mode=scenery] .telemetry{display:grid;left:18px;bottom:172px;width:calc(100% - 36px)}#missionView .hotspots{inset:240px 15px 165px}#missionView[data-mode=practice] .hotspots{display:none}#missionView .hotspot{font-size:10px}#missionView .hotspot:nth-child(1){left:5%;top:20%}#missionView .hotspot:nth-child(2){left:40%;top:43%}#missionView .hotspot:nth-child(3){left:20%;top:70%}.narration-panel{width:calc(100% - 26px);bottom:110px;padding:20px 20px 0;border-radius:11px}.narration-speaker{margin-bottom:15px}.narration-text{font-size:15px;line-height:2;max-height:40vh;min-height:135px;letter-spacing:.3px}.narration-controls{gap:9px;padding:16px 0;flex-wrap:wrap}.narration-controls .text-button{font-size:10px}.narration-controls label{font-size:9px}.narration-controls .button{font-size:9px;padding:9px 10px}.narration-progress{margin:0 -20px}.demo-panel{left:12px;right:12px;width:auto;top:211px;bottom:90px;padding:21px}.demo-panel h2{font-size:19px}.demo-panel pre{max-height:28vh;font-size:11px}.runtime-panel{left:15px;top:auto;bottom:93px;width:calc(100% - 30px);padding:11px 15px;z-index:14}.runtime-panel progress{margin:6px 0}.runtime-panel small{font-size:8px}#missionView .insight{left:13px;right:13px;transform:none;width:auto;bottom:105px;max-height:33vh;padding:18px;font-size:12px;z-index:15}.exercise-tabs{padding:13px 16px 7px}.exercise-brief{padding:5px 18px 14px;font-size:11px}.exercise-tab{font-size:9px}.voyage-world[data-fallback=true] .fallback-ship{left:28%;top:38%;transform:scale(.8)}}@media(prefers-reduced-motion:reduce){.narration-text:after{animation:none}.voyage-backdrop,.scene-transition,#missionView .task-panel{transition:none}.is-warp:after{display:none}}

#missionView .insight{z-index:16}#missionView .insight .insight-close{display:block;margin-left:auto;color:#c8dfed;font-size:11px;padding:0 0 10px 15px}#missionView .insight p{margin:0;line-height:1.9}
@media(max-width:680px){#missionView[data-mode=practice] .runtime-panel{bottom:95px;padding:10px 14px;background:#081522f0}#missionView .mission-top #retryRuntime{font-size:8px;max-width:62px;line-height:1.5}}
.hero{position:relative;isolation:isolate}.hero-world{position:absolute;inset:0;z-index:0;overflow:hidden;background:#020712}.hero-world canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.hero canvas{display:none}.hero:after{z-index:1}.hero-content,.hero-coordinate,.hero-orbit-label,.hero-footer,.hero-grid{z-index:2}
