:root{--font-display:"Fredoka", sans-serif;--font-body:"Nunito", sans-serif;--bg-deep:#0f0a2e;--bg-mid:#1a1145;--bg-surface:#0f172a;--bg-gradient:linear-gradient(180deg, var(--bg-deep) 0%, var(--bg-mid) 40%, var(--bg-surface) 100%);--glass-bg:linear-gradient(135deg, #ffffff14, #ffffff08);--glass-bg-hover:linear-gradient(135deg, #ffffff1f, #ffffff0d);--glass-border:#ffffff14;--glass-border-hover:#ffffff26;--glass-blur:blur(10px);--text-primary:#fff;--text-secondary:#fff9;--text-muted:#ffffff4d;--alvarez-phoneme:#4ade80;--alvarez-mute:#ffffff4d;--gold:#fcd34d;--gold-dark:#f59e0b;--gold-glow:#fcd34d66;--green:#4ade80;--green-dark:#22c55e;--green-glow:#4ade8066;--prize-game-bg:#8b5cf626;--prize-game-border:#8b5cf64d;--prize-game-accent:#a78bfa;--prize-treat-bg:#fb923c26;--prize-treat-border:#fb923c4d;--prize-treat-accent:#fb923c;--prize-activity-bg:#38bdf826;--prize-activity-border:#38bdf84d;--prize-activity-accent:#38bdf8;--prize-screen-bg:#f472b626;--prize-screen-border:#f472b64d;--prize-screen-accent:#f472b6;--prize-special-bg:#facc1526;--prize-special-border:#facc154d;--prize-special-accent:#facc15;--radius-sm:12px;--radius-md:16px;--radius-lg:20px;--radius-xl:24px;--radius-pill:9999px;--card-padding:16px 18px;--card-gap:14px;--icon-size:56px;--icon-radius:16px;--checkbox-size:44px;--checkbox-radius:14px;--ease-bounce:cubic-bezier(.34, 1.56, .64, 1);--ease-smooth:cubic-bezier(.4, 0, .2, 1);--duration-fast:.2s;--duration-normal:.3s;--duration-slow:.4s}@keyframes sparkleFloat{0%{transform:translateY(0)rotate(0)}to{transform:translateY(-25px)rotate(15deg)}}@keyframes sparklePulse{0%,to{opacity:.25}50%{opacity:.6}}@keyframes sparkleBurst1{0%{opacity:1;transform:scale(0)translate(0)}30%{opacity:1;transform:scale(1.2)translate(-12px,-18px)}to{opacity:0;transform:scale(.6)translate(-20px,-30px)}}@keyframes sparkleBurst2{0%{opacity:1;transform:scale(0)translate(0)}30%{opacity:1;transform:scale(1.2)translateY(-22px)}to{opacity:0;transform:scale(.6)translateY(-36px)}}@keyframes sparkleBurst3{0%{opacity:1;transform:scale(0)translate(0)}30%{opacity:1;transform:scale(1.2)translate(12px,-18px)}to{opacity:0;transform:scale(.6)translate(20px,-30px)}}@keyframes confettiBurst{0%{opacity:1;transform:translate(-50%,-50%)scale(0)rotate(0)}30%{opacity:1;transform:translate(calc(-50% + var(--tx) * .3), calc(-50% + var(--ty) * .3)) scale(1.2) rotate(calc(var(--rotation) * .3))}to{opacity:0;transform:translate(calc(-50% + var(--tx)), calc(-50% + var(--ty) + 40px)) scale(.6) rotate(var(--rotation))}}.shooting-star{pointer-events:none;z-index:8001;opacity:0;width:60px;height:30px;position:fixed}.shoot-top-right{animation:.8s ease-out .2s forwards shootTR;top:35%;left:25%}@keyframes shootTR{0%{opacity:0;transform:translate(0)scale(.5)}15%{opacity:1}to{opacity:0;transform:translate(120px,-70px)scale(1)}}.shoot-top-left{animation:.8s ease-out .35s forwards shootTL;top:30%;right:25%}@keyframes shootTL{0%{opacity:0;transform:scaleX(-1)translate(0)scale(.5)}15%{opacity:1}to{opacity:0;transform:scaleX(-1)translate(120px,-60px)scale(1)}}.shoot-bottom-right{animation:.8s ease-out .5s forwards shootBR;bottom:35%;left:28%}@keyframes shootBR{0%{opacity:0;transform:translate(0)scale(.5)}15%{opacity:1}to{opacity:0;transform:translate(110px,60px)scale(1)}}.shoot-bottom-left{animation:.8s ease-out .65s forwards shootBL;bottom:30%;right:28%}@keyframes shootBL{0%{opacity:0;transform:scaleX(-1)translate(0)scale(.5)}15%{opacity:1}to{opacity:0;transform:scaleX(-1)translate(110px,55px)scale(1)}}@keyframes ribbonIn{0%{opacity:0;transform:translate(-50%)translateY(10px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes glowAppear{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@keyframes glowPulse{0%,to{opacity:.85}50%{opacity:1}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes float{0%{transform:translateY(0)}to{transform:translateY(-20px)}}@keyframes subtlePulse{0%,to{opacity:.95}50%{opacity:1}}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(15deg)}75%{transform:rotate(-15deg)}}@keyframes popIn{0%{opacity:0;transform:scale(0)}70%{transform:scale(1.15)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#fff3}*{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:var(--font-body);background:var(--bg-deep);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{flex-direction:column;width:100%;min-height:100%;display:flex;position:relative}.ambient-bg{pointer-events:none;z-index:0;background:radial-gradient(at 30% 20%,#8b5cf614 0%,#0000 50%),radial-gradient(at 70% 80%,#38bdf80f 0%,#0000 50%);position:fixed;inset:0}.hover-scale{transition:transform .2s var(--ease-bounce), box-shadow .2s ease, border-color .2s ease, background .2s ease}.hover-scale:hover{transform:scale(1.04)}.hover-scale:active{transform:scale(.96)}.hover-glow{transition:transform .2s var(--ease-bounce), box-shadow .2s ease, border-color .2s ease, background .2s ease}.hover-glow:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover);box-shadow:0 4px 16px #ffffff0f}.hover-glow:active{transform:scale(.96)}.hover-btn{transition:transform .2s var(--ease-bounce), box-shadow .2s ease, background .2s ease, border-color .2s ease}.hover-btn:hover{background:#ffffff1f;border-color:#ffffff2e;transform:scale(1.06);box-shadow:0 2px 12px #ffffff14}.hover-btn:active{transform:scale(.94)}.hover-nav-tab{transition:transform .2s var(--ease-bounce), box-shadow .2s ease, background .2s ease, border-color .2s ease}.hover-nav-tab:hover{background:linear-gradient(135deg,#ffffff1f,#ffffff0a);border-color:#ffffff29;transform:translateY(-2px);box-shadow:0 4px 20px #ffffff0f}.hover-nav-tab:active{transform:translateY(0)scale(.97)}.hover-card{transition:transform .2s var(--ease-bounce), opacity .2s ease}.hover-card:hover{opacity:.92;transform:scale(1.03)}.hover-card:active{transform:scale(.95)}.hover-close{transition:transform .2s var(--ease-bounce), background .2s ease}.hover-close:hover{background:#ffffff1f;transform:scale(1.1)}.hover-close:active{transform:scale(.9)}
