.materials-page{color:#13213a;width:min(100%,1080px);margin:0 auto;padding:40px 44px 56px}.materials-page__header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:28px;display:flex}.page-eyebrow{color:#66809a;letter-spacing:.07em;text-transform:uppercase;margin:0 0 8px;font-size:.82rem;font-weight:700}.materials-page h1,.materials-page h2,.materials-page h3,.materials-page p{margin-top:0}.materials-page h1{letter-spacing:-.035em;margin-bottom:10px;font-size:clamp(2rem,4vw,2.75rem);line-height:1.05}.page-description{color:#52657b;max-width:740px;margin-bottom:0;font-size:1rem;line-height:1.65}.materials-upload-card,.materials-list-section{background:#fff;border:1px solid #dce5ed;border-radius:20px;box-shadow:0 12px 32px #19304c0f}.materials-upload-card{grid-template-columns:minmax(240px,.8fr) minmax(380px,1.2fr);gap:32px;margin-bottom:20px;padding:30px;display:grid}.materials-upload-card__intro h2,.materials-list-section__header h2{margin-bottom:8px;font-size:1.25rem}.materials-upload-card__intro p{color:#607388;margin-bottom:0;font-size:.94rem;line-height:1.55}.materials-upload-form{align-content:start;gap:16px;display:grid}.materials-field{color:#33475d;gap:7px;font-size:.87rem;font-weight:700;display:grid}.materials-field input[type=text]{box-sizing:border-box;color:#172a42;width:100%;min-height:44px;font:inherit;background:#fff;border:1px solid #c9d6e2;border-radius:10px;outline:none;padding:10px 12px;font-weight:400;transition:border-color .18s,box-shadow .18s}.materials-field input[type=file]{box-sizing:border-box;color:#52657b;width:100%;min-height:44px;font:inherit;background:#f8fbfd;border:1px dashed #9fb5c7;border-radius:10px;padding:7px 9px;font-weight:400}.materials-field input[type=file]::file-selector-button{color:#143c42;font:inherit;cursor:pointer;background:#bfe6df;border:0;border-radius:7px;margin-right:10px;padding:8px 11px;font-weight:700}.materials-upload-button,.material-delete-button{font:inherit;cursor:pointer;border:0;border-radius:10px;font-weight:700;transition:transform .16s,opacity .16s,background .16s}.materials-upload-button{color:#fff;background:#187a79;justify-self:start;min-height:44px;padding:0 18px}.materials-upload-button:hover:not(:disabled){background:#106866;transform:translateY(-1px)}.materials-upload-button:disabled,.material-delete-button:disabled{cursor:not-allowed;opacity:.55}.materials-message{border-radius:12px;margin:0 0 20px;padding:12px 14px;font-size:.93rem;line-height:1.45}.materials-message--success{color:#155b4d;background:#edf9f4;border:1px solid #a5d8c9}.materials-message--error{color:#8b2923;background:#fff3f2;border:1px solid #efb9b5}.materials-list-section{padding:26px 30px 30px}.materials-list-section__header{border-bottom:1px solid #e6edf2;justify-content:space-between;align-items:center;gap:16px;padding-bottom:18px;display:flex}.materials-list-section__header h2{margin:0}.materials-list-section__header span{color:#206b6a;background:#e8f5f2;border-radius:999px;place-items:center;width:30px;height:30px;font-size:.88rem;font-weight:800;display:inline-grid}.materials-empty{color:#6a7d91;margin:0;padding:34px 0 8px;line-height:1.6}.materials-empty p{margin-bottom:4px}.materials-list{gap:12px;margin-top:18px;display:grid}.material-card{background:#fcfdfe;border:1px solid #e3eaf0;border-radius:14px;justify-content:space-between;align-items:flex-start;gap:24px;padding:18px;display:flex}.material-card__main{flex:1;min-width:0}.material-card__top{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.material-card h3{color:#172a42;margin:0;font-size:1.05rem;line-height:1.35}.material-status{white-space:nowrap;border-radius:999px;flex:none;padding:5px 9px;font-size:.75rem;font-weight:800}.material-card__filename{color:#64778b;text-overflow:ellipsis;white-space:nowrap;margin:7px 0 11px;font-size:.9rem;overflow:hidden}.material-card__meta{color:#607388;flex-wrap:wrap;gap:6px 14px;font-size:.83rem;display:flex}.material-card__hint,.material-card__error{margin:12px 0 0;font-size:.86rem;line-height:1.45}.material-delete-button{color:#9d2d28;background:#fff;border:1px solid #e8b8b4;flex:none;min-height:38px;padding:0 12px}@media (width<=900px){.materials-page{padding:30px 28px 44px}.materials-upload-card{grid-template-columns:1fr;gap:22px}}@media (width<=640px){.materials-page{padding:24px 18px 36px}.materials-upload-card,.materials-list-section{border-radius:15px;padding:20px}.material-card{flex-direction:column;gap:14px}.material-card__top{flex-direction:column;gap:9px}.material-delete-button,.materials-upload-button{width:100%}}.materials-page{color:var(--app-text)}.materials-page__header{margin-bottom:30px}.page-eyebrow{color:var(--app-accent)}.materials-page h1,.materials-page h2,.materials-page h3{color:var(--app-text)}.page-description,.materials-upload-card__intro p,.materials-empty,.material-card__filename,.material-card__meta{color:var(--app-text-soft)}.materials-upload-card,.materials-list-section{border-color:var(--app-border);background:var(--app-surface);box-shadow:none}.materials-upload-card{background:linear-gradient(135deg, #b6ff000b, transparent 44%), var(--app-surface)}.materials-field{color:var(--app-text-soft)}.materials-field input[type=text],.materials-field input[type=file]{border-color:var(--app-border-strong);color:var(--app-text);background:#0f130f}.materials-field input[type=text]::placeholder{color:var(--app-text-muted)}.materials-field input[type=text]:focus{border-color:#b6ff00b3;box-shadow:0 0 0 3px #b6ff001c}.materials-field input[type=file]{color:var(--app-text-soft);border-style:dashed}.materials-field input[type=file]::file-selector-button{color:#0b0d0c;background:var(--app-accent)}.materials-upload-button{color:#0b0d0c;background:var(--app-accent)}.materials-upload-button:hover:not(:disabled){color:#0b0d0c;background:#d0ff58}.materials-message--success{color:#c7ffd2;background:#55e66e1a;border-color:#55e66e52}.materials-message--error{color:#ffc7c0;background:#db8b7f1a;border-color:#db8b7f59}.materials-list-section__header{border-bottom-color:var(--app-border)}.materials-list-section__header span{color:#0b0d0c;background:var(--app-accent)}.material-card{border-color:var(--app-border);background:var(--app-surface-raised)}.material-card h3{color:var(--app-text)}.material-status--ready{color:#0b2110;background:var(--app-success)}.material-status--needs_ocr{color:#382403;background:var(--app-warning)}.material-status--processing,.material-status--uploaded{color:#cbe7ff;background:#69b1f02b}.material-status--failed{color:#ffd0ca;background:#db8b7f29}.material-card__hint{color:#f2cf94}.material-card__error{color:#f2a39a}.material-delete-button{color:#ffc4bd;background:0 0;border-color:#db8b7f57}.material-delete-button:hover:not(:disabled){background:#db8b7f1c}@media (width<=640px){.materials-page{padding-bottom:48px}}.practice-page{color:#193834;background:#f5f8f7;grid-template-rows:auto auto minmax(140px,1fr) auto;height:100%;min-height:0;max-height:100%;display:grid;overflow:hidden}.practice-page__header{background:#fff;border-bottom:1px solid #dfebe7;justify-content:space-between;align-items:center;gap:24px;padding:28px 34px;display:flex}.practice-page__eyebrow,.practice-assessment__eyebrow{color:#5d887d;letter-spacing:.12em;margin:0 0 7px;font-size:11px;font-weight:850}.practice-page__title{color:#183b36;letter-spacing:-.04em;margin:0;font-size:clamp(25px,2.6vw,34px)}.practice-page__header-actions,.practice-settings__actions,.practice-recording-preview__actions,.practice-voice-controls,.practice-message__audio{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.practice-tabs{background:#f6faf8;border:1px solid #d5e6e1;border-radius:12px;gap:4px;padding:4px;display:inline-flex}.practice-tabs__button{color:#55716a;min-height:36px;font:inherit;background:0 0;border:0;border-radius:8px;padding:0 13px;font-size:13px;font-weight:800}.practice-tabs__button:disabled,.practice-button:disabled,.practice-composer__button:disabled,.practice-microphone-button:disabled{cursor:not-allowed;opacity:.52}.practice-page__online{color:#26836d;white-space:nowrap;font-size:12px;font-weight:800}.practice-settings{background:#fbfdfc;border-bottom:1px solid #e1ece8;gap:16px;padding:22px 34px;display:grid}.practice-settings__grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.15fr);gap:14px;display:grid}.practice-field,.practice-voice-controls__device{gap:7px;display:grid}.practice-field__label,.practice-voice-controls__device>span{color:#46645d;font-size:12px;font-weight:800}.practice-field__input,.practice-field__select,.practice-composer__textarea{color:#193834;width:100%;font:inherit;background:#fff;border:1px solid #cbded8;border-radius:10px;outline:none;font-size:14px;transition:border-color .15s,box-shadow .15s}.practice-field__input,.practice-field__select{min-height:46px;padding:0 13px}.practice-field__select:disabled,.practice-composer__textarea:disabled{cursor:not-allowed;color:#97aaa4;background:#f0f4f2}.practice-button,.practice-microphone-button,.practice-listen-button{min-height:40px;font:inherit;border:1px solid #0000;border-radius:10px;padding:0 14px;font-size:13px;font-weight:800}.practice-button--primary,.practice-microphone-button{color:#fff;background:#176b5c}.practice-button--primary:hover:not(:disabled),.practice-microphone-button:hover:not(:disabled){background:#11584d}.practice-button--secondary,.practice-listen-button{color:#1d5e53;background:#fff;border-color:#b9d8d0}.practice-button--secondary:hover:not(:disabled),.practice-listen-button:hover:not(:disabled){background:#edf7f3}.practice-microphone-button--recording{background:#b94039}.practice-microphone-button--recording:hover:not(:disabled){background:#9e312b}.practice-settings__unit-note{color:#4c6861;background:#edf7f3;border-radius:10px;margin:0;padding:11px 13px;font-size:13px;line-height:1.5}.practice-settings__notice{color:#a33f38;margin:0;font-size:13px;font-weight:700}.practice-thread{flex-direction:column;justify-content:safe flex-end;gap:15px;width:min(900px,100%);min-height:0;margin:0 auto;padding:18px 28px;display:flex;overflow-y:auto}.practice-message{border-radius:16px;max-width:min(690px,84%);padding:15px 17px;line-height:1.52}.practice-message p{white-space:pre-wrap;margin:0}.practice-message--coach{color:#253d39;background:#fff;border:1px solid #dfeae6;border-bottom-left-radius:4px;align-self:flex-start;box-shadow:0 3px 12px #1e4c4209}.practice-message--user{color:#fff;background:#24685c;border-bottom-right-radius:4px;align-self:flex-end}.practice-message--loading{color:#72837f;font-style:italic}.practice-message__audio{margin-top:12px}.practice-message__audio-player{width:min(360px,100%);height:34px}.practice-correction{color:#204b43;background:#e7f4ef;border-radius:10px;gap:6px;margin-top:13px;padding:12px;display:grid}.practice-correction__label{color:#4a7e71;letter-spacing:.09em;text-transform:uppercase;font-size:10px;font-weight:850}.practice-correction__text{font-weight:750}.practice-correction__explanation{color:#57716b;font-size:12px;line-height:1.45}.practice-message__sources{color:#76908a;margin-top:9px;font-size:11px;font-weight:700;display:block}.practice-assessment{background:#fff;border:1px solid #cde3db;border-radius:18px;gap:18px;margin-top:8px;padding:22px;display:grid;box-shadow:0 8px 24px #1e4c420d}.practice-assessment__head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.practice-assessment h2{color:#173a35;margin:0;font-size:23px}.practice-assessment__confidence{color:#236757;background:#e6f4ee;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:800}.practice-assessment__summary{color:#506963;margin:0;line-height:1.55}.practice-assessment__skills,.practice-assessment__columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.practice-skill{background:#f8fbfa;border:1px solid #dfebe7;border-radius:12px;gap:5px;padding:13px;display:grid}.practice-skill strong{color:#608278;letter-spacing:.08em;text-transform:uppercase;font-size:10px}.practice-skill span{color:#1d675a;font-size:19px;font-weight:850}.practice-skill p{color:#657a74;margin:0;font-size:12px;line-height:1.45}.practice-assessment__columns h3,.practice-assessment__week h3{color:#254941;margin:0 0 8px;font-size:14px}.practice-assessment__columns ul,.practice-assessment__week ol{color:#567069;gap:6px;margin:0;padding-left:18px;font-size:13px;line-height:1.45;display:grid}.practice-assessment__week{border-top:1px solid #e1ebe8;padding-top:14px}.practice-composer{background:#fff;border-top:1px solid #e0ebe7;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:14px 34px 16px;display:grid}.practice-composer__main{gap:12px;min-width:0;display:grid}.practice-composer__textarea{resize:vertical;min-height:78px;padding:13px;line-height:1.45}.practice-composer__button{color:#fff;min-width:112px;min-height:50px;font:inherit;background:#176b5c;border:0;border-radius:11px;align-self:end;padding:0 18px;font-weight:850}.practice-composer__button:hover:not(:disabled){background:#11584d}.practice-voice-controls{align-items:end}.practice-voice-controls__device{flex:320px;min-width:min(100%,280px)}.practice-voice-controls__device .practice-field__select{min-width:0}.practice-input-level{color:#315c54;gap:5px;min-width:155px;font-size:12px;font-weight:800;display:grid}.practice-input-level__track{background:#dcece7;border-radius:999px;height:8px;overflow:hidden}.practice-input-level__value{background:#1c806c;border-radius:999px;height:100%;transition:width 80ms linear}.practice-recording-preview{background:#edf7f3;border:1px solid #b9d8d0;border-radius:12px;gap:10px;padding:14px;display:grid}.practice-recording-preview__head{color:#1d5e53;justify-content:space-between;align-items:center;gap:10px;display:flex}.practice-recording-preview__head span{color:#55716a;font-size:12px;font-weight:700}.practice-recording-preview__audio{width:100%;height:38px}@media (width<=760px){.practice-page__header,.practice-settings,.practice-composer{padding-left:18px;padding-right:18px}.practice-page__header{flex-direction:column;align-items:flex-start}.practice-page__header-actions{justify-content:space-between;width:100%}.practice-settings__grid,.practice-assessment__skills,.practice-assessment__columns{grid-template-columns:1fr}.practice-page{height:auto;max-height:none;overflow:visible}.practice-thread{justify-content:flex-start;min-height:180px;padding:18px}.practice-message{max-width:94%}.practice-composer{grid-template-columns:1fr}.practice-composer__button{width:100%}.practice-assessment__head,.practice-recording-preview__head{flex-direction:column;align-items:flex-start}.practice-voice-controls{align-items:stretch}}.practice-voice-controls__hint{color:#55716a;flex:100%;margin:0;font-size:12px;font-weight:700}.practice-in-app-practice{background:#f6fbf9;border:1px solid #cde3db;border-radius:12px;gap:12px;padding:14px;display:grid}.practice-in-app-practice h3{color:#254941;margin:0 0 5px;font-size:14px}.practice-in-app-practice p{color:#567069;margin:0;font-size:13px;line-height:1.45}.practice-in-app-practice__actions{flex-wrap:wrap;gap:8px;display:flex}.practice-page{color:var(--app-text);background:radial-gradient(circle at 82% -12%, #b6ff000f, transparent 30%), var(--app-bg)}.practice-page__header{border-bottom-color:var(--app-border);background:#101310e0}.practice-page__eyebrow,.practice-assessment__eyebrow{color:var(--app-accent)}.practice-page__title,.practice-assessment h2,.practice-in-app-practice h3{color:var(--app-text)}.practice-page__online{color:var(--app-success)}.practice-tabs{border-color:var(--app-border);background:var(--app-surface)}.practice-tabs__button{color:var(--app-text-soft)}.practice-tabs__button:hover:not(:disabled){color:var(--app-text);background:#ffffff0f}.practice-tabs__button--active{color:#0b0d0c;background:var(--app-accent);box-shadow:none}.practice-settings{border-bottom-color:var(--app-border);background:#151917b3}.practice-field__label,.practice-voice-controls__device>span,.practice-input-level{color:var(--app-text-soft)}.practice-field__input,.practice-field__select,.practice-composer__textarea{border-color:var(--app-border-strong);color:var(--app-text);background:#0e120f}.practice-field__input::placeholder,.practice-composer__textarea::placeholder{color:var(--app-text-muted)}.practice-field__input:focus,.practice-field__select:focus,.practice-composer__textarea:focus{border-color:#b6ff00b3;box-shadow:0 0 0 3px #b6ff001c}.practice-field__select:disabled,.practice-composer__textarea:disabled{color:var(--app-text-muted);background:#111612}.practice-button--primary,.practice-microphone-button,.practice-composer__button{color:#0b0d0c;background:var(--app-accent)}.practice-button--primary:hover:not(:disabled),.practice-microphone-button:hover:not(:disabled),.practice-composer__button:hover:not(:disabled){color:#0b0d0c;background:#d0ff58}.practice-button--secondary,.practice-listen-button{border-color:var(--app-border-strong);color:var(--app-text);background:var(--app-surface)}.practice-button--secondary:hover:not(:disabled),.practice-listen-button:hover:not(:disabled){background:var(--app-surface-hover);border-color:#b6ff0052}.practice-microphone-button--recording{color:#fff5f4;background:#b85c54}.practice-microphone-button--recording:hover:not(:disabled){color:#fff5f4;background:#cc6a60}.practice-settings__unit-note,.practice-recording-preview,.practice-in-app-practice{color:var(--app-text-soft);background:linear-gradient(135deg, #b6ff0014, #b6ff0004), var(--app-surface);border-color:#b6ff0029}.practice-settings__notice{color:#f0a49c}.practice-thread{scrollbar-color:#b6ff0057 transparent}.practice-message--coach{border-color:var(--app-border);color:var(--app-text);background:var(--app-surface);box-shadow:none}.practice-message--user{color:#0b0d0c;background:var(--app-accent)}.practice-message--loading{color:var(--app-text-muted)}.practice-correction{color:var(--app-text);background:#b6ff0017}.practice-correction__label{color:var(--app-accent)}.practice-correction__explanation,.practice-message__sources,.practice-voice-controls__hint{color:var(--app-text-soft)}.practice-assessment{border-color:var(--app-border);background:var(--app-surface);box-shadow:none}.practice-assessment__confidence{color:#0b2110;background:var(--app-success)}.practice-assessment__summary,.practice-skill p,.practice-assessment__columns ul,.practice-assessment__week ol,.practice-in-app-practice p{color:var(--app-text-soft)}.practice-skill{border-color:var(--app-border);background:var(--app-surface-raised)}.practice-skill strong{color:var(--app-text-muted)}.practice-skill span{color:var(--app-accent)}.practice-assessment__columns h3,.practice-assessment__week h3{color:var(--app-text)}.practice-assessment__week{border-top-color:var(--app-border)}.practice-composer{border-top-color:var(--app-border);background:#101310eb}.practice-input-level__track{background:#f5f7f21c}.practice-input-level__value{background:var(--app-accent)}.practice-recording-preview__head{color:var(--app-text)}.practice-recording-preview__head span{color:var(--app-text-soft)}.practice-recording-preview__audio,.practice-message__audio-player{filter:invert(.92)hue-rotate(120deg)}@media (width<=760px){.practice-page__header,.practice-settings,.practice-composer{background:var(--app-bg)}}:root{color:#1b2430;font-synthesis:none;text-rendering:optimizelegibility;background:#f4f6f8;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{grid-template-columns:310px minmax(0,1fr);height:100vh;display:grid;overflow:hidden}.sidebar{color:#eff8f6;background:#153b38;flex-direction:column;gap:28px;height:100vh;padding:34px 26px;display:flex;overflow-y:auto}.logo{letter-spacing:-.8px;margin:0;font-size:24px;font-weight:800}.subtitle{color:#a9c9c3;margin:8px 0 0;font-size:14px;line-height:1.45}.profile-card,.progress-card{background:#ffffff0f;border:1px solid #def2ec2e;border-radius:16px;gap:16px;padding:18px;display:grid}.profile-card label{color:#d9ebe7;gap:7px;font-size:13px;font-weight:700;display:grid}.profile-card input,.profile-card select{color:#fff;background:#09232199;border:1px solid #ffffff2e;border-radius:9px;outline:none;width:100%;padding:10px 11px}.profile-card option{color:#1b2430;background:#fff}.progress-card{margin-top:auto}.progress-card span{color:#86d0bf;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:800}.progress-card strong{font-size:16px}.progress-card p{color:#b3d1cb;margin:0;font-size:13px;line-height:1.45}.chat-panel{background:#f7f9fb;grid-template-rows:auto minmax(0,1fr) auto;min-height:0;display:grid}.chat-header{background:#fff;border-bottom:1px solid #e3e9ed;justify-content:space-between;align-items:center;gap:24px;padding:30px 42px 24px;display:flex}.eyebrow{color:#598079;letter-spacing:.12em;margin:0 0 6px;font-size:11px;font-weight:800}.chat-header h1{letter-spacing:-.8px;margin:0;font-size:28px}.online-status{color:#25866e;font-size:13px;font-weight:700}.messages{flex-direction:column;gap:16px;width:min(900px,100%);margin:0 auto;padding:34px 26px;display:flex;overflow-y:auto}.message{border-radius:16px;max-width:76%;padding:15px 17px;line-height:1.5}.message p{white-space:pre-wrap;margin:0}.message.coach{background:#fff;border:1px solid #e0e9e6;border-bottom-left-radius:4px;align-self:flex-start}.message.user{color:#fff;background:#27665c;border-bottom-right-radius:4px;align-self:flex-end}.message.loading{color:#6b7c82;font-style:italic}.correction-card{color:#25413d;background:#e7f4ef;border-radius:10px;gap:5px;margin-top:13px;padding:12px;display:grid}.correction-card strong{color:#42756a;text-transform:uppercase;letter-spacing:.07em;font-size:12px}.correction-card small{color:#58716d;line-height:1.4}.message-form{background:#fff;border-top:1px solid #e3e9ed;grid-template-columns:1fr auto;gap:14px;padding:22px 42px 30px;display:grid}.message-form textarea{resize:vertical;border:1px solid #cfdadd;border-radius:12px;outline:none;min-height:56px;padding:14px}.message-form textarea:focus{border-color:#4e9d8c;box-shadow:0 0 0 3px #4e9d8c24}.message-form button{color:#fff;background:#1f6659;border:0;border-radius:12px;align-self:end;min-width:104px;padding:14px 18px;font-weight:800}.message-form button:disabled{cursor:not-allowed;opacity:.5}@media (width<=760px){.app-shell{grid-template-columns:1fr}.sidebar{gap:16px;padding:22px}.progress-card{margin-top:0}.chat-header,.message-form{padding-left:18px;padding-right:18px}.messages{padding:22px 18px}.message{max-width:92%}}.determine-button{color:#143b36;background:#9ed1c5;border:1px solid #def2ec42;border-radius:12px;padding:13px 16px;font-weight:800}.determine-button:disabled{cursor:not-allowed;opacity:.55}.assessment-result{background:#fff;border:1px solid #d8e6e2;border-radius:18px;gap:18px;padding:24px;display:grid}.assessment-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.assessment-header p{color:#5d857c;letter-spacing:.1em;margin:0 0 6px;font-size:11px;font-weight:800}.assessment-header h2{margin:0;font-size:24px}.assessment-header span{color:#27665c;background:#e7f4ef;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800}.assessment-summary{margin:0;line-height:1.55}.skill-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.skill-card{background:#f8fbfa;border:1px solid #e1ece9;border-radius:12px;gap:6px;padding:14px;display:grid}.skill-card strong{color:#547c73;text-transform:uppercase;letter-spacing:.06em;font-size:12px}.skill-card span{color:#1f6659;font-size:19px;font-weight:800}.skill-card p{color:#5c7070;margin:0;font-size:13px;line-height:1.4}.assessment-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.assessment-columns h3,.week-plan h3{margin:0 0 8px;font-size:15px}.assessment-columns ul,.week-plan ol{gap:7px;margin:0;padding-left:20px;line-height:1.45;display:grid}.week-plan{border-top:1px solid #e3ece9;padding-top:16px}@media (width<=760px){.skill-grid,.assessment-columns{grid-template-columns:1fr}.assessment-header{flex-direction:column;align-items:flex-start}}.new-conversation-button{color:#dff5ef;background:0 0;border:1px solid #def2ec42;border-radius:12px;padding:13px 16px;font-weight:800}.new-conversation-button:disabled{cursor:not-allowed;opacity:.55}.skill-profile-card{color:#eff8f6;background:#ffffff0f;border:1px solid #def2ec2e;border-radius:16px;gap:12px;padding:18px;display:grid}.skill-profile-header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.skill-profile-header p{color:#a9c9c3;margin:0 0 4px;font-size:12px}.skill-profile-header h2{margin:0;font-size:20px}.skill-profile-header span{color:#153b38;background:#9ed1c5;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:800}.skill-progress-row{grid-template-columns:1fr auto;gap:5px 10px;font-size:12px;display:grid}.skill-progress-row strong{color:#dff5ef}.progress-line{background:#ffffff24;border-radius:99px;grid-column:1/-1;height:6px;overflow:hidden}.progress-line i{border-radius:inherit;background:#8ed1bf;height:100%;display:block}.skill-profile-footer{color:#b3d1cb;border-top:1px solid #def2ec29;justify-content:space-between;gap:8px;padding-top:8px;font-size:11px;display:flex}.mistakes-card{color:#eff8f6;background:#ffffff0f;border:1px solid #def2ec2e;border-radius:16px;gap:14px;padding:18px;display:grid}.mistakes-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.mistakes-header p{color:#a9c9c3;margin:0 0 4px;font-size:12px}.mistakes-header h2{margin:0;font-size:18px}.mistakes-header>span{color:#153b38;background:#f4ca83;border-radius:999px;place-items:center;width:25px;height:25px;font-size:12px;font-weight:800;display:grid}.mistakes-list{gap:12px;display:grid}.mistakes-empty{color:#b3d1cb;margin:0;font-size:12px;line-height:1.5}.mistake-item{background:#00000024;border-radius:12px;gap:8px;padding:12px;display:grid}.mistake-item-header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.mistake-item-header>strong{font-size:12px;line-height:1.35}.error-status{border-radius:999px;flex:none;padding:4px 7px;font-size:10px;font-weight:800}.mistake-example{color:#c2dcd7;flex-wrap:wrap;gap:6px;font-size:12px;display:flex}.mistake-example span{-webkit-text-decoration:line-through #e98989;text-decoration:line-through #e98989}.mistake-example strong{color:#aee0c6}.mistake-item p{color:#c7dbd6;margin:0;font-size:12px;line-height:1.45}.mistake-item small{color:#95bdb5;font-size:11px}.router-shell{background:#f6f9f8;grid-template-columns:240px minmax(0,1fr);height:100vh;display:grid;overflow:hidden}.router-sidebar{color:#edf8f5;background:#153b38;flex-direction:column;gap:30px;height:100vh;padding:28px 18px;display:flex}.router-brand{align-items:center;gap:10px;padding:4px 8px;display:flex}.router-brand-mark{color:#153b38;background:#a9dfd0;border-radius:10px;place-items:center;width:34px;height:34px;font-weight:900;display:grid}.router-brand strong{font-size:15px;display:block}.router-brand small{color:#a8c9c2;margin-top:3px;font-size:11px;display:block}.router-navigation{gap:6px;display:grid}.router-link{color:#b8d2cc;border-radius:10px;align-items:center;min-height:42px;padding:0 13px;font-size:14px;font-weight:750;display:flex}.router-link:hover{color:#f2fffb;background:#ffffff14}.router-link.active{color:#153b38;background:#b6e1d5}.router-sidebar-footer{color:#b8d3cd;background:#ffffff0f;border:1px solid #e6f9f329;border-radius:14px;margin-top:auto;padding:15px;font-size:11px;line-height:1.5}.router-sidebar-footer strong{color:#effbf7;margin-bottom:5px;font-size:12px;display:block}.router-sidebar-footer p{margin:0}.route-page{width:min(950px,100%);padding:56px}.route-eyebrow{color:#65817a;letter-spacing:.08em;margin:0 0 9px;font-size:11px;font-weight:850}.route-page h1{color:#173a35;letter-spacing:-.05em;max-width:650px;margin:0;font-size:clamp(32px,4vw,52px)}.route-description{color:#647670;max-width:620px;margin:18px 0 28px;font-size:16px;line-height:1.6}.route-primary-button{color:#f2fffb;background:#17685d;border-radius:11px;justify-content:center;align-items:center;min-height:45px;padding:0 18px;font-size:14px;font-weight:800;display:inline-flex}.route-primary-button:hover{background:#10544b}.legacy-practice{width:100%;min-width:0}.legacy-practice .app-shell{width:100%;height:auto;min-height:100vh;display:block;overflow:visible}.legacy-practice .sidebar{display:none}.legacy-practice .chat-panel{width:100%;min-width:0;height:auto;min-height:100vh}.legacy-practice .messages{min-height:0}@media (width<=800px){.router-shell{grid-template-columns:1fr;height:auto;overflow:visible}.router-sidebar{gap:12px;height:auto;padding:14px}.router-navigation{display:flex;overflow-x:auto}.router-link{white-space:nowrap;min-height:36px}.router-sidebar-footer{display:none}.router-content{height:auto;overflow:visible}.route-page{padding:32px 20px}}.mistakes-page{padding-bottom:56px}.mistakes-page-list{gap:16px;max-width:820px;display:grid}.mistakes-page-card{background:#fff;border:1px solid #dce8e4;border-radius:18px;gap:16px;padding:22px;display:grid;box-shadow:0 8px 24px #1e443c0d}.mistakes-page-card-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.mistakes-page-card h2{color:#173a35;letter-spacing:-.02em;margin:0;font-size:20px}.mistakes-page-pattern-key{color:#719087;letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px;font-size:11px;font-weight:800}.mistakes-page-example{color:#526b64;background:#f2f8f5;border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;padding:13px 14px;font-size:14px;display:flex}.mistakes-page-example span{color:#9a5b5b;-webkit-text-decoration:line-through #de8b8b;text-decoration:line-through #de8b8b}.mistakes-page-example b{color:#6d8c83}.mistakes-page-card>p{color:#5f746d;margin:0;font-size:14px;line-height:1.55}.mistakes-page-card footer{color:#789087;border-top:1px solid #e5eeeb;padding-top:13px;font-size:12px;font-weight:700}.mistakes-page-empty{background:#fff;border:1px solid #dce8e4;border-radius:18px;max-width:650px;padding:26px}.mistakes-page-empty h2{color:#173a35;margin:0;font-size:21px}.mistakes-page-empty p{color:#647670;margin:10px 0 20px;line-height:1.55}@media (width<=620px){.mistakes-page-card-header{flex-direction:column;align-items:flex-start}}.progress-page{padding-bottom:56px}.progress-page-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;max-width:950px;margin:30px 0 32px;display:grid}.progress-page-summary>div{background:#fff;border:1px solid #dce8e4;border-radius:18px;gap:9px;min-height:132px;padding:20px;display:grid;box-shadow:0 8px 24px #1e443c0d}.progress-page-summary p{color:#719087;letter-spacing:.08em;margin:0;font-size:10px;font-weight:800;line-height:1.35}.progress-page-summary h2{color:#173a35;letter-spacing:-.04em;align-self:end;margin:0;font-size:28px}.progress-page-section{max-width:950px}.progress-page-section>h2{color:#173a35;letter-spacing:-.03em;margin:0 0 16px;font-size:24px}.progress-page .skill-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.progress-page .skill-card{background:#fff;border-radius:16px;min-height:160px;padding:18px;box-shadow:0 8px 24px #1e443c0a}.progress-page .skill-card span{font-size:22px}@media (width<=1100px){.progress-page-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){.progress-page-summary,.progress-page .skill-grid{grid-template-columns:1fr}}.home-page{padding-bottom:56px}.home-page>.route-primary-button{margin-top:2px}.home-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;max-width:950px;margin:32px 0;display:grid}.home-summary-card{background:#fff;border:1px solid #dce8e4;border-radius:18px;align-content:start;gap:10px;min-height:170px;padding:20px;display:grid;box-shadow:0 8px 24px #1e443c0d}.home-summary-card p{color:#719087;letter-spacing:.08em;margin:0;font-size:10px;font-weight:800;line-height:1.35}.home-summary-card strong{color:#173a35;letter-spacing:-.04em;font-size:30px;line-height:1.05}.home-summary-card span{color:#647670;font-size:13px;line-height:1.5}.home-next-step{background:#edf7f3;border:1px solid #cfe3dc;border-radius:18px;max-width:950px;padding:24px}.home-next-step .route-eyebrow{margin-bottom:8px}.home-next-step h2{color:#173a35;letter-spacing:-.03em;margin:0;font-size:24px}.home-next-step>p:not(.route-eyebrow){color:#58716b;margin:12px 0 16px;font-size:14px;line-height:1.5}.home-next-step a{color:#17685d;font-size:14px;font-weight:800;text-decoration:none}.home-next-step a:hover{text-decoration:underline}@media (width<=900px){.home-summary{grid-template-columns:1fr;max-width:620px}}.progress-page-section--chart{background:#fff;border:1px solid #dce8e4;border-radius:18px;margin-bottom:30px;padding:22px;box-shadow:0 8px 24px #1e443c0d}.progress-page-section__header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.progress-page-section__header h2{margin-bottom:6px}.progress-page-section__header p,.progress-page-section__note{color:#647670;margin:0;font-size:13px;line-height:1.5}.progress-score-change{color:#1d675a;text-align:right;background:#edf7f3;border-radius:12px;gap:2px;min-width:120px;padding:10px 12px;display:grid}.progress-score-change strong{font-size:22px;line-height:1}.progress-score-change span{color:#58716b;font-size:11px;font-weight:700}.progress-chart-wrap{margin:16px 0 10px}.progress-chart{width:100%;max-width:680px;height:auto;display:block;overflow:visible}.progress-chart__grid{stroke:#e3eeea;stroke-width:1px}.progress-chart__axis,.progress-chart__label{fill:#79918a;font-size:11px;font-weight:700}.progress-chart__line{fill:none;stroke:#1e806d;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.progress-chart__point{fill:#fff;stroke:#17685d;stroke-width:4px}.progress-chart-legend{color:#6c837c;justify-content:space-between;gap:12px;max-width:680px;font-size:11px;line-height:1.45;display:flex}.progress-chart-empty{color:#315c54;background:#f2f8f5;border-radius:14px;gap:7px;margin-top:16px;padding:18px;display:grid}.progress-chart-empty p{color:#627b74;margin:0;font-size:13px;line-height:1.5}.progress-page-details{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;max-width:950px;margin-top:30px;display:grid}.progress-detail-card{background:#fff;border:1px solid #dce8e4;border-radius:18px;align-content:start;gap:13px;min-height:250px;padding:20px;display:grid;box-shadow:0 8px 24px #1e443c0d}.progress-detail-card h2{color:#173a35;letter-spacing:-.03em;margin:-2px 0 0;font-size:20px}.progress-focus-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.progress-focus-list li{border-bottom:1px solid #e5eeeb;gap:5px;padding-bottom:10px;display:grid}.progress-focus-list li:last-child{border-bottom:0;padding-bottom:0}.progress-focus-list li>div{justify-content:space-between;gap:8px;display:flex}.progress-focus-list strong{color:#274a43;font-size:13px}.progress-focus-list span{color:#7a908a;flex:none;font-size:11px;font-weight:700}.progress-focus-list small{color:#5d756e;font-size:12px;line-height:1.4}.progress-detail-card__empty{color:#667d76;margin:0;font-size:13px;line-height:1.55}.progress-vocabulary-stats,.progress-error-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.progress-vocabulary-stats>div,.progress-error-summary>div{background:#f2f8f5;border-radius:12px;gap:4px;padding:12px;display:grid}.progress-vocabulary-stats span,.progress-error-summary span{color:#718b83;letter-spacing:.05em;text-transform:uppercase;font-size:10px;font-weight:800}.progress-vocabulary-stats strong,.progress-error-summary strong{color:#17685d;font-size:22px}.progress-error-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.progress-error-summary>div:nth-child(2){background:#fff6e6}.progress-error-summary>div:nth-child(2) strong{color:#93631f}.progress-error-summary>div:nth-child(3){background:#e9f6e8}.progress-error-summary>div:nth-child(3) strong{color:#39783f}.progress-detail-card__link{color:#17685d;align-self:end;font-size:13px;font-weight:800;text-decoration:none}.progress-detail-card__link:hover{text-decoration:underline}@media (width<=1100px){.progress-page-details{grid-template-columns:1fr 1fr}.progress-detail-card--mistakes{grid-column:1/-1;min-height:auto}}@media (width<=700px){.progress-page-section__header{flex-direction:column}.progress-score-change{text-align:left}.progress-chart-legend,.progress-focus-list li>div{flex-direction:column;align-items:flex-start}.progress-page-details{grid-template-columns:1fr}.progress-detail-card--mistakes{grid-column:auto}}.auth-page{background:#f2f7f5;place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{background:#fff;border:1px solid #d7e7e1;border-radius:20px;gap:16px;width:min(460px,100%);padding:32px;display:grid;box-shadow:0 18px 48px #18433a1a}.auth-card h1{color:#173a35;letter-spacing:-.04em;margin:0;font-size:32px}.auth-card>p:not(.route-eyebrow){color:#627971;margin:0;line-height:1.55}.auth-form{gap:14px;display:grid}.auth-form label{color:#31564e;gap:7px;font-size:13px;font-weight:800;display:grid}.auth-form input{border:1px solid #cfe0da;border-radius:10px;outline:0;width:100%;padding:12px 13px}.auth-form input:focus{border-color:#31806f;box-shadow:0 0 0 3px #31806f1f}.auth-form small{color:#71877f;font-size:12px}.auth-form .route-primary-button{cursor:pointer;border:0}.auth-error{color:#8e3535;background:#fff0f0;border-radius:10px;margin:0;padding:10px 12px;font-size:13px}.auth-switch{color:#667e76;font-size:13px}.auth-switch a,.progress-detail-card__link{color:#17685d;font-weight:800}.auth-secondary-button{color:#245b50;background:#fff;border:1px solid #bed4cd;border-radius:10px;min-height:42px;padding:0 15px;font-weight:800}.sidebar-signout{color:#b8d8cf;background:0 0;border:0;margin-top:12px;padding:0;font-size:12px;font-weight:800}.admin-page{padding-bottom:56px}.admin-users-list{gap:12px;max-width:950px;margin-top:28px;display:grid}.admin-user-card{background:#fff;border:1px solid #dce8e4;border-radius:16px;justify-content:space-between;align-items:center;gap:16px;padding:18px;display:flex;box-shadow:0 8px 24px #1e443c0d}.admin-user-card>div:first-child{gap:5px;display:grid}.admin-user-card strong{color:#173a35;font-size:16px}.admin-user-card span{color:#647970;font-size:13px}.admin-user-card small{color:#82958f;font-size:11px}.admin-user-actions{align-items:center;gap:10px;display:flex}.admin-user-actions .route-primary-button{cursor:pointer;border:0}.admin-status{text-transform:uppercase;border-radius:999px;padding:5px 8px;font-weight:800;font-size:11px!important}.admin-status.active{color:#176142;background:#e8f6e7}.admin-status.pending{color:#8c5f16;background:#fff3d9}.admin-status.blocked{color:#963e3e;background:#fff0f0}@media (width<=700px){.auth-card{padding:24px}.admin-user-card{flex-direction:column;align-items:flex-start}.admin-user-actions{justify-content:space-between;width:100%}}.vocabulary-page{width:min(1320px,100%);padding-bottom:48px}.vocabulary-hero{justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:28px;display:flex}.vocabulary-hero h1{max-width:none;font-size:clamp(36px,4vw,48px)}.vocabulary-hero p:not(.route-eyebrow){color:#667c75;max-width:620px;margin:12px 0 0;font-size:15px;line-height:1.55}.vocabulary-create-button{flex:none}.vocabulary-workspace{grid-template-columns:270px minmax(0,1fr);align-items:start;gap:18px;display:grid}.vocabulary-sidebar,.vocabulary-main-panel{min-width:0}.vocabulary-sidebar{background:#fff;border:1px solid #dce8e4;border-radius:18px;gap:14px;padding:14px;display:grid;box-shadow:0 8px 24px #1e443c0d}.vocabulary-sidebar-title{border-bottom:1px solid #e6efec;justify-content:space-between;align-items:center;padding:4px 3px 8px;display:flex}.vocabulary-sidebar-title>div{align-items:baseline;gap:8px;display:flex}.vocabulary-sidebar-title span{color:#6b857c;letter-spacing:.08em;font-size:10px;font-weight:850}.vocabulary-sidebar-title strong{color:#17685d;font-size:20px}.vocabulary-sidebar-title button{color:#fff;background:#17685d;border:0;border-radius:9px;place-items:center;width:28px;height:28px;padding:0;font-size:20px;line-height:1;display:grid}.vocabulary-set-list{gap:7px;display:grid}.vocabulary-set-button{color:#274a43;text-align:left;background:#f7fbf9;border:1px solid #0000;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;width:100%;padding:12px;display:grid}.vocabulary-set-button:hover,.vocabulary-set-button.active{background:#eaf6f1;border-color:#8fc4b8}.vocabulary-set-button strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.vocabulary-set-button span,.vocabulary-set-button small{color:#70877f;font-size:11px}.vocabulary-set-button small{color:#1b765f;text-align:right;grid-area:1/2/span 2;align-self:center;font-weight:800}.vocabulary-sidebar-empty{padding:10px 4px 5px}.vocabulary-sidebar-empty strong{color:#31584f;font-size:13px}.vocabulary-sidebar-empty p{color:#71877f;margin:8px 0 12px;font-size:12px;line-height:1.55}.vocabulary-text-button{color:#17685d;background:0 0;border:0;padding:0;font-size:12px;font-weight:800}.vocabulary-main-panel{gap:16px;display:grid}.vocabulary-create-panel,.vocabulary-set-overview,.vocabulary-add-panel,.vocabulary-words-panel,.vocabulary-empty-main{background:#fff;border:1px solid #dce8e4;border-radius:18px;box-shadow:0 8px 24px #1e443c0d}.vocabulary-create-panel,.vocabulary-set-overview,.vocabulary-words-panel{padding:26px}.vocabulary-panel-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.vocabulary-panel-heading h2,.vocabulary-empty-main h2{color:#173a35;letter-spacing:-.035em;margin:0;font-size:28px}.vocabulary-panel-heading p:not(.route-eyebrow){color:#667d75;max-width:560px;margin:8px 0 0;font-size:13px;line-height:1.5}.vocabulary-close-button,.vocabulary-secondary-button,.vocabulary-delete-button{color:#315c52;background:#fff;border:1px solid #c8ddd7;border-radius:10px;min-height:39px;padding:0 12px;font-size:12px;font-weight:800}.vocabulary-delete-button{color:#984c4c;border-color:#e4c2c2}.vocabulary-create-form{grid-template-columns:1fr 1fr;gap:16px;margin-top:24px;display:grid}.vocabulary-create-form label{color:#31564e;gap:7px;font-size:12px;font-weight:800;display:grid}.vocabulary-create-form label small{color:#7c928b;font-size:11px}.vocabulary-create-form input,.vocabulary-create-form textarea,.vocabulary-add-panel textarea,.vocabulary-item-row select{color:#173a35;background:#fff;border:1px solid #cfe0da;border-radius:10px;outline:0;width:100%;padding:11px 12px}.vocabulary-create-form input:focus,.vocabulary-create-form textarea:focus,.vocabulary-add-panel textarea:focus,.vocabulary-item-row select:focus{border-color:#31806f;box-shadow:0 0 0 3px #31806f1f}.vocabulary-create-form__words{grid-column:1/-1}.vocabulary-create-form textarea,.vocabulary-add-panel textarea{resize:vertical;font-family:inherit;line-height:1.45}.vocabulary-create-footer{grid-column:1/-1;justify-content:space-between;align-items:center;gap:14px;padding-top:4px;display:flex}.vocabulary-create-footer p{color:#71877f;margin:0;font-size:12px}.vocabulary-create-footer p strong{color:#17685d}.vocabulary-create-footer>div{gap:9px;display:flex}.vocabulary-stat-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:24px;display:grid}.vocabulary-stat-grid>div{background:#f2f8f5;border-radius:12px;gap:5px;padding:13px;display:grid}.vocabulary-stat-grid span{color:#748a83;letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:800}.vocabulary-stat-grid strong{color:#17685d;font-size:21px}.vocabulary-add-panel{background:#edf7f3;grid-template-columns:220px minmax(0,1fr);gap:20px;padding:20px 22px;display:grid}.vocabulary-add-panel h3,.vocabulary-words-heading h3{color:#173a35;letter-spacing:-.025em;margin:0;font-size:20px}.vocabulary-add-panel p:not(.route-eyebrow){color:#647a72;margin:8px 0 0;font-size:12px;line-height:1.45}.vocabulary-add-panel form{gap:9px;display:grid}.vocabulary-add-panel form>div{justify-content:space-between;align-items:center;gap:12px;display:flex}.vocabulary-add-panel form>div span{color:#668078;font-size:11px;font-weight:700}.vocabulary-words-heading{justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:7px;display:flex}.vocabulary-words-heading>span{color:#71877f;font-size:11px;font-weight:700}.vocabulary-items-table{display:grid}.vocabulary-item-row{border-bottom:1px solid #e5efeb;grid-template-columns:minmax(0,1fr) 150px;align-items:center;gap:20px;padding:15px 0;display:grid}.vocabulary-item-row:last-child{border-bottom:0}.vocabulary-item-row__word{gap:5px;min-width:0;display:grid}.vocabulary-item-row__word strong{overflow-wrap:anywhere;color:#274a43;font-size:14px}.vocabulary-item-row__word span{overflow-wrap:anywhere;color:#71867f;font-size:13px}.vocabulary-item-row label{gap:5px;display:grid}.vocabulary-item-row label>span{color:#71877f;letter-spacing:.05em;text-transform:uppercase;font-size:10px;font-weight:800}.vocabulary-item-row select{padding:8px 9px;font-size:12px}.vocabulary-empty-main{align-content:center;justify-items:start;min-height:430px;padding:44px;display:grid}.vocabulary-empty-main--large{background:linear-gradient(135deg,#e8f6f0cc,#fff 56%)}.vocabulary-empty-main h2{max-width:500px;margin-top:3px}.vocabulary-empty-main p:not(.route-eyebrow){color:#647a72;max-width:500px;margin:12px 0 22px;font-size:14px;line-height:1.6}.vocabulary-notice,.vocabulary-error{border-radius:12px;max-width:980px;margin:-10px 0 18px;padding:12px 14px;font-size:13px;line-height:1.45}.vocabulary-notice{color:#1e614f;background:#eaf7f1}.vocabulary-error{color:#8d3737;background:#fff0f0}.vocabulary-empty{color:#71867f;margin:0;font-size:12px}@media (width<=1050px){.vocabulary-workspace{grid-template-columns:1fr}.vocabulary-sidebar{grid-template-columns:auto minmax(0,1fr);align-items:start}.vocabulary-sidebar-title{gap:12px;min-width:120px;display:grid}.vocabulary-set-list{grid-template-columns:repeat(auto-fit,minmax(175px,1fr))}.vocabulary-sidebar-empty{grid-column:2}}@media (width<=700px){.vocabulary-page{padding-top:32px}.vocabulary-hero,.vocabulary-panel-heading,.vocabulary-create-footer,.vocabulary-add-panel form>div,.vocabulary-words-heading{flex-direction:column;align-items:flex-start}.vocabulary-hero{margin-bottom:20px}.vocabulary-workspace,.vocabulary-sidebar,.vocabulary-add-panel,.vocabulary-create-form{grid-template-columns:1fr}.vocabulary-sidebar-title,.vocabulary-sidebar-empty{grid-column:auto}.vocabulary-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vocabulary-create-footer>div,.vocabulary-add-panel form>div{width:100%}.vocabulary-create-footer .route-primary-button,.vocabulary-add-panel .route-primary-button{flex:1}.vocabulary-item-row{grid-template-columns:1fr;gap:10px}.vocabulary-empty-main,.vocabulary-create-panel,.vocabulary-set-overview,.vocabulary-words-panel{padding:22px}}.vocabulary-overview-actions{align-items:center;gap:9px;display:flex}.vocabulary-voice-button{border:0;min-height:39px;padding:0 13px;font-size:12px}.voice-vocabulary-overlay{z-index:80;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0d28237a;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.voice-vocabulary-modal{background:#fff;border:1px solid #cce0d9;border-radius:22px;gap:18px;width:min(620px,100%);max-height:min(760px,100vh - 44px);padding:28px;display:grid;overflow-y:auto;box-shadow:0 30px 80px #0827204d}.voice-vocabulary-modal>header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.voice-vocabulary-modal h2{color:#173a35;letter-spacing:-.03em;margin:0;font-size:24px}.voice-vocabulary-mode{background:#f0f7f4;border-radius:12px;grid-template-columns:1fr 1fr;gap:8px;padding:5px;display:grid}.voice-vocabulary-mode button{color:#54746b;background:0 0;border:1px solid #0000;border-radius:9px;min-height:38px;font-size:12px;font-weight:800}.voice-vocabulary-mode button.active{color:#17685d;background:#fff;border-color:#b9d8cf;box-shadow:0 2px 8px #1e4a3f14}.voice-vocabulary-card{text-align:center;background:linear-gradient(145deg,#f7fcfa,#ebf7f1);border:1px solid #d8e9e2;border-radius:18px;gap:11px;padding:28px;display:grid}.voice-vocabulary-card>span{color:#718a82;letter-spacing:.08em;font-size:10px;font-weight:850}.voice-vocabulary-card strong{color:#173a35;letter-spacing:-.04em;overflow-wrap:anywhere;font-size:clamp(29px,5vw,42px);line-height:1.1}.voice-vocabulary-card p{color:#54736a;max-width:460px;margin:0 auto;font-size:14px;line-height:1.55}.voice-vocabulary-hint{color:#6b827a;text-align:center;margin:-4px 0 0;font-size:12px;line-height:1.45}.voice-vocabulary-actions{justify-content:center;gap:10px;display:flex}.voice-vocabulary-record,.voice-vocabulary-stop{border:0;border-radius:11px;min-height:46px;font-size:13px;font-weight:800}.voice-vocabulary-record{min-width:205px}.voice-vocabulary-stop{color:#fff;background:#ae4a4a;min-width:205px}.voice-vocabulary-feedback{background:#f3f8f6;border-radius:14px;gap:10px;padding:17px;display:grid}.voice-vocabulary-feedback>div{justify-content:space-between;align-items:center;display:flex}.voice-vocabulary-feedback>div span{letter-spacing:.08em;font-size:11px;font-weight:850}.voice-vocabulary-feedback>div strong{font-size:22px}.voice-vocabulary-feedback p{color:#4e6b62;margin:0;font-size:13px;line-height:1.5}.voice-vocabulary-feedback.understood{background:#edf8f2;border:1px solid #c8e7d5}.voice-vocabulary-feedback.understood>div{color:#176846}.voice-vocabulary-feedback.partial{background:#fff8e9;border:1px solid #f0ddb2}.voice-vocabulary-feedback.partial>div{color:#986a1a}.voice-vocabulary-feedback.repeat{background:#fff4f4;border:1px solid #edc9c9}.voice-vocabulary-feedback.repeat>div{color:#a34c4c}@media (width<=620px){.vocabulary-overview-actions{justify-content:space-between;width:100%}.voice-vocabulary-modal{padding:20px}.voice-vocabulary-actions{flex-direction:column;align-items:stretch}.voice-vocabulary-record,.voice-vocabulary-stop{width:100%}}.voice-vocabulary-microphone{background:#f2f8f5;border-radius:12px;align-items:end;gap:10px;padding:12px;display:flex}.voice-vocabulary-microphone label{flex:1;gap:5px;min-width:0;display:grid}.voice-vocabulary-microphone label>span{color:#6a827a;letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:850}.voice-vocabulary-microphone select{color:#244d44;background:#fff;border:1px solid #cbe0d9;border-radius:9px;outline:0;width:100%;min-height:38px;padding:8px 9px;font-size:12px}.voice-vocabulary-microphone select:focus{border-color:#31806f;box-shadow:0 0 0 3px #31806f1f}.voice-vocabulary-microphone .vocabulary-secondary-button{flex:none}@media (width<=620px){.voice-vocabulary-microphone{flex-direction:column;align-items:stretch}.voice-vocabulary-microphone .vocabulary-secondary-button{width:100%}}.vocabulary-history-panel{background:#fff;border:1px solid #dce8e4;border-radius:18px;gap:15px;padding:24px 26px;display:grid;box-shadow:0 8px 24px #1e443c0d}.vocabulary-history-heading{justify-content:space-between;align-items:flex-end;gap:14px;display:flex}.vocabulary-history-heading h3{color:#173a35;letter-spacing:-.025em;margin:0;font-size:20px}.vocabulary-history-heading>span{color:#17685d;background:#edf7f3;border-radius:999px;place-items:center;min-width:28px;height:28px;font-size:12px;font-weight:850;display:grid}.vocabulary-attempt-list{gap:9px;display:grid}.vocabulary-attempt{background:#fff;border:1px solid #e0ebe7;border-left-width:4px;border-radius:12px;overflow:hidden}.vocabulary-attempt.understood{border-left-color:#53a97a}.vocabulary-attempt.partial{border-left-color:#d4a642}.vocabulary-attempt.repeat{border-left-color:#d77878}.vocabulary-attempt-summary{color:#274b42;text-align:left;background:#fff;border:0;justify-content:space-between;align-items:center;gap:16px;width:100%;padding:13px 14px;display:flex}.vocabulary-attempt-summary:hover{background:#f7fbf9}.vocabulary-attempt-summary>div:first-child{gap:3px;display:grid}.vocabulary-attempt-summary strong{font-size:14px}.vocabulary-attempt-summary span,.vocabulary-attempt-summary small{color:#71877f;font-size:11px}.vocabulary-attempt-summary>div:last-child{justify-items:end;gap:3px;display:grid}.vocabulary-attempt-summary b{color:#17685d;font-size:15px}.vocabulary-attempt-details{background:#f8fbfa;border-top:1px solid #e6efeb;gap:9px;padding:14px;display:grid}.vocabulary-attempt-details p{color:#526c63;margin:0;font-size:13px;line-height:1.5}.vocabulary-history-empty{background:#f3f8f6;border-radius:12px;padding:16px}.vocabulary-history-empty strong{color:#315c52;font-size:13px}.vocabulary-history-empty p{color:#6b827a;margin:6px 0 0;font-size:12px;line-height:1.5}@media (width<=620px){.vocabulary-history-panel{padding:20px}.vocabulary-history-heading,.vocabulary-attempt-summary{flex-direction:column;align-items:flex-start}.vocabulary-attempt-summary>div:last-child{justify-items:start}}.voice-vocabulary-mode{grid-template-columns:repeat(3,minmax(0,1fr))}.voice-vocabulary-dialogue{text-align:left;gap:11px;width:min(100%,480px);margin:2px auto 0;display:grid}.voice-vocabulary-setting{color:#17685d;letter-spacing:.05em;text-transform:uppercase;background:#dff1ea;border-radius:999px;justify-self:start;padding:5px 8px;font-size:10px;font-weight:850}.voice-vocabulary-dialogue p{max-width:none;margin:0}.voice-vocabulary-coach{background:#fff;border:1px solid #cbe2d9;border-radius:12px 12px 12px 3px;padding:13px 14px;color:#315d53!important}.voice-vocabulary-task{color:#53766d!important;font-size:13px!important}.voice-vocabulary-loading{font-style:italic;color:#668078!important;font-size:13px!important}@media (width<=620px){.voice-vocabulary-mode{grid-template-columns:1fr}}.vocabulary-final-button{color:#17685d;background:#eef8f4;border:1px solid #b8d9ce;border-radius:10px;min-height:39px;padding:0 13px;font-size:12px;font-weight:800}.vocabulary-final-button:disabled{cursor:wait;opacity:.65}.final-dialogue-overlay{z-index:90;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0d282385;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.final-dialogue-modal{background:#fff;border:1px solid #cde1da;border-radius:22px;gap:16px;width:min(680px,100%);max-height:min(800px,100vh - 44px);padding:28px;display:grid;overflow-y:auto;box-shadow:0 30px 84px #08272052}.final-dialogue-modal>header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.final-dialogue-modal h2{color:#173a35;letter-spacing:-.03em;margin:0;font-size:24px}.final-dialogue-targets{background:#f1f8f5;border-radius:13px;gap:8px;padding:13px;display:grid}.final-dialogue-targets>span{color:#728980;letter-spacing:.07em;text-transform:uppercase;font-size:10px;font-weight:850}.final-dialogue-targets>div{flex-wrap:wrap;gap:7px;display:flex}.final-dialogue-targets b{color:#43665c;background:#fff;border-radius:999px;padding:6px 8px;font-size:12px}.final-dialogue-targets b.used{color:#176846;background:#d9f0e3}.final-dialogue-scene{background:linear-gradient(145deg,#f8fcfa,#edf8f3);border:1px solid #d6e8e1;border-radius:17px;gap:11px;padding:20px;display:grid}.final-dialogue-scene>span{color:#17685d;letter-spacing:.05em;text-transform:uppercase;background:#dff1ea;border-radius:999px;justify-self:start;padding:5px 8px;font-size:10px;font-weight:850}.final-dialogue-scene p{color:#52746b;margin:0;font-size:13px;line-height:1.55}.final-dialogue-coach{background:#fff;border:1px solid #cbe2d9;border-radius:12px 12px 12px 3px;padding:13px 14px;color:#315d53!important}.final-dialogue-feedback{background:#f3f8f6;border-radius:14px;gap:9px;padding:16px;display:grid}.final-dialogue-feedback p{color:#4c6d62;margin:0;font-size:13px;line-height:1.5}.final-dialogue-feedback.understood{background:#eef9f3;border:1px solid #c9e6d6}.final-dialogue-feedback.partial{background:#fff8e8;border:1px solid #efddb0}.final-dialogue-feedback.repeat{background:#fff4f4;border:1px solid #ecc9c9}.final-dialogue-term-results{flex-wrap:wrap;gap:7px;padding-top:2px;display:flex}.final-dialogue-term-results span{color:#7b6250;background:#ffffffb3;border-radius:999px;padding:5px 7px;font-size:11px;font-weight:700}.final-dialogue-term-results span.used{color:#176846;background:#d8efdf}.final-dialogue-complete{border-top:1px solid #2d685524;padding-top:10px}.final-dialogue-actions{justify-content:center;gap:10px;display:flex}@media (width<=620px){.vocabulary-overview-actions{flex-wrap:wrap}.final-dialogue-modal{padding:20px}.final-dialogue-actions{flex-direction:column;align-items:stretch}.final-dialogue-actions .route-primary-button,.final-dialogue-actions .vocabulary-secondary-button{width:100%}}:root{--app-bg:#0b0d0c;--app-bg-soft:#101411;--app-surface:#151917;--app-surface-raised:#1a201c;--app-surface-hover:#202720;--app-border:#e7f5e81a;--app-border-strong:#e7f5e829;--app-text:#f5f7f2;--app-text-soft:#a8b0a4;--app-text-muted:#737d74;--app-accent:#b6ff00;--app-accent-soft:#b6ff0021;--app-success:#55e66e;--app-warning:#f2b96b;--app-danger:#db8b7f;color:var(--app-text);background:var(--app-bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html{background:var(--app-bg)}body{color:var(--app-text);background:radial-gradient(circle at 75% -20%, #b6ff0014, transparent 30%), var(--app-bg)}a{color:inherit}.router-shell{background:var(--app-bg);grid-template-columns:264px minmax(0,1fr);height:100vh;min-height:100vh;display:grid;overflow:hidden}.router-sidebar{height:100vh;color:var(--app-text);border-right:1px solid var(--app-border);background:linear-gradient(#ffffff06,#0000 35%),#101310;flex-direction:column;gap:28px;padding:24px 16px 18px;display:flex}.router-brand{gap:11px;padding:8px}.router-brand-mark{color:#10130e;background:var(--app-accent);border-radius:12px;width:36px;height:36px;font-size:17px;box-shadow:0 0 22px #b6ff0026}.router-brand strong{color:var(--app-text);letter-spacing:-.02em;font-size:14px}.router-brand small{color:var(--app-text-soft);font-size:11px}.router-sidebar-section{gap:8px;display:grid}.router-sidebar-label{color:var(--app-text-muted);letter-spacing:.13em;padding:0 11px;font-size:10px;font-weight:850}.app-navigation{gap:5px;display:grid}.app-nav-link{min-height:44px;color:var(--app-text-soft);border:1px solid #0000;border-radius:12px;align-items:center;gap:11px;padding:0 12px;font-size:13px;font-weight:780;text-decoration:none;transition:color .16s,background .16s,border-color .16s,transform .16s;display:flex}.app-nav-link:hover{color:var(--app-text);background:#ffffff0b}.app-nav-link--active{color:#0d110b;background:var(--app-accent);border-color:#b6ff002e;box-shadow:0 8px 22px #b6ff0017}.app-nav-link__icon{place-items:center;width:20px;height:20px;font-size:15px;line-height:1;display:grid}.router-sidebar-footer{border:1px solid var(--app-border);color:var(--app-text-soft);background:#ffffff06;border-radius:16px;gap:8px;margin-top:auto;padding:15px;display:grid}.router-sidebar-footer__label{color:var(--app-text-muted);letter-spacing:.1em;font-size:9px;font-weight:850}.router-sidebar-footer strong{color:var(--app-text);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:12px;overflow:hidden}.router-sidebar-footer p{color:var(--app-text-soft);margin:0;font-size:11px;line-height:1.48}.sidebar-signout{color:var(--app-accent);background:0 0;border:0;justify-self:start;margin-top:4px;padding:0;font-size:12px;font-weight:800}.sidebar-signout:hover{color:#d7ff74}.router-content{background:radial-gradient(circle at 70% -5%, #b6ff000e, transparent 29%), var(--app-bg);min-width:0;height:100vh;overflow-y:auto}.route-page{width:min(1180px,100%);color:var(--app-text);padding:48px clamp(22px,4vw,58px) 66px}.route-eyebrow{color:var(--app-accent);letter-spacing:.13em;font-size:10px;font-weight:850}.route-page h1{max-width:760px;color:var(--app-text);letter-spacing:-.055em;font-size:clamp(34px,4vw,58px)}.route-description{max-width:680px;color:var(--app-text-soft);font-size:16px;line-height:1.65}.route-primary-button{color:#0b0d0c;background:var(--app-accent);border:0;border-radius:12px;min-height:46px;text-decoration:none;box-shadow:0 10px 26px #b6ff001f}.route-primary-button:hover:not(:disabled){color:#0b0d0c;background:#d0ff58}.home-summary-card,.home-next-step,.mistakes-page-card,.mistakes-page-empty,.progress-page-summary>div,.progress-page-section--chart,.progress-page .skill-card,.progress-detail-card{border-color:var(--app-border);background:var(--app-surface);box-shadow:none}.home-summary-card p,.progress-page-summary p,.progress-detail-card .route-eyebrow{color:var(--app-text-muted)}.home-summary-card strong,.progress-page-summary h2,.progress-detail-card h2,.progress-page-section>h2,.progress-page-section__header h2,.mistakes-page-card h2,.mistakes-page-empty h2{color:var(--app-text)}.home-summary-card span,.home-next-step>p:not(.route-eyebrow),.progress-page-section__header p,.progress-page-section__note,.progress-detail-card__empty,.mistakes-page-card>p,.mistakes-page-empty p{color:var(--app-text-soft)}.home-next-step{background:linear-gradient(135deg, #b6ff0017, #b6ff0004), var(--app-surface);border-color:#b6ff002e}.home-next-step h2{color:var(--app-text)}.home-next-step a,.progress-detail-card__link{color:var(--app-accent)}.progress-score-change,.progress-vocabulary-stats>div,.progress-error-summary>div,.progress-chart-empty{color:var(--app-text);background:var(--app-surface-raised)}.progress-score-change strong,.progress-vocabulary-stats strong,.progress-error-summary strong{color:var(--app-accent)}.progress-chart__line{stroke:var(--app-accent)}.progress-chart__point{fill:var(--app-surface);stroke:var(--app-accent)}.progress-chart__grid{stroke:#f5f7f217}.progress-chart__axis,.progress-chart__label,.progress-chart-legend,.progress-focus-list span,.progress-focus-list small{color:var(--app-text-muted);fill:var(--app-text-muted)}.mistakes-page-example{color:var(--app-text-soft);background:var(--app-surface-raised)}.mistakes-page-example strong{color:var(--app-success)}.mistakes-page-example span{color:var(--app-danger)}.error-status.new{color:#0f1e16;background:#b7dfc4}.error-status.repeating{color:#352100;background:var(--app-warning)}.error-status.mastered{color:#0b2112;background:var(--app-success)}.learn-page{max-width:1240px}.learn-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:34px;display:grid}.learn-card{border:1px solid var(--app-border);min-height:285px;color:var(--app-text);background:var(--app-surface);border-radius:20px;align-content:start;gap:14px;padding:24px;text-decoration:none;transition:transform .18s,border-color .18s,background .18s;display:grid}.learn-card:hover{background:var(--app-surface-hover);border-color:#b6ff0057;transform:translateY(-3px)}.learn-card__eyebrow{color:var(--app-accent);letter-spacing:.12em;font-size:10px;font-weight:850}.learn-card strong{letter-spacing:-.035em;font-size:24px}.learn-card p{color:var(--app-text-soft);margin:0;font-size:14px;line-height:1.55}.learn-card__action{color:var(--app-accent);align-self:end;margin-top:auto;font-size:13px;font-weight:800}.learn-note{border:1px solid var(--app-border);background:#ffffff06;border-radius:18px;gap:14px;max-width:780px;margin-top:18px;padding:20px;display:flex}.learn-note__mark{color:#0b0d0c;background:var(--app-accent);border-radius:10px;flex:none;place-items:center;width:32px;height:32px;display:grid}.learn-note strong{color:var(--app-text);font-size:14px}.learn-note p{color:var(--app-text-soft);margin:6px 0 0;font-size:13px;line-height:1.55}.vocabulary-sidebar,.vocabulary-create-panel,.vocabulary-set-overview,.vocabulary-add-panel,.vocabulary-words-panel,.vocabulary-empty-main,.materials-upload-card,.materials-list-section{border-color:var(--app-border);background:var(--app-surface);box-shadow:none}.vocabulary-panel-heading h2,.vocabulary-empty-main h2,.vocabulary-add-panel h3,.vocabulary-words-heading h3,.vocabulary-item-row__word strong,.materials-page h1,.materials-page h2,.materials-page h3{color:var(--app-text)}.vocabulary-hero p:not(.route-eyebrow),.vocabulary-panel-heading p:not(.route-eyebrow),.vocabulary-add-panel p:not(.route-eyebrow),.vocabulary-empty-main p:not(.route-eyebrow),.vocabulary-item-row__word span,.materials-page .page-description,.materials-upload-card__intro p,.material-card__filename,.material-card__meta,.materials-empty{color:var(--app-text-soft)}.vocabulary-create-form input,.vocabulary-create-form textarea,.vocabulary-add-panel textarea,.vocabulary-item-row select,.materials-field input[type=text],.materials-field input[type=file]{border-color:var(--app-border-strong);color:var(--app-text);background:#0f130f}.practice-page,.practice-page__header,.practice-settings,.practice-composer{border-color:var(--app-border)}.mobile-bottom-nav{display:none}@media (width<=900px){.learn-grid{grid-template-columns:1fr;max-width:650px}.learn-card{min-height:220px}}@media (width<=800px){.router-shell{height:auto;min-height:100vh;display:block;overflow:visible}.router-sidebar{display:none}.router-content{height:auto;min-height:100vh;padding-bottom:calc(78px + env(safe-area-inset-bottom));overflow:visible}.route-page{padding:32px 19px 44px}.route-page h1{font-size:clamp(34px,10vw,46px)}.mobile-bottom-nav{z-index:100;padding:8px 10px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--app-border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#101310f0;display:block;position:fixed;bottom:0;left:0;right:0}.app-navigation--mobile{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.app-navigation--mobile .app-nav-link{text-align:center;border-radius:11px;gap:3px;min-height:51px;padding:5px 3px;font-size:10px;display:grid}.app-navigation--mobile .app-nav-link__icon{justify-self:center;font-size:16px}.app-navigation--mobile .app-nav-link--active{color:#0b0d0c}.learn-note{align-items:flex-start}}
