:root{--bg-canvas:#0b0f19;--bg-canvas-2:#0e1426;--bg-surface:#161d2f;--bg-surface-2:#1b2440;--bg-elevated:#1f2a47;--bg-tint:hsla(0,0%,100%,.04);--bg-tint-hover:hsla(0,0%,100%,.08);--bg-overlay:rgba(5,8,20,.62);--fg-1:#f4f6fb;--fg-2:rgba(244,246,251,.74);--fg-3:rgba(244,246,251,.5);--fg-4:rgba(244,246,251,.28);--border-1:hsla(0,0%,100%,.06);--border-2:hsla(0,0%,100%,.1);--border-strong:hsla(0,0%,100%,.18);--purple-500:#8b5cf6;--purple-400:#a78bfa;--purple-glow:rgba(139,92,246,.45);--purple-tint:rgba(139,92,246,.12);--purple-border:rgba(139,92,246,.55);--mint-500:#10b981;--mint-400:#34d399;--mint-glow:rgba(16,185,129,.4);--mint-tint:rgba(16,185,129,.12);--mint-border:rgba(16,185,129,.45);--danger-500:#fb7185;--danger-tint:rgba(251,113,133,.12);--atmo-1:rgba(139,92,246,.16);--atmo-2:rgba(16,185,129,.08);--lift-1:0 1px 2px rgba(0,0,0,.3);--lift-2:0 8px 24px -8px rgba(0,0,0,.55);--lift-3:0 24px 60px -12px rgba(0,0,0,.65)}[data-theme=light]{--bg-canvas:#f8fafc;--bg-canvas-2:#f1f5f9;--bg-surface:#fff;--bg-surface-2:#f1f5f9;--bg-elevated:#fff;--bg-tint:rgba(15,23,42,.04);--bg-tint-hover:rgba(15,23,42,.07);--bg-overlay:rgba(15,23,42,.42);--fg-1:#0f172a;--fg-2:rgba(15,23,42,.72);--fg-3:rgba(15,23,42,.52);--fg-4:rgba(15,23,42,.32);--border-1:rgba(15,23,42,.08);--border-2:rgba(15,23,42,.14);--border-strong:rgba(15,23,42,.22);--purple-500:#7c3aed;--purple-400:#8b5cf6;--purple-glow:rgba(124,58,237,.32);--purple-tint:rgba(124,58,237,.1);--purple-border:rgba(124,58,237,.45);--mint-500:#059669;--mint-400:#10b981;--mint-glow:rgba(5,150,105,.25);--mint-tint:rgba(5,150,105,.1);--mint-border:rgba(5,150,105,.4);--danger-500:#e11d48;--danger-tint:rgba(225,29,72,.1);--atmo-1:rgba(124,58,237,.08);--atmo-2:rgba(5,150,105,.06);--lift-1:0 1px 2px rgba(15,23,42,.06);--lift-2:0 8px 24px -8px rgba(15,23,42,.14);--lift-3:0 20px 50px -10px rgba(15,23,42,.2)}*{box-sizing:border-box}body,html{height:100%;margin:0}body{background:var(--bg-canvas);color:var(--fg-1);font-family:var(--font-inter),var(--font-noto),sans-serif;letter-spacing:-.01em;-webkit-font-smoothing:antialiased;overflow:hidden;min-height:100dvh}.app-surface,.app-surface *{transition:border-color .32s cubic-bezier(.22,1,.36,1),color .32s cubic-bezier(.22,1,.36,1),box-shadow .32s cubic-bezier(.22,1,.36,1)}.scroll-y{overflow-y:auto;min-height:0}.scroll-y::-webkit-scrollbar{width:10px}.scroll-y::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:99px;border:3px solid transparent;background-clip:padding-box}.scroll-y::-webkit-scrollbar-thumb:hover{background:var(--border-strong);background-clip:padding-box}.no-bar::-webkit-scrollbar{display:none}.no-bar{scrollbar-width:none}@keyframes pulseGlow{0%,to{box-shadow:0 0 0 1px var(--purple-border),0 0 24px -2px var(--purple-glow)}50%{box-shadow:0 0 0 1px var(--purple-border),0 0 36px 0 var(--purple-glow)}}.purple-pulse{animation:pulseGlow 2.4s ease-in-out infinite}@keyframes marqueeX{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.marquee-track{animation:marqueeX 26s linear infinite}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fade-in{animation:fadeIn .2s ease-out both}@keyframes modalIn{0%{transform:scale(.94);opacity:0}to{transform:scale(1);opacity:1}}.modal-pop{animation:modalIn .2s cubic-bezier(.34,1.56,.64,1) both}@keyframes bubblePop{0%{transform:scale(.92) translateY(8px);opacity:0}60%{transform:scale(1.02) translateY(-2px);opacity:1}to{transform:scale(1) translateY(0);opacity:1}}.bubble-pop{animation:bubblePop .36s cubic-bezier(.22,1,.36,1) both}@keyframes timerNudge{0%,to{transform:translateX(0)}20%{transform:translateX(-1px)}60%{transform:translateX(1px)}}.timer-nudge{animation:timerNudge .8s ease-in-out infinite}.row-btn{transition:background-color .14s ease}.row-btn:hover{background:var(--bg-tint)}.lift-hover{transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.lift-hover:hover{transform:translateY(-1px)}.press:active{transform:scale(.985)}.mobile-only{display:none!important}.bottom-tabs{display:none}@media (max-width:760px){.mobile-only{display:flex!important}.desktop-only{display:none!important}.bottom-tabs{display:flex}}