:root{--bg:#03050c;--text:#e6eeff;--muted:#93a3c4;--accent:#8cc4ff;--accent-strong:#5aa6ff;--gold:#ffd479;--danger:#ff8a8a;--success:#9ff0c8;--panel:#090f20c7;--panel-solid:#0a1124;--line:#7daaff47;--line-strong:#8cbeff8c;--glow:0 0 22px #468cff38;--radius:16px;--font:"Exo 2", "Segoe UI", system-ui, -apple-system, sans-serif;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:radial-gradient(1200px 800px at 50% 0%, #0b1030 0%, transparent 70%), radial-gradient(900px 700px at 50% 100%, #120a2a 0%, transparent 70%), var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}button{font:inherit;color:inherit}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.shell{background:#050814;width:100%;max-width:480px;height:100dvh;margin:0 auto;position:relative;overflow:hidden}@media (width>=481px){.shell{box-shadow:0 0 0 1px #78a0ff1f,0 0 60px #283ca040}}.shell-bg{z-index:0;width:100%;height:100%;position:absolute;inset:0}.shell-content{z-index:1;flex-direction:column;height:100%;display:flex;position:relative}.logo{justify-content:center;align-items:center;display:inline-flex;position:relative}.logo-text{letter-spacing:.55em;color:#eef4ff;text-shadow:0 0 12px #78b4ff59;margin-right:-.55em;font-size:22px;font-weight:500;position:relative}.logo-orbit{pointer-events:none;width:2.2em;height:2.2em;font-size:22px;position:absolute;top:50%;left:50%;overflow:visible;transform:translate(-50%,-50%)}.logo-orbit-ring{fill:none;stroke:#78beff8c;stroke-width:2.2px;stroke-dasharray:150 40 60 26}.logo-orbit-dot{fill:#9fd6ff;filter:drop-shadow(0 0 3px #6fb9ff)}.logo-large .logo-text{font-size:40px;font-weight:600}.logo-large .logo-orbit{font-size:40px}.game{flex-direction:column;height:100%;min-height:0;display:flex}.game-header{padding:calc(var(--safe-top) + 4px) 10px 4px;min-height:calc(58px + var(--safe-top));border:1px solid var(--line);-webkit-backdrop-filter:blur(6px);background:linear-gradient(#080d1ce6,#080d1c99);border-top:none;border-radius:0 0 20px 20px;flex:none;grid-template-columns:1fr auto 1fr;align-items:center;display:grid;box-shadow:0 6px 22px #00000059}.icon-btn{width:48px;height:48px;color:var(--accent);cursor:pointer;background:0 0;border:none;border-radius:12px;justify-self:start;place-items:center;display:grid}.icon-btn:hover{background:#78aaff14}.mode-tag{color:var(--accent);letter-spacing:.12em;justify-self:end;align-items:center;gap:8px;padding-right:6px;font-size:15px;font-weight:600;display:inline-flex}.hud{border:1px solid var(--line);box-shadow:var(--glow);letter-spacing:.06em;background:#080e1ea6;border-radius:14px;flex:none;align-self:center;align-items:center;gap:18px;margin:10px 0 4px;padding:7px 26px;font-size:22px;font-weight:600;display:flex}.hud-item{color:#eaf2ff;align-items:center;gap:12px;display:inline-flex}.hud-item svg{color:#d9e6ff}.hud-value{font-variant-numeric:tabular-nums;min-width:2.6em}.hud-unit{font-size:.86em;font-weight:500}.hud-divider{background:var(--line-strong);width:1px;height:28px}.playfield{touch-action:none;cursor:pointer;flex:auto;justify-content:center;align-items:center;min-height:0;padding:2px 4px;display:flex}.board{border-radius:14px;outline:1px solid #78a0ff12;display:block;box-shadow:inset 0 0 0 1px #78a0ff0f}.controls{padding:6px 12px calc(12px + var(--safe-bottom));flex:none;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;display:grid}.launch-btn{border:1px solid var(--line-strong);color:#e8f1ff;letter-spacing:.08em;cursor:pointer;touch-action:manipulation;background:linear-gradient(#12203cd9,#081022e6);border-radius:20px;justify-content:center;align-items:center;gap:14px;min-width:210px;min-height:56px;padding:0 28px;font-size:20px;font-weight:500;transition:opacity .2s,box-shadow .2s,transform 80ms;display:inline-flex;box-shadow:0 0 18px #4696ff47,inset 0 0 12px #5aa0ff1f}.launch-btn svg{color:var(--accent)}.launch-btn:active:not([aria-disabled=true]){transform:scale(.97)}.launch-btn[aria-disabled=true]{opacity:.55;box-shadow:none;cursor:default}.launch-btn.is-selecting{opacity:.9;font-size:17px}.quit-btn{border:1px solid var(--line);color:#cfdcf5;letter-spacing:.08em;cursor:pointer;background:#080e1eb3;border-radius:12px;justify-self:end;min-width:76px;min-height:44px;padding:0 16px;font-size:17px}@media (width<=380px){.hud{padding:6px 18px;font-size:19px}.launch-btn{gap:10px;min-width:0;padding:0 18px;font-size:17px}.logo-text{letter-spacing:.42em;margin-right:-.42em;font-size:19px}.mode-tag{gap:5px;font-size:13px}.controls{grid-template-columns:0 auto 1fr;gap:8px}}@media (width<=350px){.mode-tag-label{display:none}}.btn{border:1px solid var(--line);min-height:48px;color:var(--text);letter-spacing:.04em;cursor:pointer;background:#0c142acc;border-radius:14px;justify-content:center;align-items:center;gap:10px;padding:0 20px;font-size:17px;font-weight:500;transition:background .15s,border-color .15s,transform 80ms;display:inline-flex}.btn:hover{border-color:var(--line-strong);background:#142040d9}.btn:active{transform:scale(.98)}.btn svg{color:var(--accent);flex:none}.btn-primary{background:linear-gradient(#285ab4a6,#143278b3);border-color:#8cc3ffa6;box-shadow:0 0 20px #468cff47}.btn-primary svg{color:#d9ecff}.btn-primary:hover{background:linear-gradient(#3269c8bf,#193c8ccc)}.btn-danger{color:#ffc4c4;border-color:#ff828259}.btn-link{color:var(--muted);background:0 0;border-color:#0000;min-height:44px}.btn-big{justify-content:flex-start;gap:16px;width:100%;min-height:64px;padding:0 22px;font-size:20px}.btn-center{justify-content:center}.btn-small{min-height:44px;padding:0 18px;font-size:16px}.btn-stack{flex-direction:column;align-items:flex-start;line-height:1.2;display:flex}.btn-stack small{color:var(--muted);letter-spacing:.02em;font-size:13px}.btn-primary .btn-stack small{color:#bcd6ff}.screen{min-height:0;padding:calc(var(--safe-top) + 20px) 22px calc(var(--safe-bottom) + 20px);flex:1;overflow-y:auto}.menu{flex-direction:column;justify-content:center;align-items:center;gap:20px;display:flex}.menu-title{text-align:center}.tagline{color:var(--muted);letter-spacing:.04em;margin:14px 0 0;font-size:16px}.hero{flex:none;place-items:center;width:200px;height:170px;display:grid;position:relative}.hero-planet{width:140px;height:140px}.hero-orbit{border:1px solid #82beff8c;border-radius:50%;width:128px;height:128px;animation:5s linear infinite spin;position:absolute;box-shadow:0 0 14px #4696ff59}.hero-probe{background:#eaf6ff;border-radius:50%;width:8px;height:8px;margin-left:-4px;position:absolute;top:-4px;left:50%;box-shadow:0 0 10px 3px #78c8ffcc}@keyframes spin{to{transform:rotate(360deg)}}.menu-buttons{flex-direction:column;gap:12px;width:100%;display:flex}.streak{color:var(--gold);align-items:center;gap:6px;margin:0;font-weight:500;display:inline-flex}.how-to{color:var(--muted);letter-spacing:.08em;margin:0;font-size:14px}.menu-secondary{gap:12px;margin-top:6px;display:flex}.panel-screen{flex-direction:column;justify-content:center;display:flex}.back-btn{top:calc(var(--safe-top) + 12px);border:1px solid var(--line);width:48px;height:48px;color:var(--accent);cursor:pointer;z-index:2;background:#080e1eb3;border-radius:12px;place-items:center;display:grid;position:absolute;left:12px}.card{border:1px solid var(--line);background:var(--panel);box-shadow:var(--glow);-webkit-backdrop-filter:blur(8px);border-radius:22px;flex-direction:column;gap:18px;padding:26px 22px;display:flex}.card-title{text-align:center;letter-spacing:.22em;text-transform:uppercase;margin:0;font-size:28px;font-weight:600}.card-sub{text-align:center;color:var(--muted);letter-spacing:.04em;margin:-10px 0 0}.card-note{text-align:center;color:var(--muted);margin:-6px 0 0;font-size:14px}.field{flex-direction:column;gap:10px;display:flex}.field-label{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;font-size:14px}.field-hint{color:var(--muted);margin:0;font-size:14px}.stepper{justify-content:center;align-items:center;gap:18px;display:flex}.step-btn{border:1px solid var(--line);cursor:pointer;background:#0c142ad9;border-radius:14px;width:52px;height:52px;font-size:26px;line-height:1}.step-btn:disabled{opacity:.35;cursor:default}.step-value{text-align:center;font-variant-numeric:tabular-nums;min-width:2ch;font-size:38px;font-weight:600}.segmented{border:1px solid var(--line);background:#060a18b3;border-radius:14px;grid-template-columns:repeat(3,1fr);gap:6px;padding:4px;display:grid}.seg{cursor:pointer;min-height:44px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:10px;font-size:16px}.seg.is-active{color:var(--text);background:#285ab473;border-color:#8cc3ff99}.toggle{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:48px;display:flex;position:relative}.toggle-text{flex-direction:column;font-size:17px;display:flex}.toggle-text small{color:var(--muted);font-size:13px}.toggle input{opacity:0;width:1px;height:1px;position:absolute}.toggle-track{border:1px solid var(--line);background:#141c34e6;border-radius:15px;flex:none;width:54px;height:30px;transition:background .2s;position:relative}.toggle-thumb{background:#9aa8c6;border-radius:50%;width:22px;height:22px;transition:transform .2s,background .2s;position:absolute;top:3px;left:3px}.toggle input:checked+.toggle-track{background:#326ed2bf;border-color:#8cc3ffb3}.toggle input:checked+.toggle-track .toggle-thumb{background:#eef6ff;transform:translate(24px)}.toggle input:focus-visible+.toggle-track{outline:2px solid var(--accent);outline-offset:2px}.settings-list{flex-direction:column;gap:6px;display:flex}.modal-backdrop{z-index:20;-webkit-backdrop-filter:blur(3px);background:#02040c99;place-items:center;padding:20px;animation:.2s ease-out fade-in;display:grid;position:absolute;inset:0}.modal-card{border:1px solid var(--line-strong);background:linear-gradient(#0e162ef2,#080c1cf5);border-radius:22px;flex-direction:column;gap:16px;width:100%;max-width:360px;max-height:100%;padding:26px 22px 20px;animation:.25s cubic-bezier(.2,1.2,.4,1) pop-in;display:flex;overflow-y:auto;box-shadow:0 0 40px #3c78ff40,0 20px 50px #00000080}.modal-title{text-align:center;letter-spacing:.2em;text-transform:uppercase;margin:0;font-size:24px;font-weight:600}.title-success{color:var(--success);text-shadow:0 0 16px #78ffbe59}.title-danger{color:var(--danger);text-shadow:0 0 16px #ff64644d}.modal-text{text-align:center;color:var(--muted);margin:0;font-size:15px;line-height:1.45}.modal-stats{flex-direction:column;align-self:center;gap:10px;display:flex}.stat-line{align-items:center;gap:14px;font-size:20px;display:flex}.stat-icon{width:32px;color:var(--accent);place-items:center;display:grid}.icon-gold{color:var(--gold)}.new-best{color:var(--gold);font-weight:600}.modal-actions{flex-direction:column;gap:10px;margin-top:4px;display:flex}.section-title{color:var(--muted);letter-spacing:.16em;text-transform:uppercase;margin:4px 0 -6px;font-size:13px;font-weight:500}.tiles{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.tiles-3{grid-template-columns:repeat(3,1fr)}.tile{border:1px solid var(--line);background:#0a1226b3;border-radius:12px;flex-direction:column;align-items:center;gap:2px;padding:10px 4px;display:flex}.tile-value{font-variant-numeric:tabular-nums;font-size:22px;font-weight:600}.tile-label{color:var(--muted);text-align:center;letter-spacing:.04em;font-size:11px}.best-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.best-table th,.best-table td{text-align:center;border-bottom:1px solid #78a0ff1f;padding:6px 4px}.best-table thead th{color:var(--muted);font-size:13px;font-weight:500}.toast{left:50%;bottom:calc(var(--safe-bottom) + 96px);z-index:40;border:1px solid var(--line-strong);background:var(--panel-solid);box-shadow:var(--glow);opacity:0;pointer-events:none;white-space:nowrap;border-radius:12px;padding:10px 18px;font-size:15px;transition:opacity .2s,transform .2s;position:absolute;transform:translate(-50%,16px)}.toast[data-visible=true]{opacity:1;transform:translate(-50%)}@keyframes fade-in{0%{opacity:0}}@keyframes pop-in{0%{opacity:0;transform:scale(.94)translateY(8px)}}@media (prefers-reduced-motion:reduce){.hero-orbit{animation-duration:20s}.modal-card,.modal-backdrop{animation:none}}
