*,:before,:after{box-sizing:border-box;margin:0;padding:0}*{-webkit-tap-highlight-color:transparent}button,a,[role=button]{-webkit-user-select:none;user-select:none}:root{--purple-900:#1e0a4e;--purple-800:#2d1b69;--purple-700:#3d1fa8;--purple-600:#4c1d95;--purple-500:#5b21b6;--purple-400:#7c3aed;--purple-300:#a78bfa;--purple-200:#ddd6fe;--purple-100:#ede9fe;--gold:#f59e0b;--gold-dark:#d97706;--gold-light:#fcd34d;--gold-glow:#f59e0b59;--pink:#ec4899;--blue:#3b82f6;--green-wa:#25d366;--white:#fff;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--shadow-sm:0 1px 3px #00000014;--shadow-md:0 4px 16px #0000001f;--shadow-lg:0 8px 32px #0000002e;--shadow-gold:0 4px 24px #f59e0b73;--shadow-purple:0 4px 24px #5b21b659;--ease-smooth:cubic-bezier(.4, 0, .2, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--dur-fast:.15s;--dur-normal:.26s;--dur-slow:.42s}html,body,#root{background:var(--gray-50);width:100%;height:100%;color:var(--gray-900);-webkit-font-smoothing:antialiased;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;overflow-x:hidden}button{cursor:pointer;border:none;outline:none;font-family:inherit}input{border:none;outline:none;font-family:inherit}a{color:inherit;text-decoration:none}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.72)}55%{opacity:1;transform:scale(1.07)}75%{transform:scale(.97)}to{transform:scale(1)}}@keyframes shimmer{0%{background-position:-300%}to{background-position:300%}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes pulseGold{0%,to{box-shadow:0 0 0 0 var(--gold-glow)}50%{box-shadow:0 0 0 12px #0000}}@keyframes navTabIn{0%{opacity:0;transform:translateY(4px)scale(.9)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes coinBurst{0%{opacity:1;transform:translate(0)scale(1.2)rotate(0)}to{opacity:0;transform:translate(var(--x,0), var(--y,-80px)) scale(.4) rotate(180deg)}}@keyframes streakBounce{0%,to{transform:scale(1)rotate(0)}30%{transform:scale(1.3)rotate(-8deg)}60%{transform:scale(1.15)rotate(5deg)}}@keyframes ripple{0%{opacity:.6;transform:scale(0)}to{opacity:0;transform:scale(3)}}@keyframes spinIn{0%{opacity:0;transform:rotate(-180deg)scale(0)}to{opacity:1;transform:rotate(0)scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:translate(0)}}@keyframes fadeImg{0%{opacity:0}to{opacity:1}}img{animation:.3s fadeImg}.animate-in{animation:fadeSlideUp var(--dur-slow) var(--ease-out) both}.animate-in-fast{animation:fadeSlideUp var(--dur-normal) var(--ease-out) both}.animate-scale-in{animation:bounceIn var(--dur-slow) var(--ease-spring) both}.animate-fade-in{animation:fadeIn var(--dur-normal) var(--ease-out) both}.stagger-in>*{animation:fadeSlideUp var(--dur-slow) var(--ease-out) both}.stagger-in>:first-child{animation-delay:0s}.stagger-in>:nth-child(2){animation-delay:70ms}.stagger-in>:nth-child(3){animation-delay:.14s}.stagger-in>:nth-child(4){animation-delay:.21s}.stagger-in>:nth-child(5){animation-delay:.28s}.stagger-in>:nth-child(6){animation-delay:.35s}.stagger-in>:nth-child(7){animation-delay:.42s}.hover-lift{transition:transform var(--dur-normal) var(--ease-spring), box-shadow var(--dur-normal) var(--ease-smooth);cursor:pointer}.hover-lift:hover{box-shadow:var(--shadow-lg);transform:translateY(-5px)scale(1.02)}.hover-lift:active{box-shadow:var(--shadow-sm);transition-duration:var(--dur-fast);transform:scale(.97)}.hover-scale{transition:transform var(--dur-normal) var(--ease-spring);cursor:pointer}.hover-scale:hover{transform:scale(1.07)}.hover-scale:active{transition-duration:var(--dur-fast);transform:scale(.95)}.press-scale{transition:transform var(--dur-fast) var(--ease-out);cursor:pointer}.press-scale:active{transform:scale(.94)}.skeleton{background:linear-gradient(90deg, var(--gray-200) 25%, var(--gray-100) 50%, var(--gray-200) 75%);animation:shimmer 1.8s infinite var(--ease-smooth);border-radius:var(--radius-md);background-size:300% 100%}.btn{border-radius:var(--radius-full);width:100%;transition:opacity var(--dur-fast) var(--ease-smooth), transform var(--dur-fast) var(--ease-spring), box-shadow var(--dur-normal) var(--ease-smooth);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:14px 20px;font-size:15px;font-weight:600;display:flex;position:relative;overflow:hidden}.btn:active{transform:scale(.96)}.btn-gold{background:var(--gold);color:var(--gray-900)}.btn-gold:hover{background:var(--gold-dark);box-shadow:var(--shadow-gold);transform:translateY(-1px)}.btn-purple{background:var(--purple-500);color:var(--white)}.btn-purple:hover{opacity:.9;box-shadow:var(--shadow-purple);transform:translateY(-1px)}.btn-white{background:var(--white);color:var(--gray-900);border:1.5px solid var(--gray-200)}.btn-white:hover{background:var(--gray-50);transform:translateY(-1px)}.input-field{border:1.5px solid var(--gray-200);border-radius:var(--radius-md);background:var(--white);width:100%;color:var(--gray-900);transition:border-color var(--dur-normal) var(--ease-smooth), box-shadow var(--dur-normal) var(--ease-smooth);padding:14px 16px;font-size:15px}.input-field:focus{border-color:var(--purple-400);box-shadow:0 0 0 3px #7c3aed1f}.input-field::placeholder{color:var(--gray-400)}.splash{z-index:9999;opacity:1;justify-content:center;align-items:center;transition:opacity .5s;display:flex;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}.splash-out{opacity:0;pointer-events:none}.splash-bg{background:radial-gradient(at 45% 35%,#3d1fa8 0%,#150838 65%,#0a0420 100%);position:absolute;top:0;bottom:0;left:0;right:0}.splash-circle{pointer-events:none;filter:blur(60px);border-radius:50%;position:absolute}.splash-circle-1{background:#7c3aed59;width:340px;height:340px;animation:3s ease-in-out infinite pulse-glow;top:-80px;left:-60px}.splash-circle-2{background:#fcd34d1f;width:260px;height:260px;animation:3.5s ease-in-out .7s infinite pulse-glow;bottom:60px;right:-60px}.splash-circle-3{background:#a78bfa33;width:200px;height:200px;animation:4s ease-in-out 1.2s infinite pulse-glow;bottom:-60px;left:30%}.splash-center{z-index:1;flex-direction:column;align-items:center;gap:0;display:flex;position:relative}.splash-moai{object-fit:cover;filter:drop-shadow(0 8px 32px #7c3aed99);border-radius:28px;width:130px;height:130px;animation:.7s cubic-bezier(.34,1.56,.64,1) both moai-enter,3s ease-in-out .7s infinite moai-float}.splash-sparkles{pointer-events:none;width:140px;height:100px;position:absolute;top:0;left:50%;transform:translate(-50%)}.sp{color:#fcd34d;font-size:16px;animation:2s ease-in-out infinite sparkle;position:absolute}.sp1{font-size:12px;animation-delay:0s;top:10px;left:8px}.sp2{font-size:18px;animation-delay:.6s;top:4px;right:4px}.sp3{font-size:11px;animation-delay:1.1s;top:30px;right:16px}.splash-logo{align-items:center;gap:6px;margin-top:18px;animation:.5s .3s both fade-up;display:flex}.sl-wbns{color:#fff;letter-spacing:-1px;font-size:32px;font-weight:900}.sl-dot{color:#fcd34d;font-size:16px}.sl-sub{color:#c4b5fd;font-size:20px;font-weight:700}.splash-tagline{color:#ffffff8c;letter-spacing:.2px;margin-top:6px;font-size:13px;animation:.5s .45s both fade-up}.splash-dots{gap:8px;margin-top:40px;animation:.5s .6s both fade-up;display:flex}.splash-dots span{background:#c4b5fd99;border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite dot-bounce}.splash-dots span:nth-child(2){animation-delay:.15s}.splash-dots span:nth-child(3){animation-delay:.3s}@keyframes moai-enter{0%{opacity:0;transform:scale(.4)translateY(30px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes moai-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes sparkle{0%,to{opacity:0;transform:scale(.6)rotate(0)}50%{opacity:1;transform:scale(1.1)rotate(20deg)}}@keyframes pulse-glow{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}@keyframes fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes dot-bounce{0%,80%,to{opacity:.4;transform:scale(.8)}40%{opacity:1;transform:scale(1.3)}}
