:root{--blue:#2563eb;--green:#10b981;--orange:#f97316;--yellow:#facc15;--purple:#a78bfa;--pink:#ec4899;--navy:#0f172a;--gray:#64748b;--gray-light:#e2e8f0;--gray-lighter:#f8fafc;--text:#334155;--text-h:var(--navy);--text-muted:var(--gray);--bg:var(--gray-lighter);--surface:#fff;--border:var(--gray-light);--accent:var(--blue);--accent-contrast:#fff;--accent-bg:#eff6ff;--danger:#dc2626;--radius:12px;--radius-lg:18px;--sans:"Inter", system-ui, "Segoe UI", Roboto, sans-serif;--display:"Nunito", "Inter", system-ui, sans-serif;font:16px/1.5 var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}*,:before,:after{box-sizing:border-box}body{min-height:100dvh;margin:0}h1,h2,h3{font-family:var(--display);color:var(--text-h);margin:0 0 12px;font-weight:900;line-height:1.2}h1{font-size:1.75rem}h2{font-size:1.25rem;font-weight:800}h3{font-size:1.05rem;font-weight:800}p{margin:0 0 8px}.page{width:100%;max-width:1040px;margin:0 auto;padding:24px 16px}.page-narrow{max-width:480px}.muted{color:var(--text-muted)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px}.form{flex-direction:column;gap:12px;display:flex}.field{flex-direction:column;gap:4px;font-weight:500;display:flex}input,select,textarea{min-height:44px;font:inherit;color:inherit;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px}input:focus-visible,select:focus-visible,textarea:focus-visible,.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn{min-height:44px;font:inherit;font-family:var(--display);border-radius:var(--radius);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;padding:0 16px;font-weight:800;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.6;cursor:default}.btn-primary{background:var(--accent);color:var(--accent-contrast);box-shadow:0 4px 14px -4px #2563eb80}.btn-ghost{color:var(--accent);background:0 0}.btn-danger{background:var(--danger);color:#fff}.error{color:var(--danger);margin:0}
