:root{--navy:#0b1230;--indigo:#1c2455;--indigo-2:#283172;--cyan:#43d8f7;--violet:#965bff;--gold:#ffc857;--white:#f4f8ff;--muted:#b3bde6;--danger:#ff6b81;--line:#96aaff47;--tile:#1c2455d1;--bg-a:#0b1230;--bg-b:#1c2455;--glow:var(--cyan);--radius:12px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.theme-mars{--bg-a:#2a0f12;--bg-b:#6b2a1a;--glow:#ff9a5a;--tile:#461c18d6;--line:#ffaa784d}.theme-europa{--bg-a:#0a1a3a;--bg-b:#3a2a78;--glow:#a9e4ff;--tile:#182c5cd6;--line:#aadcff52}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--navy);color:var(--white);-webkit-tap-highlight-color:transparent;overscroll-behavior:none;margin:0;font:16px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}h1,h2,h3,p{margin:0}button{font:inherit;color:inherit}img{max-width:100%;display:block}small{color:var(--muted);font-size:.8rem;display:block}:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.app{background:radial-gradient(1px 1px at 12% 18%, #fff 50%, transparent 51%), radial-gradient(1px 1px at 78% 9%, #fff 50%, transparent 51%), radial-gradient(1.5px 1.5px at 64% 42%, #cfe 50%, transparent 51%), radial-gradient(1px 1px at 30% 66%, #fff 50%, transparent 51%), radial-gradient(1.5px 1.5px at 90% 78%, #fff 50%, transparent 51%), radial-gradient(1px 1px at 8% 88%, #cdf 50%, transparent 51%), radial-gradient(120% 70% at 80% 0%, color-mix(in srgb, var(--violet) 22%, transparent), transparent 60%), linear-gradient(160deg, var(--bg-a), var(--bg-b));background-attachment:fixed;flex-direction:column;min-height:100%;display:flex}.btn{border:1.5px solid var(--line);background:var(--indigo-2);min-height:44px;color:var(--white);cursor:pointer;border-radius:10px;padding:8px 14px;font-weight:600}.btn:hover:not(:disabled){border-color:var(--cyan)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{border-color:var(--cyan);background:#1570a8}.btn-gold{border-color:var(--gold);background:#7a5a10}.btn-danger{border-color:var(--danger);background:#7a1f33}.btn-small{min-height:36px;padding:4px 10px;font-size:.9rem}.btn-big{min-height:54px;padding:12px 30px;font-size:1.15rem}.row{flex-wrap:wrap;gap:8px;margin:10px 0;display:flex}.title-main{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:14px;padding:24px 16px;display:flex}.title-icon{filter:drop-shadow(0 0 28px #43d8f759);width:min(46vw,230px);animation:5s ease-in-out infinite float}.title-logo img{width:min(88vw,520px)}.title-tag{color:var(--muted);font-size:1.05rem}.title-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:8px;display:flex}.title-foot{color:var(--muted);margin-top:10px;font-size:.82rem}@keyframes float{50%{transform:translateY(-8px)}}.hud{padding:6px 12px;padding-top:max(6px, env(safe-area-inset-top));border-bottom:1px solid var(--line);z-index:5;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0b1230c7;align-items:center;gap:10px;display:flex;position:sticky;top:0}.hud-logo{cursor:pointer;background:0 0;border:0;flex:none;min-height:44px;padding:0}.hud-logo img{width:auto;height:40px}.hud-level{flex:1;grid-template-columns:auto 1fr;align-items:center;column-gap:8px;min-width:0;display:grid}.hud-level-num{color:var(--gold);grid-row:span 2;font-weight:800}.xp-bar{background:#ffffff24;border-radius:99px;height:8px;overflow:hidden}.xp-bar>span{background:linear-gradient(90deg, var(--cyan), var(--violet));height:100%;transition:width .4s;display:block}.hud-xp{color:var(--muted);white-space:nowrap;font-size:.72rem}.hud-credits{flex:none;align-items:center;gap:6px;font-weight:800;display:flex}.coin{background:radial-gradient(circle at 35% 30%, #fff3c4, var(--gold) 55%, #b9831a);border:1px solid #fff3c4;border-radius:50%;width:16px;height:16px}.play{flex:1;justify-content:center;align-items:flex-start;gap:16px;padding:8px 6px 76px;display:flex}.board-area{flex-direction:column;gap:8px;width:100%;max-width:560px;display:flex}.planet-title{letter-spacing:.06em;text-transform:uppercase;color:var(--glow);text-align:center;font-size:1rem}.notice{border:1.5px solid var(--line);background:#1c2455e6;border-radius:10px;padding:8px 12px;font-size:.95rem}.notice-warn{border-color:var(--gold);background:#503a0ae6}.board{border:1.5px solid var(--line);width:100%;box-shadow:0 0 30px color-mix(in srgb, var(--glow) 18%, transparent);touch-action:manipulation;-webkit-user-select:none;user-select:none;background:#05091c8c;border-radius:16px;gap:3px;padding:4px;display:grid}.tile{aspect-ratio:1;border:1.5px solid var(--line);background:var(--tile);cursor:pointer;border-radius:9px;min-width:0;padding:10%;position:relative}.tile-item{touch-action:none}.tile-locked{opacity:.6;background:repeating-linear-gradient(45deg,#ffffff0a 0 6px,#0000 6px 12px);border-style:dashed}.tile-locked .lock{color:var(--muted);font-weight:700}.tile-selected{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold), 0 0 14px var(--gold);z-index:1}.tile-target{border-color:var(--cyan);border-style:dashed;box-shadow:inset 0 0 12px #43d8f799}.tile-preview{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold);background:#7a5a10bf}.tile-suggest{border-color:var(--cyan);animation:1.1s ease-in-out infinite pulse}.tile-dragging{opacity:.35}.item-icon{pointer-events:none;width:100%;height:100%;display:block}.tile-item .item-icon{animation:.18s ease-out pop}.tier-badge{pointer-events:none;background:#05091ce0;border-radius:6px;min-width:15px;padding:0 3px;font-size:.68rem;font-weight:800;line-height:1.35;position:absolute;bottom:1px;right:2px}@keyframes pop{0%{transform:scale(.6)}}@keyframes pulse{50%{box-shadow:0 0 0 3px var(--cyan), 0 0 16px var(--cyan)}}.drag-ghost{pointer-events:none;z-index:50;filter:drop-shadow(0 6px 10px #0009);width:56px;height:56px;position:fixed;transform:translate(-50%,-50%)}.item-menu{border-radius:var(--radius);border:1.5px solid var(--line);background:#0b1230db;flex-direction:column;gap:8px;min-height:112px;padding:10px;display:flex}.item-menu-empty{color:var(--muted);text-align:center;justify-content:center}.item-info{align-items:center;gap:10px;display:flex}.item-info .item-icon{flex:none;width:44px;height:44px}.item-info div{flex-direction:column;min-width:0;display:flex}.item-info span{color:var(--muted);font-size:.82rem}.item-actions{gap:5px;display:flex}.item-actions .btn{flex:1 1 0;min-width:0;padding:6px 2px;font-size:.85rem}.item-desc{display:none}.generators{gap:8px;display:flex}.generator{border-radius:var(--radius);border:2px solid var(--line);text-align:left;cursor:pointer;background:#1c2455eb;flex:1 1 0;align-items:center;gap:8px;min-width:0;min-height:56px;padding:6px 8px;display:flex;position:relative}.generator .item-icon{flex:none;width:34px;height:34px}.generator-ready{border-color:var(--cyan);box-shadow:0 0 14px #43d8f759}.generator-empty{opacity:.8}.generator-locked{opacity:.6;cursor:default;border-style:dashed}.gen-text{min-width:0;color:var(--muted);flex-direction:column;font-size:.74rem;display:flex}.gen-text strong{color:var(--white);font-size:.82rem}.gen-text>*{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gen-output{display:none}.charge-badge{background:var(--navy);border:1.5px solid var(--gold);white-space:nowrap;border-radius:99px;padding:0 7px;font-size:.85rem;font-weight:800;position:absolute;top:-9px;right:8px}.panel{z-index:20;border-top:2px solid var(--cyan);background:#0b1230;border-radius:16px 16px 0 0;flex-direction:column;display:flex;position:fixed;inset:64px 0}.panel-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.panel-head h2{font-size:1.15rem}.panel-body{flex-direction:column;flex:1;gap:10px;padding:12px;display:flex;overflow-y:auto}.panel-note{color:var(--muted);font-size:.88rem}.card{border-radius:var(--radius);border:1.5px solid var(--line);background:#1c2455bf;padding:12px}.card h3{font-size:1rem}.card h3 small{font-weight:400;display:inline}.card p{color:var(--muted);margin-top:2px;font-size:.9rem}.tag{border:1px solid var(--line);white-space:nowrap;border-radius:99px;padding:2px 8px;font-size:.72rem}.mission header,.mission footer{justify-content:space-between;align-items:center;gap:8px;display:flex}.mission footer{flex-wrap:wrap}.mission-story{border-color:var(--violet);background:#3c248299}.mission-ready{border-color:var(--gold);box-shadow:0 0 12px #ffc85759}.reqs,.codex,.checks,.howto{flex-direction:column;gap:6px;margin:8px 0;padding:0;list-style:none;display:flex}.reqs li,.codex li{align-items:center;gap:10px;font-size:.9rem;display:flex}.req-icon,.codex-icon,.toast-icon{flex:none;width:36px;height:36px}.req-count{margin-left:auto;font-weight:800}.req-done .req-count{color:#7dffa8}.reward{color:var(--gold);font-size:.88rem;font-weight:700}.codex-unknown strong{color:var(--muted);letter-spacing:.15em}.checks li{color:var(--danger);font-size:.9rem}.checks li.ok{color:#7dffa8}.howto{color:var(--muted);padding-left:18px;font-size:.9rem;list-style:outside}.howto strong{color:var(--white)}.planet,.upgrade{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.planet>div,.upgrade>div{flex:160px;min-width:0}.upgrade .item-icon{flex:none;width:44px;height:44px}.upgrade-locked{opacity:.6}.planet-current{border-color:var(--cyan)}.planet-orb{border-radius:50%;flex:none;width:48px;height:48px;box-shadow:inset -8px -6px 14px #0000008c}.planet-orbital .planet-orb{background:radial-gradient(circle at 35% 30%,#9fe6ff,#2a6fd6 55%,#0b1f5c)}.planet-mars .planet-orb{background:radial-gradient(circle at 35% 30%,#ffc08a,#c8502a 55%,#5c1a12)}.planet-europa .planet-orb{background:radial-gradient(circle at 35% 30%,#fff,#a9d8ff 50%,#5a4bb0)}.toggle{cursor:pointer;align-items:center;gap:10px;min-height:44px;display:flex}.toggle input{width:22px;height:22px;accent-color:var(--cyan)}.field{flex-direction:column;gap:6px;margin:12px 0;font-weight:600;display:flex}.field input{border:1.5px solid var(--line);background:var(--navy);min-height:44px;color:var(--white);font:inherit;border-radius:8px;padding:8px 10px;font-size:1rem}.nav{z-index:25;border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);background:#0b1230f7;display:flex;position:fixed;bottom:0;left:0;right:0}.nav-btn{min-height:60px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-top:3px solid #0000;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:.72rem;font-weight:600;display:flex;position:relative}.nav-glyph{font-size:1.2rem;line-height:1}.nav-active{color:var(--white);border-top-color:var(--cyan)}.nav-badge{background:var(--gold);color:#1a1200;border-radius:99px;min-width:18px;padding:0 5px;font-size:.72rem;font-weight:800;position:absolute;top:5px;right:calc(50% - 26px)}.toasts{z-index:60;pointer-events:none;flex-direction:column;align-items:center;gap:6px;padding:0 10px;display:flex;position:fixed;top:64px;left:0;right:0}.toast{border:1.5px solid var(--cyan);background:#1c2455;border-radius:12px;align-items:center;gap:8px;max-width:480px;padding:9px 14px;font-size:.92rem;font-weight:600;animation:.2s ease-out toast-in;display:flex;box-shadow:0 6px 20px #00000080}.toast-good{border-color:#7dffa8}.toast-error{border-color:var(--danger)}.toast-discovery{border-color:var(--gold);background:#3a2c08;font-size:1rem}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}}.modal-backdrop{z-index:80;background:#030614c7;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:var(--indigo);border:2px solid var(--cyan);border-radius:16px;flex-direction:column;gap:10px;width:100%;max-width:460px;max-height:90vh;padding:18px;display:flex;overflow-y:auto}.modal h2{font-size:1.2rem}.modal .panel-body{padding:0;overflow:visible}@media (width>=900px){.play{gap:20px;padding:16px}.game{height:100%}.play{align-items:stretch;min-height:0;overflow:hidden}.board-area{min-width:380px;max-width:min(560px,100vh - 390px);overflow-y:auto}.item-desc,.gen-output{display:block}.generator{min-height:64px;padding:8px 10px}.generator .item-icon{width:44px;height:44px}.gen-text{font-size:.8rem}.gen-text strong{font-size:.92rem}.item-actions .btn{font-size:.95rem}.panel{border:1.5px solid var(--line);border-radius:16px;flex:0 420px;order:2;min-height:0;position:static}.panel-close{display:none}.nav{border-top:0;border-bottom:1px solid var(--line);order:-1;justify-content:center;position:static}.nav-btn{border-top:0;border-bottom:3px solid #0000;flex-direction:row;flex:none;gap:8px;min-height:48px;padding:0 18px;font-size:.9rem}.nav-active{border-bottom-color:var(--cyan)}.nav-badge{position:static}.hud{order:-2}.toasts{top:auto;bottom:20px}}@media (width<=899px) and (height<=700px){.planet-title{display:none}}.reduce-motion *,.reduce-motion :before,.reduce-motion :after{transition:none!important;animation:none!important}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
