*{box-sizing:border-box}html,body{color:#e8ecff;background:#000;height:100%;margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;overflow:hidden}#scene,#overlay{width:100vw;height:100vh;display:block;position:fixed;inset:0}#overlay{pointer-events:none}#video{opacity:0;width:1px;height:1px;position:fixed;top:-10px;left:-10px}button,select{font:inherit;color:inherit;cursor:pointer;background:#1a2140;border:1px solid #3a4680;border-radius:8px;padding:8px 14px}button.primary{color:#1a1300;background:#fc5;border-color:#fc5;font-weight:600}.fade{transition:opacity .8s}.title-banner{text-align:center;pointer-events:none;opacity:0;text-shadow:0 2px 20px #000c;width:100%;transition:opacity 1s;position:fixed;top:8vh}.title-banner.visible{opacity:1}.title-banner h1{letter-spacing:.3em;margin:0;font-size:9vmin;font-weight:700}.title-banner p{opacity:.8;margin:1vmin 0 0;font-size:2.4vmin}.chapter{pointer-events:none;opacity:0;text-shadow:0 2px 12px #000000e6;transition:opacity .8s;position:fixed;top:7vh;left:5.5vw}.chapter.visible{opacity:1}.chapter-step{letter-spacing:.2em;text-transform:uppercase;opacity:.65;font-size:1.7vmin}.chapter-name{margin-top:.3vmin;font-size:4.6vmin;font-weight:700}.chapter-distance{color:#9fc6ff;margin-top:.3vmin;font-size:2.2vmin}.travel{text-align:center;pointer-events:none;opacity:0;text-shadow:0 2px 16px #000000e6;width:100%;transition:opacity .5s;position:fixed;top:42%}.travel.visible{opacity:1}.travel-to{letter-spacing:.05em;font-size:4vmin;font-weight:600}.travel-distance{color:#9fc6ff;margin-top:.8vmin;font-size:2.4vmin}.finale{text-align:center;pointer-events:none;opacity:0;text-shadow:0 2px 16px #000000e6;width:100%;transition:opacity 1.5s 1s;position:fixed;top:6vh}.finale.visible{opacity:1}.finale h2{color:#ffd36b;margin:0;font-size:5vmin}.finale p{opacity:.9;font-size:2.6vmin;line-height:1.5}.card{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;pointer-events:none;background:#080c20d1;border:1px solid #ffd27873;border-radius:16px;grid-template-columns:1fr 1fr;width:min(50vw,900px);transition:opacity .5s,transform .5s;display:grid;position:fixed;top:6vh;right:3vw;overflow:hidden;transform:translate(30px);box-shadow:0 0 40px #ffc8641f}.card.no-photo{grid-template-columns:1fr;width:min(36vw,560px)}.card.visible{opacity:1;transform:none}.card-photo{object-fit:cover;object-position:center 20%;border-right:1px solid #ffd27859;width:100%;height:100%;min-height:38vmin;display:block}.card-body{flex-direction:column;padding:2vmin 2.2vmin;display:flex}.card-name{letter-spacing:.15em;text-transform:uppercase;opacity:.7;font-size:1.7vmin}.card-woman{color:#ffd36b;margin-top:.4vmin;font-size:3.8vmin;font-weight:700;line-height:1.15}.card-headline{margin-top:.5vmin;font-size:2.2vmin}.card-story{opacity:.92;margin:1vmin 0 0;font-size:1.85vmin;line-height:1.45}.card-credit{opacity:.5;margin-top:auto;padding-top:1vmin;font-size:1.25vmin}.cockpit{pointer-events:none;width:100vw;height:100vh;position:fixed;inset:0}.dash{pointer-events:none;grid-template-columns:1fr 1.5fr 1fr;gap:2vw;display:grid;position:fixed;inset:86.5vh 7vw 2vh}.dash-panel{background:#060a16d9;border:1px solid #34436e;border-radius:10px;flex-direction:column;justify-content:center;gap:.6vmin;padding:.8vmin 1.4vmin;display:flex;box-shadow:inset 0 0 18px #508cff1f}.dash-label{letter-spacing:.18em;color:#8fa6d8;font-size:1.5vmin}.dash-value{color:#cfe0ff;font-size:1.8vmin}.dash-value.big{color:#8cffc8;font-variant-numeric:tabular-nums;font-size:3.2vmin;font-weight:700}.fuel-bar{background:#ffffff14;border-radius:1vmin;height:1.6vmin;overflow:hidden}.fuel-fill{background:linear-gradient(90deg,#ff8a3d,#ffd36b 50%,#8cffc8);width:0;height:100%;transition:width .4s;box-shadow:0 0 1vmin #8cffc899}.dash-fuel.low .fuel-bar{animation:1s steps(2,end) infinite blink}@keyframes blink{50%{opacity:.35}}.dash-center{text-align:center;align-items:center}.hint{letter-spacing:.03em;color:#e8f0ff;min-height:1.3em;font-size:2.2vmin;animation:3s ease-in-out infinite breathe}@keyframes breathe{50%{opacity:.55}}.progress{pointer-events:none;gap:1.2vmin;display:flex}.recycled{opacity:0;pointer-events:none;background:#061814d9;border:1px solid #8cffc880;border-radius:12px;width:min(28vw,460px);padding:1.2vmin 2vmin;transition:opacity .4s,transform .4s;position:fixed;top:19vh;left:5.5vw;transform:translateY(-10px)}.recycled.visible{opacity:1;transform:translateY(0)}.recycled-name{color:#8cffc8;font-size:2.2vmin;font-weight:600}.recycled-fact{opacity:.9;margin-top:.5vmin;font-size:1.9vmin;line-height:1.45}.recycled-fact:empty{display:none}.tutorial{pointer-events:none;opacity:0;transition:opacity .5s;position:fixed;inset:0}.tutorial.visible{opacity:1}.tut-head{text-align:center;text-shadow:0 2px 14px #000000e6;width:100%;position:absolute;top:6vh}.tut-head h2{color:#ffd36b;margin:0;font-size:4.4vmin}.tut-head p{opacity:.8;margin:.6vmin 0 0;font-size:2.1vmin}.tip{opacity:0;background:#080c20e0;border:1px solid #ffd36b99;border-radius:12px;padding:1.3vmin 1.6vmin;transition:opacity .5s,transform .5s;position:absolute;transform:translateY(8px);box-shadow:0 0 24px #ffc8641f}.tip b{color:#ffd36b;letter-spacing:.02em;font-size:2.3vmin;display:block}.tip span{opacity:.9;margin-top:.5vmin;font-size:1.9vmin;line-height:1.45;display:block}.tutorial.visible .tip{opacity:1;transform:none}.tutorial.visible #tip-planet{transition-delay:.2s}.tutorial.visible #tip-guide{transition-delay:.9s}.tutorial.visible #tip-fuel{transition-delay:1.6s}.tutorial.visible #tip-junk{transition-delay:2.3s}.tutorial.visible #tip-ready{transition-delay:3s}#tip-planet{width:21vw;top:24vh;left:5vw}#tip-guide{width:21vw;top:24vh;right:5vw}#tip-fuel{width:22vw;top:63vh;left:7vw}#tip-junk{width:19vw;top:63vh;right:7vw}#tip-ready{border-color:#8cffc8b3;width:17vw;top:46vh;left:23vw}#tip-ready b{color:#8cffc8}.title-banner .mission{color:#8cffc8;margin-top:1.4vmin;font-size:2.2vmin}.home p.small{opacity:.7;font-size:2vmin}.progress span{background:#ffffff2e;border-radius:50%;width:1.4vmin;height:1.4vmin;transition:background .6s,box-shadow .6s}.progress span.lit{background:#ffd36b;box-shadow:0 0 1.2vmin #ffb340}.toast{opacity:0;pointer-events:none;background:#141a3cf2;border-radius:8px;padding:8px 16px;transition:opacity .3s;position:fixed;top:20px;left:50%;transform:translate(-50%)}.toast.visible{opacity:1}.start{background:#000000b3;flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex;position:fixed;inset:0}.start.hidden{display:none}.start h1{letter-spacing:.25em;margin:0;font-size:clamp(36px,8vmin,90px)}.start .sub{opacity:.7;margin:0 0 12px;font-size:18px}.row{gap:10px;display:flex}.status{opacity:.8;min-height:1.4em;margin:0}.keys{opacity:.55;text-align:center;margin:6px 0 0;font-size:13px}.credits{opacity:.45;font-size:11px}.field{flex-direction:column;gap:6px;font-size:14px;display:flex}.field select{min-width:260px}.panel{background:#0a0e24f2;border:1px solid #3a4680;border-radius:12px;width:300px;max-height:calc(100vh - 32px);padding:16px;font-size:14px;display:none;position:fixed;top:16px;left:16px;overflow-y:auto}.panel.visible{display:block}.panel h2{margin:0 0 12px;font-size:18px}.panel .field,.panel .check{margin-bottom:12px}.check{align-items:center;gap:8px;display:flex}.slider{margin-bottom:10px}.slider-head{justify-content:space-between;display:flex}.slider input{width:100%}.preview{background:#080c20f2;border:1px solid #3a4680;border-radius:8px;width:min(480px,100vw - 32px);display:none;position:fixed;bottom:16px;right:16px;overflow:hidden;box-shadow:0 8px 30px #00000073}.preview.visible{display:block}.preview canvas{aspect-ratio:16/9;width:100%;height:auto;display:block}.preview-hint{color:#d7e4ff;text-align:center;margin:0;padding:7px 10px;font-size:12px}.solar-controls{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:auto;background:#0a0e24e6;border:1px solid #9fc6ff80;border-radius:14px;gap:16px;width:min(340px,100vw - 40px);max-height:calc(100vh - 40px);padding:18px;display:none;position:fixed;top:20px;left:20px;overflow-y:auto;box-shadow:0 8px 36px #00000059}body.solar-active .solar-controls{display:grid}body.solar-active .title-banner,body.solar-active .chapter,body.solar-active .travel,body.solar-active .finale,body.solar-active .card,body.solar-active .hint,body.solar-active .progress,body.solar-active .panel,body.solar-active .cockpit,body.solar-active .dash,body.solar-active .tutorial,body.solar-active .home,body.solar-active .recycled{display:none}.solar-controls-actions{align-items:center;gap:8px;display:flex}.solar-controls-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.solar-controls-head h2{margin:0;font-size:20px}.solar-controls-head p{opacity:.7;margin:4px 0 0;font-size:13px}body.solar-active.solar-controls-collapsed .solar-controls{display:none}.solar-controls-show{display:none;position:fixed;top:20px;left:20px}body.solar-active.solar-controls-collapsed .solar-controls-show{display:block}.solar-controls .field{gap:7px}.solar-controls select,.solar-hand-btn{width:100%}.solar-hand-status{opacity:.72;margin:-9px 0 0;font-size:12px;line-height:1.5}.solar-slider{gap:6px;font-size:14px;display:grid}.solar-slider input{accent-color:#ffd36b;width:100%}.solar-focus-status{opacity:.65;min-height:1.2em;margin:-5px 0 0;font-size:12px}.solar-planet-info{z-index:6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#f4f5ff;background:#0a0e24f0;border:1px solid #9fc6ff9e;border-radius:14px;width:min(290px,100vw - 24px);padding:16px 18px;position:fixed;box-shadow:0 8px 36px #00000080}.solar-planet-info[hidden]{display:none}.solar-planet-info h2{margin:0 28px 10px 0;font-size:20px}.solar-planet-info ul{gap:8px;margin:0 0 12px;padding-left:19px;font-size:13px;line-height:1.45;display:grid}.solar-planet-info a{color:#9fc6ff;font-size:12px}.solar-planet-info-speak{margin:0 8px 10px 0;padding:7px 10px;font-size:12px}.solar-planet-info-close{width:30px;min-width:30px;height:30px;padding:0;font-size:20px;line-height:1;position:absolute;top:8px;right:8px}.credits a{color:#9fc6ff}@media (width<=520px){.solar-controls{width:min(320px,100vw - 20px);max-height:calc(100vh - 20px);top:10px;left:10px}.solar-controls-actions{flex-direction:column;align-items:stretch}}
