:root{--night-0:#0b0926;--night-1:#120f3a;--night-2:#1c1752;--night-3:#262070;--night-4:#322a8e;--text:#f4f2ff;--text-2:#cfcbf5;--text-3:#a9a4e0;--line:#d6d0ff24;--line-strong:#d6d0ff52;--electric:#5b6cff;--violet:#9a7bff;--star:#fff6e0;--pink:#ff8fd0;--orange:#ff8a3d;--orange-light:#ffb273;--orange-deep:#d9601e;--learn:#7c6cff;--learn-soft:#7c6cff33;--learn-text:#d3ccff;--mystery:#ff7a66;--mystery-soft:#ff7a6629;--mystery-text:#ffc0b6;--review:#5ee0b0;--review-soft:#5ee0b026;--review-text:#a6f2d6;--explain:#b7a6ff;--explain-soft:#b7a6ff29;--explain-text:#e0d8ff;--gold:#ffcb57;--gold-soft:#ffcb5726;--gold-text:#ffe3a3;--clay:radial-gradient(130% 90% at 18% 0%, #ffffff17 0%, #fff0 45%), linear-gradient(180deg, #2a2374 0%, #1d1857 60%, #19144d 100%);--clay-raised:radial-gradient(120% 120% at 20% 0%, #ffffff1f 0%, #fff0 55%), linear-gradient(180deg, #342c8c 0%, #261f72 100%);--clay-shadow:inset 0 2px 1px #ffffff21, inset 0 -8px 16px #06032061, inset 6px 0 14px #ffffff06, 0 1px 0 #ffffff0a, 0 22px 36px -12px #040218bf, 0 8px 14px -4px #04021873;--clay-shadow-sm:inset 0 2px 1px #ffffff24, inset 0 -5px 10px #06032052, 0 10px 18px -6px #04021899;--well-shadow:inset 0 6px 14px #0402188c, inset 0 -1px 0 #ffffff12;--font-display:"Plus Jakarta Sans", system-ui, sans-serif;--font-body:"DM Sans", system-ui, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0}body{color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;background:#06051a}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit}:focus-visible{outline:3px solid var(--gold);outline-offset:2px}::placeholder{color:var(--text-3)}h1,h2,h3,.display{font-family:var(--font-display);margin:0;font-weight:700}.shell{background:radial-gradient(120% 70% at 50% 0%, #241d73 0%, var(--night-1) 55%, var(--night-0) 100%);isolation:isolate;flex-direction:column;max-width:430px;height:100dvh;margin:0 auto;display:flex;position:relative;overflow:hidden}.shell>*{z-index:1;position:relative}.shell>.scene{z-index:0;position:absolute}@media (min-width:500px){.shell{border-radius:40px;height:min(100dvh - 48px,900px);margin:24px auto}}.clay{background:var(--clay);box-shadow:var(--clay-shadow);border:1px solid var(--line)}.pill{border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:700;display:inline-flex;box-shadow:inset 0 1.5px .5px #ffffff29,inset 0 -2px 4px #04021840,0 4px 8px -3px #04021899}.btn{border:none;border-radius:999px;justify-content:center;align-items:center;gap:8px;height:52px;font-size:16px;font-weight:700;text-decoration:none;transition:transform .12s,box-shadow .12s,background-color .2s;display:flex}.btn-primary{color:var(--night-1);background:radial-gradient(120% 140% at 30% 0,#fff 0%,#f1eeff 45%,#d9d3f7 100%);box-shadow:inset 0 2px 1px #ffffffe6,inset 0 -4px 6px #5040aa47,0 4px #9c93d8,0 14px 24px -6px #040218b3}.btn-primary:active{transform:translateY(3px);box-shadow:inset 0 2px 1px #ffffffe6,inset 0 -3px 5px #5040aa47,0 1px #9c93d8,0 6px 12px -4px #04021899}.btn-outline{border:2px solid var(--line-strong);color:var(--text);background:linear-gradient(#ffffff0d,#fff0);box-shadow:inset 0 1.5px .5px #ffffff1a,0 8px 16px -8px #040218b3}.btn-outline:active{transform:translateY(2px);box-shadow:inset 0 3px 6px #04021866}.btn-dark{background:var(--clay-raised);color:var(--text);box-shadow:var(--clay-shadow-sm)}.btn-dark:active{transform:translateY(2px)}.icon-btn{width:44px;height:44px;color:var(--text);background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;display:flex}.fit svg{width:100%;height:auto}.fit-box svg{width:100%;height:100%}.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}.err{color:var(--mystery-text);min-height:18px;margin-top:6px;font-size:13px}.orb{background:radial-gradient(circle at 32% 26%, #ffffff80 0%, #fff0 40%), radial-gradient(circle at 50% 125%, #04021880 0%, #04021800 62%), var(--orb,var(--night-3));box-shadow:inset 0 -3px 6px #0402184d,inset 0 1.5px 1px #ffffff40,0 6px 12px -4px #040218bf}@keyframes twinkle{0%,to{opacity:.35;transform:scale(.85)rotate(0)}50%{opacity:1;transform:scale(1.08)rotate(12deg)}}@keyframes sway{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}@keyframes drift{0%,to{transform:translate(0)}50%{transform:translate(6px,-4px)}}@keyframes spark{0%,to{opacity:.7;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}@keyframes step{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{animation:none!important}}
