
:root{
  --bg:#0a061e;
  --panel:#18103f;
  --panel2:#211653;
  --text:#fff;
  --muted:#beb7dc;
  --cyan:#55dcff;
  --yellow:#ffd95c;
  --green:#63e6a6;
  --pink:#ff66ab;
  --red:#ff647d;
  --purple:#8068ff;
  --shadow:0 25px 80px rgba(0,0,0,.32);
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:"Nunito",sans-serif;color:var(--text);background:#0b0722}
button,input{font:inherit}
button{cursor:pointer}
.space-bg{position:fixed;inset:0;z-index:-4;background:
radial-gradient(circle at 20% 0%,#301a71 0%,transparent 30%),
radial-gradient(circle at 85% 22%,#12386e 0%,transparent 27%),
linear-gradient(#0a061e,#10092d 60%,#080518)}
.stars{position:absolute;inset:0;background-image:radial-gradient(#fff 1px,transparent 1px);opacity:.48}
.layer-a{background-size:74px 74px}
.layer-b{background-size:131px 131px;background-position:31px 50px;opacity:.28}
.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 max(18px,4vw);position:sticky;top:0;z-index:30;background:rgba(9,5,28,.75);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(18px)}
.brand{border:0;background:none;color:#fff;display:flex;align-items:center;gap:10px;font-family:"Baloo 2";font-weight:800;font-size:23px}
.brand-orbit{font-size:31px}
.top-actions{display:flex;gap:9px}
.pill,.round-btn{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);color:#fff;border-radius:999px;padding:9px 13px;font-weight:900}
.round-btn{width:43px}
main{width:min(1260px,94vw);margin:0 auto}
.screen{display:none;padding:38px 0 65px}
.screen.active{display:block;animation:fade .3s ease}
@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.kicker{font-size:12px;font-weight:900;letter-spacing:2px;color:var(--cyan)}
h1,h2,h3{font-family:"Baloo 2";margin:0;line-height:1.03}
h1{font-size:clamp(48px,7vw,90px);letter-spacing:-2px;margin:15px 0 20px}
h1 span{background:linear-gradient(90deg,#ff69af,#ffd95c,#58e2ff);background-clip:text;-webkit-background-clip:text;color:transparent}
.welcome-grid{display:grid;grid-template-columns:1.05fr .95fr;min-height:670px;align-items:center;gap:50px}
.welcome-copy p{font-size:19px;line-height:1.65;color:var(--muted);max-width:650px}
.primary,.secondary{border:0;border-radius:15px;padding:14px 21px;font-weight:900;transition:.18s}
.primary{background:linear-gradient(135deg,#ffe066,#ffaf4d);color:#25133c;box-shadow:0 12px 30px rgba(255,190,75,.17)}
.secondary{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.1)}
.primary:hover,.secondary:hover{transform:translateY(-2px)}
.primary.big{font-size:18px;padding:17px 27px}
.primary.full{width:100%;margin-top:23px}
.primary:disabled{opacity:.35;cursor:not-allowed;transform:none}
.secondary.compact{font-size:13px;padding:10px 14px}
.hero-space{height:540px;position:relative;display:grid;place-items:center}
.hero-planet{font-size:260px;filter:drop-shadow(0 30px 60px rgba(101,77,255,.35))}
.hero-rocket{position:absolute;font-size:95px;right:4%;bottom:90px;transform:rotate(-18deg);animation:float 3s ease-in-out infinite}
@keyframes float{50%{transform:translateY(-18px) rotate(-13deg)}}
.hero-star{position:absolute;font-size:42px}.s1{left:10%;top:18%}.s2{right:8%;top:11%}.s3{left:17%;bottom:17%}
.card{background:linear-gradient(180deg,rgba(31,20,78,.98),rgba(20,13,53,.98));border:1px solid rgba(255,255,255,.11);border-radius:29px;box-shadow:var(--shadow)}
.setup-card{width:min(920px,100%);margin:20px auto;padding:34px}
.setup-card h2{font-size:44px;margin:8px 0}
.muted{color:var(--muted)}
.group-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin:28px 0}
.group-btn{min-height:145px;border:2px solid transparent;border-radius:20px;background:rgba(255,255,255,.065);color:#fff;padding:15px;text-align:left;display:flex;flex-direction:column;justify-content:center}
.group-btn strong{font-family:"Baloo 2";font-size:42px;color:var(--yellow);line-height:.9}
.group-btn span{font-weight:900;margin-top:8px}
.group-btn small{color:var(--muted);margin-top:4px;line-height:1.3}
.group-btn.selected{border-color:var(--cyan);background:rgba(85,220,255,.12);transform:translateY(-3px)}
.profile-row{display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:end}
label{display:block;font-weight:900;margin-bottom:8px}
input{width:100%;background:#10092e;color:#fff;border:1px solid rgba(255,255,255,.13);border-radius:15px;padding:14px 16px;font-size:18px;outline:none}
input:focus{border-color:var(--cyan)}
.avatar-row{display:flex;gap:10px}
.avatar{font-size:32px;width:58px;height:52px;border-radius:14px;background:rgba(255,255,255,.07);color:#fff;border:2px solid transparent}
.avatar.selected{border-color:var(--yellow);background:rgba(255,217,92,.12)}
.early-years-note{margin-top:22px;padding:14px 16px;border:1px solid rgba(85,220,255,.2);background:rgba(85,220,255,.08);border-radius:16px;color:#dff9ff}
.game-layout{display:grid;grid-template-columns:340px 1fr;gap:23px;align-items:stretch}
.journey-panel,.play-panel{background:linear-gradient(180deg,rgba(29,19,73,.98),rgba(16,10,44,.98));border:1px solid rgba(255,255,255,.1);border-radius:28px;box-shadow:var(--shadow)}
.journey-panel{padding:19px;min-height:735px}
.play-panel{padding:27px;display:flex;flex-direction:column}
.pilot-card{display:flex;align-items:center;gap:11px;background:rgba(255,255,255,.06);border-radius:17px;padding:11px}
.pilot-avatar{width:48px;height:48px;border-radius:14px;background:rgba(255,255,255,.08);display:grid;place-items:center;font-size:29px}
.pilot-card div:last-child{display:flex;flex-direction:column}
.pilot-card small{color:var(--muted)}
.journey-title{text-align:center;margin:17px 0 10px;display:flex;flex-direction:column}
.journey-title span{font-size:10px;color:var(--cyan);letter-spacing:1.7px;font-weight:900}
.space-track{height:470px;position:relative;border-radius:24px;overflow:hidden;background:
radial-gradient(circle at 50% 15%,rgba(89,95,255,.18),transparent 22%),
linear-gradient(rgba(255,255,255,.02),rgba(255,255,255,.00));
border:1px solid rgba(255,255,255,.07)}
.space-track:after{content:"";position:absolute;left:50%;top:28px;bottom:30px;border-left:2px dashed rgba(255,255,255,.12)}
.system-marker{position:absolute;left:14px;right:14px;display:flex;align-items:center;gap:7px;z-index:2}
.system-marker span{font-size:28px}.system-marker small{font-size:11px;font-weight:900}.system-marker b{margin-left:auto;font-size:10px;color:var(--muted)}
.m100{top:14px}.m50{top:120px}.m25{top:225px}.m10{top:330px}.m0{bottom:12px}
.rocket-wrap{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);z-index:5;transition:bottom .9s cubic-bezier(.2,.9,.2,1)}
.rocket-status{position:absolute;left:50%;bottom:67px;transform:translateX(-50%);white-space:nowrap;font-size:9px;font-weight:900;background:rgba(9,5,28,.9);border:1px solid rgba(255,255,255,.12);padding:4px 7px;border-radius:999px}
.rocket-ship{position:relative;font-size:57px;filter:drop-shadow(0 11px 16px rgba(0,0,0,.35));transition:.25s}
.rocket-main{display:block}
.rocket-flame{width:15px;height:30px;border-radius:50%;background:linear-gradient(#fff3a0,#ff8f45,transparent);position:absolute;left:50%;top:49px;transform:translateX(-50%);filter:blur(1px);animation:flame .25s infinite alternate;z-index:-1}
@keyframes flame{to{height:39px;opacity:.72}}
.damage-mark{position:absolute;font-size:19px;display:none}.d1{left:-10px;top:29px}.d2{right:-12px;top:26px}.d3{left:22px;top:2px}
.rocket-ship.damaged{animation:damageShake .35s}
@keyframes damageShake{25%{transform:translateX(-8px) rotate(-7deg)}50%{transform:translateX(6px) rotate(6deg)}75%{transform:translateX(-4px) rotate(-3deg)}}
.rocket-ship.boost{animation:rocketBoost .65s}
@keyframes rocketBoost{50%{transform:translateY(-20px) scale(1.11)}}
.ship-health{margin-top:12px}
.health-head{display:flex;justify-content:space-between;font-size:11px;font-weight:900;margin-bottom:6px}
.health-track{height:9px;background:rgba(255,255,255,.08);border-radius:99px;overflow:hidden}
.health-track div{height:100%;width:100%;background:linear-gradient(90deg,#63e6a6,#54dfff);transition:.4s}
.journey-stats{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:13px}
.journey-stats div{background:rgba(255,255,255,.05);border-radius:12px;padding:9px;display:flex;flex-direction:column}
.journey-stats span{font-size:10px;color:var(--muted)}.journey-stats strong{font-size:20px}
.play-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.play-top h2{font-size:35px;margin-top:6px}
.repair-banner{margin:17px 0 0;padding:12px 14px;border-radius:16px;background:rgba(255,182,72,.11);border:1px solid rgba(255,182,72,.25);display:flex;gap:11px;align-items:center}
.repair-banner>span{font-size:30px}.repair-banner div{display:flex;flex-direction:column}.repair-banner small{color:var(--muted)}
.hidden{display:none!important}
.question-card{position:relative;flex:1;min-height:520px;margin-top:18px;border-radius:27px;background:linear-gradient(180deg,#211653,#15103a);border:1px solid rgba(255,255,255,.1);padding:30px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;overflow:hidden}
.speak-btn{position:absolute;top:17px;right:17px;border:0;border-radius:50%;width:49px;height:49px;background:rgba(85,220,255,.12);color:#fff;font-size:22px;border:1px solid rgba(85,220,255,.22)}
.question-visual{font-size:82px;min-height:95px;display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap}
.question-text{font-family:"Baloo 2";font-size:clamp(29px,4vw,47px);font-weight:800;line-height:1.08;max-width:780px}
.question-sub{color:var(--muted);margin-top:10px;font-size:16px}
.answers{width:100%;display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:25px}
.answer-btn{min-height:76px;border-radius:18px;border:2px solid rgba(255,255,255,.08);background:rgba(255,255,255,.07);color:#fff;padding:12px;font-size:20px;font-weight:900;transition:.15s}
.answer-btn:hover{border-color:var(--cyan);background:rgba(85,220,255,.11)}
.answer-btn.visual{font-size:40px;min-height:92px}
.answer-btn.correct{border-color:var(--green);background:rgba(99,230,166,.2);animation:answerPop .35s}
.answer-btn.wrong{border-color:var(--red);background:rgba(255,100,125,.18)}
@keyframes answerPop{50%{transform:scale(1.06)}}
.feedback{height:35px;margin-top:17px;font-size:18px;font-weight:900}
.bottom-status{display:flex;align-items:center;gap:20px;margin-top:18px}
.mini-progress{flex:1;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;font-size:11px;color:var(--muted)}
.mini-progress>div{height:8px;background:rgba(255,255,255,.08);border-radius:99px;overflow:hidden}.mini-progress>div>div{height:100%;background:linear-gradient(90deg,#ffce55,#ff72ac);width:0;transition:.4s}
.fx-layer{pointer-events:none;position:fixed;inset:0;z-index:100;overflow:hidden}
.confetti{position:absolute;font-size:20px;animation:confettiFly 1.1s ease-out forwards}
@keyframes confettiFly{0%{opacity:1;transform:translate(0,0) scale(.5) rotate(0)}100%{opacity:0;transform:translate(var(--x),var(--y)) scale(1.2) rotate(360deg)}}
.correct-glow{animation:correctGlow .65s}
@keyframes correctGlow{40%{box-shadow:0 0 0 5px rgba(99,230,166,.16),0 0 80px rgba(99,230,166,.25)}}
.wrong-glow{animation:wrongGlow .5s}
@keyframes wrongGlow{40%{box-shadow:0 0 0 5px rgba(255,100,125,.16),0 0 70px rgba(255,100,125,.22)}}
.milestone-overlay{position:fixed;inset:0;z-index:90;display:grid;place-items:center;background:rgba(5,3,20,.91);overflow:hidden}
.warp-lines{position:absolute;inset:-30%;background:repeating-radial-gradient(circle at center,transparent 0 21px,rgba(102,214,255,.15) 23px 24px);animation:warp 1.2s linear infinite}
@keyframes warp{to{transform:scale(1.25);opacity:.1}}
.milestone-card{position:relative;width:min(620px,90vw);text-align:center;background:linear-gradient(180deg,#2b1b69,#17103d);border:1px solid rgba(255,255,255,.15);border-radius:30px;padding:35px;box-shadow:0 0 100px rgba(100,89,255,.35)}
.medal-pop{font-size:108px;animation:medalPop .8s cubic-bezier(.2,1.4,.4,1)}
@keyframes medalPop{from{transform:scale(.1) rotate(-40deg)}to{transform:scale(1) rotate(0)}}
.milestone-card h2{font-size:50px;margin:10px}
.milestone-card p{color:var(--muted);font-size:17px}
.system-arrival{display:inline-block;background:rgba(255,255,255,.08);padding:12px 17px;border-radius:999px;margin:8px 0 22px;font-weight:900}
.early-mode .question-text{font-size:24px;color:var(--muted)}
.early-mode .question-sub{display:none}
.early-mode .question-visual{font-size:62px;min-height:150px}
.early-mode .answer-btn{font-size:42px;min-height:105px}
@media(max-width:980px){
  .game-layout{grid-template-columns:1fr}
  .journey-panel{min-height:auto}
  .space-track{height:300px}
  .m100{top:7px}.m50{top:70px}.m25{top:135px}.m10{top:200px}.m0{bottom:7px}
  .rocket-wrap{bottom:20px}
}
@media(max-width:760px){
  .topbar{height:64px;padding:0 13px}.brand{font-size:17px}.brand-orbit{font-size:25px}
  .pill{padding:7px 9px}.round-btn{width:39px;padding:7px}
  .welcome-grid{grid-template-columns:1fr;min-height:auto;text-align:center}
  .welcome-copy p{margin-left:auto;margin-right:auto}
  .hero-space{height:350px}.hero-planet{font-size:175px}.hero-rocket{font-size:68px;bottom:55px}
  .setup-card{padding:24px 16px}.setup-card h2{font-size:36px}
  .group-grid{grid-template-columns:repeat(2,1fr)}
  .profile-row{grid-template-columns:1fr}
  .play-panel{padding:18px 13px}.play-top{align-items:center}.play-top h2{font-size:27px}
  .question-card{min-height:480px;padding:24px 12px}
  .answers{grid-template-columns:1fr}
  .bottom-status{flex-direction:column;align-items:stretch}.mini-progress{grid-template-columns:auto 1fr auto}
}
