:root{
  --bg:#030812;--bg2:#061225;--panel:#0a1730;--panel2:#0f2244;--panel3:#132b52;
  --ink:#f5f8ff;--ink2:#cfdbef;--muted:#91a4c7;--line:rgba(122,174,255,.18);
  --cyan:#5ee6ff;--cyan2:#1dc5ea;--blue:#4d8dff;--gold:#ffd66f;--orange:#ff9d57;
  --red:#ff667e;--red2:#ff3d61;--green:#72efbd;--purple:#ba8cff;--shadow:0 26px 80px rgba(0,0,0,.42);
  --r:22px;--ff:"Hiragino Sans","Yu Gothic",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{background:var(--bg);scroll-behavior:smooth}
body{margin:0;min-height:100vh;color:var(--ink);font-family:var(--ff);line-height:1.65;overflow-x:hidden;background:
 radial-gradient(900px 560px at 8% -8%,rgba(27,112,255,.22),transparent 66%),
 radial-gradient(780px 520px at 102% 4%,rgba(186,72,255,.15),transparent 68%),
 radial-gradient(850px 500px at 52% 105%,rgba(0,201,255,.08),transparent 70%),
 linear-gradient(180deg,#061224 0%,#030812 44%,#02050b 100%)}
body::before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.28;background-image:
 radial-gradient(circle at 11% 22%,#fff 0 1px,transparent 1.4px),
 radial-gradient(circle at 73% 13%,#fff 0 1px,transparent 1.3px),
 radial-gradient(circle at 34% 72%,#fff 0 1px,transparent 1.4px),
 radial-gradient(circle at 85% 61%,#fff 0 1px,transparent 1.3px),
 radial-gradient(circle at 52% 37%,#fff 0 .8px,transparent 1.2px);
 background-size:190px 190px,260px 260px,330px 330px,430px 430px,510px 510px}
button,input,select{font:inherit}button{color:inherit}a{color:var(--cyan);text-decoration:none}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
[hidden]{display:none!important}
#app{width:min(1260px,100%);margin:0 auto;padding:10px 12px 54px;position:relative;z-index:1}
.card{border:1px solid var(--line);border-radius:var(--r);background:linear-gradient(180deg,rgba(14,31,64,.90),rgba(5,14,31,.96));box-shadow:var(--shadow);overflow:hidden}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 2px 12px;position:sticky;top:0;z-index:50;background:linear-gradient(180deg,rgba(3,8,18,.98),rgba(3,8,18,.86) 76%,transparent);backdrop-filter:blur(13px)}
.brand{display:flex;align-items:center;gap:10px;min-width:0}.brand-mark{width:40px;height:40px;flex:0 0 auto;border-radius:50%;position:relative;background:radial-gradient(circle at 34% 30%,#fff 0 5%,#aeefff 8%,#2d9ee9 28%,#1552a2 53%,#061c54 72%,#020716 100%);box-shadow:0 0 28px rgba(70,203,255,.52),inset -9px -8px 15px rgba(0,0,0,.42)}
.brand-mark::after{content:"";position:absolute;width:15px;height:15px;border-radius:50%;right:-3px;top:-2px;background:radial-gradient(circle at 35% 35%,#fff 0 4%,#ffd96e 10%,#ff9d4d 36%,#712238 74%,#160817);box-shadow:0 0 16px rgba(255,130,80,.75)}.brand-mark i{position:absolute;left:9px;top:14px;width:22px;height:7px;border:2px solid rgba(114,239,189,.7);border-radius:50%;transform:rotate(-18deg)}
.brand-copy{min-width:0}.brand-copy b{display:block;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.03em}.brand-copy small{display:block;color:var(--muted);font-size:9px;letter-spacing:.16em}
.top-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.icon-btn{border:1px solid var(--line);background:rgba(15,34,68,.73);border-radius:12px;min-height:38px;padding:8px 10px;cursor:pointer;font-weight:900;font-size:11px;transition:.16s;box-shadow:inset 0 1px rgba(255,255,255,.04)}.icon-btn:hover{transform:translateY(-1px);border-color:rgba(94,230,255,.56);background:rgba(21,49,91,.9)}
.safety-strip{display:flex;align-items:center;gap:8px;padding:9px 12px;margin:0 0 9px;border:1px solid rgba(114,239,189,.2);border-radius:13px;background:linear-gradient(90deg,rgba(114,239,189,.08),rgba(77,141,255,.05));font-size:11px;color:var(--ink2)}.safety-dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 14px var(--green)}.safety-strip strong{color:var(--green)}.safety-strip button{margin-left:auto;border:0;background:transparent;color:var(--cyan);font-weight:900;cursor:pointer;text-decoration:underline}
.daily-strip{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:11px 14px;margin:0 0 11px;border:1px solid rgba(255,214,111,.26);border-radius:15px;background:linear-gradient(90deg,rgba(255,214,111,.10),rgba(94,230,255,.06));cursor:pointer;text-align:left}.daily-strip:hover{border-color:rgba(255,214,111,.5)}.daily-badge{font-size:10px;letter-spacing:.12em;font-weight:1000;color:#17110a;background:linear-gradient(180deg,#ffe69f,#ffca4a);padding:5px 9px;border-radius:999px}.daily-copy b{display:block;font-size:13px}.daily-copy small{display:block;color:var(--muted);font-size:10px}.daily-state{font-size:11px;font-weight:1000;color:var(--gold);white-space:nowrap}
.hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);min-height:470px;margin-bottom:12px;position:relative;background:
 radial-gradient(700px 420px at 0 0,rgba(32,111,255,.18),transparent 68%),
 radial-gradient(620px 390px at 96% 0,rgba(255,83,102,.14),transparent 70%),
 linear-gradient(180deg,rgba(14,32,68,.92),rgba(5,13,30,.97))}
.hero-copy{padding:34px 26px 30px;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2}.kicker{color:var(--cyan);font-size:11px;font-weight:1000;letter-spacing:.18em;margin:0 0 8px}.hero h1{font-size:clamp(32px,5vw,59px);line-height:1.12;letter-spacing:-.045em;margin:0 0 13px;text-wrap:balance}.hero h1 em{font-style:normal;color:var(--gold);text-shadow:0 0 26px rgba(255,214,111,.25)}.hero-lede{margin:0;color:var(--ink2);font-size:14px;max-width:720px;line-height:1.9}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.primary-btn,.secondary-btn{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;border-radius:15px;min-height:66px;padding:11px 17px;cursor:pointer;font-weight:1000;transition:.17s}.primary-btn{border:0;color:#03151d;background:linear-gradient(180deg,#a0f5ff,#43d8ed 62%,#21bfd8);box-shadow:0 14px 36px rgba(28,197,232,.24),inset 0 1px #fff}.secondary-btn{border:1px solid rgba(122,174,255,.26);background:rgba(13,31,64,.86);color:#fff}.primary-btn:hover,.secondary-btn:hover{transform:translateY(-2px)}.primary-btn span,.secondary-btn span{font-size:15px}.primary-btn small,.secondary-btn small{font-size:10px;font-weight:800;opacity:.74}.hero-facts{display:flex;gap:7px;flex-wrap:wrap;margin-top:16px}.hero-facts span{font-size:10px;color:var(--ink2);padding:5px 8px;border:1px solid var(--line);border-radius:999px;background:rgba(3,9,22,.5)}
.hero-visual{position:relative;overflow:hidden;min-height:470px;background:radial-gradient(circle at 72% 62%,rgba(18,93,194,.22),transparent 42%)}.hero-visual::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,#fff 0 1px,transparent 1.4px);background-size:73px 73px;opacity:.32}.hero-earth{position:absolute;width:210px;height:210px;border-radius:50%;right:4%;bottom:10%;background:radial-gradient(circle at 33% 29%,#efffff 0 3%,#72e2ff 7%,#228bdc 33%,#1654a7 55%,#071b55 75%,#020715 100%);box-shadow:0 0 38px rgba(75,201,255,.52),0 0 100px rgba(26,103,255,.22),inset -28px -25px 35px rgba(0,0,0,.44);animation:earthFloat 6s ease-in-out infinite}.hero-earth::after{content:"";position:absolute;inset:-8px;border-radius:50%;border:2px solid rgba(118,226,255,.31);box-shadow:0 0 22px rgba(118,226,255,.32)}.land{position:absolute;display:block;background:linear-gradient(135deg,#6fdaac,#237c6a);opacity:.85;filter:drop-shadow(0 2px 2px rgba(0,0,0,.25))}.l1{width:52px;height:31px;left:44px;top:65px;border-radius:60% 35% 55% 35%;transform:rotate(-17deg)}.l2{width:31px;height:58px;left:88px;top:88px;border-radius:45% 40% 65% 45%;transform:rotate(17deg)}.l3{width:45px;height:24px;right:28px;top:91px;border-radius:50%;transform:rotate(-11deg)}
.hero-asteroid{position:absolute;width:104px;height:95px;left:7%;top:13%;border-radius:41% 58% 48% 56%;background:radial-gradient(circle at 32% 28%,#a99f93 0 4%,#6b615a 19%,#4a403c 48%,#211c1c 78%,#0b090b 100%);box-shadow:0 0 26px rgba(255,130,82,.18),inset -15px -13px 22px rgba(0,0,0,.46);transform:rotate(17deg);animation:asteroidSpin 12s linear infinite}.hero-asteroid i{position:absolute;border-radius:50%;background:rgba(12,9,10,.45);box-shadow:inset 2px 2px 4px rgba(255,255,255,.08)}.hero-asteroid i:nth-child(1){width:23px;height:17px;left:18px;top:20px}.hero-asteroid i:nth-child(2){width:15px;height:20px;right:17px;top:39px}.hero-asteroid i:nth-child(3){width:20px;height:12px;left:45px;bottom:13px}.hero-probe{position:absolute;left:45%;top:40%;width:42px;height:20px;border-radius:5px;background:linear-gradient(90deg,#e8f8ff,#6bdaf4 52%,#1a608b);box-shadow:0 0 18px rgba(94,230,255,.65);transform:rotate(22deg);animation:probePulse 1.7s ease-in-out infinite}.hero-probe::before,.hero-probe::after{content:"";position:absolute;top:-6px;width:14px;height:32px;border:1px solid rgba(112,206,255,.55);background:linear-gradient(90deg,#12396c,#3178bc,#12396c)}.hero-probe::before{left:-15px}.hero-probe::after{right:-15px}.hero-probe span{position:absolute;width:15px;height:7px;background:linear-gradient(90deg,#ffefad,#ff7b54,transparent);right:100%;top:7px;filter:blur(.3px)}.hero-visual svg{position:absolute;inset:0;width:100%;height:100%}.hero-visual path{fill:none;stroke:rgba(255,102,126,.45);stroke-width:2;stroke-dasharray:7 8}.hero-visual path.new{stroke:rgba(94,230,255,.55);stroke-dasharray:none}.hero-callout{position:absolute;left:8%;bottom:11%;padding:10px 12px;border:1px solid rgba(255,214,111,.22);border-radius:12px;background:rgba(2,8,20,.72);backdrop-filter:blur(8px)}.hero-callout b{display:block;color:var(--gold);font-size:13px}.hero-callout span{display:block;color:var(--ink2);font-size:10px}
@keyframes earthFloat{50%{transform:translateY(-9px)}}@keyframes asteroidSpin{to{transform:rotate(377deg)}}@keyframes probePulse{50%{filter:brightness(1.25)}}
.sim-shell{margin-bottom:12px}.mission-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;border-bottom:1px solid var(--line);background:linear-gradient(90deg,rgba(77,141,255,.08),rgba(255,102,126,.05))}.mission-identity{display:flex;align-items:center;gap:12px}.mission-code{display:grid;place-items:center;min-width:60px;height:42px;padding:0 9px;border-radius:12px;background:linear-gradient(180deg,#ffdf84,#ffb747);color:#241500;font-size:11px;font-weight:1000;letter-spacing:.08em}.mission-identity h2{margin:0;font-size:20px}.mission-identity p{margin:1px 0 0;color:var(--muted);font-size:11px}.mission-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.mission-metrics div{min-width:92px;padding:7px 9px;border:1px solid rgba(122,174,255,.13);border-radius:10px;background:rgba(4,12,28,.56);text-align:center}.mission-metrics small{display:block;color:var(--muted);font-size:8px;white-space:nowrap}.mission-metrics b{display:block;font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}
.phase-nav{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border-bottom:1px solid var(--line);background:rgba(3,9,21,.7)}.phase-nav button{min-height:67px;border:0;border-right:1px solid var(--line);background:transparent;cursor:pointer;padding:7px 6px;display:grid;grid-template-columns:28px 1fr;grid-template-rows:auto auto;align-items:center;text-align:left;color:var(--muted)}.phase-nav button:last-child{border-right:0}.phase-nav button span{grid-row:1/3;display:grid;place-items:center;width:25px;height:25px;border-radius:50%;border:1px solid rgba(122,174,255,.28);font-size:10px;font-weight:1000}.phase-nav button b{font-size:11px;color:var(--ink2)}.phase-nav button small{font-size:8px}.phase-nav button.active{background:linear-gradient(180deg,rgba(94,230,255,.13),rgba(77,141,255,.05));color:var(--cyan)}.phase-nav button.active span{border-color:var(--cyan);background:var(--cyan);color:#04131d;box-shadow:0 0 17px rgba(94,230,255,.35)}.phase-nav button.active b{color:#fff}.phase-nav button.done span{background:rgba(114,239,189,.17);border-color:var(--green);color:var(--green)}.phase-nav button:disabled{opacity:.38;cursor:not-allowed}
.mission-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(340px,.55fr);min-height:590px}.space-panel{position:relative;min-width:0;height:590px;background:radial-gradient(circle at 74% 50%,rgba(30,103,213,.18),transparent 35%),linear-gradient(180deg,#030a17,#02050c);overflow:hidden;border-right:1px solid var(--line)}#spaceCanvas{display:block;width:100%;height:100%;min-height:0}.canvas-topline{position:absolute;left:13px;right:13px;top:12px;display:flex;justify-content:space-between;gap:10px;color:var(--ink2);font-size:10px;pointer-events:none}.canvas-topline span{padding:5px 8px;border:1px solid rgba(122,174,255,.13);border-radius:999px;background:rgba(1,6,15,.6);backdrop-filter:blur(7px)}.canvas-legend{position:absolute;left:13px;bottom:11px;display:flex;gap:12px;font-size:9px;color:var(--muted);padding:5px 8px;border-radius:9px;background:rgba(1,6,15,.58)}.canvas-legend i{display:inline-block;width:18px;height:2px;margin-right:5px;vertical-align:middle}.legend-old{background:repeating-linear-gradient(90deg,var(--red) 0 5px,transparent 5px 9px)}.legend-new{background:var(--cyan)}.canvas-message{position:absolute;left:50%;top:52px;transform:translate(-50%,0);min-width:210px;max-width:min(68%,430px);text-align:center;padding:8px 14px;border:1px solid rgba(94,230,255,.22);border-radius:12px;background:rgba(2,8,20,.78);box-shadow:0 8px 24px rgba(0,0,0,.24);backdrop-filter:blur(10px);pointer-events:none;z-index:3;transition:opacity .22s ease,transform .22s ease,visibility .22s}.canvas-message b{display:block;color:var(--cyan);font-size:12px;line-height:1.25;letter-spacing:.12em}.canvas-message span{display:block;color:var(--ink2);font-size:9px;line-height:1.45;margin-top:2px}.canvas-message.hidden-message{opacity:0;transform:translate(-50%,-8px);visibility:hidden}.skip-animation{position:absolute;right:13px;bottom:11px;border:1px solid var(--line);border-radius:10px;background:rgba(5,16,34,.82);font-size:10px;font-weight:900;padding:7px 9px;cursor:pointer}
.control-panel{min-width:0;padding:18px 16px 14px;background:linear-gradient(180deg,rgba(11,25,52,.97),rgba(5,13,29,.98));display:flex;flex-direction:column}.control-head{padding-bottom:12px;border-bottom:1px solid var(--line)}.step-label{display:inline-block;color:#05131c;background:var(--cyan);border-radius:999px;padding:3px 7px;font-size:8px;font-weight:1000;letter-spacing:.11em}.control-head h3{font-size:19px;line-height:1.35;margin:7px 0 5px}.control-head p{margin:0;color:var(--muted);font-size:11px;line-height:1.75}.control-panel #stepContent{padding:13px 0;flex:1;min-height:330px}.control-footer{display:flex;gap:8px;padding-top:10px;border-top:1px solid var(--line)}.back-btn,.next-btn{border-radius:12px;min-height:44px;padding:9px 13px;font-weight:1000;cursor:pointer}.back-btn{border:1px solid var(--line);background:rgba(11,26,54,.72);color:var(--ink2)}.next-btn{flex:1;border:0;color:#04131c;background:linear-gradient(180deg,#98f2ff,#35cfe8)}.next-btn:disabled,.back-btn:disabled{opacity:.38;cursor:not-allowed}
.choice-list{display:grid;gap:8px}.choice-card{position:relative;width:100%;text-align:left;border:1px solid var(--line);border-radius:14px;background:rgba(13,31,64,.72);padding:11px 12px;cursor:pointer;transition:.15s}.choice-card:hover{transform:translateY(-1px);border-color:rgba(94,230,255,.48)}.choice-card.selected{border-color:var(--cyan);background:linear-gradient(180deg,rgba(34,99,151,.42),rgba(12,35,70,.88));box-shadow:0 0 0 1px rgba(94,230,255,.15),0 10px 28px rgba(0,147,205,.12)}.choice-card.disabled{opacity:.36;cursor:not-allowed;transform:none}.choice-card .choice-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.choice-card b{font-size:13px}.choice-card small{display:block;color:var(--muted);font-size:9px;line-height:1.55;margin-top:2px}.choice-card .tag{display:inline-block;font-size:8px;font-weight:1000;padding:3px 6px;border-radius:999px;color:var(--gold);border:1px solid rgba(255,214,111,.28);background:rgba(255,214,111,.06);white-space:nowrap}.choice-card .choice-metrics{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}.choice-card .choice-metrics span{font-size:8px;color:var(--ink2);padding:3px 6px;border-radius:7px;background:rgba(1,8,20,.5);border:1px solid rgba(122,174,255,.11)}.choice-card .check{position:absolute;right:9px;bottom:8px;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:var(--cyan);color:#04131b;font-size:11px;font-weight:1000;opacity:0;transform:scale(.7)}.choice-card.selected .check{opacity:1;transform:scale(1)}
.observation-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin-bottom:10px}.observation-summary div{padding:8px;border:1px solid rgba(122,174,255,.12);border-radius:10px;background:rgba(3,10,24,.52);text-align:center}.observation-summary small{display:block;color:var(--muted);font-size:8px}.observation-summary b{display:block;font-size:11px}.observe-actions{display:grid;gap:7px}.observe-card{border:1px solid var(--line);border-radius:13px;padding:10px;background:rgba(13,31,64,.68);display:grid;grid-template-columns:34px 1fr auto;gap:9px;align-items:center}.observe-card .obs-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:rgba(94,230,255,.10);font-size:17px}.observe-card b{font-size:11px}.observe-card p{margin:2px 0 0;color:var(--muted);font-size:8px;line-height:1.5}.observe-card button{border:1px solid rgba(94,230,255,.25);border-radius:9px;background:rgba(15,50,83,.75);padding:7px 8px;font-size:8px;font-weight:1000;cursor:pointer;white-space:nowrap}.observe-card button.done{color:var(--green);border-color:rgba(114,239,189,.28);background:rgba(114,239,189,.08)}.observe-card button:disabled{opacity:.4;cursor:not-allowed}.decision-note{margin-top:9px;padding:9px 10px;border-left:3px solid var(--gold);background:rgba(255,214,111,.06);color:var(--muted);font-size:9px;line-height:1.7}.review-box{display:grid;gap:8px}.review-row{display:flex;justify-content:space-between;gap:10px;padding:8px 9px;border:1px solid rgba(122,174,255,.12);border-radius:10px;background:rgba(3,10,24,.5);font-size:10px}.review-row span{color:var(--muted)}.review-row b{text-align:right}.launch-btn{width:100%;border:0;border-radius:14px;min-height:60px;margin-top:11px;background:linear-gradient(180deg,#ffe59d,#ffbd4e);color:#251400;font-size:15px;font-weight:1000;cursor:pointer;box-shadow:0 12px 28px rgba(255,174,64,.19)}.launch-btn:hover{filter:brightness(1.05);transform:translateY(-1px)}.monitor-btn{width:100%;border:1px solid rgba(114,239,189,.3);border-radius:12px;min-height:45px;margin-top:7px;background:rgba(114,239,189,.08);color:var(--green);font-weight:1000;font-size:11px;cursor:pointer}
.live-analysis{display:grid;grid-template-columns:minmax(0,.84fr) minmax(330px,1.16fr);gap:12px;padding:16px 18px;border-top:1px solid var(--line);background:rgba(2,8,18,.67)}.analysis-copy{display:flex;flex-direction:column;justify-content:center}.analysis-kicker{margin:0 0 4px;color:var(--cyan);font-size:8px;font-weight:1000;letter-spacing:.15em}.analysis-copy h3{margin:0 0 5px;font-size:17px}.analysis-copy>p:not(.analysis-kicker){margin:0;color:var(--muted);font-size:10px;line-height:1.75}.forecast-pills{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.forecast-pills span{font-size:9px;font-weight:900;padding:5px 7px;border-radius:999px;border:1px solid var(--line)}.forecast-pills .neutral{color:var(--muted)}.forecast-pills .good{color:var(--green);border-color:rgba(114,239,189,.32);background:rgba(114,239,189,.07)}.forecast-pills .warn{color:var(--gold);border-color:rgba(255,214,111,.3);background:rgba(255,214,111,.07)}.forecast-pills .bad{color:var(--red);border-color:rgba(255,102,126,.3);background:rgba(255,102,126,.07)}.bplane-wrap{border:1px solid rgba(122,174,255,.13);border-radius:16px;background:radial-gradient(circle at 50% 50%,rgba(19,72,139,.18),rgba(1,6,15,.82));min-height:250px;overflow:hidden}.bplane-wrap svg{display:block;width:100%;height:250px}.grid-lines{opacity:.24}.capture-ring{fill:rgba(255,61,97,.10);stroke:rgba(255,102,126,.8);stroke-width:3;stroke-dasharray:7 6;filter:url(#glow)}.earth-dot{filter:url(#glow);stroke:rgba(197,245,255,.75);stroke-width:1}.capture-label,.point-label{fill:#aabbd7;font-size:10px;text-anchor:middle}.old-vector{stroke:rgba(255,102,126,.5);stroke-width:2;stroke-dasharray:6 6}.old-point{fill:var(--red);opacity:.7}.uncertainty{fill:rgba(255,255,255,.07);stroke:#fff;stroke-width:2;stroke-dasharray:5 4}.new-point{fill:var(--cyan);filter:url(#glow);stroke:#e8fcff;stroke-width:1}.point-label{text-anchor:start;fill:#dffaff;font-weight:900}
.result{padding:18px;margin-bottom:12px}.result-top{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;padding-bottom:15px;border-bottom:1px solid var(--line)}.result-kicker{margin:0 0 5px;color:var(--cyan);font-size:9px;font-weight:1000;letter-spacing:.17em}.result-copy h2{margin:0 0 7px;font-size:clamp(28px,4vw,47px);line-height:1.15}.result-copy>p:not(.result-kicker){margin:0;color:var(--ink2);max-width:850px;font-size:13px}.result-badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.result-badges span{font-size:9px;font-weight:1000;padding:5px 8px;border-radius:999px;border:1px solid var(--line);background:rgba(8,22,46,.76)}.result-badges .good{color:var(--green);border-color:rgba(114,239,189,.28)}.result-badges .gold{color:var(--gold);border-color:rgba(255,214,111,.28)}.score-ring{--score:0;width:120px;height:120px;border-radius:50%;padding:9px;background:conic-gradient(var(--green) calc(var(--score)*1%),rgba(255,255,255,.08) 0);box-shadow:0 0 35px rgba(114,239,189,.14)}.score-ring>span{width:100%;height:100%;display:grid;place-items:center;align-content:center;border-radius:50%;background:#071329;border:1px solid rgba(122,174,255,.17)}.score-ring b{font-size:34px;line-height:1}.score-ring small{font-size:8px;color:var(--muted)}.result-grid{display:grid;grid-template-columns:1.1fr 1fr .9fr;gap:10px;margin-top:13px}.result-panel{border:1px solid var(--line);border-radius:15px;padding:13px;background:rgba(8,21,44,.72)}.result-panel h3{margin:0 0 10px;font-size:14px}.result-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.result-stats div{padding:8px;border-radius:10px;background:rgba(2,9,21,.56);border:1px solid rgba(122,174,255,.1)}.result-stats small{display:block;color:var(--muted);font-size:8px}.result-stats b{display:block;font-size:11px;font-variant-numeric:tabular-nums}.why-box{margin-top:8px;padding:9px;border-left:3px solid var(--cyan);background:rgba(94,230,255,.05)}.why-box b{font-size:10px}.why-box p{margin:3px 0 0;color:var(--muted);font-size:9px;line-height:1.7}.estimate-table{display:grid;gap:5px}.estimate-table .est-row{display:grid;grid-template-columns:1.05fr .9fr .9fr;gap:5px;align-items:center;padding:6px 7px;border-radius:8px;background:rgba(2,9,21,.52);font-size:9px}.estimate-table .est-row.head{color:var(--muted);background:transparent;padding-top:0}.estimate-table .est-row b{text-align:right}.micro-note{margin:8px 0 0;color:var(--muted);font-size:8px;line-height:1.6}.score-bars{display:grid;gap:10px}.score-bars>div{display:grid;grid-template-columns:1fr auto;gap:4px}.score-bars span{font-size:9px;color:var(--ink2)}.score-bars strong{font-size:10px}.score-bars i{grid-column:1/3;height:7px;background:rgba(255,255,255,.08);border-radius:999px;overflow:hidden}.score-bars i b{display:block;width:0;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--cyan),var(--green));transition:width .7s ease}.result-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.compact{min-height:55px}.compact span{font-size:12px}.compact small{font-size:8px}.ghost-btn{border:1px solid var(--line);border-radius:12px;background:rgba(10,27,55,.76);padding:9px 12px;font-size:10px;font-weight:1000;cursor:pointer}
.campaign{padding:18px;margin-bottom:12px}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:13px}.section-head h2{margin:0;font-size:24px}.section-head p:not(.kicker){margin:3px 0 0;color:var(--muted);font-size:11px}.section-head>span{font-size:10px;color:var(--gold);font-weight:1000;padding:6px 9px;border:1px solid rgba(255,214,111,.25);border-radius:999px}.campaign-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.campaign-card{position:relative;border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,rgba(14,34,68,.8),rgba(5,14,31,.9));padding:12px;min-height:154px;cursor:pointer;text-align:left;overflow:hidden}.campaign-card::after{content:"";position:absolute;width:110px;height:110px;border-radius:50%;right:-45px;bottom:-55px;background:radial-gradient(circle,rgba(94,230,255,.15),transparent 68%)}.campaign-card:hover{border-color:rgba(94,230,255,.48);transform:translateY(-1px)}.campaign-card .mission-num{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:9px;background:rgba(94,230,255,.12);color:var(--cyan);font-size:9px;font-weight:1000}.campaign-card h3{font-size:13px;margin:8px 0 3px}.campaign-card p{margin:0;color:var(--muted);font-size:9px;line-height:1.65}.campaign-card .difficulty{display:flex;gap:3px;margin-top:9px}.campaign-card .difficulty i{width:17px;height:4px;border-radius:99px;background:rgba(255,255,255,.1)}.campaign-card .difficulty i.on{background:var(--gold)}.campaign-card .complete{position:absolute;right:9px;top:9px;font-size:8px;font-weight:1000;color:var(--green);padding:3px 6px;border:1px solid rgba(114,239,189,.25);border-radius:999px;background:rgba(114,239,189,.06)}
.learn-band{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-bottom:12px}.learn-band>div{padding:15px;border-right:1px solid var(--line)}.learn-band>div:last-child{border-right:0}.learn-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:rgba(94,230,255,.11);color:var(--cyan);font-weight:1000;font-size:10px;margin-bottom:7px}.learn-band b{font-size:12px}.learn-band p{margin:4px 0 0;color:var(--muted);font-size:9px;line-height:1.65}.footer-note{text-align:center;color:var(--muted);font-size:9px;max-width:980px;margin:0 auto}.footer-note p{margin:0 0 7px}.footer-note div{display:flex;justify-content:center;gap:11px;flex-wrap:wrap}.footer-note button{border:0;background:transparent;color:var(--cyan);cursor:pointer;text-decoration:underline;font-size:9px}.footer-note a{font-size:9px;text-decoration:underline}
.modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:14px}.modal-backdrop{position:absolute;inset:0;background:rgba(0,2,8,.78);backdrop-filter:blur(8px)}.modal-card{position:relative;width:min(860px,100%);max-height:min(88vh,900px);overflow:auto;border:1px solid rgba(122,174,255,.22);border-radius:21px;background:linear-gradient(180deg,#102347,#071327);box-shadow:0 30px 100px rgba(0,0,0,.62);padding:21px}.modal-card h2{margin:0 35px 13px 0;font-size:23px}.modal-close{position:absolute;right:12px;top:10px;width:34px;height:34px;border:1px solid var(--line);border-radius:10px;background:rgba(3,11,25,.75);font-size:20px;cursor:pointer}.modal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.modal-option{border:1px solid var(--line);border-radius:13px;padding:12px;background:rgba(5,16,35,.68)}.modal-option h3{margin:0 0 5px;font-size:13px}.modal-option p{margin:0 0 8px;color:var(--muted);font-size:9px;line-height:1.65}.modal-option button,.modal-option a{display:inline-flex;justify-content:center;align-items:center;min-height:36px;border:1px solid rgba(94,230,255,.24);border-radius:9px;background:rgba(20,56,92,.68);padding:7px 9px;color:#fff;font-weight:900;font-size:9px;cursor:pointer}.modal-table{width:100%;border-collapse:collapse;font-size:9px}.modal-table th,.modal-table td{padding:7px;border:1px solid rgba(122,174,255,.14);text-align:left}.modal-table th{background:rgba(94,230,255,.07)}.modal-lede{color:var(--ink2);font-size:11px}.modal-note{padding:10px;border-left:3px solid var(--gold);background:rgba(255,214,111,.07);color:var(--muted);font-size:9px;line-height:1.7}.log-list{display:grid;gap:7px}.log-entry{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center;padding:9px;border:1px solid var(--line);border-radius:11px;background:rgba(3,11,25,.55)}.log-entry .log-icon{display:grid;place-items:center;width:31px;height:31px;border-radius:9px;background:rgba(94,230,255,.1)}.log-entry b{font-size:10px}.log-entry small{display:block;color:var(--muted);font-size:8px}.log-entry strong{font-size:11px;color:var(--gold)}
.attract{position:fixed;inset:0;z-index:200;display:grid;place-items:center;align-content:center;text-align:center;background:radial-gradient(circle at 50% 45%,rgba(29,103,207,.28),transparent 38%),linear-gradient(180deg,#06152b,#02050c);padding:30px}.attract p{font-size:18px;color:var(--gold);margin:18px 0 5px}.attract h2{font-size:clamp(36px,6vw,84px);margin:0 0 20px;line-height:1.05}.attract button{border:0;border-radius:18px;background:linear-gradient(180deg,#9ef4ff,#3cd5e9);color:#04131b;min-height:70px;padding:14px 28px;font-size:20px;font-weight:1000;cursor:pointer;animation:attractPulse 1.7s ease-in-out infinite}.attract-orbit{width:min(620px,80vw);height:250px;position:relative}.attract-orbit::after{content:"";position:absolute;left:8%;right:8%;top:50%;height:120px;border:3px solid rgba(94,230,255,.35);border-radius:50%;transform:translateY(-50%) rotate(-7deg)}.attract-earth,.attract-asteroid,.attract-probe{position:absolute;z-index:2}.attract-earth{width:130px;height:130px;border-radius:50%;right:10%;top:58px;background:radial-gradient(circle at 35% 30%,#fff,#42c9ff 9%,#176bc8 50%,#071a4d 77%);box-shadow:0 0 55px rgba(70,206,255,.55)}.attract-asteroid{width:75px;height:66px;border-radius:44% 59% 48%;left:9%;top:73px;background:radial-gradient(circle at 30% 27%,#9d9187,#4a403b 48%,#161112);box-shadow:0 0 28px rgba(255,103,75,.25);animation:asteroidSpin 8s linear infinite}.attract-probe{width:52px;height:22px;border-radius:5px;left:47%;top:110px;background:#75e5ff;box-shadow:0 0 24px rgba(94,230,255,.72)}@keyframes attractPulse{50%{transform:scale(1.035);box-shadow:0 0 44px rgba(94,230,255,.35)}}
.toast{position:fixed;left:50%;bottom:20px;z-index:300;transform:translate(-50%,20px);opacity:0;pointer-events:none;border:1px solid rgba(94,230,255,.28);border-radius:12px;background:rgba(3,12,27,.94);box-shadow:0 15px 45px rgba(0,0,0,.4);padding:9px 13px;color:#fff;font-size:10px;font-weight:900;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}
body.teacher-mode .topbar{position:static}body.teacher-mode .hero{min-height:auto}body.teacher-mode .mission-head{font-size:110%}body.teacher-mode .control-head h3{font-size:22px}body.teacher-mode .choice-card b{font-size:15px}body.teacher-mode .choice-card small{font-size:11px}
body.museum-mode #app{width:min(1600px,100%);padding:10px 18px 28px}body.museum-mode .safety-strip,body.museum-mode .daily-strip,body.museum-mode .campaign,body.museum-mode .learn-band,body.museum-mode .footer-note{display:none}body.museum-mode .hero h1{font-size:clamp(46px,5vw,82px)}body.museum-mode .hero-lede{font-size:18px}body.museum-mode .primary-btn,body.museum-mode .secondary-btn{min-height:82px}body.museum-mode .mission-grid{grid-template-columns:1.4fr .6fr;min-height:68vh}body.museum-mode #spaceCanvas{min-height:68vh}body.museum-mode .control-head h3{font-size:28px}body.museum-mode .control-head p{font-size:15px}body.museum-mode .choice-card b{font-size:17px}body.museum-mode .choice-card small{font-size:13px}body.museum-mode .choice-card{padding:15px}body.museum-mode .next-btn,body.museum-mode .back-btn{min-height:58px;font-size:16px}
@media(max-width:980px){
 .hero{grid-template-columns:1fr;min-height:auto}.hero-visual{min-height:370px}.mission-grid{grid-template-columns:1fr}.space-panel{height:500px;border-right:0;border-bottom:1px solid var(--line)}#spaceCanvas{height:100%;min-height:0}.control-panel #stepContent{min-height:260px}.live-analysis{grid-template-columns:1fr 1fr}.result-grid{grid-template-columns:1fr 1fr}.score-panel{grid-column:1/3}.campaign-grid{grid-template-columns:repeat(2,1fr)}.learn-band{grid-template-columns:repeat(2,1fr)}.learn-band>div:nth-child(2){border-right:0}.learn-band>div:nth-child(-n+2){border-bottom:1px solid var(--line)}
}
@media(max-width:700px){
 #app{padding:7px 7px 36px}.topbar{align-items:flex-start}.brand-copy small{display:none}.icon-btn .wide{display:none}.top-actions{gap:4px}.icon-btn{padding:7px 8px;min-height:35px}.safety-strip{align-items:flex-start;flex-wrap:wrap}.safety-strip button{margin-left:0}.daily-strip{grid-template-columns:auto 1fr}.daily-state{grid-column:2}.hero-copy{padding:24px 15px 22px}.hero h1{font-size:37px}.hero-lede{font-size:12px}.hero-actions{display:grid;grid-template-columns:1fr}.primary-btn,.secondary-btn{width:100%}.hero-visual{min-height:315px}.hero-earth{width:160px;height:160px}.hero-asteroid{width:83px;height:75px}.hero-callout{left:5%;bottom:8%}.mission-head{align-items:flex-start;flex-direction:column;padding:13px}.mission-metrics{width:100%;grid-template-columns:repeat(4,1fr)}.mission-metrics div{min-width:0;padding:6px 3px}.phase-nav button{grid-template-columns:1fr;grid-template-rows:auto auto auto;text-align:center;place-items:center;min-height:72px}.phase-nav button span{grid-row:auto}.phase-nav button small{display:none}.space-panel{height:430px}#spaceCanvas{height:100%;min-height:0}.canvas-message{top:50px;min-width:0;max-width:calc(100% - 34px);padding:7px 10px}.control-panel{padding:14px 11px}.live-analysis{grid-template-columns:1fr;padding:13px}.result{padding:13px}.result-top{grid-template-columns:1fr}.score-ring{width:100px;height:100px}.result-grid{grid-template-columns:1fr}.score-panel{grid-column:auto}.result-actions{display:grid;grid-template-columns:1fr}.ghost-btn{min-height:44px}.campaign{padding:13px}.campaign-grid{grid-template-columns:1fr}.learn-band{grid-template-columns:1fr}.learn-band>div{border-right:0;border-bottom:1px solid var(--line)!important}.learn-band>div:last-child{border-bottom:0!important}.modal-grid{grid-template-columns:1fr}.modal-card{padding:16px}.bplane-wrap svg{height:230px}.observation-summary{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:430px){.hero h1{font-size:31px}.hero-visual{min-height:280px}.hero-earth{right:1%;bottom:8%;width:142px;height:142px}.hero-asteroid{left:4%;top:11%;width:72px;height:66px}.hero-probe{left:41%;top:39%;transform:scale(.85) rotate(22deg)}.hero-callout{font-size:9px}.mission-metrics{grid-template-columns:repeat(2,1fr)}.phase-nav button{min-height:64px}.phase-nav button b{font-size:9px}.space-panel{height:390px}#spaceCanvas{height:100%;min-height:0}.control-head h3{font-size:17px}.result-copy h2{font-size:32px}.estimate-table .est-row{font-size:8px}.attract h2{font-size:43px}.attract p{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.hero-earth,.hero-asteroid,.hero-probe,.attract button{animation:none!important}}
@media print{body{background:#fff;color:#111}body::before,.topbar,.safety-strip,.daily-strip,.hero,.phase-nav,.space-panel,.control-panel,.result-actions,.campaign,.learn-band,.footer-note,.modal,.toast{display:none!important}#app{width:100%;padding:0}.card,.result,.result-panel,.live-analysis{box-shadow:none;border:0;background:#fff;color:#111}.result{display:block!important}.result-copy p,.micro-note,.why-box p,.analysis-copy p{color:#444}.bplane-wrap{background:#fff}.capture-label,.point-label{fill:#222}}
.sim-shell,.result,.campaign{scroll-margin-top:76px}
