:root{font-family:DM Sans,system-ui,sans-serif;color:#f5f5fb;background:#10172a;font-synthesis:none;text-rendering:optimizeLegibility;--panel:#1a2440;--panel2:#202d4c;--text:#f5f5fb;--muted:#b6c0d7;--accent:#b7f087;--violet:#a69cff;--line:#344363}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(ellipse at 76% 12%,#253252 0,transparent 38%),#10172a}button,select{font:inherit}button,select{color:inherit}button{cursor:pointer}button:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #ffda72;outline-offset:3px}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,5vw,72px);border-bottom:1px solid #293653;background:#10172add;position:relative;z-index:2}.brand{display:flex;gap:11px;align-items:center;text-decoration:none;color:var(--text);font-weight:700;letter-spacing:.03em}.brand b{font-weight:500;color:#b6c0d7;margin-left:6px}.brand-mark{color:var(--accent);font-size:26px}.top-actions{display:flex;align-items:center;gap:10px}select,.icon-button{background:#202b46;border:1px solid #405072;border-radius:12px;min-height:42px;padding:0 13px}.icon-button{min-width:42px}.screen{max-width:1320px;margin:0 auto;padding:clamp(24px,4vw,58px)}.hidden{display:none!important}.welcome{min-height:calc(100vh - 73px);display:grid;grid-template-columns:1fr 1fr;align-items:center;overflow:hidden}.hero-copy{position:relative;z-index:1;padding:24px 0}.eyebrow{color:var(--accent);font-weight:700;letter-spacing:.16em;text-transform:uppercase;font-size:.75rem;margin:0 0 12px}.hero-copy h1{font:700 clamp(4rem,9vw,8.2rem)/.85 "Space Grotesk",sans-serif;letter-spacing:-.08em;margin:0 0 24px}.hero-copy h1 span{color:#b9acff}.lead{font-size:clamp(1.1rem,2.4vw,1.5rem);line-height:1.45;color:#d2d9e9;max-width:440px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.primary,.secondary{border:0;border-radius:14px;padding:15px 24px;min-height:52px;font-weight:700}.primary{background:var(--accent);color:#14202b}.secondary{background:#2a3655;border:1px solid #53658a}.primary:hover{background:#c9ffa0}.text-button,.hint-link{background:none;border:0;color:#c7bfff;text-decoration:underline;text-underline-offset:4px;padding:12px 2px}.micro{color:#97a4bd;font-size:.84rem;margin-top:30px}.hero-orbit{min-height:500px;position:relative;display:grid;place-items:center}.planet{height:min(48vw,390px);width:min(48vw,390px);border-radius:50%;background:linear-gradient(140deg,#d4c1a7,#8f7f77 55%,#514d65);box-shadow:inset -36px -28px 60px #171d37,0 0 90px #9c93f026;position:relative;overflow:hidden}.planet:before,.planet:after{content:"";position:absolute;background:#514f69;border-radius:50%;opacity:.58}.planet:before{height:44px;width:65px;left:22%;top:38%}.planet:after{height:28px;width:42px;right:22%;top:65%}.planet-crater{position:absolute;border-radius:50%;background:#726b72;box-shadow:inset 7px 5px 9px #454452;opacity:.7}.c1{width:27px;height:17px;top:24%;left:52%}.c2{width:48px;height:27px;top:72%;left:38%}.c3{width:23px;height:14px;top:53%;right:15%}.orbit-ring{position:absolute;width:min(62vw,530px);height:185px;border:1px solid #a6a2e080;border-radius:50%;transform:rotate(-24deg)}.astronaut{position:absolute;z-index:1;font-size:50px;color:#f3f4ff;background:#f3f4ff;border-radius:45% 45% 38% 38%;width:64px;height:78px;display:grid;place-items:center;box-shadow:0 10px 30px #05071380;top:24%;right:17%;transform:rotate(20deg)}.astronaut:after{content:"";position:absolute;width:38px;height:22px;background:#778bb4;border-radius:50%;top:17px}.star{position:absolute;color:#c0f88f}.s1{top:13%;left:20%;font-size:28px}.s2{top:24%;right:8%;font-size:24px}.s3{bottom:18%;left:12%;font-size:44px;color:#fff}.orbit-dot{position:absolute;width:13px;height:13px;background:var(--accent);border-radius:50%;right:19%;bottom:25%;box-shadow:0 0 20px var(--accent)}h2{font:600 clamp(1.35rem,2vw,1.8rem) "Space Grotesk",sans-serif;margin:0}.play{padding-top:26px}.play-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.resources{display:flex;gap:9px;flex-wrap:wrap}.resource{padding:9px 12px;background:#202a44;border:1px solid #344363;border-radius:12px;font-size:.9rem;min-width:108px}.resource b{display:block;font-size:1.1rem}.resource small{color:#a9b5cd}.game-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.85fr);gap:18px}.world-frame{min-height:410px;position:relative;border:1px solid #394867;border-radius:18px;overflow:hidden;background:#141e35}.world-frame #game{height:100%;min-height:410px}.world-caption{position:absolute;left:14px;bottom:12px;padding:8px 12px;border-radius:10px;background:#10172ad9;color:#e8edfa;font-size:.88rem;pointer-events:none}.mission-panel{background:linear-gradient(145deg,#202c49,#19223a);border:1px solid #394867;border-radius:18px;padding:22px;display:flex;flex-direction:column;min-height:410px}.mission-panel h3{font:600 1.2rem Space Grotesk,sans-serif;margin:0 0 10px}.mission-panel p{line-height:1.5;color:#d0d8e9;margin:8px 0}.mission-panel .soft{color:#aebbd2;font-size:.9rem}.panel-actions{display:grid;gap:9px;margin-top:auto;padding-top:14px}.choice,.build-button,.wide-button{min-height:46px;text-align:left;border:1px solid #52648a;background:#293755;border-radius:12px;padding:11px 14px;color:#f5f5fb}.choice:hover,.build-button:hover,.wide-button:hover{background:#364665}.choice strong{color:var(--accent)}.choice:disabled,.build-button:disabled{opacity:.48;cursor:not-allowed}.hint-link{align-self:flex-start;margin-top:6px}.move-pad{position:absolute;right:12px;bottom:48px;display:grid;grid-template-columns:repeat(3,42px);grid-template-rows:repeat(2,42px);gap:4px}.move-pad button{background:#10172ad9;border:1px solid #aab8d4;border-radius:10px;font-size:20px}.move-pad button:nth-child(1){grid-column:2}.move-pad button:nth-child(2){grid-column:1;grid-row:2}.move-pad button:nth-child(3){grid-column:2;grid-row:2}.move-pad button:nth-child(4){grid-column:3;grid-row:2}.bottom-row{display:flex;gap:18px;align-items:center;flex-wrap:wrap;color:#aebbd2;margin-top:12px}.bottom-row #status{flex:1}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#050914d9;z-index:5;display:grid;place-items:center;padding:18px}.modal-card{position:relative;width:min(580px,100%);max-height:85vh;overflow:auto;background:#202b46;border:1px solid #59698c;border-radius:20px;padding:28px}.modal-card h2{margin:0 35px 18px 0}.modal-card p,.modal-card li{color:#d3dced;line-height:1.55}.close{position:absolute;right:16px;top:13px;border:0;background:transparent;font-size:28px}.level-list{display:grid;gap:10px}.level-item{padding:13px;background:#293755;border-radius:12px;color:#c7d0e3}.level-item b{color:#fff}.toast{position:fixed;bottom:18px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#eaf3d9;color:#14202b;padding:12px 18px;border-radius:12px;font-weight:600;transition:.2s;z-index:7}.toast.show{opacity:1;transform:translate(-50%)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.badge{display:inline-block;background:#354761;color:#d8f8a9;border-radius:20px;padding:5px 10px;margin:3px;font-size:.85rem}.key{border:1px solid #7886a2;padding:1px 6px;border-radius:5px;color:#fff}@media(max-width:850px){.welcome{grid-template-columns:1fr;min-height:auto}.hero-copy{padding-top:40px}.hero-orbit{min-height:330px}.planet{height:270px;width:270px}.orbit-ring{width:360px;height:140px}.game-layout{grid-template-columns:1fr}.mission-panel{min-height:280px}.world-frame,.world-frame #game{min-height:360px}.play-head{align-items:flex-start;flex-direction:column}.resources{width:100%}.resource{flex:1;min-width:90px}}@media(max-width:520px){.topbar{height:62px;padding:0 14px}.brand b{display:none}.screen{padding:20px 15px}.hero-copy h1{font-size:4.5rem}.hero-orbit{min-height:275px}.planet{height:230px;width:230px}.orbit-ring{width:300px;height:110px}.astronaut{top:19%;right:16%}.world-frame,.world-frame #game{min-height:330px}.mission-panel{padding:18px}.resources{gap:6px}.resource{padding:8px 9px;font-size:.78rem;min-width:0}.resource b{font-size:1rem}.bottom-row{gap:8px}.bottom-row #status{flex-basis:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
