:root{--primary-50:#f0f9ff;--primary-100:#e0f2fe;--primary-200:#bae6fd;--primary-300:#7dd3fc;--primary-400:#38bdf8;--primary-500:#0ea5e9;--primary-600:#0284c7;--primary-700:#0369a1;--primary-800:#075985;--primary-900:#0c4a6e;--secondary-50:#f0fdf4;--secondary-100:#dcfce7;--secondary-200:#bbf7d0;--secondary-300:#86efac;--secondary-400:#4ade80;--secondary-500:#22c55e;--secondary-600:#16a34a;--secondary-700:#15803d;--secondary-800:#166534;--secondary-900:#14532d;--accent-purple:#8b5cf6;--accent-pink:#ec4899;--accent-orange:#f97316;--accent-yellow:#eab308;--accent-red:#ef4444;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--success:var(--secondary-500);--warning:var(--accent-yellow);--error:var(--accent-red);--info:var(--primary-500);--gradient-primary:linear-gradient(135deg,var(--primary-500) 0%,var(--primary-600) 100%);--gradient-secondary:linear-gradient(135deg,var(--secondary-500) 0%,var(--secondary-600) 100%);--gradient-fun:linear-gradient(135deg,var(--accent-purple) 0%,var(--accent-pink) 100%);--gradient-warm:linear-gradient(135deg,var(--accent-orange) 0%,var(--accent-yellow) 100%);--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--shadow-fun:0 10px 25px -5px rgba(139,92,246,.3);--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--font-family-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-family-display:"Poppins",var(--font-family-sans);--font-family-mono:"JetBrains Mono","Fira Code",monospace;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--text-6xl:3.75rem;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.625;--transition-fast:150ms ease-in-out;--transition-normal:250ms ease-in-out;--transition-slow:350ms ease-in-out;--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal:1040;--z-popover:1050;--z-tooltip:1060}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-family-sans);line-height:var(--leading-normal);color:var(--gray-800);background-color:var(--gray-50);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.text-display{font-family:var(--font-family-display);font-weight:700;letter-spacing:-.025em}.text-gradient{background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text}.text-fun-gradient,.text-gradient{-webkit-text-fill-color:transparent}.text-fun-gradient{background:var(--gradient-fun);-webkit-background-clip:text;background-clip:text}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);font-weight:600;border-radius:var(--radius-lg);border:none;cursor:pointer;transition:all var(--transition-normal);text-decoration:none;font-size:var(--text-base);line-height:1;position:relative;overflow:hidden}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-md)}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-secondary{background:var(--gradient-secondary);color:#fff;box-shadow:var(--shadow-md)}.btn-secondary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-fun{background:var(--gradient-fun);color:#fff;box-shadow:var(--shadow-fun)}.btn-fun:hover:not(:disabled){transform:translateY(-2px) scale(1.05);box-shadow:var(--shadow-xl)}.btn-outline{background:transparent;color:var(--primary-600);border:2px solid var(--primary-200)}.btn-outline:hover:not(:disabled){background:var(--primary-50);border-color:var(--primary-300)}.btn-ghost{background:transparent;color:var(--gray-600)}.btn-ghost:hover:not(:disabled){background:var(--gray-100);color:var(--gray-800)}.btn-sm{padding:var(--space-2) var(--space-4);font-size:var(--text-sm)}.btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--text-lg)}.btn-xl{padding:var(--space-5) var(--space-10);font-size:var(--text-xl)}.btn-xl,.card{border-radius:var(--radius-xl)}.card{background:#fff;box-shadow:var(--shadow-md);overflow:hidden;transition:all var(--transition-normal)}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}.card-fun{background:linear-gradient(135deg,#fff 0,var(--primary-50) 100%);border:2px solid var(--primary-100)}.card-fun:hover{border-color:var(--primary-200);transform:translateY(-4px) scale(1.02)}.input{width:100%;padding:var(--space-3) var(--space-4);border:2px solid var(--gray-200);border-radius:var(--radius-lg);font-size:var(--text-base);transition:all var(--transition-normal);background:#fff}.input:focus{outline:none;border-color:var(--primary-400);box-shadow:0 0 0 3px var(--primary-100)}.input-error,.input-error:focus{border-color:var(--error)}.input-error:focus{box-shadow:0 0 0 3px rgba(239,68,68,.1)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);font-size:var(--text-xs);font-weight:600;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em}.badge-primary{background:var(--primary-100);color:var(--primary-700)}.badge-secondary{background:var(--secondary-100);color:var(--secondary-700)}.badge-fun{background:var(--gradient-fun);color:#fff}.badge-warning{background:#fef08a;color:#92400e}.badge-error{background:#fee2e2;color:#991b1b}.animate-bounce-gentle{animation:bounce-gentle 2s infinite}@keyframes bounce-gentle{0%,20%,53%,80%,to{transform:translateZ(0)}40%,43%{transform:translate3d(0,-8px,0)}70%{transform:translate3d(0,-4px,0)}90%{transform:translate3d(0,-2px,0)}}.animate-fade-in{animation:fade-in .5s ease-out}@keyframes fade-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-slide-in-right{animation:slide-in-right .3s ease-out}@keyframes slide-in-right{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--space-4)}.container-sm{max-width:640px}.container-lg{max-width:1400px}.grid{display:grid;gap:var(--space-6)}.grid-cols-1{grid-template-columns:repeat(1,1fr)}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}@media (max-width:768px){.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}.md\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.md\:grid-cols-3{grid-template-columns:repeat(3,1fr)}}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:var(--space-2)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}