:root{color:#1f2937;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f3f4f6;font-family:Arial,Helvetica,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{min-width:320px;margin:0;overflow-x:hidden}button,input{font:inherit}button{cursor:pointer;touch-action:manipulation}#root{min-height:100vh}.page{min-height:100vh;padding:20px 12px}.layout{gap:20px;width:100%;min-width:0;max-width:720px;margin:0 auto;display:grid}.page__header{gap:8px;display:grid}.lesson-stats{flex-wrap:wrap;gap:8px;min-width:0;display:flex}.lesson-stats__chip{color:#3f6212;overflow-wrap:anywhere;background:#ecfccb;border-radius:999px;align-items:center;min-width:0;min-height:36px;padding:6px 10px;font-size:.8125rem;font-weight:700;display:inline-flex}.lesson-stats__chip--accent{color:#1e40af;background:#dbeafe}.user-session-panel{background:#fff;border:1px solid #d1d5db;border-radius:12px;gap:16px;padding:16px;display:grid}.user-session-panel__identity{gap:6px;display:grid}.user-session-panel__label{text-transform:uppercase;letter-spacing:.06em;color:#6b7280;font-size:.75rem;font-weight:700}.user-session-panel__input{background:#f9fafb;border:1px solid #d1d5db;border-radius:10px;width:100%;min-height:44px;padding:10px 12px}.user-session-panel__input:disabled{opacity:.65;cursor:not-allowed}.user-session-panel__sign-out{align-self:end}.user-session-panel__actions{flex-wrap:wrap;align-self:end;gap:8px;display:flex}.profile-sync-banner{z-index:50;border-radius:0 0 12px 12px;flex-wrap:wrap;align-items:center;gap:12px 16px;margin:0 0 16px;padding:8px 14px;font-size:.875rem;font-weight:700;display:flex;position:sticky;top:0;box-shadow:0 4px 18px #0f172a0f}.profile-sync-banner--saving{color:#334155;background:#f8fafc;border:1px solid #e2e8f0;border-top:none}.profile-sync-banner--saved{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-top:none}.profile-sync-banner--local{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-top:none}.profile-sync-banner__spinner{border:2px solid #93c5fd;border-top-color:#1d4ed8;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite profile-sync-spin;display:inline-block}.profile-sync-banner__check{color:#166534;background:#dcfce7;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:.85rem;font-weight:900;display:inline-flex}@keyframes profile-sync-spin{to{transform:rotate(360deg)}}.profile-sync-banner__message{flex:200px;min-width:0}.profile-sync-banner__actions{flex-wrap:wrap;gap:8px;width:100%;display:flex}.student-content-banner{z-index:40;color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-top:none;border-radius:0 0 12px 12px;padding:10px 14px;font-size:.875rem;font-weight:800;position:sticky;top:0}.user-session-panel__stats{flex-wrap:wrap;gap:20px 24px;margin:0;display:flex}.user-session-panel__stat{min-width:0;margin:0}.user-session-panel__stat dt{text-transform:uppercase;letter-spacing:.06em;color:#6b7280;margin:0 0 4px;font-size:.75rem;font-weight:700}.user-session-panel__stat dd{color:#15803d;word-break:break-all;margin:0;font-size:1.125rem;font-weight:700}.level-progress{background:#f8fafc;border:1px solid #dbe3ea;border-radius:12px;gap:8px;width:100%;min-width:0;padding:12px;display:grid}.level-progress--lesson{background:#fff}.level-progress__header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;display:flex}.level-progress__label{color:#111827;font-size:1rem;font-weight:800}.level-progress__meta{color:#6b7280;letter-spacing:.06em;text-transform:uppercase;font-size:.75rem;font-weight:800}.level-progress__track{background:#e5e7eb;border-radius:999px;height:10px;overflow:hidden}.level-progress__fill{background:linear-gradient(90deg,#60a5fa,#22c55e);border-radius:999px;height:100%;display:block}.level-progress__copy{color:#4b5563;margin:0;font-size:.875rem;font-weight:700}.page__back{justify-self:start}.card{background:#fff;border:1px solid #d1d5db;border-radius:12px;min-width:0;padding:18px}.theory-card{gap:18px;display:grid}.theory-card__content{color:#374151;white-space:pre-line;margin:0;line-height:1.75}.exercise-audio{align-items:start;gap:8px;display:grid}.exercise-audio__controls{gap:6px;display:grid}.exercise-audio__title{color:#374151;margin:0;font-size:.85rem;font-weight:800}.exercise-audio__buttons{flex-wrap:wrap;gap:8px;display:flex}.speak-button{min-height:36px;padding:8px 12px}.pronunciation-hint{color:#4b5563;margin:0;font-size:.95rem;font-weight:700}.onboarding-page{align-items:center;display:grid}.onboarding-layout{justify-items:stretch;max-width:640px}.onboarding-card{justify-self:center;gap:18px;width:100%;max-width:calc(100vw - 24px);display:grid;overflow:hidden}.onboarding-card>*{min-width:0}.onboarding-progress{justify-content:center;gap:8px;display:flex}.onboarding-progress__dot{background:#d1d5db;border-radius:999px;width:34px;height:8px;transition:background-color .16s,width .16s}.onboarding-progress__dot--active{background:#22c55e;width:44px}.onboarding-copy{color:#4b5563;overflow-wrap:anywhere;margin:0;font-size:1rem}.onboarding-welcome{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:14px;gap:14px;padding:16px;display:grid}.onboarding-welcome p{color:#14532d;margin:0;font-weight:700}.onboarding-badge{color:#14532d;background:radial-gradient(circle at top,#fef08a,#22c55e);border-radius:999px;justify-content:center;align-items:center;width:58px;height:58px;font-size:1.75rem;font-weight:800;display:inline-flex}.onboarding-section{gap:12px;display:grid}.onboarding-label{color:#4b5563;text-transform:uppercase;letter-spacing:.06em;margin:0;font-size:.875rem;font-weight:800}.onboarding-options{gap:12px;display:grid}.onboarding-choice{color:#111827;text-align:left;background:#f9fafb;border:1px solid #d1d5db;border-radius:12px;gap:4px;width:100%;min-height:56px;padding:14px 16px;font-weight:800;transition:transform .16s,border-color .16s,background-color .16s,box-shadow .16s;display:grid}.onboarding-choice:not(:disabled):hover{border-color:#93c5fd;transform:translateY(-1px)}.onboarding-choice--selected{background:#f0fdf4;border-color:#22c55e;box-shadow:0 0 0 3px #22c55e1f}.onboarding-choice--disabled{color:#6b7280;cursor:not-allowed;opacity:.72}.onboarding-choice__detail{color:#6b7280;font-size:.875rem;font-weight:700}.onboarding-actions{flex-direction:column-reverse;gap:12px;display:flex}.auth-page{align-items:center;display:grid}.auth-layout{max-width:520px}.auth-card{gap:18px;display:grid}.auth-form,.auth-field,.auth-switch{gap:12px;display:grid}.auth-field span,.auth-switch span{color:#4b5563;font-size:.875rem;font-weight:800}.auth-input{color:#111827;background:#f9fafb;border:1px solid #d1d5db;border-radius:10px;width:100%;min-height:48px;padding:12px 14px}.auth-error,.auth-notice{overflow-wrap:anywhere;border-radius:10px;margin:0;padding:12px 14px;font-weight:700}.auth-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.auth-notice{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}.auth-privacy-link{color:#166534;justify-self:center;font-size:.875rem;font-weight:800}.privacy-page{background:#f3f4f6}.privacy-layout{background:#fff;border:1px solid #d1d5db;border-radius:16px;gap:0;max-width:760px;overflow:hidden}.privacy-header{background:#f0fdf4;border-bottom:1px solid #d1d5db;gap:12px;padding:24px 20px;display:grid}.privacy-back-link,.privacy-section a{color:#166534;overflow-wrap:anywhere;font-weight:800}.privacy-back-link{width:fit-content}.privacy-updated{color:#4b5563;margin:0;font-size:.875rem;font-weight:700}.privacy-section{border-bottom:1px solid #e5e7eb;gap:12px;padding:22px 20px;display:grid}.privacy-section:last-child{border-bottom:none}.privacy-section h2{color:#111827;font-size:1.25rem}.privacy-section p,.privacy-section ul{color:#374151;margin:0}.privacy-section ul{gap:8px;padding-left:22px;display:grid}.privacy-contact{gap:12px;margin:0;display:grid}.privacy-contact div{gap:2px;display:grid}.privacy-contact dt{color:#6b7280;letter-spacing:.06em;text-transform:uppercase;font-size:.75rem;font-weight:800}.privacy-contact dd{color:#111827;overflow-wrap:anywhere;margin:0;font-weight:800}.account-layout{max-width:720px}.account-danger-zone{border-color:#fecaca;gap:16px;display:grid}.account-copy,.account-data-list{color:#4b5563;overflow-wrap:anywhere;margin:0}.account-data-list{gap:8px;padding-left:22px;display:grid}.account-danger-zone a{color:#166534;font-weight:800}.admin-page{background:#f3f4f6}.admin-layout{max-width:1120px}.admin-header{justify-content:space-between;align-items:start}.admin-panel{gap:18px;display:grid}.admin-section,.admin-access-card{background:#fff;border:1px solid #d1d5db;border-radius:12px;gap:16px;min-width:0;padding:18px;display:grid}.admin-form{gap:12px;min-width:0;display:grid}.admin-form__actions,.admin-row-actions{flex-wrap:wrap;gap:8px;display:flex}.admin-field{gap:6px;min-width:0;display:grid}.admin-field span{color:#4b5563;font-size:.8125rem;font-weight:800}.admin-input{color:#111827;background:#f9fafb;border:1px solid #d1d5db;border-radius:10px;width:100%;min-height:44px;padding:10px 12px}.admin-textarea{resize:vertical;min-height:92px}.admin-check{color:#4b5563;align-items:center;gap:8px;min-height:44px;font-size:.875rem;font-weight:800;display:flex}.admin-list{gap:10px;display:grid}.admin-list__item{background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;gap:4px;min-width:0;padding:12px;display:grid}.admin-list__item span,.admin-copy,.admin-empty{color:#4b5563;overflow-wrap:anywhere;margin:0}.admin-metrics-grid,.admin-ranking-grid{gap:12px;display:grid}.admin-metric-card{background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;gap:6px;min-width:0;padding:14px;display:grid}.admin-metric-card span{color:#6b7280;letter-spacing:.06em;text-transform:uppercase;font-size:.75rem;font-weight:800}.admin-metric-card strong{color:#111827;overflow-wrap:anywhere;font-size:1.35rem;font-weight:900}.admin-ranking{gap:10px;min-width:0;display:grid}.admin-ranking h3{color:#111827;margin:0;font-size:1rem}.admin-table{border-collapse:collapse;overflow-wrap:anywhere;width:100%}.admin-table th,.admin-table td{text-align:left;vertical-align:top;border:1px solid #e5e7eb;padding:10px}.admin-table th{color:#4b5563;letter-spacing:.06em;text-transform:uppercase;background:#f8fafc;font-size:.75rem;font-weight:900}.admin-table td{color:#111827;font-size:.875rem;font-weight:700}.admin-actions{flex-wrap:wrap;gap:10px;display:flex}.admin-status{border-radius:10px;margin:0;padding:12px 14px;font-weight:800}.admin-status--loading,.admin-status--saving{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe}.admin-status--success{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}.admin-status--error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:#6b7280;margin:0;font-size:.875rem}h1,h2{overflow-wrap:anywhere;margin:0}h1{font-size:clamp(1.875rem,8vw,2.375rem);line-height:1.05}h2{font-size:clamp(1.375rem,6vw,1.875rem);line-height:1.12}.progress{gap:8px;display:grid}.progress__meta{color:#4b5563;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;font-size:.875rem;display:flex}.progress__track{background:#e5e7eb;border-radius:999px;height:10px;overflow:hidden}.progress__fill{background:#22c55e;border-radius:999px;height:100%}.exercise{gap:18px;min-width:0;margin-top:16px;display:grid}.question{margin:0;font-size:1.125rem;font-weight:600}.fill-input{gap:8px;display:grid}.fill-input__label{color:#4b5563;font-size:.875rem;font-weight:700}.fill-input__field{color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:12px;width:100%;min-height:48px;padding:14px 16px;transition:border-color .16s,box-shadow .16s}.fill-input__field:focus{border-color:#60a5fa;outline:none;box-shadow:0 0 0 3px #60a5fa29}.fill-input__field:disabled{color:#6b7280;background:#f3f4f6}.match-grid{grid-template-columns:1fr;gap:18px;min-width:0;display:grid}.match-grid__column{gap:10px;display:grid}.match-grid__label{color:#4b5563;margin:0;font-size:.875rem;font-weight:700}.match-chip{color:#111827;background:#f9fafb;border:1px solid #d1d5db;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:48px;padding:14px 16px;transition:transform .16s,border-color .16s,background-color .16s,box-shadow .16s;display:flex}.match-chip>span:first-child{overflow-wrap:anywhere;text-align:left;min-width:0}.match-chip:not(:disabled):hover{border-color:#93c5fd;transform:translateY(-1px)}.match-chip:disabled{cursor:not-allowed}.match-chip--selected{background:#eff6ff;border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa24}.match-chip--paired{background:#f7fee7;border-color:#84cc16}.match-chip__badge{color:#166534;background:#dcfce7;border-radius:999px;justify-content:center;align-items:center;padding:4px 8px;font-size:.75rem;font-weight:700;display:inline-flex}.options{gap:12px;min-width:0;display:grid}.option{background:#f9fafb;border:1px solid #d1d5db;border-radius:12px;align-items:center;gap:12px;min-height:52px;padding:14px 16px;transition:transform .16s,border-color .16s,background-color .16s,box-shadow .16s;display:flex}.option input{flex:none}.option:has(input:checked){border-color:#84cc16;transform:scale(1.01);box-shadow:0 0 0 3px #84cc161f}.option--correct{background:#f0fdf4;border-color:#22c55e;animation:.18s ease-out option-pop}.option--incorrect{background:#fef2f2;border-color:#ef4444;animation:.18s ease-out option-pop}.option__label{overflow-wrap:anywhere;flex:1;min-width:0}.option__icon{border-radius:999px;justify-content:center;align-items:center;width:26px;height:26px;font-weight:700;display:inline-flex}.option__icon--correct{color:#166534;background:#dcfce7}.option__icon--incorrect{color:#b91c1c;background:#fee2e2}.button{color:#fff;background:#16a34a;border:none;border-radius:10px;width:100%;min-width:0;min-height:44px;padding:12px 16px;transition:transform .16s,opacity .16s,background-color .16s}.button--secondary{color:#111827;background:#e5e7eb}.button--success{background:#16a34a}.button--error{background:#dc2626}.button:not(:disabled):hover{transform:translateY(-1px)}.button:focus-visible,.onboarding-choice:focus-visible,.option:focus-within,.match-chip:focus-visible,.lesson-path__node:focus-visible,.user-session-panel__input:focus-visible,.auth-input:focus-visible,.admin-input:focus-visible{outline-offset:3px;outline:3px solid #2563eb59}.button:disabled{cursor:not-allowed;background:#9ca3af}.feedback{margin:0;font-weight:600}.feedback-panel{border-radius:12px;gap:12px;padding:14px;animation:.22s ease-out feedback-fade;display:grid}.feedback-panel--error{background:#fef2f2;border:1px solid #fecaca}.feedback-panel--success{background:#f0fdf4;border:1px solid #bbf7d0}.feedback-panel__header{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.feedback-copy,.feedback-answer{gap:4px;display:grid}.feedback-answer__label{text-transform:uppercase;letter-spacing:.08em;color:#6b7280;margin:0;font-size:.75rem;font-weight:700}.feedback-answer__value{color:#111827;margin:0;font-weight:700}.correct-pairs{gap:8px;display:grid}.correct-pairs__item{color:#374151;flex-wrap:wrap;align-items:center;gap:8px;margin:0;font-weight:600;display:flex}.correct-pairs__arrow{color:#6b7280}.feedback-explanation{gap:4px;display:grid}.feedback-explanation__label{text-transform:uppercase;letter-spacing:.08em;color:#6b7280;margin:0;font-size:.75rem;font-weight:700}.feedback-explanation__text{color:#374151;margin:0;font-size:.9375rem;line-height:1.5}.feedback-panel__icon{border-radius:999px;justify-content:center;align-items:center;width:34px;height:34px;font-size:1rem;font-weight:700;animation:.24s ease-out icon-bounce;display:inline-flex}.feedback-panel__icon--success{color:#166534;background:#dcfce7}.feedback-panel__icon--error{color:#b91c1c;background:#fee2e2}.feedback--error{color:#dc2626}.feedback--success{color:#16a34a}.feedback-xp{color:#ca8a04;margin:0;font-weight:800;animation:.22s ease-out xp-pop}.completion-copy{color:#4b5563;margin:0}.completion{gap:20px;padding:4px;display:grid}.completion__hero{text-align:center;background:linear-gradient(135deg,#f0fdf4f5,#eff6ffe6),#f0fdf4;border:1px solid #bbf7d0;border-radius:18px;justify-items:center;gap:16px;padding:22px 16px;display:grid;overflow:hidden}.completion__badge{color:#14532d;background:radial-gradient(circle at top,#fef08a,#22c55e);border-radius:999px;justify-content:center;align-items:center;width:72px;height:72px;font-size:2rem;font-weight:900;animation:.32s ease-out completion-pop;display:inline-flex;box-shadow:0 12px 28px #22c55e38,inset 0 -4px #14532d1f}.completion__copy{gap:8px;display:grid}.completion__headline{color:#111827;margin:0;font-size:1.75rem;font-weight:800}.completion__reward{text-align:center;background:#ecfdf5;border:1px solid #bbf7d0;border-radius:16px;justify-items:center;gap:4px;padding:18px;display:grid}.completion__reward-label,.completion__reward-copy{color:#166534;font-size:.875rem;font-weight:800}.completion__reward-value{color:#14532d;font-size:2.25rem;font-weight:900;line-height:1}.completion__stats{grid-template-columns:1fr;gap:12px;display:grid}.completion__stat{background:#f8fafc;border:1px solid #dbe3ea;border-radius:14px;gap:4px;padding:16px;display:grid}.completion__stat-label{text-transform:uppercase;letter-spacing:.08em;color:#6b7280;font-size:.75rem;font-weight:700}.completion__stat-value{color:#111827;font-size:1.5rem;font-weight:800}.completion__achievement{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:14px;align-items:center;gap:10px;min-width:0;padding:12px 14px;font-weight:800;display:flex}.completion__achievement-icon{color:#92400e;background:#fef3c7;border-radius:50%;flex:none;justify-content:center;align-items:center;width:26px;height:26px;font-weight:900;display:inline-flex}.completion__level{display:grid}.completion__actions{flex-wrap:wrap;gap:12px;display:flex}.completion__actions .button{flex:100%}.course-units{gap:32px;min-width:0;display:grid}.lesson-cta{background:linear-gradient(135deg,#dcfce7eb,#eff6ffeb),#f0fdf4;border:1px solid #bbf7d0;border-radius:16px;gap:16px;width:100%;min-width:0;padding:18px;display:grid;box-shadow:0 14px 34px #16a34a1f}.lesson-cta__copy{gap:6px;min-width:0;display:grid}.lesson-cta__eyebrow{color:#15803d;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.75rem;font-weight:900}.lesson-cta__title{color:#111827;overflow-wrap:anywhere;margin:0;font-size:1.35rem;line-height:1.15}.lesson-cta__meta{color:#475569;overflow-wrap:anywhere;margin:0;font-size:.95rem;font-weight:700}.lesson-cta__button{justify-self:stretch}.review-card{background:#fff;border:1px solid #bfdbfe;border-radius:16px;gap:16px;width:100%;min-width:0;padding:18px;display:grid;box-shadow:0 10px 28px #2563eb14}.review-card__copy{gap:6px;min-width:0;display:grid}.review-card__eyebrow{color:#1d4ed8;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.75rem;font-weight:900}.review-card__title{color:#111827;margin:0;font-size:1.25rem;line-height:1.15}.review-card__meta,.review-page__meta,.review-empty p{color:#4b5563;overflow-wrap:anywhere;margin:0;font-weight:700}.review-card__error{color:#b91c1c;overflow-wrap:anywhere;margin:0;font-size:.875rem;font-weight:800}.review-card__button{justify-self:stretch}.review-page__stats{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.review-page__stats span{color:#1e40af;background:#eff6ff;border-radius:999px;align-items:center;min-height:32px;padding:6px 10px;font-size:.8125rem;font-weight:800;display:inline-flex}.review-prep{background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;gap:12px;padding:14px;display:grid}.review-prep__header{gap:4px;display:grid}.review-prep__eyebrow{color:#1d4ed8;text-transform:uppercase;margin:0;font-size:.75rem;font-weight:900}.review-prep__header h3{color:#111827;margin:0;font-size:1.05rem;line-height:1.2}.review-prep__hint{color:#374151;margin:0;font-weight:700;line-height:1.5}.review-prep__examples{color:#4b5563;gap:4px;margin:0;padding-left:20px;font-weight:700;display:grid}.review-prep__button,.review-page__hint-toggle{justify-self:start}.review-hint{background:#fffbeb;border:1px solid #fde68a;border-radius:12px;gap:12px;margin-top:14px;padding:14px;display:grid}.review-hint__copy{gap:6px;display:grid}.review-hint__title{color:#92400e;margin:0;font-size:.9rem;font-weight:900}.review-hint__text{color:#3f3f46;margin:0;font-weight:700;line-height:1.5}.review-hint__examples{color:#4b5563;gap:4px;margin:0;padding-left:20px;font-weight:700;display:grid}.review-hint__button{justify-self:start}.review-empty{gap:16px;display:grid}.analytics-card{background:#fff;border:1px solid #dbe3ea;border-radius:16px;gap:16px;min-width:0;padding:18px;display:grid}.analytics-card__header{gap:6px;display:grid}.analytics-card__eyebrow{color:#15803d;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.75rem;font-weight:900}.analytics-card__title{color:#111827;margin:0;font-size:1.25rem;line-height:1.15}.analytics-grid{gap:10px;margin:0;display:grid}.analytics-grid__item{background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;gap:4px;min-width:0;padding:12px;display:grid}.analytics-grid__item dt{color:#6b7280;letter-spacing:.06em;text-transform:uppercase;font-size:.75rem;font-weight:800}.analytics-grid__item dd{color:#111827;margin:0;font-size:1.25rem;font-weight:900}.achievements-card{background:#fffbeb;border:1px solid #fde68a;border-radius:16px;gap:16px;min-width:0;padding:18px;display:grid}.achievements-card__copy{gap:6px;display:grid}.achievements-card__eyebrow{color:#92400e;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.75rem;font-weight:900}.achievements-card__title{color:#111827;margin:0;font-size:1.25rem;line-height:1.15}.achievements-card__meta,.achievements-page__meta{color:#4b5563;overflow-wrap:anywhere;margin:0;font-weight:800}.achievements-card__button{justify-self:stretch}.achievements-list{gap:12px;display:grid}.achievement-item{background:#fff;border:1px solid #e5e7eb;border-radius:14px;gap:12px;min-width:0;padding:16px;display:grid}.achievement-item--unlocked{background:#fffbeb;border-color:#facc15}.achievement-item__name{color:#111827;overflow-wrap:anywhere;margin:0;font-size:1rem;font-weight:900}.achievement-item__description{color:#4b5563;overflow-wrap:anywhere;margin:4px 0 0;font-weight:700}.achievement-item__status{color:#4b5563;overflow-wrap:anywhere;background:#f3f4f6;border-radius:999px;align-items:center;width:fit-content;max-width:100%;min-height:32px;padding:6px 10px;font-size:.8125rem;font-weight:900;display:inline-flex}.achievement-item--unlocked .achievement-item__status{color:#92400e;background:#fef3c7}.achievement-toast{z-index:80;color:#111827;background:#fffbeb;border:1px solid #fde68a;border-radius:14px;gap:4px;width:min(360px,100vw - 24px);padding:14px 16px;animation:.22s ease-out feedback-fade;display:grid;position:fixed;bottom:12px;right:12px;box-shadow:0 18px 38px #1118272e}.achievement-toast__eyebrow{color:#92400e;margin:0;font-size:.8125rem;font-weight:900}.achievement-toast__title{color:#111827;overflow-wrap:anywhere;margin:0;font-size:1rem;font-weight:900}.course-unit{gap:16px;min-width:0;display:grid}.course-unit__header{background:#fff;border:1px solid #dbe3ea;border-radius:14px;gap:8px;padding:16px;display:grid}.course-unit__eyebrow{color:#15803d;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.75rem;font-weight:800}.course-unit__title-row{flex-wrap:wrap;align-items:center;gap:8px 12px;min-width:0;display:flex}.course-unit__title{color:#111827;margin:0;font-size:1.375rem;line-height:1.1}.course-unit__level{color:#1e40af;background:#dbeafe;border-radius:999px;align-items:center;min-height:30px;padding:4px 10px;font-size:.8125rem;font-weight:800;display:inline-flex}.course-unit__description,.course-unit__empty{color:#4b5563;overflow-wrap:anywhere;margin:0}.course-unit__empty{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:12px;padding:14px 16px;font-weight:700}.lesson-path{gap:24px;min-width:0;padding:8px 0 24px;display:grid;position:relative}.lesson-path__step{grid-template-columns:56px minmax(0,1fr);align-items:center;gap:12px;min-width:0;display:grid;position:relative}.lesson-path__step--right{grid-template-columns:56px minmax(0,1fr)}.lesson-path__connector{background:#d1d5db;border-radius:999px;width:8px;height:calc(100% + 20px);position:absolute;top:60px;left:25px}.lesson-path__step--right .lesson-path__connector{left:25px;right:auto}.lesson-path__connector--filled{background:linear-gradient(#84cc16,#22c55e)}.lesson-path__node{z-index:1;background:#fff;border:none;border-radius:999px;width:56px;height:56px;min-height:56px;transition:transform .16s,box-shadow .16s,opacity .16s;position:relative;box-shadow:inset 0 -4px #00000014}.lesson-path__node:not(:disabled):hover{transform:translateY(-2px);box-shadow:inset 0 -4px #00000014,0 12px 24px #1118271f}.lesson-path__node:disabled{cursor:not-allowed}.lesson-path__node-inner{border-radius:999px;justify-content:center;align-items:center;width:100%;height:100%;font-size:1.25rem;font-weight:800;display:inline-flex}.lesson-path__node--completed{color:#14532d;background:linear-gradient(#86efac,#22c55e)}.lesson-path__node--in-progress{color:#78350f;background:linear-gradient(#fde68a,#f59e0b);box-shadow:0 0 0 6px #f59e0b29,inset 0 -4px #00000014}.lesson-path__node--not-started{color:#1e3a8a;background:linear-gradient(#bfdbfe,#60a5fa)}.lesson-path__node--locked{color:#6b7280;opacity:.72;background:#d1d5db}.lesson-path__node--next{box-shadow:0 0 0 6px #84cc162e,inset 0 -4px #00000014}.lesson-path__content{background:#fff;border:1px solid #e5e7eb;border-radius:14px;gap:6px;min-width:0;padding:14px;display:grid}.lesson-path__content--next{border-color:#bef264;box-shadow:0 8px 20px #84cc161f}.lesson-path__header{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.lesson-path__title{color:#111827;overflow-wrap:anywhere;margin:0;font-size:1rem;font-weight:800}.lesson-path__meta{color:#6b7280;overflow-wrap:anywhere;margin:0}.lesson-path__badge{border-radius:999px;padding:4px 10px;font-size:.75rem;font-weight:700}.lesson-path__badge--completed{color:#166534;background:#dcfce7}.lesson-path__badge--in-progress{color:#92400e;background:#fef3c7}.lesson-path__badge--locked{color:#4b5563;background:#e5e7eb}.lesson-path__badge--not-started{color:#1d4ed8;background:#dbeafe}.lesson-path__track{background:#e5e7eb;border-radius:999px;width:100%;height:10px;overflow:hidden}.lesson-path__fill{background:linear-gradient(90deg,#84cc16,#22c55e);border-radius:999px;height:100%;display:block}.lesson-path__hint{color:#4d7c0f;overflow-wrap:anywhere;margin:0;font-size:.875rem;font-weight:700}.lesson-path__locked-help{color:#475569;overflow-wrap:anywhere;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:10px;margin:0;padding:10px 12px;font-size:.875rem;font-weight:700;line-height:1.35}@keyframes feedback-fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes icon-bounce{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes option-pop{0%{transform:scale(.98)}to{transform:scale(1)}}@keyframes xp-pop{0%{opacity:0;transform:translateY(6px)scale(.94)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes completion-pop{0%{opacity:0;transform:translateY(10px)scale(.9)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width>=520px){.button{width:fit-content;min-width:140px}.profile-sync-banner__actions{width:auto}.completion__actions .button{flex:0 auto}.lesson-cta{grid-template-columns:minmax(0,1fr) auto;align-items:center}.lesson-cta__button{justify-self:end}.review-card{grid-template-columns:minmax(0,1fr) auto;align-items:center}.review-card__button{justify-self:end}.analytics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.achievements-card{grid-template-columns:minmax(0,1fr) auto;align-items:center}.achievements-card__button{justify-self:end}.achievement-item{grid-template-columns:minmax(0,1fr) auto;align-items:center}.onboarding-options{grid-template-columns:repeat(2,minmax(0,1fr))}.onboarding-actions{flex-direction:row;justify-content:flex-end}.onboarding-actions .button{width:fit-content}.auth-switch{grid-template-columns:minmax(0,1fr) auto;align-items:center}.privacy-header,.privacy-section{padding-left:32px;padding-right:32px}.admin-header{flex-wrap:wrap;display:flex}.admin-form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.admin-form .admin-field:has(.admin-textarea){grid-column:1/-1}.admin-form__actions{grid-column:1/-1}.admin-list{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-ranking-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=641px){h1{font-size:3rem}h2{font-size:2rem}.page{padding:32px 16px}.layout{gap:24px}.card{border-radius:16px;padding:24px}.completion__stats,.match-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-path__step,.lesson-path__step--right{grid-template-columns:88px minmax(0,1fr)}.lesson-path__step--right{grid-template-columns:minmax(0,1fr) 88px}.lesson-path__step--right .lesson-path__node{order:2}.lesson-path__step--right .lesson-path__content{text-align:right;order:1}.lesson-path__step--right .lesson-path__header{justify-content:flex-end}.lesson-path__step--right .lesson-path__track{margin-left:auto}.lesson-path__connector{height:calc(100% + 24px);top:74px;left:40px}.lesson-path__step--right .lesson-path__connector{left:auto;right:40px}.lesson-path__node{width:88px;height:88px;min-height:88px}.lesson-path__node-inner{font-size:1.5rem}.lesson-path__content{border-radius:18px;padding:16px 18px}.lesson-path__title{font-size:1.1rem}}@media (width>=760px){.user-session-panel{grid-template-columns:minmax(240px,320px) minmax(0,1fr);align-items:end}.user-session-panel .level-progress{grid-column:1/-1}}
