*{box-sizing:border-box} :root{--yellow:#f5cb69;--ink:#17282f;--muted:#718186;--cream:#f7f6ef}body{margin:0;color:#fff;background:#071c2d;font-family:"Malgun Gothic","맑은 고딕",sans-serif;overflow:hidden}button,input,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #f3bc53;outline-offset:4px}button{touch-action:manipulation}#space{position:fixed;inset:0;width:100%;height:100%;touch-action:none}header{height:108px;position:relative;z-index:5;margin:0 4%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff24}.brand{display:flex;align-items:center;gap:14px;color:inherit;text-decoration:none;font-size:19px;font-weight:700;letter-spacing:-.6px}.brand-mark{font-size:40px;color:var(--yellow);font-weight:400}.brand small{display:block;font-size:11px;color:#a6bac8;letter-spacing:1.5px;margin-top:6px;font-weight:400}nav{display:flex;gap:18px;align-items:center;color:#8da3b3;font-size:12px}nav b{font-size:14px;font-weight:500;margin-left:6px}nav .active{color:var(--yellow)}nav i{width:30px;height:1px;background:#ffffff28}.prototype{font-size:11px;color:#c8d4dc;border:1px solid #ffffff3b;padding:8px 12px;border-radius:20px;letter-spacing:1px}.intro{position:absolute;top:155px;left:5%}.eyebrow{font-size:11px;letter-spacing:3px;color:#93b5c2;font-weight:600}h1{font-size:clamp(32px,3.7vw,60px);font-weight:600;letter-spacing:-2.5px;line-height:1.28;margin:18px 0}p{line-height:1.85}.intro p{font-size:16px;color:#b9cbd6;line-height:1.9;margin-top:20px}.panel{position:absolute;right:4%;top:140px;width:370px;padding:28px 28px 24px;border-radius:22px;background:var(--cream);color:var(--ink);box-shadow:0 24px 70px #0003}.panel .eyebrow{color:#7c9093;font-size:10px;letter-spacing:2px}.panel-head{position:relative;border-bottom:1px solid #d9dfd9;padding-bottom:16px;margin-bottom:20px}.panel h2{font-size:27px;letter-spacing:-1px;margin:8px 0 0}.small-star{position:absolute;right:4px;top:8px;font-size:38px;color:#91a9a3}.control{margin-bottom:19px}.control label{display:block;font-size:11px;color:#8c9b99;margin-bottom:9px}.control b{font-size:14px;color:#263d3d;margin-left:9px;font-weight:600}.choices{display:flex;gap:8px}.choices button{flex:1;border:1px solid #d9dfda;border-radius:10px;background:transparent;color:#627372;height:69px;font-size:12px}.choices span{display:block;font-size:25px;line-height:29px;margin-bottom:3px}.choices button.selected,.segmented .selected{background:#e2eae1;border-color:#789489;color:#274e45}.segmented{display:flex;gap:8px}.segmented button{height:43px;flex:1;border:1px solid #d9dfda;background:transparent;border-radius:9px;font-size:13px;color:#627372}.swatches{display:flex;gap:18px;padding:3px 4px}.swatches button{width:36px;height:36px;border-radius:50%;border:3px solid var(--cream);background:var(--swatch);outline:1px solid #d3dcd7}.swatches button.selected{outline:2px solid #38564b}.input-row{display:flex;gap:10px;margin:21px 0 17px}.input-row label{width:50%;font-size:12px;color:#627371}.input-row input{width:100%;margin-top:7px;height:42px;padding:10px;background:#fff9;border:1px solid #d9dfda;border-radius:8px;font-size:13px;color:#263d3d}.dream-label{display:block;font-size:12px;color:#627371;margin-bottom:8px}textarea{width:100%;height:64px;resize:none;border:1px solid #d9dfda;border-radius:8px;background:#fff9;font-size:13px;padding:10px;line-height:1.5;color:#263d3d}.primary{display:flex;align-items:center;justify-content:space-between;border:0;background:var(--yellow);color:#283a34;border-radius:10px;min-height:54px;width:100%;padding:12px 18px;font-size:15px;font-weight:700;margin-top:20px}.primary:hover{background:#ffda86}.primary span{font-size:23px;font-weight:400}.primary:disabled{opacity:.75;cursor:default}.model-caption{position:absolute;left:5%;bottom:118px}.pill{font-size:11px;letter-spacing:1px;border:1px solid #ffffff38;border-radius:20px;padding:7px 12px;color:#c0d3de}.model-caption h2{font-size:25px;margin:17px 0 5px;letter-spacing:-1px}.model-caption p{font-size:12px;color:#89a6b9;margin:0}footer{position:absolute;left:4%;right:4%;height:66px;bottom:0;border-top:1px solid #ffffff22;display:flex;justify-content:space-between;align-items:center;color:#90aab8;font-size:11px;letter-spacing:.8px}footer>span:first-child{color:#c6d7dd;display:flex;align-items:center;gap:10px}.tiny-orbit{width:21px;height:12px;border:1px solid #e6bd69;border-radius:50%;transform:rotate(-30deg)}footer button{color:#d5e0e5;background:none;border:0;padding:12px;font-size:12px}.launch-panel{top:177px;padding:32px}.ticket{border:1px solid #d5ded7;border-radius:12px;padding:20px;margin:24px 0;background:#edf0e6}.ticket small{font-size:11px;color:#72857c}.ticket h3{font-size:27px;margin:12px 0 0}.ticket p{font-size:12px;color:#6a807a;margin:6px 0}.ticket blockquote{font-size:14px;line-height:1.8;border-top:1px dashed #bdcbbf;padding-top:16px;margin:16px 0 0}.check{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid #dde3dc;font-size:13px}.check b{font-size:12px;color:#557c65}.text-button{width:100%;border:0;background:none;color:#75857e;margin-top:15px;padding:8px;font-size:12px}#launch-progress{font-size:12px;color:#6d8176;margin-top:22px;line-height:1.7}.launch-tag{position:absolute;left:5%;bottom:126px;font-size:12px;color:#b2c8d1;border:1px solid #ffffff30;border-radius:20px;padding:12px 18px}.signal{display:inline-block;width:7px;height:7px;background:#a8dac8;border-radius:50%;box-shadow:0 0 13px #92edcc70;margin-right:8px}.orbit-stats{position:absolute;right:5%;top:165px;display:flex;align-items:center;gap:8px;color:#c3d6db;font-size:13px}.orbit-stats b{font-size:26px;font-weight:500;color:var(--yellow)}.orbit-stats small{position:absolute;right:0;top:43px;font-size:10px;color:#7b97ab}.dream-card{position:absolute;right:4%;bottom:130px;width:337px;border:1px solid #ffffff30;border-radius:20px;background:#133044e8;backdrop-filter:blur(16px);padding:28px}.dream-card .eyebrow{font-size:10px;color:#91bac5}.arrival{font-size:11px;color:#b9d5c7;margin:20px 0}.dream-card h2{font-size:31px;margin:0;letter-spacing:-1px}.dream-card p{font-size:12px;color:#9fb9c5;margin:8px 0}.dream-card blockquote{margin:23px 0;font-size:21px;line-height:1.7;font-weight:400;color:#e6e9df;word-break:keep-all}.orbit-detail{display:flex;justify-content:space-between;border-top:1px solid #ffffff20;padding-top:17px;font-size:11px;color:#a9c1cc}.orbit-detail b{color:#abd7ba}.dream-card .primary{font-size:13px}.orbit-note{position:absolute;bottom:89px;left:5%;color:#7895a8;font-size:11px}.sat-label{position:absolute;transform:translate(-50%,-50%);padding:9px 14px;border-radius:20px;border:1px solid #7eb0c84d;color:#c9dce7;background:#14344bec;font-size:11px;z-index:2;white-space:nowrap}.sat-label.mine{border-color:#f5cb6999;color:#f5cb69}.sat-label:before{content:'✧';margin-right:7px}#error{position:absolute;inset:150px 10%;padding:30px;background:#fff;color:#333}[hidden]{display:none!important}@media(min-width:1500px){.panel{width:400px;top:151px;padding:30px 32px}.control{margin-bottom:22px}.panel-head{margin-bottom:23px}.choices button{height:76px}.input-row{margin-top:25px}.primary{min-height:58px}.launch-panel{top:185px}.dream-card{width:350px}}@media(max-height:840px){header{height:90px}.intro{top:125px}.panel{top:110px;padding:20px 24px}.panel-head{margin-bottom:14px;padding-bottom:12px}.control{margin-bottom:12px}.choices button{height:59px}.input-row{margin:14px 0 12px}textarea{height:56px}.primary{margin-top:14px;min-height:50px}.panel h2{font-size:24px}.launch-panel{top:120px}.ticket{margin:18px 0;padding:16px}.check{padding:10px 0}.orbit-stats{top:128px}.dream-card{bottom:105px}h1{font-size:43px}.intro p{font-size:14px}.model-caption{bottom:95px}}@media(max-width:1000px){nav{display:none}.panel{right:3%;width:330px}.intro{left:4%}h1{font-size:34px}.intro p{font-size:13px}.dream-card{width:290px;padding:22px}.orbit-stats{top:110px}.orbit-stats small{top:34px}.dream-card blockquote{font-size:18px}}
/* Surface polish: the existing layout and control sizes are preserved. */
/* Exhibition welcome: keep the 3D world dominant, with a single entry action. */
.assembly-dock .mission-choices{display:grid;grid-template-columns:repeat(4,1fr)}.assembly-dock #missions button,.assembly-dock #payloads button{height:52px;font-size:12px}.assembly-dock #use-recommended{font-size:11px;min-height:32px;padding:6px 0;color:#f5cb69}#passenger-mission{font-size:12px;color:#526e68}#orbit-mission{color:#e2c784;font-size:12px}
body.is-building header,body.is-building footer{display:none}.assembly-heading{position:absolute;left:5%;top:5%}.assembly-heading p{color:#a9c4d1;font-size:12px}.assembly-heading h2{font-size:25px;font-weight:400;margin:12px 0}.assembly-hint{position:absolute;right:5%;top:6%;font-size:11px;color:#92aebf}.assembly-dock{position:absolute;bottom:4%;left:50%;transform:translateX(-50%);width:min(680px,90vw);padding:22px 28px;background:linear-gradient(120deg,#102d40f5,#0a2032f5);border:1px solid #9ac4d02b;border-radius:20px;max-height:50dvh;overflow-y:auto}.assembly-dock>p{font-size:15px;color:#d5e3eb;margin:14px 0 18px;min-height:23px}.assembly-step>label{display:block;color:#91acbb;font-size:11px;margin-bottom:10px}.assembly-step label b{font-weight:400;margin-left:8px}.assembly-actions{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:18px}.assembly-actions .primary{margin:0;width:235px;min-height:48px}.assembly-dock .choices button,.assembly-dock .segmented button{background:#112d41;color:#d3e2eb;border-color:#789bad50;box-shadow:none;min-height:48px}.assembly-dock .choices button.selected,.assembly-dock .segmented button.selected{border-color:#f5cb69;background:#354445;color:#ffdb86}.assembly-dock .choices button{height:65px}.assembly-dock .swatches{justify-content:center;gap:25px;padding:8px}.assembly-dock .swatches button{height:44px;width:44px;border-color:#173246}.assembly-dock .swatches button.selected{outline-color:#ffdc86}.assembly-step input,.assembly-step textarea{width:100%;background:#071e2f;border:1px solid #7294a766;border-radius:9px;color:#e0edf4;padding:12px;font-size:16px;height:48px}.assembly-step textarea{height:65px}.assembly-step input:focus,.assembly-step textarea:focus{outline:2px solid #f5cb69;outline-offset:2px}
@media(max-height:760px){.assembly-dock{bottom:3%;padding:16px 24px}.assembly-dock>p{margin:10px 0;font-size:13px}.assembly-dock .choices button{height:55px}.assembly-actions{margin-top:12px}.assembly-heading{top:4%}}
.comms-card{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(440px,90vw);max-height:90dvh;overflow:auto;padding:30px 34px;background:#0c2434f2;border:1px solid #91bfcb40;border-radius:22px;box-shadow:0 25px 90px #0008;backdrop-filter:blur(18px)}
#connect{position:absolute;inset:0;background:#03121b66}.comms-status{display:flex;align-items:center;font-size:11px;color:#a9cdc8;letter-spacing:1px}.comms-status>span:last-child{margin-left:auto;color:#7893a6;font-size:10px}.comms-card h1{font-size:32px;font-weight:400;margin:25px 0 12px;letter-spacing:-1px}.comms-card>p{font-size:16px;color:#c6d7e0}.comms-card label{display:block;font-size:12px;margin-top:25px;color:#a9c0cf}.comms-card label small{margin-left:12px;color:#7f9cad}.comms-card input{width:100%;margin-top:10px;padding:15px;background:#061a29;color:#fff;border:1px solid #6c9aaf88;border-radius:10px;font-size:20px}.comms-card input:focus{outline:2px solid #f5cb69;outline-offset:2px}.comms-card .comms-help{font-size:11px;color:#8faab9}.comms-card #callsign-error{font-size:12px;color:#ffd799;margin:8px 0;min-height:18px}.comms-back{background:none;border:0;color:#afc2ce;min-height:44px;padding:10px 14px;font-size:12px}.comms-card>.comms-back{display:block;margin:10px auto 0}
body.is-briefing header,body.is-briefing footer{display:none}.briefing-heading{position:absolute;top:6%;left:5%}.briefing-heading p{font-size:14px;color:#c4d9e0;margin-top:12px}.briefing-comms{position:absolute;bottom:5%;left:50%;transform:translateX(-50%);width:min(660px,90vw);padding:22px 28px;border:1px solid #9ac4d02b;border-radius:18px;background:linear-gradient(120deg,#102d40f2,#0a2032f2);box-shadow:0 15px 60px #0003}.briefing-comms h2{font-size:23px;letter-spacing:-.7px;font-weight:400;margin:15px 0 8px}.briefing-comms>p{font-size:14px;color:#bcd0dd;min-height:44px;margin:0;line-height:1.8}.briefing-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:12px}.briefing-actions .primary{width:230px;margin:0;min-height:48px}.part-label{position:absolute;transform:translate(-50%,-100%);font-size:12px;letter-spacing:1px;padding:8px 15px;border:1px solid #f5cb6960;border-radius:20px;background:#102838de;color:#ffdc86;pointer-events:none;white-space:nowrap}
@media(max-height:760px){.briefing-comms{bottom:3%;padding:16px 24px}.briefing-comms h2{font-size:20px;margin:10px 0 5px}.briefing-comms>p{min-height:25px;font-size:13px}.briefing-heading{top:4%}.comms-card{padding:22px 30px}}
body.is-home header{height:82px;border:0;pointer-events:none}body.is-home header nav,body.is-home header .prototype,body.is-home header .brand small,body.is-home footer{display:none}body.is-home .brand{font-size:14px;font-weight:400;letter-spacing:1px;color:#bcd0dc}body.is-home .brand-mark{font-size:28px}
#home{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#04132166,transparent 50%),linear-gradient(0deg,#041321cc,transparent 30%)}
.home-heading{position:absolute;top:15%;left:5%}.home-heading .eyebrow{font-size:10px;letter-spacing:4px;color:#8ea9bc}.home-heading h1{font-size:clamp(30px,3vw,48px);font-weight:400;letter-spacing:-2px;margin:14px 0}.home-heading p{font-size:13px;color:#9fb6c5;margin:0}
.home-feature{position:absolute;left:5%;bottom:20%;width:265px;padding-left:20px;border-left:1px solid #e8c87b66;text-shadow:0 2px 14px #000}.home-live{font-size:10px;letter-spacing:1px;color:#a5c4cb}.home-live small{display:block;font-size:9px;color:#7d99aa;margin:8px 0 0 15px}.home-feature h2{font-size:24px;font-weight:400;letter-spacing:-1px;margin:20px 0 12px}.home-feature blockquote{font-size:16px;line-height:1.8;word-break:keep-all;color:#d9e4e9;margin:0}.home-feature p{font-size:11px;color:#8da9ba;margin:12px 0 0}
.home-action{position:absolute;bottom:6%;left:50%;transform:translateX(-50%);width:280px;text-align:center;pointer-events:auto}.home-action .primary{border-radius:32px;min-height:62px;padding:14px 25px;font-size:17px;box-shadow:0 8px 45px #edc56822}.home-action p{font-size:11px;color:#91aab9;margin:14px 0 0;letter-spacing:1px}.home-note{position:absolute;right:4%;bottom:25px;font-size:9px;color:#698698}
@media(max-height:840px){.home-heading{top:14%}.home-feature{bottom:23%}.home-feature h2{margin:14px 0 8px}.home-action{bottom:5%}.home-action .primary{min-height:56px}.home-note{bottom:16px}}
@media(max-width:700px){.home-heading{top:12%}.home-heading p{font-size:11px}.home-feature{bottom:25%;width:210px}.home-feature h2{font-size:20px}.home-feature blockquote{font-size:13px}.home-note{display:none}}
.panel{background:linear-gradient(145deg,#fffcf3 0%,#f5f5ec 65%,#e9eee8 100%);border:1px solid #ffffffa6;box-shadow:0 30px 85px #0006,inset 0 1px 0 #fff}
.primary{background:linear-gradient(130deg,#ffdc8a,#efbd57);box-shadow:inset 0 1px 0 #fff8,0 5px 18px #b583251b}
.primary:hover{background:linear-gradient(130deg,#ffe5a7,#f8c86b)}
.choices button,.segmented button{box-shadow:inset 0 1px 0 #fff9}
.choices button.selected,.segmented .selected{background:linear-gradient(145deg,#dceade,#edf2e6);box-shadow:inset 0 1px 0 #fff9,0 2px 5px #44665512}
.swatches button{box-shadow:inset 0 2px 3px #fff5,inset 0 -2px 3px #0001}
.dream-card{background:linear-gradient(145deg,#203d53eb,#102a3fe8);border-color:#b3d9e338;box-shadow:0 25px 70px #0004,inset 0 1px 0 #cae7ef17}
.sat-label{background:linear-gradient(140deg,#20465cea,#142c41ed);box-shadow:0 4px 15px #0003}
.sat-label.mine{background:linear-gradient(140deg,#31454ced,#233b44ef);box-shadow:0 0 20px #e7b85617}
.intro h1{text-shadow:0 4px 30px #06142360}.brand-mark{text-shadow:0 0 23px #f4c66322}
.launch-tag small{display:block;margin-top:6px;margin-left:16px;font-size:10px;color:#8ba6b4;letter-spacing:.3px}
@media(max-height:840px){.panel{max-height:calc(100dvh - 185px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#a6b9aa transparent}}

/* Keep secondary choices in one compact row on the assembly workbench. */
.equipment-options{display:flex;align-items:center;gap:16px;margin-top:10px}.equipment-options .segmented{flex:1}.assembly-dock #use-recommended{min-height:44px;padding:6px 8px}#panel-shapes{margin-top:10px}

.color-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}.color-pair label{display:block;font-size:11px;color:#91acbb;margin-bottom:10px}.assembly-dock .color-pair .swatches{gap:12px;padding:4px 0}.assembly-dock .color-pair .swatches button{flex-shrink:0}#view-badge{padding:8px 0}.assembly-dock.is-review{width:min(600px,90vw)}#creation-summary{font-size:12px;color:#f5cb69;margin:8px 0}.assembly-dock #badges button{height:48px}@media(max-width:650px){.color-pair{grid-template-columns:1fr;gap:10px}}

#dream-preview{position:absolute;left:4%;top:22%;width:210px;padding:16px;border-left:2px solid #f5cb69;background:#102d4080;border-radius:0 12px 12px 0;overflow-wrap:anywhere}#dream-preview small{color:#91acbb;font-size:11px}#dream-preview h3{font-size:17px;font-weight:500;color:#ffdb86;margin:10px 0}#dream-preview p{font-size:14px;color:#d3e2eb;margin:0}#dream-examples{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}#dream-examples button{background:#173246;border:1px solid #789bad50;border-radius:8px;color:#c8dce6;font-size:11px;min-height:44px;padding:8px 10px}.dream-feedback{display:flex;justify-content:space-between;gap:8px;min-height:20px;margin-top:6px;font-size:11px;color:#91acbb}#dream-error{color:#ffcc8a}#dream-count{white-space:nowrap}body.is-loading header,body.is-loading footer{display:none}@media(max-width:900px){#dream-preview{top:12%;width:180px;padding:10px}#dream-preview p{font-size:12px}}

.boarding-comms{position:absolute;bottom:5%;left:50%;transform:translateX(-50%);width:min(600px,90vw);padding:18px 24px;border:1px solid #9ac4d02b;border-radius:18px;background:#0c2434ed}.boarding-comms p{margin:12px 0;color:#e0eaf0;font-size:18px}.boarding-comms small{font-size:11px;color:#91acbb}.boarding-comms .comms-back{display:block;margin-top:8px;padding-left:0}

.fuel-panel{top:5%;max-height:90dvh;overflow:auto}.fuel-panel h2{margin:14px 0 18px}.fuel-gauges{display:flex;justify-content:center;gap:32px;text-align:center}.fuel-gauges strong,.fuel-gauges small{display:block;margin-top:7px}.fuel-gauges small{color:#647b7b;font-size:12px}.fuel-tank{position:relative;width:86px;height:125px;border:2px solid #c2cecb;border-radius:25px;overflow:hidden;background:#e0e7e1}.fuel-tank.active{border-color:#947232}.fuel-tank i{position:absolute;bottom:0;left:0;width:100%;height:0;background:#edbc58;border-top:3px solid #ffe1a0}.fuel-tank.oxygen i{background:#84cbd5;border-color:#c1f3f7}.fuel-tank b{position:absolute;inset:0;display:grid;place-items:center;color:#193b42;font-size:24px}.fuel-note{display:block;text-align:center;font-size:10px;color:#637e79;margin:14px 0 20px}.fuel-panel h3{font-size:18px;margin:12px 0}.fuel-panel #fuel-explain{font-size:14px;line-height:1.7;min-height:48px}.fuel-panel .primary{min-height:48px;margin-top:12px}.fuel-alternative{width:100%;min-height:44px;border:1px solid #9caca5;border-radius:10px;background:transparent;color:#32574f;margin-top:10px;font-size:13px}.fuel-panel button:disabled{opacity:.45;cursor:default}.fuel-panel #fuel-status{min-height:36px;font-size:12px;line-height:1.5;color:#526e68;margin:12px 0 0}#fuel-hold{touch-action:none;user-select:none}.fuel-panel button:focus-visible{outline:3px solid #528eb0;outline-offset:3px}
@media(max-height:760px){.fuel-panel{padding:20px 26px}.fuel-panel h2{margin:8px 0 12px}.fuel-tank{height:90px}.fuel-note{margin:10px 0}.fuel-panel h3{margin:10px 0}.fuel-panel #fuel-explain{min-height:44px;margin:8px 0}.fuel-panel .primary{margin-top:8px}.fuel-panel #fuel-status{min-height:32px;margin-top:8px}}

body.is-arriving header,body.is-arriving footer{display:none}.arrival-heading{position:absolute;left:5%;top:5%;max-width:85%;overflow-wrap:anywhere}.arrival-heading h2{font-size:28px;font-weight:400;color:#ffdb86;margin:12px 0 8px}.arrival-heading p{font-size:13px;color:#bfd4df;margin:0}.arrival-comms{position:absolute;bottom:4%;left:50%;transform:translateX(-50%);width:min(620px,90vw);padding:18px 24px;border:1px solid #9ac4d02b;border-radius:18px;background:#0c2434ed}.arrival-comms p{font-size:18px;color:#e0eaf0;margin:12px 0}.arrival-comms small{font-size:11px;color:#91acbb}.arrival-comms .comms-back{display:block;min-height:44px;margin-top:8px;padding-left:0}@media(max-height:760px){.arrival-comms{padding:12px 22px}.arrival-comms p{font-size:16px;margin:8px 0}.arrival-heading h2{font-size:24px}}

@media(max-height:760px){.dream-card{padding:20px;max-height:calc(100dvh - 290px);overflow-y:auto}.dream-card h2{font-size:26px}.dream-card blockquote{font-size:18px;margin:14px 0}.dream-card .arrival{margin:14px 0}}

/* Personal devices: keep the model above a scrollable touch control area. */
#save-notice{position:fixed;z-index:8;top:8px;left:50%;transform:translateX(-50%);max-width:90vw;padding:6px 12px;border-radius:12px;background:#071e2fe8;color:#bcd0dd;font-size:11px;text-align:center;pointer-events:none}
#save-notice button{pointer-events:auto;min-height:44px;margin-left:8px;border:1px solid #68899d;border-radius:8px;color:#ffdb86;background:#173246;padding:6px 12px}
#my-satellite{position:absolute;right:4%;bottom:78px;background:#173246;border-radius:10px}
.home-action #resume-draft{font-size:14px;min-height:48px;margin-top:6px}
.home-action #home-mine{padding:5px 12px}
.home-action:has(#resume-draft:not([hidden])) #home-start{min-height:44px;font-size:13px;background:#173246;color:#d4e4ec;border:1px solid #789bad50;margin-top:8px}
body[data-mode=connect] #save-notice{display:none}
@media(max-width:600px), (max-width:900px) and (orientation:portrait){
  header{height:48px;margin:0 5%}header .brand,body.is-home .brand{font-size:11px;letter-spacing:0}header .brand-mark,body.is-home .brand-mark{font-size:22px}header .brand small,header .prototype,nav,footer{display:none!important}body.is-home header{height:48px}
  #save-notice{top:45px;width:90%;max-width:none;font-size:10px;padding:5px 10px}
  body:not(.is-home) #save-notice{top:auto;bottom:0;border-radius:0;width:100%;min-height:24px}
  #save-notice button{min-height:32px}
  .home-heading{top:100px;left:6%}.home-heading h1{font-size:30px;margin:10px 0}.home-heading p{font-size:11px}
  .home-feature{left:6%;bottom:auto;top:62%;width:88%;padding-left:14px}.home-feature h2{font-size:18px;margin:8px 0}.home-feature blockquote{font-size:13px;line-height:1.5}.home-feature p{margin:6px 0}.home-live small{display:inline;margin-left:10px}
  .home-action{bottom:max(14px,env(safe-area-inset-bottom));width:88%}.home-action .primary{min-height:48px;margin-top:6px;font-size:15px}.home-action p{display:none}
  .home-feature:has(~ .home-action #resume-draft:not([hidden])){top:59%}
  .assembly-heading,.briefing-heading,.arrival-heading{top:20px;left:6%;max-width:88%}.assembly-heading h2,.arrival-heading h2{font-size:21px;margin:8px 0}.assembly-heading p,.briefing-heading p,.arrival-heading p{font-size:12px;margin:8px 0}
  .assembly-hint{top:110px;right:6%;font-size:10px}#dream-preview{display:none}
  .assembly-dock,.assembly-dock.is-review,.briefing-comms,.boarding-comms,.arrival-comms{bottom:48px;left:5%;transform:none;width:90%;padding:16px;max-height:52dvh;overflow:auto;overscroll-behavior:contain}
  .assembly-dock>p{font-size:13px;margin:10px 0}.assembly-dock .mission-choices{grid-template-columns:repeat(2,1fr)}.assembly-dock .choices{gap:6px}.assembly-dock .choices button{font-size:11px}
  .assembly-actions,.briefing-actions{gap:8px;margin-top:12px}.assembly-actions .primary,.briefing-actions .primary{flex:1;width:auto;font-size:13px;padding:10px}.assembly-actions>.comms-back,.briefing-actions>.comms-back{padding:8px 0;flex-shrink:0}
  .equipment-options{flex-wrap:wrap;gap:6px}.equipment-options .segmented{min-width:100%}.assembly-dock #use-recommended{min-height:44px}
  .color-pair{grid-template-columns:1fr;gap:12px}.assembly-dock .color-pair .swatches{gap:12px;justify-content:flex-start}.assembly-dock .swatches button{width:44px;height:44px}
  .briefing-comms h2{font-size:20px}.briefing-comms>p{font-size:13px}.boarding-comms p,.arrival-comms p{font-size:16px}
  .comms-card{padding:22px;max-height:calc(100dvh - 32px)}.comms-card h1{font-size:26px;margin:16px 0}.comms-card>p{font-size:14px}.comms-card label{margin-top:16px}.comms-card input{font-size:16px;min-height:48px}
  .intro{top:60px;left:6%;max-width:88%}.intro h1{font-size:25px;letter-spacing:-1px;margin:8px 0}.intro p{display:none}.intro .eyebrow{font-size:9px}
  .panel,.launch-panel,.fuel-panel{left:5%;right:auto;top:auto;bottom:48px;width:90%;max-height:53dvh;padding:18px;overflow:auto;overscroll-behavior:contain}
  .panel h2{font-size:22px}.ticket{padding:12px;margin:10px 0}.ticket h3{font-size:22px}.ticket blockquote{margin-top:10px;padding-top:10px}.check{padding:8px 0}.launch-tag{display:none}
  .fuel-tank{height:85px;width:70px}.fuel-panel h2{font-size:22px;margin:8px 0 12px}.fuel-panel #fuel-explain{font-size:13px;min-height:0}.fuel-panel #fuel-status{min-height:0}.fuel-note{margin:10px 0}.fuel-gauges{gap:30px}
  #launch-progress{margin-top:12px}#passenger-mission{font-size:11px}.text-button{min-height:44px}
  .orbit-stats{top:147px;right:6%;font-size:11px}.orbit-stats b{font-size:20px}.orbit-stats small{top:27px;white-space:nowrap}
  .dream-card{left:5%;right:auto;bottom:95px;width:90%;max-height:40dvh;padding:16px;overflow:auto}.dream-card h2{font-size:24px}.dream-card blockquote{font-size:17px;margin:12px 0;overflow-wrap:anywhere}.dream-card .arrival{margin:10px 0}.dream-card #orbit-mission{font-size:10px}.dream-card .primary{min-height:48px}
  #my-satellite{bottom:48px;right:5%;min-height:44px}.orbit-note{display:none}.sat-label{font-size:10px;min-height:44px;padding:12px}
  body[data-mode=orbit] .intro{top:55px}body[data-mode=orbit] .intro h1{font-size:21px}
}
@media(max-width:900px){
  body.keyboard-open .assembly-dock{bottom:calc(16px + var(--keyboard-inset,0px));max-height:calc(var(--visible-height,100dvh) - 100px)}
  body.keyboard-open .comms-card{top:calc(var(--visible-height,100dvh)/2);max-height:calc(var(--visible-height,100dvh) - 24px)}
  body.keyboard-open #save-notice,body.keyboard-open .assembly-hint{display:none}
}
@media(min-width:601px) and (max-width:900px) and (orientation:landscape){
  header,footer{display:none!important}.assembly-heading,.briefing-heading,.arrival-heading,.intro{left:3%;top:16px;max-width:38%}.intro h1{font-size:24px;margin:8px 0}.intro p,.assembly-hint,#dream-preview,.launch-tag,.orbit-note{display:none}
  .assembly-dock,.assembly-dock.is-review,.briefing-comms,.boarding-comms,.arrival-comms,.panel,.dream-card{left:auto;right:3%;top:16px;bottom:auto;transform:none;width:52%;max-height:calc(100dvh - 66px);padding:16px;overflow:auto}
  .assembly-heading h2,.arrival-heading h2{font-size:20px;margin:8px 0}.assembly-heading p,.briefing-heading p{font-size:11px}.assembly-dock .color-pair{grid-template-columns:1fr;gap:12px}.assembly-dock .mission-choices{grid-template-columns:1fr 1fr}
  .assembly-actions .primary,.briefing-actions .primary{width:auto;flex:1}.briefing-comms h2{font-size:18px}.briefing-comms>p{font-size:13px}.orbit-stats{left:3%;right:auto;top:auto;bottom:44px;font-size:10px}.orbit-stats b{font-size:18px}.orbit-stats small{display:none}#my-satellite{left:3%;right:auto;bottom:2px;padding:4px 10px;min-height:40px}
  #save-notice{top:auto;bottom:0;left:auto;right:3%;width:52%;transform:none;font-size:10px}#save-notice button{min-height:32px}
  .home-heading{top:8%;left:5%}.home-feature{bottom:26%;width:220px}.home-feature blockquote{font-size:12px}.home-action{left:auto;right:5%;transform:none;width:270px;bottom:10%}.home-action p{display:none}.home-note{display:none}
}

/* Two persistent controls replace the staged fueling menu. */
.fuel-gauges{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}
.fuel-column{min-width:0}.fuel-column .fuel-tank{margin:0 auto}
.fuel-column .primary{justify-content:center;font-size:13px;padding:10px 6px;min-height:48px}
.fuel-column .primary[aria-pressed=true]{background:#dfb653;box-shadow:inset 0 0 0 2px #8b672b}
.fuel-panel>#fuel-next{margin-top:24px}
@media(max-width:600px){.fuel-gauges{gap:10px;margin:18px 0}.fuel-column .primary{font-size:12px}.fuel-panel>#fuel-next{margin-top:16px}}

/* A shared arrival temporarily takes the existing introduction slot. */
.orbit-welcome{position:fixed;z-index:12;box-sizing:border-box;padding:18px 20px;border:1px solid #f4cd7480;border-radius:18px;background:linear-gradient(135deg,#243e4bf5,#102733fa);box-shadow:0 12px 40px #0004;overflow:auto;overflow-wrap:anywhere;color:#f5f7f8;pointer-events:auto}
.orbit-welcome[hidden],.welcome-marker[hidden]{display:none}
.welcome-kicker{font-size:12px;color:#ffda88;letter-spacing:.3px}.welcome-kicker>span{margin-right:6px}
.orbit-welcome h2{font-size:25px;line-height:1.25;margin:12px 0 5px}.orbit-welcome p{font-size:12px;color:#b8cfda;margin:0}.orbit-welcome blockquote{margin:14px 0;font-size:17px;line-height:1.6;color:#edf5f5}.orbit-welcome small{font-size:10px;color:#b4c7cd}
.welcome-progress{height:2px;background:#ffdc8a22;margin-top:14px}.welcome-progress i{display:block;height:100%;background:#f5cd77;transform-origin:left}
.welcome-marker{position:fixed;z-index:6;pointer-events:none;transform:translate(-50%,-50%);width:64px;height:64px;border:1px solid #ffe2a2cc;border-radius:50%;box-shadow:0 0 24px #f5c65b33}
.welcome-marker i{position:absolute;inset:-8px;border:1px solid #f5cd7755;border-radius:50%;animation:welcome-ring 2.4s ease-out infinite}.welcome-marker span{position:absolute;top:76px;left:50%;transform:translateX(-50%);max-width:180px;width:max-content;padding:5px 12px;border:1px solid #f5cd7766;border-radius:14px;background:#19323def;color:#ffe2a2;font-size:12px;overflow-wrap:anywhere;text-align:center}
.has-orbit-welcome[data-mode=home] .home-feature,.has-orbit-welcome[data-mode=orbit] .dream-card,.has-orbit-welcome #sat-labels{visibility:hidden}
.orbit-welcome .primary{margin-top:16px;min-height:48px;font-size:13px}
@keyframes welcome-ring{from{transform:scale(.85);opacity:.7}to{transform:scale(1.35);opacity:0}}
@media(max-width:900px){.orbit-welcome{padding:12px 14px;border-radius:14px}.orbit-welcome h2{font-size:20px;margin:7px 0 4px}.orbit-welcome blockquote{font-size:14px;margin:8px 0;line-height:1.45}.welcome-progress{margin-top:8px}.welcome-marker{width:44px;height:44px}.welcome-marker span{top:53px;font-size:10px;max-width:140px}.welcome-kicker{font-size:11px}}
@media(prefers-reduced-motion:reduce){.welcome-marker i{animation:none}}
@media(max-width:600px) and (max-height:700px){
  .orbit-welcome{padding:8px 12px}.orbit-welcome .welcome-kicker{font-size:10px;line-height:12px}.orbit-welcome h2{font-size:16px;line-height:20px;margin:4px 0 2px}.orbit-welcome p{font-size:10px;line-height:13px}.orbit-welcome blockquote{font-size:12px;line-height:1.35;margin:6px 0}.orbit-welcome small{font-size:9px}.welcome-progress{margin-top:4px}
}
/* Daylight launch footage: readable controls over the atmospheric scene. */
body[data-mode=launch] header,body[data-mode=launch] footer{color:#193649;border-color:#234b6333}
body[data-mode=launch] .brand small,body[data-mode=launch] nav,body[data-mode=launch] footer small{color:#345469}
body[data-mode=launch] nav .active{color:#55400b}
body[data-mode=launch] .prototype{color:#28485c;border-color:#31536955}
body[data-mode=launch] #launch .intro{color:#173347}
body[data-mode=launch] #launch .intro h1{text-shadow:0 2px 20px #ffffff55}
body[data-mode=launch] #launch .intro p,body[data-mode=launch] #launch .eyebrow{color:#31566b}
body[data-mode=launch] .launch-tag{background:#17384dd9}
body[data-mode=launch] footer span,body[data-mode=launch] footer button{color:#28485c}
body.is-flying .launch-panel{top:auto;bottom:110px;max-height:260px;overflow:auto}
body.is-flying .launch-panel>.eyebrow,body.is-flying .launch-panel>h2,body.is-flying .launch-panel .check,body.is-flying #passenger-mission,body.is-flying #passenger-owner,body.is-flying #passenger-dream,body.is-flying .ticket small{display:none}
body.is-flying .launch-panel .ticket{margin:0;padding:0;background:none;border:0}
body.is-flying .ticket h3{margin:0;font-size:24px;overflow-wrap:anywhere}
body.is-flying #launch-progress{margin-top:14px}
body.is-flying #fire{min-height:42px;margin-top:14px}
@media(max-width:900px){body.is-flying .launch-panel{bottom:48px;max-height:185px;padding:16px 18px}}
@media(min-width:601px) and (max-width:900px) and (orientation:landscape){body.is-flying .launch-panel{top:auto;bottom:48px}}
