@font-face{font-family:Rubik;font-weight:400;font-display:swap;src:url(/fonts/rubik-400.woff2) format("woff2")}@font-face{font-family:Rubik;font-weight:600;font-display:swap;src:url(/fonts/rubik-600.woff2) format("woff2")}@font-face{font-family:Rubik;font-weight:800;font-display:swap;src:url(/fonts/rubik-800.woff2) format("woff2")}:root{--bg: #05070f;--fg: #f4f6fb;--muted: #9fb0c8;--accent: #ffe066;--panel: rgba(10, 14, 28, .82);--sat: env(safe-area-inset-top, 0px);--sab: env(safe-area-inset-bottom, 0px);--sal: env(safe-area-inset-left, 0px);--sar: env(safe-area-inset-right, 0px);font-family:Rubik,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--fg);color-scheme:dark}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;width:100%;overflow:hidden;background:var(--bg);overscroll-behavior:none}body{position:fixed;inset:0;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}button{font:inherit}.screen{position:fixed;inset:0;overflow:hidden}.title{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:24px}.title h1{margin:0;font-size:46px;font-weight:800;letter-spacing:-.5px;text-shadow:0 0 24px rgba(159,214,255,.5)}.tagline{margin:0;color:var(--muted)}.stars{position:absolute;inset:0;background-image:radial-gradient(1px 1px at 20% 30%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 70% 20%,#fff 50%,transparent 51%),radial-gradient(1.5px 1.5px at 40% 70%,#bcd7ff 50%,transparent 51%),radial-gradient(1px 1px at 85% 60%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 10% 80%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 55% 45%,#fff 50%,transparent 51%),radial-gradient(1.5px 1.5px at 30% 10%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 90% 90%,#bcd7ff 50%,transparent 51%);opacity:.8}.title-planet{position:relative;width:200px;height:200px;margin-bottom:16px}.title-planet-ball{width:200px;height:200px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#6fb24f,#3d7a2e 60%,#24501c);box-shadow:0 0 40px #9fd6ff59,inset -20px -20px 40px #0006;animation:spin 30s linear infinite}.title-rocket{position:absolute;top:-66px;right:-34px;width:116px;transform:rotate(45deg);transform-origin:50% 80%;animation:liftoff 3.2s ease-in-out infinite;filter:drop-shadow(0 6px 10px rgba(0,0,0,.5))}.title-rocket img{width:100%;display:block;position:relative;z-index:1}.title-flame{position:absolute;left:50%;top:77%;width:20px;height:40px;margin-left:-11px;z-index:0;border-radius:50% 50% 60% 60%/30% 30% 70% 70%;background:radial-gradient(ellipse at 50% 20%,#fff6c8,#ffd056 35%,#ff7a2a 65%,#ff5a2800);transform-origin:50% 0;animation:flame .18s ease-in-out infinite alternate;filter:blur(.6px)}@keyframes liftoff{0%,to{transform:rotate(45deg) translate(0)}50%{transform:rotate(43deg) translate(-3px,-7px)}}@keyframes flame{0%{transform:scaleY(1) scaleX(1);opacity:.95}to{transform:scaleY(1.25) scaleX(.85);opacity:.8}}@keyframes spin{0%{filter:hue-rotate(0deg)}to{filter:hue-rotate(0deg)}}.title-buttons{display:flex;flex-direction:column;gap:10px;width:min(280px,80vw);z-index:1}.footer{position:absolute;bottom:calc(16px + var(--sab));color:var(--muted);font-size:12px;margin:0}.btn{border:1px solid rgba(255,255,255,.2);background:#ffffff14;color:var(--fg);padding:12px 18px;border-radius:12px;font-size:16px;cursor:pointer;width:100%;touch-action:manipulation}.btn:active{transform:scale(.98);background:#ffffff29}.btn.primary{background:var(--accent);color:#1a1600;border-color:transparent;font-weight:700}.btn.danger{background:#ff5a5a33;border-color:#ff5a5a66}.confirm{display:flex;flex-direction:column;gap:8px;align-items:stretch}.confirm span{color:var(--muted);font-size:14px}.game{background:var(--bg)}.game-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none}.hud{position:absolute;inset:0;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between;padding:calc(10px + var(--sat)) calc(10px + var(--sar)) calc(12px + var(--sab)) calc(10px + var(--sal))}.hud-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.hud-top-left{display:flex;flex-direction:column;gap:6px;min-width:150px;max-width:55%}.hud-top-right{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.hud-bottom{display:flex;flex-direction:column;align-items:center;gap:8px}.icon-btn{pointer-events:auto;width:44px;height:44px;border-radius:12px;border:1px solid rgba(255,255,255,.2);background:var(--panel);color:var(--fg);font-size:14px;cursor:pointer;touch-action:manipulation}.mini-globe{pointer-events:auto;width:60px;height:60px;padding:0;border:none;background:transparent;cursor:pointer;touch-action:manipulation}.rocket-status{background:var(--panel);border-radius:12px;padding:8px 10px;display:flex;flex-direction:column;gap:5px;backdrop-filter:blur(6px)}.planet-name{font-size:12px;color:var(--muted);font-weight:600;letter-spacing:.6px;text-transform:uppercase}.bar{display:flex;flex-direction:column;gap:2px}.bar.health{background:var(--panel);border-radius:12px;padding:8px 10px}.bar-label{display:flex;justify-content:space-between;font-size:12px;font-weight:600}.bar.ok .bar-label{color:#baf0a8}.bar-track{position:relative;height:8px;border-radius:4px;background:#ffffff1f;overflow:hidden}.bar-fill{height:100%;border-radius:4px;transition:width .25s ease}.bar-target{position:absolute;top:-1px;bottom:-1px;width:2px;background:#fff;opacity:.8}.hint{background:var(--panel);border-radius:999px;padding:9px 18px;font-size:14px;font-weight:600;letter-spacing:.1px;text-align:center;max-width:92vw;animation:hint-in .35s ease;backdrop-filter:blur(6px)}@keyframes hint-in{0%{transform:translateY(8px);opacity:0}to{transform:none;opacity:1}}.resource-bar{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;max-width:94vw}.chip{display:flex;align-items:center;gap:6px;background:var(--panel);border-radius:999px;padding:5px 10px;font-size:13px;font-weight:600}.chip.cap{border:1px solid rgba(255,255,255,.25)}.chip-icon{width:12px;height:12px;border-radius:3px;border:1px solid rgba(0,0,0,.4)}.modal-backdrop{position:absolute;inset:0;pointer-events:auto;display:flex;align-items:center;justify-content:center;background:#05070f99;padding:20px;animation:fade-in .25s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal{background:#101728;border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:22px;width:min(340px,92vw);display:flex;flex-direction:column;gap:10px;text-align:center;box-shadow:0 20px 60px #00000080;max-height:88vh;overflow:auto}.modal.wide{width:min(420px,94vw)}.modal h2{margin:0 0 4px;font-size:28px;font-weight:800;letter-spacing:-.3px}.modal p{margin:0}.muted{color:var(--muted);font-size:14px}.carry{background:#ffffff0d;border-radius:12px;padding:10px 12px;text-align:left}.carry-title{font-size:12px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.carry ul{margin:0;padding-left:18px;font-size:14px;line-height:1.5}.settings{display:flex;flex-direction:column;gap:10px}.toggle{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#ffffff0d;border-radius:12px;font-size:16px}.toggle input{width:22px;height:22px;accent-color:var(--accent)}.planet-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.planet-card{background:#ffffff0d;border-radius:12px;padding:10px 6px;display:flex;flex-direction:column;align-items:center;gap:4px}.planet-card.locked{opacity:.5}.planet-dot{width:34px;height:34px;border-radius:50%}.planet-card-name{font-size:12px;font-weight:600}.planet-card-sub{font-size:11px;color:var(--muted)}.globe-tip{pointer-events:auto;position:absolute;top:calc(122px + var(--sat));right:calc(10px + var(--sar));max-width:190px;background:var(--accent);color:#1a1600;border-radius:12px;padding:10px 12px;font-size:13px;line-height:1.35;box-shadow:0 8px 24px #00000073;animation:tip-in .4s ease}.globe-tip-arrow{position:absolute;top:-7px;right:22px;width:14px;height:14px;background:var(--accent);transform:rotate(45deg);border-radius:2px}@keyframes tip-in{0%{transform:translateY(6px);opacity:0}to{transform:none;opacity:1}}.icon-btn.close-map{width:60px;height:60px;border-radius:50%;font-size:22px;font-weight:800;background:var(--accent);color:#1a1600;border-color:transparent}.planet-list{display:flex;flex-direction:column;gap:6px;max-height:52vh;overflow:auto}.planet-row{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:8px 10px;color:var(--fg);cursor:pointer;font:inherit}.planet-row:active{background:#ffffff24}.planet-row.disabled{opacity:.45;cursor:default}.planet-row.here{border-color:var(--accent)}.planet-row .planet-dot{width:28px;height:28px;flex:none}.planet-row-main{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.planet-row-res{display:flex;gap:4px;align-items:center}.planet-row-cost{font-size:12px;color:var(--muted);white-space:nowrap}.pack-open{pointer-events:auto;cursor:pointer;border:1px solid rgba(255,255,255,.25);color:var(--fg);font:inherit;font-weight:600}.pack-caret{font-size:10px;color:var(--muted);margin-left:2px}.pack-open.pulse{border-color:var(--accent);animation:pack-pulse 1.2s ease-in-out infinite}@keyframes pack-pulse{0%,to{box-shadow:0 0 #ffe06699}50%{box-shadow:0 0 0 8px #ffe06600}}.pack-tip{width:100%;text-align:center;font-size:12px;color:var(--accent);font-weight:600}.pack-list{display:flex;flex-direction:column;gap:6px;max-height:50vh;overflow:auto}.pack-row{display:flex;align-items:center;gap:8px;background:#ffffff0d;border-radius:10px;padding:8px 10px}.chip-icon.big{width:18px;height:18px;border-radius:5px}.pack-name{flex:1;text-align:left;font-weight:600}.pack-count{color:var(--muted);min-width:24px;text-align:right}.pack-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:1px solid rgba(255,255,255,.22);background:#ff5a5a29;color:var(--fg);border-radius:50%;cursor:pointer}.pack-btn svg{width:22px;height:22px;display:block}.pack-btn:active{background:#ff5a5a59}.globe-pulse{transform-box:fill-box;transform-origin:center;animation:globe-pulse 1.3s ease-out infinite}@keyframes globe-pulse{0%{transform:scale(.6);opacity:1}to{transform:scale(3);opacity:0}}
