*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--primary:#2563eb;--primary-dark:#1d4ed8;--primary-light:#3b82f6;--primary-xlight:#dbeafe;--accent:#7c3aed;--accent-light:#8b5cf6;--grad-start:#1e40af;--grad-mid:#2563eb;--grad-end:#3b82f6;--bg:#f8faff;--surface:#fff;--surface-alt:#f1f5f9;--border:#e2e8f0;--border-focus:#2563eb;--text-heading:#0f172a;--text-body:#334155;--text-muted:#64748b;--text-placeholder:#94a3b8;--success:#10b981;--success-light:#d1fae5;--error:#ef4444;--warning:#f59e0b;--shadow-sm:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-md:0 4px 16px #2563eb14, 0 2px 8px #0000000f;--shadow-lg:0 20px 60px #2563eb26, 0 8px 24px #00000014;--shadow-card:0 8px 32px #2563eb1f, 0 2px 8px #0000000f;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--transition:all .22s cubic-bezier(.4, 0, .2, 1);--transition-slow:all .4s cubic-bezier(.4, 0, .2, 1)}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px}body{background:var(--bg);color:var(--text-body);min-height:100vh;overflow-x:hidden}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-placeholder)}::selection{background:var(--primary-xlight);color:var(--primary-dark)}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit}a{color:inherit;text-decoration:none}@keyframes float{0%,to{transform:translateY(0)rotate(0)}33%{transform:translateY(-10px)rotate(1deg)}66%{transform:translateY(-5px)rotate(-1deg)}}@keyframes float2{0%,to{transform:translateY(0)rotate(0)}33%{transform:translateY(-14px)rotate(-1.5deg)}66%{transform:translateY(-6px)rotate(1deg)}}@keyframes float3{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes pulse-ring{0%{box-shadow:0 0 #2563eb4d}70%{box-shadow:0 0 0 12px #2563eb00}to{box-shadow:0 0 #2563eb00}}@keyframes wave{0%{transform:scaleY(1)}50%{transform:scaleY(.4)}to{transform:scaleY(1)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes scoreRing{0%{stroke-dashoffset:251px}to{stroke-dashoffset:52px}}
