:root{--color-bg-primary:#0a0e1a;--color-bg-secondary:#111827;--color-bg-tertiary:#0f172a;--color-bg-card:#1e293b;--color-bg-surface:#ffffff08;--gradient-bg:linear-gradient(160deg, #0a0e1a 0%, #111827 40%, #0f172a 100%);--gradient-modal:linear-gradient(135deg, #1e293b 0%, #0f172a 100%);--color-gold:#f59e0b;--color-gold-light:#fbbf24;--color-gold-dark:#d97706;--color-blue:#3b82f6;--color-blue-light:#60a5fa;--color-blue-dark:#2563eb;--color-purple:#8b5cf6;--color-purple-light:#a78bfa;--color-purple-dark:#7c3aed;--color-green:#10b981;--color-green-light:#34d399;--color-green-dark:#059669;--color-red:#ef4444;--color-red-light:#f87171;--color-red-dark:#e11d48;--color-dad:#2563eb;--color-mom:#7c3aed;--color-kid1:#059669;--color-kid2:#e11d48;--color-text-primary:#f8fafc;--color-text-secondary:#e2e8f0;--color-text-muted:#94a3b8;--color-text-subtle:#64748b;--color-text-disabled:#475569;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:24px;--space-2xl:32px;--radius-sm:6px;--radius-md:10px;--radius-lg:12px;--radius-xl:14px;--radius-2xl:16px;--radius-3xl:20px;--radius-full:50%;--font-size-h1:1.5rem;--font-size-h2:1.3rem;--font-size-h3:1rem;--font-size-body:.9rem;--font-size-label:.8rem;--font-size-caption:.75rem;--font-size-tiny:.65rem;--font-size-number:1.4rem;--font-size-burst:3rem;--font-family:"Fredoka", -apple-system, BlinkMacSystemFont, sans-serif;--font-family-mono:Consolas, "Courier New", monospace;--max-width:900px;--page-padding:20px 16px 100px;--header-padding:20px 24px 16px;--transition-fast:all .2s ease;--transition-normal:all .3s ease;--transition-slow:all .5s ease}*,:before,:after{box-sizing:border-box}body{font-family:var(--font-family);background:var(--gradient-bg);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;min-height:100vh;margin:0}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}::-webkit-scrollbar-track{background:0 0}@keyframes confettiFall{0%{opacity:1;transform:translateY(-20px)rotate(0)}to{opacity:0;transform:translateY(100vh)rotate(720deg)}}@keyframes pointsBurst{0%{opacity:0;transform:translateY(0)scale(.5)}20%{opacity:1;transform:translateY(-10px)scale(1.2)}80%{opacity:1;transform:translateY(-60px)scale(1)}to{opacity:0;transform:translateY(-80px)scale(.8)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.93)}to{opacity:1;transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes glow{0%,to{box-shadow:0 0 15px #f59e0b33}50%{box-shadow:0 0 30px #f59e0b66}}@keyframes legendaryGlow{0%,to{box-shadow:0 0 8px #f59e0b4d}50%{box-shadow:0 0 20px #f59e0b99}}@keyframes starSparkle{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}@keyframes cardHolo{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.animate-fadeIn{animation:.2s fadeIn}.animate-slideUp{animation:.3s slideUp}.animate-float{animation:2s infinite float}
