:root,[data-theme=midnight]{--bg:#0f1437;--bg-2:#161c4a;--card:#1e2660;--card-2:#2a3377;--line:#a0afff1a;--text:#f6f4ff;--text-2:#b3b8e4;--text-3:#7a81b8;--accent:#ff9f43;--accent-2:#ff5d8f;--accent-3:#3dd6c6;--accent-text:#1a1036;--good:#3ddc97;--bad:#ff5d6c;--warn:#ffc93c;--gold:#ffd166;--grad:linear-gradient(135deg, #ffc93c 0%, #ff8c42 48%, #ff5d8f 100%);--shadow:0 12px 32px #04061c73;--edge:#04061c59;--nebula:#7e57ff47;--planet-1:#ff5d8f;--planet-2:#3dd6c6;--star:#fff;--star-opacity:.85;--font:"Nunito", ui-rounded, "SF Pro Rounded", "Varela Round", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=aurora]{--bg:#061a1f;--bg-2:#0b2730;--card:#0f333d;--card-2:#164452;--accent:#2dd4bf;--accent-2:#22d3ee;--accent-text:#032024;--grad:linear-gradient(135deg, #2dd4bf 0%, #22d3ee 50%, #a78bfa 100%);--nebula:#2dd4bf2e;--planet-1:#a78bfa;--planet-2:#22d3ee}[data-theme=sunset]{--bg:#1d0f16;--bg-2:#2a1520;--card:#37192a;--card-2:#4a2238;--accent:#fb7185;--accent-2:#fb923c;--accent-text:#2a0d18;--grad:linear-gradient(135deg, #fb7185 0%, #fb923c 60%, #fcd34d 100%);--nebula:#fb718533;--planet-1:#fb923c;--planet-2:#fcd34d}[data-theme=forest]{--bg:#0b1710;--bg-2:#112218;--card:#173022;--card-2:#1f3f2d;--accent:#4ade80;--accent-2:#a3e635;--accent-text:#062010;--grad:linear-gradient(135deg, #4ade80 0%, #a3e635 60%, #fde047 100%);--nebula:#4ade8024;--planet-1:#a3e635;--planet-2:#fde047}[data-theme=daylight]{--bg:#dff1ff;--bg-2:#cfe8fb;--card:#fff;--card-2:#eaf3fd;--line:#141e5017;--text:#13183f;--text-2:#4b5382;--text-3:#7f87ad;--accent:#5b4cf0;--accent-2:#ff5d8f;--accent-3:#139c8f;--good:#16a36a;--bad:#e23d52;--warn:#c98600;--gold:#c98600;--shadow:0 8px 24px #283c7824;--edge:#283c7824;--nebula:#ffffffb3;--planet-1:#ffb86b;--planet-2:#7fd6ff;--star-opacity:0;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=gold]{--bg:#14110a;--bg-2:#1f1a0e;--card:#2a2413;--card-2:#3a3119;--accent:#fbbf24;--accent-2:#f59e0b;--accent-text:#221800;--grad:linear-gradient(135deg, #fde68a 0%, #fbbf24 45%, #d97706 100%);--nebula:#fbbf2424;--planet-1:#f59e0b;--planet-2:#fde68a}[data-theme=ocean]{--bg:#04172e;--bg-2:#072445;--card:#0b3159;--card-2:#11416f;--accent:#38bdf8;--accent-2:#34d399;--accent-text:#03203a;--grad:linear-gradient(135deg, #7dd3fc 0%, #38bdf8 50%, #34d399 100%);--nebula:#38bdf82e;--planet-1:#34d399;--planet-2:#7dd3fc}[data-theme=nebula]{--bg:#150824;--bg-2:#1f0d35;--card:#2a1248;--card-2:#3a1a60;--accent:#c084fc;--accent-2:#f472b6;--accent-text:#1a0628;--grad:linear-gradient(135deg, #f0abfc 0%, #c084fc 50%, #f472b6 100%);--nebula:#c084fc4d;--planet-1:#f472b6;--planet-2:#818cf8}[data-theme=mars]{--bg:#1c0a05;--bg-2:#2a120a;--card:#3a1a0f;--card-2:#4d2414;--accent:#f97316;--accent-2:#ef4444;--accent-text:#2a0f00;--grad:linear-gradient(135deg, #fde047 0%, #fb923c 50%, #ef4444 100%);--nebula:#f9731633;--planet-1:#ef4444;--planet-2:#fbbf24}[data-theme=eclipse]{--bg:#000;--bg-2:#0a0a0a;--card:#121212;--card-2:#1f1f1f;--line:#ffffff14;--text:#fafafa;--text-2:#a3a3a3;--text-3:#6b6b6b;--accent:#ff4d2e;--accent-2:#ffd166;--accent-3:#ff8a3d;--accent-text:#1a0500;--grad:linear-gradient(135deg, #ffd166 0%, #ff8a3d 50%, #ff4d2e 100%);--nebula:#ff4d2e2e;--planet-1:#1c1c1c;--planet-2:#ff4d2e}[data-theme=mint],[data-theme=candy],[data-theme=arctic]{--card:#fff;--good:#16a36a;--bad:#e23d52;--warn:#c98600;--gold:#c98600;--nebula:#ffffffb3;--star-opacity:0;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=mint]{--bg:#e6fbf3;--bg-2:#d3f5e8;--card-2:#ecfbf5;--line:#0a3c2817;--text:#0f2e24;--text-2:#3f6b5c;--text-3:#7ba394;--accent:#0e9f6e;--accent-2:#0ea5e9;--accent-3:#0e9f6e;--accent-text:#04261a;--grad:linear-gradient(135deg, #6ee7b7 0%, #34d399 50%, #38bdf8 100%);--shadow:0 8px 24px #0a5a3c1f;--edge:#0a5a3c24;--planet-1:#a7f3d0;--planet-2:#7dd3fc}[data-theme=candy]{--bg:#fff0f7;--bg-2:#ffe1ef;--card-2:#fff0f7;--line:#78144617;--text:#3b0f2a;--text-2:#7a3d62;--text-3:#b07c9c;--accent:#db2777;--accent-2:#818cf8;--accent-3:#0e9f9a;--accent-text:#3b0f2a;--grad:linear-gradient(135deg, #f9a8d4 0%, #f472b6 50%, #a5b4fc 100%);--shadow:0 8px 24px #a028641f;--edge:#a0286424;--planet-1:#f9a8d4;--planet-2:#c7d2fe}[data-theme=arctic]{--bg:#eef7ff;--bg-2:#dcefff;--card-2:#eef6ff;--line:#14325a17;--text:#0c2340;--text-2:#43607f;--text-3:#86a0bb;--accent:#2563eb;--accent-2:#22d3ee;--accent-3:#0891b2;--accent-text:#06203d;--grad:linear-gradient(135deg, #bae6fd 0%, #60a5fa 50%, #a5f3fc 100%);--shadow:0 8px 24px #1e46821f;--edge:#1e468224;--planet-1:#bfdbfe;--planet-2:#a5f3fc}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}body{background:radial-gradient(900px 520px at 85% -8%, var(--nebula), transparent 65%), radial-gradient(700px 480px at -10% 105%, color-mix(in srgb, var(--accent-3) 14%, transparent), transparent 65%), var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;overscroll-behavior:none;-webkit-user-select:none;user-select:none;background-attachment:fixed;font-size:16px;line-height:1.4}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:none}button:disabled{cursor:default}a{color:var(--accent)}h1,h2,h3{letter-spacing:-.01em;margin:0;font-weight:900;line-height:1.15}.app{z-index:1;max-width:560px;min-height:100%;padding-top:env(safe-area-inset-top);margin:0 auto;position:relative}.screen{padding:16px 16px calc(112px + env(safe-area-inset-bottom));animation:.35s both fadeUp}.screen-full{padding-bottom:calc(24px + env(safe-area-inset-bottom))}.card{background:var(--card);border:1px solid var(--line);box-shadow:inset 0 1px 0 #ffffff0f, 0 5px 0 var(--edge);border-radius:24px;padding:16px}.btn{background:var(--card-2);box-shadow:0 4px 0 var(--edge);border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:14px 22px;font-size:17px;font-weight:800;transition:transform .1s,box-shadow .1s,filter .15s;display:inline-flex}.btn:active{box-shadow:0 1px 0 var(--edge);transform:translateY(3px)}.btn-primary{background:var(--grad);color:var(--accent-text);box-shadow:0 4px 0 color-mix(in srgb, var(--accent-2) 55%, #000), 0 10px 26px color-mix(in srgb, var(--accent) 32%, transparent)}.btn-primary:active{box-shadow:0 1px 0 color-mix(in srgb, var(--accent-2) 55%, #000)}a.btn{text-decoration:none}.btn:disabled{opacity:.45;box-shadow:none;filter:saturate(.6);transform:none}.btn-block{width:100%}.btn-ghost,.btn-ghost:active{color:var(--text-2);box-shadow:none;background:0 0}.btn-sm{border-radius:12px;padding:8px 14px;font-size:14px}.row{align-items:center;gap:12px;display:flex}.between{justify-content:space-between}.col{flex-direction:column;gap:12px;display:flex}.muted{color:var(--text-2)}.faint{color:var(--text-3)}.small{font-size:13px}.center{text-align:center}.section-title{letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);margin:26px 4px 10px;font-size:13px;font-weight:900}.section-title:before{content:"";vertical-align:1px;background:var(--accent);width:8px;height:8px;box-shadow:0 0 10px var(--accent);border-radius:50%;margin-right:8px;display:inline-block}.eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);font-size:12px;font-weight:900}.pill{background:var(--card-2);border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:14px;font-weight:700;display:inline-flex}.tag{background:var(--card-2);color:var(--text-2);letter-spacing:.04em;white-space:nowrap;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:800;display:inline-block}.tag-pro{background:var(--grad);color:var(--accent-text)}.progress{background:var(--card-2);border-radius:999px;height:10px;overflow:hidden}.progress>div{border-radius:inherit;background:var(--grad);height:100%;transition:width .8s cubic-bezier(.2,.8,.2,1)}.grad-text{background:var(--grad);color:#0000;-webkit-background-clip:text;background-clip:text}.tabbar{--tab-bg:var(--bg-2);bottom:calc(10px + env(safe-area-inset-bottom));background:color-mix(in srgb, var(--bg-2) 97%, transparent);-webkit-backdrop-filter:blur(16px);border:1.5px solid color-mix(in srgb, var(--accent) 45%, var(--line));width:calc(100% - 24px);max-width:536px;box-shadow:inset 0 1px 0 #ffffff14, 0 0 0 4px color-mix(in srgb, var(--bg) 70%, transparent), var(--shadow);z-index:50;border-radius:26px;grid-template-columns:repeat(7,1fr);padding:8px 4px;display:grid;position:fixed;left:50%;transform:translate(-50%)}.tab{color:var(--text-3);flex-direction:column;align-items:center;gap:2px;padding:2px 0;font-size:11px;font-weight:800;text-decoration:none;display:flex}.tab-icon{border-radius:999px;place-items:center;width:min(44px,100%);height:30px;transition:transform .2s,background .2s,color .2s;display:grid}.tab.active{color:var(--text)}.tab{min-width:0;padding:2px 1px}.tab-label{text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.02em;max-width:100%;font-size:clamp(8.5px,2.45vw,11px);overflow:hidden}@media (max-width:420px){.tabbar{padding-left:2px;padding-right:2px}}.tab.active .tab-icon{--tab-bg:color-mix(in srgb, var(--accent) 22%, var(--bg-2));background:var(--tab-bg);color:var(--accent);transform:translateY(-1px)}.game-screen{background:var(--bg);z-index:100;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.game-inner{flex-direction:column;flex:1;width:100%;max-width:560px;min-height:0;margin:0 auto;display:flex;position:relative}.game-topbar{justify-content:space-between;align-items:center;padding:8px 12px 0;display:flex}.icon-btn{background:var(--card);border-radius:12px;place-items:center;width:40px;height:40px;font-size:18px;display:grid}.speed-bonus{z-index:5;background:var(--card);pointer-events:none;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:92px;min-height:40px;padding:4px 8px;line-height:1.1;display:flex;position:absolute;top:8px;right:12px}.speed-bonus-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-3);font-size:9px;font-weight:800}.speed-bonus-value{color:var(--gold);font-variant-numeric:tabular-nums;font-size:15px}.speed-bonus-bar{background:color-mix(in srgb, var(--text) 12%, transparent);border-radius:99px;width:100%;height:3px;overflow:hidden}.speed-bonus-bar>span{background:var(--gold);height:100%;display:block}.speed-bonus-none{color:var(--text-3);text-align:center;font-size:11px;font-weight:700}.game-body{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.hud{padding:8px 16px 4px}.hud-row{justify-content:space-between;align-items:center;gap:8px;min-height:36px;display:flex}.hud-score-num{font-variant-numeric:tabular-nums;font-size:26px;font-weight:900}.hud-score-lbl{color:var(--text-3);margin-left:4px;font-size:12px;font-weight:700}.hud-combo{color:var(--warn);font-size:14px;font-weight:900;animation:.3s pop}.hud-label{color:var(--text-2);font-variant-numeric:tabular-nums;align-items:center;gap:10px;font-weight:700;display:flex}.hud-time{text-align:right;min-width:34px}.stage{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:20px;min-height:0;padding:12px 16px 20px;display:flex;position:relative}.prompt{text-align:center}.prompt-main{font-size:clamp(32px,9vw,52px);font-weight:900;line-height:1.1}.prompt-sub{color:var(--text-2);margin-top:8px;font-weight:600}.choices{gap:12px;width:100%;display:grid}.choice{background:var(--card);border:2px solid var(--line);min-height:64px;box-shadow:0 4px 0 var(--edge);border-radius:20px;padding:12px;font-size:22px;font-weight:800;transition:transform 80ms,background .2s,border-color .2s}.choice:active:not(:disabled){background:var(--card-2);transform:scale(.96)}.choice-good{border-color:var(--good);background:color-mix(in srgb, var(--good) 22%, var(--card))}.choice-bad{border-color:var(--bad);background:color-mix(in srgb, var(--bad) 22%, var(--card))}.yesno{grid-template-columns:1fr 1fr;gap:12px;width:100%;display:grid}.choice-yes{border-color:color-mix(in srgb, var(--good) 50%, transparent)}.choice-no{border-color:color-mix(in srgb, var(--bad) 50%, transparent)}.keypad{grid-template-columns:repeat(3,1fr);gap:8px;width:100%;max-width:360px;display:grid}.key{background:var(--card);border:1px solid var(--line);border-radius:14px;height:56px;font-size:24px;font-weight:800}.key:active{background:var(--card-2);transform:scale(.96)}.key-ok{background:var(--grad);color:var(--accent-text)}.dots{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.dot{background:var(--card-2);border-radius:50%;width:10px;height:10px}.dot-done{background:var(--accent)}.dot-good{background:var(--good)}.dot-bad{background:var(--bad)}.dot-cur{outline:2px solid var(--accent);outline-offset:2px}.flash{pointer-events:none;z-index:5;place-items:center;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.flash-good{animation:.45s ease-out both flashGood}.flash-bad{animation:.45s ease-out both flashBad}.flash-pts{color:var(--good);text-shadow:0 2px 12px #0006;font-size:28px;font-weight:900;animation:.45s ease-out both floatUp}.flash-bad .flash-pts{color:var(--bad)}.overlay{background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:20;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:24px;animation:.2s both fade;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.countdown-num{font-size:120px;font-weight:900;animation:.9s both countPop}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes pop{0%{transform:scale(.6)}60%{transform:scale(1.15)}to{transform:scale(1)}}@keyframes countPop{0%{opacity:0;transform:scale(.3)}30%{opacity:1;transform:scale(1.1)}to{opacity:.2;transform:scale(.9)}}@keyframes flashGood{0%{box-shadow:inset 0 0 0 4px var(--good), inset 0 0 60px color-mix(in srgb, var(--good) 40%, transparent)}to{box-shadow:inset 0 0 #0000}}@keyframes flashBad{0%{box-shadow:inset 0 0 0 4px var(--bad), inset 0 0 60px color-mix(in srgb, var(--bad) 40%, transparent);transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-3px)}to{transform:none;box-shadow:inset 0 0 #0000}}@keyframes floatUp{0%{opacity:0;transform:translateY(10px)}30%{opacity:1}to{opacity:0;transform:translateY(-40px)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.08)}70%{transform:scale(.96)}to{transform:scale(1)}}@keyframes twinkle{0%,to{opacity:1}50%{opacity:.25}}@keyframes drift{0%{transform:translateY(0)rotate(0)}to{transform:translateY(-18px)rotate(6deg)}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes pulseGlow{0%,to{box-shadow:0 4px 0 color-mix(in srgb, var(--accent-2) 55%, #000), 0 0 0 0 color-mix(in srgb, var(--accent) 45%, transparent)}50%{box-shadow:0 4px 0 color-mix(in srgb, var(--accent-2) 55%, #000), 0 0 0 10px transparent}}@keyframes flicker{0%,to{transform:scale(1)rotate(-2deg)}50%{transform:scale(1.08)rotate(2deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.demo-wrap{flex-direction:column;align-items:center;gap:12px;width:100%;display:flex}.demo{background:radial-gradient(120% 90% at 50% 0%, var(--card-2), var(--bg-2));border:2px dashed color-mix(in srgb, var(--text-3) 70%, transparent);width:100%;max-width:420px;box-shadow:var(--shadow);border-radius:24px;font-size:clamp(12px,4.2cqw,20px);position:relative;overflow:hidden;container-type:inline-size}.demo-scene{flex-direction:column;justify-content:center;align-items:center;gap:6%;padding:7%;animation:.25s both fade;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.demo-grid{aspect-ratio:1;max-height:100%;display:grid}.demo-tile{aspect-ratio:1;border:1px solid var(--line);border-radius:18%;place-items:center;font-weight:900;transition:background .25s,transform .25s;display:grid}.demo-tile.glow{box-shadow:0 0 1.2em color-mix(in srgb, var(--accent) 60%, transparent);transform:scale(1.06)}.demo-finger{opacity:0;pointer-events:none;z-index:3;background:#ffffff8c;border:2px solid #fffffff2;border-radius:50%;width:2.6em;height:2.6em;margin:-1.3em 0 0 -1.3em;transition:left .45s cubic-bezier(.3,.7,.3,1),top .45s cubic-bezier(.3,.7,.3,1),opacity .25s,transform .15s;position:absolute;transform:scale(.6);box-shadow:0 4px 14px #00000059}.demo-finger.on{opacity:1;transform:scale(1)}.demo-finger.press{transform:scale(.78)}.demo-finger.swipe{transition-timing-function:ease-in-out}.demo-ripple{opacity:0;border:2px solid #fff;border-radius:50%;position:absolute;top:-2px;bottom:-2px;left:-2px;right:-2px}.demo-finger.press .demo-ripple{animation:.5s ease-out both demoRipple}.demo-mark{color:#fff;z-index:4;border-radius:50%;place-items:center;width:2.2em;height:2.2em;font-size:1.1em;font-weight:900;animation:.4s both bounceIn;display:grid;position:absolute;top:6%;right:6%}.demo-mark-good{background:var(--good)}.demo-mark-bad{background:var(--bad)}.demo-label{z-index:3;background:color-mix(in srgb, var(--bg) 78%, transparent);border:1px solid var(--line);color:var(--text-2);letter-spacing:.08em;text-transform:uppercase;pointer-events:none;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:800;position:absolute;top:3.5%;left:3.5%}.demo-dots{justify-content:center;gap:5px;display:flex;position:absolute;bottom:4%;left:0;right:0}.demo-dots span{background:var(--text-3);opacity:.4;border-radius:50%;width:6px;height:6px;transition:opacity .2s,width .2s}.demo-dots span.on{opacity:1;background:var(--accent);border-radius:3px;width:16px}.demo-caption{text-align:center;min-height:1.4em;font-size:18px;font-weight:800;animation:.3s both fadeUp}@keyframes demoRipple{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(2.2)}}.hud-pips{margin-top:8px}.hud-pips .dots,.stage .dots{gap:7px}.hud-pips .dot,.stage .dots .dot{width:13px;height:13px}.time-pips{grid-template-columns:repeat(12,1fr);gap:5px;margin-top:8px;display:grid}.time-pips span{background:var(--card-2);border-radius:999px;height:10px;position:relative;overflow:hidden}.time-pips span.full{background:var(--accent);box-shadow:0 0 8px color-mix(in srgb, var(--accent) 45%, transparent)}.time-pips span i{background:var(--accent);transform-origin:0;position:absolute;top:0;bottom:0;left:0;right:0}.time-pips span.cur{animation:1s ease-in-out infinite pipPulse}.time-pips.hurry span.full,.time-pips.hurry span i{background:var(--bad);box-shadow:0 0 8px color-mix(in srgb, var(--bad) 55%, transparent)}@keyframes pipPulse{50%{box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 45%, transparent)}}
