@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800&family=Barlow:wght@400;500;600;700;800&display=swap');
:root{--ink:#102030;--panel:#142638;--line:#304459;--muted:#91a7b9;--white:#f1f5ef;--gold:#f3bf62;--green:#7bdab4;--red:#fa887c}*{box-sizing:border-box}body{margin:0;background:#101e2c;color:var(--white);font-family:Barlow,Arial,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}button:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:4px}button:disabled{cursor:default}header{height:94px;padding:0 32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.brand{text-decoration:none;color:var(--white);display:flex;align-items:center;gap:12px;font-family:'Barlow Condensed',Arial,sans-serif;font-weight:800;font-size:29px;letter-spacing:1px;white-space:nowrap}.brand-icon{background:var(--gold);color:var(--ink);font-size:30px;width:44px;height:44px;display:grid;place-items:center;transform:skew(-7deg);border-radius:3px}.light{font-weight:500;color:var(--gold)}.brand small{font:600 9px Barlow,Arial;display:block;letter-spacing:2.5px;margin-top:5px;color:var(--muted)}.route{display:grid;grid-template-columns:auto auto auto;column-gap:20px;align-items:center;text-align:center}.route b{font-size:28px;font-weight:600}.route>span{font-size:12px;color:#6d879d;letter-spacing:2px}.route small{grid-column:1/4;font-size:9px;color:var(--muted);letter-spacing:2px;margin-top:5px}.route i{font-style:normal;color:#476276;padding:0 10px}.controls{display:flex;gap:7px}.controls button{height:38px;min-width:39px;border:1px solid var(--line);background:#192c3d;border-radius:5px;font-size:15px}.controls span{font-size:10px}.controls button:hover{border-color:var(--gold)}nav{height:56px;display:flex;align-items:center;justify-content:center;background:#142536;border-bottom:1px solid #405468;padding:0 20px;gap:0}.phase{color:#7d94a8;font-size:11px;letter-spacing:1.3px;display:flex;align-items:center;gap:8px;white-space:nowrap}.phase b{border:1px solid #405268;border-radius:50%;height:22px;width:22px;display:grid;place-items:center;font-size:10px}.phase.active{color:var(--gold)}.phase.active b{background:var(--gold);border-color:var(--gold);color:var(--ink);box-shadow:0 0 15px #f3bf6220}.phase.done{color:var(--green)}.phase-line{height:1px;background:#354a5c;width:50px;margin:0 18px}.world-wrap{height:clamp(340px,41vw,500px);position:relative;background:#7baab9;overflow:hidden}.scene-label{position:absolute;top:22px;left:32px;font-size:10px;letter-spacing:1.6px;color:#173e52;z-index:2;display:flex;align-items:center;gap:8px;font-weight:700}.live-dot{height:5px;width:5px;display:inline-block;background:var(--green);border-radius:50%;box-shadow:0 0 8px #7bdab450}.scene-label .live-dot{background:#24546a}.telemetry{position:absolute;right:32px;top:20px;display:flex;gap:27px;z-index:2;color:#183e53}.telemetry small{display:block;font-size:8px;letter-spacing:1.7px;margin-bottom:4px}.telemetry b{font-size:21px;font-weight:600;font-variant-numeric:tabular-nums}.telemetry em{font-size:10px;font-style:normal;font-weight:500}#viewport{width:100%;height:100%;overflow:auto hidden;scrollbar-width:thin;scrollbar-color:#587b8b #a2c5ce;touch-action:pan-x}canvas{display:block;height:100%;width:100%}.world-bottom{position:absolute;bottom:14px;left:32px;right:32px;display:flex;justify-content:space-between;color:#345467;font-size:9px;letter-spacing:1.5px;pointer-events:none;font-weight:600}.world-bottom i{font-style:normal;padding:0 8px}#toast{position:absolute;left:50%;bottom:38px;transform:translate(-50%,12px);padding:12px 22px;max-width:90%;border:1px solid #547184;border-radius:6px;background:#122b3eee;box-shadow:0 5px 20px #0002;font-size:13px;opacity:0;transition:.2s;pointer-events:none;text-align:center}#toast.show{opacity:1;transform:translate(-50%,0)}.command-deck{display:grid;grid-template-columns:300px 1fr;gap:30px;padding:25px 32px 24px;background:#101e2c;border-top:3px solid #273e50}.mission{border-right:1px solid var(--line);padding-right:28px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--gold);font-weight:700;display:flex;justify-content:space-between}.eyebrow span{color:var(--muted);font-variant-numeric:tabular-nums}h1{font-family:'Barlow Condensed',Arial,sans-serif;font-weight:600;font-size:31px;letter-spacing:.2px;margin:12px 0 7px}.mission p{color:var(--muted);font-size:12px;line-height:1.55;margin:0 0 12px;min-height:35px}.objective{font-size:11px;color:#a7b9c9;margin:8px 0;display:flex;gap:9px;align-items:center}.objective>span{width:14px;height:14px;border:1px solid #496075;border-radius:50%;font-size:9px;display:grid;place-items:center}.objective.complete{color:var(--green)}.objective.complete>span{border-color:#7bdab470;background:#7bdab41a}.primary{border:0;border-radius:4px;background:var(--gold);color:#202936;font-size:11px;font-weight:800;letter-spacing:1px;padding:15px 17px;width:100%;margin:14px 0 0;display:flex;justify-content:space-between;gap:25px}.primary:disabled{background:#243746;color:#8296a6}.primary:not(:disabled):hover{background:#ffd587}.quality{margin-top:18px;font-size:8px;letter-spacing:1px;color:var(--muted)}.quality>b{float:right;color:var(--green);font-size:10px}.quality>div{height:3px;background:#283d4c;margin-top:7px}.quality i{height:3px;background:var(--green);display:block;transition:width .3s}.section-title{display:flex;justify-content:space-between;align-items:center;font-size:10px;font-weight:700;letter-spacing:1.6px;margin-bottom:14px}.section-title small{font-size:8px;font-weight:500;color:#7890a3;letter-spacing:1px;margin-left:10px}.subtle{color:#7c93a5;font-size:8px;letter-spacing:1.2px}.subtle i{padding:0 10px;font-style:normal;color:var(--gold)}#crewCards{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.crew-card{text-align:left;position:relative;background:#192c3d;border:1px solid #344a5c;border-radius:6px;padding:11px 9px 10px;display:flex;align-items:center;gap:8px;min-height:82px;overflow:hidden}.crew-card:hover{background:#22394b}.crew-card.selected{border-color:var(--gold);background:#293436;box-shadow:inset 0 2px var(--gold)}.crew-card.selected:after{content:'●';position:absolute;right:8px;top:7px;color:var(--gold);font-size:7px}.portrait{width:42px;height:54px;flex-shrink:0}.crew-info{min-width:0}.crew-info b{display:block;font-size:13px;font-weight:600;margin-bottom:5px}.crew-info small{font-size:8px;display:block;letter-spacing:1px;color:#93a9ba}.crew-info em{display:block;font-size:10px;font-style:normal;color:var(--green);margin-top:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.crew-progress{position:absolute;left:0;bottom:0;height:2px;background:var(--green);transition:width .2s}.task-panel{background:#142637;border:1px solid #304657;border-radius:6px;margin-top:14px;padding:15px}.selected-heading{display:flex;justify-content:space-between;align-items:center;padding-bottom:13px}.selected-heading span{font-size:10px;letter-spacing:1.5px;font-weight:700}.selected-heading small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.tag{font-size:8px!important;letter-spacing:1px!important;color:var(--muted);border:1px solid #3c5060;border-radius:3px;padding:5px 8px}#tasks{display:flex;gap:8px;min-height:64px}.task{flex:1;text-align:left;border:1px solid #3d5366;background:#203649;border-radius:4px;padding:12px;display:flex;gap:10px;align-items:center;min-width:0}.task:not(:disabled):hover{border-color:var(--gold);background:#2b4152}.task:disabled{opacity:.42}.task-icon{color:var(--gold);font-size:23px;width:26px;flex-shrink:0;text-align:center}.task b{display:block;font-size:11px;font-weight:600}.task small{display:block;font-size:9px;color:#9bafc0;margin-top:5px}.idle-note{font-size:12px;color:var(--muted);margin:auto 0;line-height:1.6}footer{display:flex;justify-content:space-between;padding:14px 32px;border-top:1px solid #2a3c4c;font-size:8px;letter-spacing:1px;color:#6f899e}footer .live-dot{margin-right:6px}footer button{border:0;background:none;font-size:8px;color:#93a7b7;letter-spacing:1px}dialog{background:#132738;color:var(--white);border:1px solid #476074;border-radius:10px;padding:34px;max-width:540px;width:calc(100% - 32px);box-shadow:0 30px 100px #0006}dialog::backdrop{background:#081724c9;backdrop-filter:blur(7px)}.modal-kicker{font-size:10px;color:var(--gold);letter-spacing:3px}.modal-title{font-family:'Barlow Condensed',Arial,sans-serif;font-size:49px;line-height:1;letter-spacing:1px;margin:14px 0}.modal-copy{font-size:14px;line-height:1.7;color:#a9bdcc}.brief-route{border-top:1px solid #354e61;border-bottom:1px solid #354e61;padding:18px 0;margin:20px 0;display:flex;align-items:center;justify-content:space-between}.brief-route strong{font-size:30px;letter-spacing:1px}.brief-route small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.brief-route>span{color:var(--gold)}.brief-stats{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin:20px 0}.brief-stats b{color:var(--white);display:block;margin-bottom:4px;font-size:18px}.modal-buttons{display:flex;gap:8px}.secondary{background:transparent;color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:12px 18px;margin-top:14px}.result-score{font:700 80px 'Barlow Condensed',Arial;color:var(--gold);margin:20px 0}.result-score small{font:500 15px Barlow,Arial;color:var(--muted)}.paused-label{color:var(--gold)!important}
@media(min-width:1600px){#game{max-width:1700px;margin:0 auto}.command-deck{grid-template-columns:340px 1fr}.crew-card{min-height:95px}.portrait{width:50px;height:62px}}
@media(max-width:1000px){header{padding:0 20px;height:78px}.route{column-gap:8px}.route>span{letter-spacing:0}.brand{font-size:24px}.brand small{font-size:7px}.command-deck{padding:20px;gap:20px;grid-template-columns:250px 1fr}.mission{padding-right:20px}.crew-card{padding:9px 6px;gap:4px}.portrait{width:32px;height:44px}.crew-info b{font-size:11px}.crew-info small{font-size:7px}.subtle{display:none}.phase-line{width:25px;margin:0 12px}.task{padding:9px;gap:5px}.task-icon{font-size:18px;width:19px}.scene-label{left:20px}.telemetry{right:20px}}
@media(max-width:740px){header{padding:0 15px;height:72px;gap:8px}.brand{font-size:21px;gap:8px}.brand-icon{width:33px;height:35px;font-size:23px}.brand small{font-size:6px;letter-spacing:1.5px}.route{display:none}.controls{gap:4px}.controls button{height:34px;min-width:31px;font-size:13px}.controls span{display:none}nav{height:48px;justify-content:space-between;padding:0 12px;overflow:hidden}.phase{font-size:8px;letter-spacing:0;gap:4px;flex-direction:column}.phase b{height:17px;width:17px;font-size:8px}.phase-line{width:18px;margin:0 3px}.world-wrap{height:330px}.scene-label{left:15px;top:14px;font-size:8px;letter-spacing:.8px}.telemetry{top:40px;left:15px;right:auto;gap:22px}.telemetry small{font-size:7px}.telemetry b{font-size:17px}.world-bottom{left:15px;right:15px;font-size:7px}.world-bottom>span:last-child{display:none}.command-deck{display:flex;flex-direction:column-reverse;padding:16px;gap:20px}.mission{border-right:0;border-top:1px solid var(--line);padding:18px 0 0}.mission p{min-height:0}.crew-card{display:block;padding:10px 8px;min-height:122px}.portrait{width:34px;height:42px;margin-bottom:5px}.crew-info b{font-size:12px}.crew-info small{font-size:6px;letter-spacing:.5px}.crew-info em{font-size:9px}.section-title{font-size:9px}.task-panel{padding:12px}#tasks{flex-wrap:wrap}.task{flex:1 1 120px;min-height:60px}.task b{font-size:11px}.task small{font-size:9px}.quality{margin-top:14px}h1{font-size:29px}.mission #objectives{display:flex;flex-wrap:wrap;gap:0 18px}.objective{font-size:10px}footer{padding:12px 16px}#footerMessage{display:none}dialog{padding:26px}.modal-title{font-size:43px}}
@media(max-height:600px) and (min-width:741px){.world-wrap{height:320px}header{height:65px}nav{height:45px}}

.hangar-entry{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 4%;background:#1b3041;border-bottom:1px solid #385064;text-decoration:none;color:#ecc167;font:12px system-ui,sans-serif}.hangar-entry span{font-size:10px;letter-spacing:.1em;color:#9bb1bf}.hangar-entry:focus-visible{outline:3px solid #ecc167;outline-offset:-3px}
#stage{position:relative}#scene{position:absolute;inset:0}.model-canvas{position:absolute;inset:0;pointer-events:none}#overlay{position:absolute;inset:0;z-index:1;pointer-events:none}.scene-label,.telemetry,.world-bottom{pointer-events:none}#toast{z-index:3}#tasks{flex-wrap:wrap}.task{flex:1 1 160px;min-height:66px}.incident{display:flex;gap:18px;align-items:center;padding:17px 32px;border-top:1px solid #f38e66;border-bottom:1px solid #613e37;background:#382b2a}.incident[hidden]{display:none}.incident.medical{border-color:#df8396;background:#342934}.incident-symbol{font-size:32px;color:#ffba7d}.incident-copy{display:flex;flex-direction:column;gap:5px;flex:1}.incident-copy small{font-size:9px;letter-spacing:1.5px;color:#d9a88b}.incident-copy b{font-size:19px;letter-spacing:.6px}.incident-copy span{font-size:12px;color:#dfc6b5}.incident button{background:#f2c16e;color:#23303b;border:0;border-radius:4px;padding:13px;font-size:10px;font-weight:700}#cruisePractice{width:100%;font-size:11px}#sound[aria-pressed=false]{color:#8da3b4}#sound[aria-pressed=true]{color:#f3bf62}
@media(max-width:740px){.incident{padding:13px 16px;gap:10px;flex-wrap:wrap}.incident-copy b{font-size:16px}.incident button{margin-left:40px}.hangar-entry{padding:8px 16px;font-size:10px}.hangar-entry span{font-size:8px}}
.camera-toolbar{padding:9px 30px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#152a3a;border-bottom:1px solid #3c5363}.camera-toolbar button{border:1px solid #486174;border-radius:4px;padding:8px 10px;background:#1d3547;font-size:10px;letter-spacing:.5px}.camera-toolbar button:disabled{opacity:.4}.camera-toolbar button:not(:disabled):hover{border-color:var(--gold)}.camera-toolbar [data-camera=reset]{color:var(--gold)}.camera-views,.camera-orbit{display:flex;gap:6px;align-items:center}#cameraReadout{min-width:125px;text-align:right;color:#a8bbc9;font-size:10px;font-variant-numeric:tabular-nums}#viewport{overflow:hidden;touch-action:auto}#stage{touch-action:none;cursor:grab;outline-offset:-3px}#stage:active{cursor:grabbing}#modelStatus{position:absolute;top:80px;left:32px;z-index:4;background:#1a3046;color:#f3d598;padding:10px 16px;border-radius:4px;font-size:12px}.world-wrap{height:clamp(380px,45vw,600px)}.brand{font-size:26px}.hangar-entry{display:none}@media(max-width:740px){.camera-toolbar{padding:8px 12px;gap:7px;flex-wrap:wrap}.camera-views{width:100%;justify-content:space-between}.camera-views button{padding:8px;font-size:9px}.camera-orbit{width:100%}.camera-orbit button{min-width:33px}#cameraReadout{margin-left:auto;min-width:90px;font-size:9px}.world-wrap{height:420px}.brand{font-size:17px}.brand small{font-size:5px}.world-bottom{font-size:7px;letter-spacing:.7px}.telemetry{top:42px}}

.camera-orbit [data-camera=mode]{min-width:96px;font-weight:700;color:#f3bf62}.camera-orbit [data-camera=mode][aria-pressed=true]{background:#e9bd6e;color:#173145;border-color:#e9bd6e}
@media(max-width:740px){.camera-orbit{flex-wrap:wrap}.camera-orbit [data-camera=mode]{flex:1}.camera-orbit #cameraReadout{flex:1;text-align:center;min-width:115px}}
