:root{--primary:#2563eb;--primary-light:#3b82f6;--primary-dark:#1d4ed8;--primary-50:#eff6ff;--primary-100:#dbeafe;--secondary:#7c3aed;--secondary-light:#8b5cf6;--accent:#f59e0b;--accent-light:#fcd34d;--success:#10b981;--success-light:#34d399;--error:#dc2626;--error-light:#f87171;--bg:#eff6ff;--surface:#fff;--foreground:#0f172a;--muted:#f1f5fd;--border:#e4ecfc;--text-secondary:#64748b;--shadow-sm:0 1px 3px #0f172a0f;--shadow:0 4px 12px #0f172a14;--shadow-lg:0 12px 32px #0f172a1f;--shadow-xl:0 20px 48px #0f172a29;--radius:20px;--radius-lg:24px;--radius-md:16px;--radius-sm:12px;--radius-xs:8px;--font-display:"Fredoka",sans-serif;--font-body:"Nunito",sans-serif;--transition:.2s cubic-bezier(.4,0,.2,1);--spring:.4s cubic-bezier(.34,1.56,.64,1)}@media (prefers-color-scheme:dark){:root{--bg:#0f172a;--surface:#1e293b;--foreground:#f1f5f9;--muted:#1e293b;--border:#334155;--text-secondary:#94a3b8;--primary-50:#1e3a5f;--primary-100:#1e3a5f}}@media (prefers-reduced-motion:reduce){*,:after,:before{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background:var(--bg);color:var(--foreground);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;line-height:1.2}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}h4{font-size:1.25rem}p{margin-bottom:1rem}a{color:var(--primary);transition:color var(--transition);text-decoration:none}a:hover{color:var(--primary-dark)}.btn{border-radius:var(--radius-md);font-family:var(--font-body);cursor:pointer;transition:transform var(--spring),box-shadow var(--transition);border:none;justify-content:center;align-items:center;gap:.5rem;min-height:56px;padding:.875rem 1.5rem;font-size:1rem;font-weight:700;text-decoration:none;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn:active{transform:scale(.97)}.btn:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;box-shadow:0 6px 20px #2563eb59}.btn-secondary{background:var(--surface);color:var(--foreground);box-shadow:var(--shadow);border:1px solid var(--border)}.btn-accent{background:linear-gradient(135deg,var(--accent),#d97706);color:#fff;box-shadow:0 6px 20px #f59e0b59}.btn-success{background:linear-gradient(135deg,var(--success),#059669);color:#fff;box-shadow:0 6px 20px #10b98159}.btn-ghost{color:var(--primary);box-shadow:none;background:0 0}.card{background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow);border:1px solid var(--border);padding:1.5rem}.container{max-width:1200px;margin:0 auto;padding:0 1rem}.section{padding:4rem 0}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.fade-in{animation:.4s cubic-bezier(.4,0,.2,1) fadeIn}.slide-up{animation:.5s cubic-bezier(.34,1.56,.64,1) slideUp}@media (width<=768px){h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}.section{padding:2rem 0}}
