:root{--white:#fff;--surface:#f6f8fc;--surface-raised:#fff;--surface-sunken:#eef2f8;--blue-50:#eff4fb;--blue-100:#dce7f6;--blue-200:#bccfec;--blue-300:#93b1df;--blue-400:#6d93d0;--blue-500:#4c78bf;--blue-600:#3b64a8;--blue-700:#2f5089;--blue-800:#233d69;--rose-50:#fdf3f3;--rose-100:#fae3e4;--rose-200:#f4c7c9;--rose-300:#eda6aa;--rose-400:#e4878c;--rose-500:#d56e74;--ink:#1e2a3d;--ink-soft:#46546b;--muted:#6b7890;--line:#e1e7f0;--line-strong:#cad3e1;--danger-50:#fdeceb;--danger-200:#f1b9b4;--danger-600:#b3261e;--danger-700:#8f1e18;--good-50:#e8f5ee;--good-500:#3f9e6b;--good-700:#2b7050;--warn-50:#fdf6e3;--warn-500:#d9a21b;--warn-700:#8a6200;--info-50:var(--blue-50);--mastery-new-fg:var(--rose-500);--mastery-new-bg:var(--rose-50);--mastery-new-bar:var(--rose-300);--mastery-pending-fg:var(--warn-700);--mastery-pending-bg:var(--warn-50);--mastery-pending-bar:#e8c15f;--mastery-studying-fg:var(--blue-700);--mastery-studying-bg:var(--blue-100);--mastery-studying-bar:var(--blue-400);--mastery-mastered-fg:var(--good-700);--mastery-mastered-bg:var(--good-50);--mastery-mastered-bar:var(--good-500);--info-600:var(--blue-700);--color-bg:var(--surface);--color-text:var(--ink);--color-primary:var(--blue-500);--color-primary-hover:var(--blue-600);--color-primary-soft:var(--blue-50);--color-accent:var(--rose-400);--color-accent-soft:var(--rose-50);--color-focus:var(--blue-300);--font-sans:"Nunito", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;--text-3xl:2.25rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-pill:999px;--shadow-sm:0 1px 2px #233d690f;--shadow-md:0 4px 14px #233d6914;--shadow-lg:0 18px 40px #233d691f;--transition:.16s ease}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{min-height:100vh;font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;line-height:1.55}h1,h2,h3{color:var(--blue-800);margin:0;font-weight:800;line-height:1.25}p{margin:0}a{color:var(--color-primary);text-decoration:none}a:hover{color:var(--color-primary-hover)}:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-5);border-radius:var(--radius-md);font:inherit;cursor:pointer;transition:background var(--transition), border-color var(--transition), color var(--transition), box-shadow var(--transition);border:1px solid #0000;font-weight:700;display:inline-flex}.btn:disabled{cursor:not-allowed;opacity:.6}.btn--primary{color:var(--white);background:var(--color-primary);box-shadow:0 6px 16px #4c78bf47}.btn--primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn--ghost{color:var(--blue-700);background:var(--white);border-color:var(--line-strong)}.btn--ghost:hover:not(:disabled){background:var(--blue-50);border-color:var(--blue-200)}.btn--danger-outline{color:var(--danger-600);background:var(--white);border-color:var(--danger-200)}.btn--danger-outline:hover:not(:disabled){background:var(--danger-50)}.btn--danger{color:var(--white);background:var(--danger-600)}.btn--danger:hover:not(:disabled){background:var(--danger-700)}.btn--sm{min-height:36px;padding:0 var(--space-4);font-size:var(--text-sm);border-radius:var(--radius-sm)}.btn--block{width:100%}.field{gap:var(--space-2);display:grid}.field__label{font-size:var(--text-sm);color:var(--ink-soft);font-weight:700}.field__control{position:relative}.input{width:100%;min-height:48px;padding:0 var(--space-4);font:inherit;color:var(--ink);background:var(--white);border:1px solid var(--line-strong);border-radius:var(--radius-md);transition:border-color var(--transition), box-shadow var(--transition)}.input::placeholder{color:#9aa6b8}.input:hover{border-color:var(--blue-300)}.input:focus{border-color:var(--blue-500);box-shadow:0 0 0 4px var(--blue-100);outline:none}.input[aria-invalid=true]{border-color:var(--danger-600)}.input[aria-invalid=true]:focus{box-shadow:0 0 0 4px var(--danger-50)}.field__error{font-size:var(--text-sm);color:var(--danger-600)}textarea.input{min-height:88px;padding:var(--space-3) var(--space-4);resize:vertical;line-height:1.5}.field__hint{font-size:var(--text-xs);color:var(--muted)}.card{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card__body{padding:var(--space-5)}.eyebrow{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--rose-500);font-weight:800}.muted{color:var(--muted)}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
