:root{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#17231d;background:#f3f0e8;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #17231d;--muted: #526159;--paper: #fffdf8;--ground: #f3f0e8;--line: #d7d1c3;--green: #1d593b;--green-hover: #144a30;--green-soft: #e1eee5;--focus: #8faf9b;--error: #7a3028;--error-soft: #f8e7e2}*{box-sizing:border-box}html{min-width:320px;min-height:100%;background:var(--ground);scrollbar-color:#98a69d var(--ground)}body{margin:0;min-width:320px;min-height:100vh}button,input,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}::selection{color:var(--paper);background:var(--green)}.onboarding-shell{width:min(calc(100% - 48px),1920px);min-height:100vh;margin:0 auto;padding:32px 24px 48px}.brand-bar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 0 28px;border-bottom:1px solid var(--line)}.app-layout{display:grid;grid-template-columns:420px minmax(0,1fr);gap:34px;max-width:1920px;margin:0 auto}.app-sidebar{position:sticky;top:24px;align-self:start;display:grid;gap:22px;padding:18px 14px;border-right:1px solid var(--line)}.sidebar-profile{display:flex;align-items:center;gap:10px;padding:4px 6px 14px;border-bottom:1px solid var(--line)}.sidebar-avatar{display:grid;width:36px;height:36px;place-items:center;border-radius:50%;color:var(--paper);background:var(--green);font-weight:800}.sidebar-profile-copy{display:grid;gap:3px;min-width:0}.sidebar-profile strong{overflow:hidden;font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}.sidebar-profile small{color:var(--muted);font-size:.7rem}.sidebar-profile-edit{align-self:center;margin-left:auto;padding:3px 0;border:0;color:var(--green);background:transparent;font-size:.65rem;font-weight:760;text-align:right;cursor:pointer}.sidebar-profile-edit:hover{text-decoration:underline}.sidebar-profile-edit:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:4px}.sidebar-name-form{display:grid;gap:7px;padding:0 6px 14px;border-bottom:1px solid var(--line)}.sidebar-name-form label{color:var(--muted);font-size:.7rem;font-weight:700}.sidebar-name-form input{width:100%;min-height:36px;padding:7px 9px;border:1px solid #a9afa9;border-radius:8px;color:var(--ink);background:var(--paper);font:inherit;font-size:.78rem}.sidebar-name-form input:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.sidebar-name-form .secondary-button{min-height:34px;padding:0 10px;font-size:.72rem}.sidebar-name-form p{margin:0;color:#a34f3f;font-size:.68rem;line-height:1.35}.sidebar-nav{display:grid;gap:4px}.sidebar-label{margin:8px 8px 3px;color:var(--muted);font-size:.64rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.sidebar-nav button{display:flex;align-items:center;gap:9px;min-height:38px;padding:8px 9px;border:0;border-radius:8px;color:var(--muted);background:transparent;text-align:left;cursor:pointer}.sidebar-nav button:hover,.sidebar-nav button.is-active{color:var(--ink);background:var(--green-soft)}.sidebar-nav button.is-active{font-weight:750}.sidebar-nav button>span{width:18px;color:var(--green);font-size:1rem;text-align:center}.sidebar-dynamics{display:grid;gap:18px;margin:4px 0 8px;padding:22px;border:1px solid var(--green);border-radius:16px;color:var(--ink);background:var(--green-soft);box-shadow:0 8px 24px #26403014}.sidebar-dynamics-heading{display:flex;align-items:start;justify-content:space-between;gap:12px}.sidebar-dynamics-heading p{margin:0 0 4px;color:var(--green);font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.sidebar-dynamics-heading h2{margin:0;font-size:1rem;line-height:1.15}.sidebar-dynamics-heading>span{color:var(--green);font-size:1.2rem}.sidebar-dynamics-chart{display:flex;align-items:end;gap:6px;height:176px;padding:14px 10px 0;border-bottom:1px solid color-mix(in srgb,var(--green) 22%,var(--line));background:var(--paper)}.sidebar-dynamics-point{display:flex;flex:1;min-width:0;height:100%;flex-direction:column;align-items:center;justify-content:end;gap:8px}.sidebar-dynamics-point i{display:block;width:100%;min-height:5px;border-radius:5px 5px 1px 1px;background:var(--green);opacity:.72}.sidebar-dynamics-point:nth-last-child(-n+4) i{opacity:1}.sidebar-dynamics-point small{overflow:hidden;width:100%;color:var(--muted);font-size:.57rem;line-height:1;text-align:center;text-overflow:ellipsis;white-space:nowrap}.sidebar-dynamics-meta{display:flex;align-items:baseline;gap:5px 8px;flex-wrap:wrap;color:var(--muted);font-size:.7rem}.sidebar-dynamics-meta strong{color:var(--green);font-size:1rem;font-variant-numeric:tabular-nums}.sidebar-dynamics-meta span{margin-right:8px}.sidebar-dynamics-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.sidebar-dynamics-overview div{display:grid;gap:3px;padding:11px 10px;border:1px solid color-mix(in srgb,var(--green) 24%,var(--line));background:var(--paper)}.sidebar-dynamics-overview strong{color:var(--green);font-size:1.25rem;line-height:1;font-variant-numeric:tabular-nums}.sidebar-dynamics-overview span{color:var(--muted);font-size:.63rem;line-height:1.25}.sidebar-dynamics-table-wrap{max-height:260px;overflow:auto;border:1px solid var(--line);background:var(--paper)}.sidebar-dynamics-table{min-width:520px;width:100%;border-collapse:collapse;font-size:.68rem}.sidebar-dynamics-table caption{padding:10px 10px 7px;color:var(--ink);font-size:.76rem;font-weight:760;text-align:left}.sidebar-dynamics-table th,.sidebar-dynamics-table td{padding:7px 9px;border-top:1px solid var(--line);text-align:left;font-variant-numeric:tabular-nums}.sidebar-dynamics-table thead th{color:var(--muted);font-size:.64rem;font-weight:760;letter-spacing:.04em;text-transform:uppercase}.sidebar-dynamics-table thead th:nth-child(n+2),.sidebar-dynamics-table tbody td{text-align:right}.sidebar-dynamics-table tbody th{color:var(--ink);font-weight:650}.sidebar-dynamics-table tbody td{color:var(--green);font-weight:700}.sidebar-dynamics-table tbody td:last-child{color:var(--muted);font-weight:600}.sidebar-dynamics-table tbody td[colspan]{color:var(--muted);font-weight:500;line-height:1.35;text-align:left}.sidebar-dynamics-skills{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;padding-top:12px;border-top:1px solid color-mix(in srgb,var(--green) 20%,var(--line))}.sidebar-dynamics-skills span{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.sidebar-dynamics-skills small{color:var(--muted);font-size:.68rem}.sidebar-dynamics-skills strong{color:var(--green);font-size:.76rem;font-variant-numeric:tabular-nums}.sidebar-dynamics-loading{margin:0;color:var(--muted);font-size:.75rem;line-height:1.4}.sidebar-note{padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}.sidebar-note strong{font-size:.76rem}.sidebar-note p{margin:5px 0 0;color:var(--muted);font-size:.7rem;line-height:1.4}.sidebar-learning{display:grid;gap:0}.app-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:14px;color:var(--muted);font-size:.72rem;font-variant-numeric:tabular-nums}.teacher-voice-settings{display:grid;gap:12px;margin:14px 0 22px}.voice-autoplay{display:flex;align-items:flex-start;gap:10px;color:var(--ink);cursor:pointer}.voice-autoplay input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--green)}.voice-autoplay span{display:grid;gap:3px}.voice-autoplay strong{font-size:.82rem}.voice-autoplay small{color:var(--muted);font-size:.76rem;line-height:1.4}.conversation-mode-picker{margin:0}.conversation-mode-picker legend{margin-bottom:8px;font-size:.82rem;font-weight:750}.conversation-mode-picker>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.conversation-mode-picker label{display:grid;gap:7px;min-height:74px;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--paper);cursor:pointer}.conversation-mode-picker label:has(input:checked){border-color:var(--green);background:var(--green-soft)}.conversation-mode-picker input{margin:0;accent-color:var(--green)}.conversation-mode-picker span{display:grid;gap:3px;min-width:0;overflow-wrap:anywhere}.conversation-mode-picker strong{font-size:.76rem}.conversation-mode-picker small{color:var(--muted);font-size:.68rem;line-height:1.3}.voice-speed-setting{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:.76rem}.voice-speed-setting select{min-height:36px;padding:0 9px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:var(--paper);font:inherit}.inline-correction{display:grid;gap:5px;margin:12px 0 8px;padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:var(--oat)}.inline-correction strong{color:var(--green);font-size:.76rem}.inline-correction p{display:grid;grid-template-columns:74px 1fr;gap:8px;margin:0;font-size:.78rem}.inline-correction p span{color:var(--muted);font-size:.7rem}.inline-correction small{color:var(--muted);font-size:.72rem;line-height:1.4}.conversation-toolbar-actions{display:flex;align-items:center;gap:16px}.header-account{display:flex;align-items:center;gap:12px}.header-account .privacy-note{margin:0}.google-signin-button,.google-account-status{position:relative;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:1px solid #c7c7c7;border-radius:50%;color:#3c4043;background:#fff;cursor:pointer;transition:background .12s ease,border-color .12s ease}.google-signin-button:hover{background:#f8fafd;border-color:#9aa0a6}.google-signin-button:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.google-signin-icon{width:20px;height:20px;flex:0 0 20px}.google-account-status{border-color:#dadce0;cursor:default}.google-account-status:after{content:"✓";position:absolute;right:-3px;bottom:-3px;display:grid;width:15px;height:15px;place-items:center;border:2px solid var(--ground);border-radius:50%;color:#fff;background:var(--green);font-size:.58rem;font-weight:800;line-height:1}.google-account-check{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.conversation-toolbar-actions p{margin:0}.scene-lesson-view{display:grid;gap:18px}.scene-lesson-heading{display:flex;justify-content:space-between;gap:24px;align-items:start;padding:10px 0 8px;border-bottom:1px solid var(--line)}.scene-lesson-heading h2{max-width:18ch;margin:5px 0 9px;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,4vw,3.5rem);font-weight:500;letter-spacing:-.04em;line-height:.98}.scene-lesson-heading p:not(.eyebrow){max-width:58ch;margin:0;color:var(--muted);line-height:1.5}.eyebrow{margin:0;color:var(--green);font-size:.68rem;font-weight:800;letter-spacing:.12em}.scene-safe-badge{flex:0 0 auto;padding:8px 10px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.72rem}.scene-source-card,.scene-analysis-card,.scene-practice-card{display:grid;gap:12px;padding:22px;border:1px solid var(--line);border-radius:16px;background:var(--paper)}.scene-source-card h3,.scene-analysis-card h3,.scene-practice-card h3{margin:0;font-size:1.08rem}.scene-source-card p,.scene-practice-card p{max-width:66ch;margin:0;color:var(--muted);font-size:.84rem;line-height:1.5}.scene-source-card label{margin-top:3px;color:var(--muted);font-size:.75rem;font-weight:700}.scene-source-controls{display:flex;gap:10px}.scene-source-controls input,.scene-practice-card textarea{width:100%;min-width:0;padding:12px 13px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:#fffefa}.scene-line-input{width:100%;resize:vertical;padding:12px 13px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:#fffefa}.scene-analysis-actions{display:flex;align-items:center;gap:12px}.scene-analysis-source{color:var(--muted);font-size:.72rem}.scene-source-controls input:focus,.scene-practice-card textarea:focus{outline:3px solid var(--focus);outline-offset:2px}.scene-source-card small{color:var(--muted);font-size:.72rem}.scene-player{display:grid;gap:8px}.scene-player iframe{width:100%;aspect-ratio:16 / 9;border:0;border-radius:14px;background:#17231d}.scene-player p{margin:0;color:var(--muted);font-size:.72rem}.scene-analysis-label{color:var(--green);font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.scene-analysis-card blockquote{margin:2px 0;padding:15px 17px;border-left:3px solid var(--green);color:var(--ink);font-family:Georgia,Times New Roman,serif;font-size:1.35rem;line-height:1.3}.scene-translation{display:grid;grid-template-columns:1fr 1.5fr;gap:12px;margin:0}.scene-translation div{padding-top:12px;border-top:1px solid var(--line)}.scene-translation dt{color:var(--muted);font-size:.7rem;font-weight:700}.scene-translation dd{margin:5px 0 0;font-size:.86rem;line-height:1.45}.scene-variants h4{margin:0 0 5px;font-size:.78rem}.scene-variants p{margin:0 0 12px;color:var(--muted);font-size:.82rem;line-height:1.45}.scene-variants ul{display:grid;gap:5px;margin:0;padding-left:20px;color:var(--muted);font-size:.82rem}.scene-practice-card textarea{resize:vertical}.scene-practice-actions{display:flex;align-items:center;gap:14px}.scene-feedback{color:var(--green);font-size:.78rem;line-height:1.4}@media(max-width:640px){.scene-lesson-heading{display:grid;gap:12px}.scene-safe-badge{justify-self:start}.scene-source-controls,.scene-practice-actions,.scene-analysis-actions{align-items:stretch;flex-direction:column}.scene-source-controls .secondary-button,.scene-analysis-actions .primary-button{width:100%}.scene-translation{grid-template-columns:1fr}.scene-source-card,.scene-analysis-card,.scene-practice-card{padding:18px}.conversation-toolbar-actions{align-items:flex-start;flex-direction:column;gap:5px}}@media(max-width:640px){.conversation-mode-picker>div{grid-template-columns:1fr}.conversation-mode-picker label{min-height:0;grid-template-columns:auto 1fr}}.brand{display:inline-flex;align-items:center;gap:11px;color:var(--ink);font-size:.94rem;font-weight:700;text-decoration:none}.brand-mark{display:grid;width:34px;height:34px;place-items:center;border-radius:50%;color:var(--paper);background:var(--green);font-family:Georgia,Times New Roman,serif;font-size:.86rem;font-style:italic;font-weight:700;letter-spacing:-.07em}.privacy-note{margin:0;color:var(--muted);font-size:.83rem}.onboarding-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;max-width:none;align-items:start;padding-top:clamp(28px,5vh,56px)}.welcome-copy{display:grid;grid-template-columns:minmax(180px,.72fr) minmax(0,1.28fr);gap:12px 28px;align-items:center;position:static;padding-top:0}h1,h2,p{overflow-wrap:break-word}h1{max-width:10.5ch;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.2rem,3vw,3.35rem);font-weight:500;letter-spacing:-.04em;line-height:.94;overflow-wrap:normal;text-wrap:balance}.welcome-lead{max-width:41ch;margin:0;color:var(--muted);font-size:.94rem;line-height:1.48}.teacher-note{display:grid;grid-template-columns:40px 1fr;gap:14px;align-items:center;grid-column:2;max-width:430px;margin-top:0;padding-top:12px;border-top:1px solid var(--line)}.teacher-note p{margin:0;color:#405047;font-size:.8rem;line-height:1.4}.teacher-line{position:relative;display:block;height:26px}.grammar-sidebar-button{width:100%;min-height:46px;margin-top:20px;padding:0 16px;border:1px solid var(--green);border-radius:12px;color:var(--green);background:transparent;font-size:.82rem;font-weight:760;cursor:pointer}.sidebar-learning .grammar-sidebar-button{margin-top:2px}.grammar-sidebar-button:hover{color:var(--paper);background:var(--green)}.grammar-sidebar-button:focus-visible{outline:3px solid var(--focus);outline-offset:3px}#course-progress-slot,#course-roadmap-slot{margin-top:24px}.daily-plan{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.daily-plan h3{margin:0;font-size:.96rem}.daily-plan>p{margin:6px 0 14px;color:var(--muted);font-size:.76rem;line-height:1.4}.daily-plan>.daily-plan-vocabulary{color:var(--green)}.daily-plan-vocabulary strong{color:var(--ink)}.daily-plan-streak{display:flex;flex-wrap:wrap;gap:5px 10px;align-items:baseline;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:#fbfaf5}.daily-plan-streak strong{color:var(--green)}.daily-plan-streak span{color:var(--muted);font-size:.7rem}.course-progress-recovery{margin:12px 0 0;color:var(--muted);font-size:.78rem;line-height:1.45}.course-progress-recovery .text-button{display:inline;margin-left:4px}.daily-plan-actions{display:grid;gap:7px}.daily-plan-option{display:grid;gap:3px;width:100%;padding:10px 11px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:var(--paper);text-align:left;cursor:pointer}.daily-plan-option:hover,.daily-plan-option.is-selected{border-color:var(--green);background:var(--green-soft)}.daily-plan-option:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.daily-plan-option strong{color:var(--green);font-size:.78rem}.daily-plan-option span{color:var(--muted);font-size:.72rem}.course-roadmap{padding-top:20px;border-top:1px solid var(--line)}.course-roadmap h3{margin:0;font-size:.96rem}.course-roadmap>p{margin:6px 0 16px;color:var(--muted);font-size:.76rem;line-height:1.4}.course-roadmap ol{position:relative;display:grid;gap:7px;margin:0;padding:0;list-style:none}.course-roadmap ol:before{position:absolute;top:14px;bottom:14px;left:17px;width:1px;background:var(--line);content:""}.course-roadmap li{position:relative;display:flex;align-items:center;gap:9px;min-height:31px;color:var(--muted);font-size:.78rem}.roadmap-node{position:relative;z-index:1;display:inline-grid;width:34px;height:26px;place-items:center;border:1px solid var(--line);border-radius:7px;background:var(--paper);font-size:.7rem;font-weight:750}.course-roadmap li.is-complete .roadmap-node{color:var(--green);border-color:var(--green)}.course-roadmap li.is-locked{opacity:.52}.course-roadmap li.is-current{color:var(--ink);font-weight:700}.course-roadmap li.is-current .roadmap-node{color:var(--paper);border-color:var(--green);background:var(--green)}.course-roadmap li.is-current strong{position:relative;color:var(--green);font-size:.7rem;letter-spacing:.01em}.course-roadmap li.is-current strong:before{content:"→";margin-right:4px}.course-roadmap li.is-current .roadmap-node{animation:roadmap-pulse 2.4s ease-out infinite}@keyframes roadmap-pulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--green) 0%,transparent)}50%{box-shadow:0 0 0 4px color-mix(in srgb,var(--green) 16%,transparent)}}@media(prefers-reduced-motion:reduce){.course-roadmap li.is-current .roadmap-node{animation:none}}.sentence-actions{display:inline-flex;gap:6px;margin-left:8px;vertical-align:middle}.sentence-speak-button,.sentence-translation-button{display:inline-grid;width:25px;height:25px;place-items:center;padding:0;border:1px solid var(--green);border-radius:50%;color:var(--green);background:var(--paper);font-size:.67rem;font-weight:800;cursor:pointer}.sentence-speak-button:hover,.sentence-translation-button:hover{color:var(--paper);background:var(--green)}.sentence-speak-button:focus-visible,.sentence-translation-button:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.sentence-voice-status{color:var(--green);font-size:.68rem;font-weight:750;white-space:nowrap}.sentence-voice-error{margin:7px 0 0;color:#a34f3f;font-size:.72rem;line-height:1.35}.teacher-line:before,.teacher-line:after{position:absolute;top:50%;height:2px;border-radius:2px;content:"";background:var(--green);transform-origin:left center}.teacher-line:before{left:0;width:27px;transform:rotate(-18deg)}.teacher-line:after{left:19px;width:20px;transform:rotate(24deg)}.work-panel{min-height:610px;padding:clamp(28px,4vw,48px);border:1px solid var(--line);border-radius:16px;background:var(--paper)}.progress{display:grid;grid-template-columns:1fr auto;gap:12px;margin-bottom:38px;color:var(--muted);font-size:.78rem;font-weight:700}.progress-count{font-variant-numeric:tabular-nums}.progress-track{grid-column:1 / -1;height:3px;overflow:hidden;border-radius:3px;background:#e6e2d9}.progress-fill{display:block;width:100%;height:100%;border-radius:inherit;background:var(--green);transform:scaleX(.5);transform-origin:left center;transition:transform .28s cubic-bezier(.16,1,.3,1)}.progress-fill--full{transform:scaleX(1)}.progress-fill--diagnostic{transform:scaleX(var(--progress))}fieldset{min-width:0;margin:0;padding:0;border:0}legend,.completion h2{max-width:18ch;padding:0;color:var(--ink);font-family:Georgia,Times New Roman,serif;font-size:clamp(1.9rem,3vw,2.65rem);font-weight:500;letter-spacing:-.03em;line-height:1.08;text-wrap:balance}.question-help{max-width:52ch;margin:15px 0 28px;color:var(--muted);font-size:.94rem;line-height:1.52}.option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.choice{position:relative;display:grid;grid-template-columns:1fr 22px;gap:14px;min-height:91px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:14px;color:var(--ink);background:var(--paper);cursor:pointer;transition:border-color .16s ease,background-color .16s ease}.choice:hover{border-color:#9caa9f;background:#faf8f2}.choice:has(input:checked){border-color:var(--green);background:var(--green-soft)}.choice:has(input:focus-visible){outline:3px solid #8faf9b;outline-offset:3px}.choice input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.choice-copy{display:grid;gap:5px}.choice-title{font-size:.98rem;font-weight:730;line-height:1.25}.choice-detail{color:var(--muted);font-size:.78rem;line-height:1.38}.choice-indicator{position:relative;width:20px;height:20px;border:1px solid #a8b0aa;border-radius:50%;background:var(--paper)}.choice:has(input:checked) .choice-indicator{border-color:var(--green);background:var(--green)}.choice:has(input:checked) .choice-indicator:after,.completion-mark span:after{position:absolute;width:7px;height:4px;border-bottom:2px solid var(--paper);border-left:2px solid var(--paper);content:"";transform:rotate(-45deg)}.choice:has(input:checked) .choice-indicator:after{top:5px;left:5px}.custom-goal{display:grid;gap:8px;margin-top:20px}.custom-goal label{color:#34423a;font-size:.84rem;font-weight:700}.custom-goal input{width:100%;min-height:50px;padding:0 14px;border:1px solid #a9afa9;border-radius:12px;color:var(--ink);background:#fff;caret-color:var(--green)}.custom-goal input::placeholder{color:#69746e}.custom-goal input:focus-visible,.primary-button:focus-visible,.back-button:focus-visible,.text-button:focus-visible,.brand:focus-visible{outline:3px solid #8faf9b;outline-offset:3px}.primary-button{width:100%;min-height:52px;margin-top:28px;padding:0 22px;border:0;border-radius:12px;color:var(--paper);background:var(--green);font-size:.95rem;font-weight:760;cursor:pointer;transition:background-color .16s ease,transform .16s cubic-bezier(.16,1,.3,1)}.primary-button:hover:not(:disabled){background:var(--green-hover);transform:translateY(-1px)}.primary-button:disabled{color:#eef1ed;background:#8b9890;cursor:not-allowed}.back-button,.text-button{min-height:44px;padding:4px 0;border:0;border-radius:4px;color:var(--green);background:transparent;font-size:.83rem;font-weight:700;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;cursor:pointer}.back-button{margin:0 0 18px;text-decoration:none}.format-list{display:grid;gap:12px}.choice--wide{min-height:104px;padding:20px}.save-error{margin:18px 0 -8px;padding:12px 14px;border-radius:12px;color:var(--error);background:var(--error-soft);font-size:.85rem;line-height:1.45}.completion{padding-top:18px}.first-meeting{display:grid;grid-template-columns:90px minmax(0,1fr);gap:18px;align-items:start;margin:18px 0 4px;padding-bottom:22px;border-bottom:1px solid var(--line)}.first-meeting img{width:90px;height:108px;object-fit:cover;object-position:center 32%;border:1px solid var(--line);border-radius:13px;background:var(--ground)}.first-meeting h2{margin:0}.first-meeting p{max-width:54ch;margin:9px 0 0;color:var(--muted);font-size:.86rem;line-height:1.52}.profile-name-field{display:grid;gap:6px;max-width:420px;margin-top:20px}.profile-name-field span{font-size:.84rem;font-weight:760}.profile-name-field small{color:var(--muted);font-size:.74rem;line-height:1.4}.profile-name-field input{min-height:42px;padding:9px 12px;border:1px solid #a9afa9;border-radius:10px;color:var(--ink);background:#fff;font:inherit}.profile-name-field input:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.completion-mark{position:relative;display:grid;width:42px;height:42px;place-items:center;margin-bottom:18px;border-radius:50%;background:var(--green)}.completion-mark span:after{top:16px;left:15px;width:11px;height:6px}.completion-status{margin:0 0 10px;color:var(--green);font-size:.78rem;font-weight:760}.completion h2{margin:0}.preference-summary{display:grid;margin:34px 0 0;border-top:1px solid var(--line)}.preference-summary div{display:grid;grid-template-columns:120px 1fr;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}.preference-summary dt{color:var(--muted);font-size:.82rem}.preference-summary dd{margin:0;font-size:.92rem;font-weight:720}.next-note{max-width:49ch;margin:25px 0 0;color:var(--muted);font-size:.9rem;line-height:1.52}.completion .primary-button{margin-top:24px}.completion .text-button{display:block;margin:17px auto 0}.start-options{display:grid;gap:10px;margin-top:24px}.start-options .choice--wide{min-height:88px}.level-options{margin-top:24px}.level-options legend{max-width:none;font-family:inherit;font-size:.86rem;font-weight:740;letter-spacing:0}.level-options>div{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin-top:11px}.level-options label{position:relative;display:grid;min-height:48px;cursor:pointer;place-items:center;border:1px solid var(--line);border-radius:12px;background:var(--paper);font-size:.82rem;font-weight:760}.level-options label:has(input:checked){border-color:var(--green);color:var(--paper);background:var(--green)}.level-options label:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:3px}.level-options input{position:absolute;width:1px;height:1px;opacity:0}.progress-heading{display:grid;grid-template-columns:88px minmax(0,1fr);gap:22px;align-items:start}.progress-heading h2{max-width:25ch;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.75rem,2.8vw,2.45rem);font-weight:500;letter-spacing:-.03em;line-height:1.1;text-wrap:balance}.level-stamp--compact{min-height:82px;border-radius:14px}.level-stamp--compact span{font-size:2rem}.progress-recommendation>p{max-width:62ch;color:var(--muted);line-height:1.55}.review-practice{margin-top:22px;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.course-review{margin-top:0;padding:24px;border:1px solid var(--line);border-radius:14px;background:var(--green-soft)}.course-review-note{max-width:58ch;margin:10px 0 0;color:var(--muted);font-size:.86rem;line-height:1.5}.review-practice h3{max-width:32ch;margin-top:8px;font-family:Georgia,Times New Roman,serif;font-size:1.45rem;font-weight:500;line-height:1.25}.review-focus{margin:0;color:var(--green)!important;font-size:.78rem;font-weight:760}.review-answer{display:grid;gap:4px;margin:18px 0 0;color:var(--ink)!important;font-size:1.1rem;font-weight:720}.review-answer span{color:var(--muted);font-size:.72rem;font-weight:700}.review-actions{display:flex;gap:12px;align-items:center;margin-top:20px}.primary-button--inline{width:auto;margin:0;padding-inline:18px}.secondary-button{min-height:46px;padding:0 16px;border:1px solid var(--green);border-radius:12px;color:var(--green);background:transparent;font-size:.84rem;font-weight:760;cursor:pointer}.secondary-button:hover:not(:disabled){color:var(--paper);background:var(--green)}.secondary-button:focus-visible{outline:3px solid #8faf9b;outline-offset:3px}.next-review{margin-top:18px!important;font-size:.84rem}.vocabulary-profile{display:grid;grid-template-columns:1fr 1fr;gap:24px}.vocabulary-profile>div{display:grid;gap:7px}.vocabulary-profile>div+div{padding-left:24px;border-left:1px solid var(--line)}.vocabulary-profile strong{font-family:Georgia,Times New Roman,serif;font-size:1.45rem;font-weight:500}.vocabulary-profile p{margin:0;color:var(--muted);font-size:.78rem;line-height:1.48}.vocabulary-profile .range-caveat{grid-column:1 / -1;max-width:68ch;margin-top:5px}.vocabulary-growth{display:grid;gap:16px}.vocabulary-growth-summary{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:10px 18px}.vocabulary-growth-summary strong{font-family:Georgia,Times New Roman,serif;font-size:1.3rem;font-weight:500}.vocabulary-growth-summary span{color:var(--muted);font-size:.78rem}.vocabulary-growth-summary .vocabulary-change{color:var(--muted);font-variant-numeric:tabular-nums}.vocabulary-growth-summary .vocabulary-change--positive{color:var(--green);font-weight:760}.vocabulary-chart{display:grid;gap:8px;padding:18px 0 0;border-top:1px solid var(--line)}.vocabulary-chart svg{width:100%;height:150px;overflow:visible}.vocabulary-chart line{stroke:var(--line);stroke-width:.7;vector-effect:non-scaling-stroke}.vocabulary-chart polyline{fill:none;stroke:var(--green);stroke-width:2.4;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}.vocabulary-chart-labels{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;color:var(--muted);font-size:.7rem;font-variant-numeric:tabular-nums}.vocabulary-chart-labels strong{color:var(--green);text-align:center}.vocabulary-chart-labels span:last-child{text-align:right}.course-vocabulary{margin:16px 0 0;color:var(--muted);font-size:.9rem}.course-vocabulary p{margin:0}.course-vocabulary strong{color:var(--ink)}.course-new-words{display:flex;flex-wrap:wrap;align-items:baseline;gap:7px 10px;margin-top:11px;color:var(--muted);font-size:.76rem}.course-new-words strong{padding:4px 8px;border:1px solid #b8c9bc;border-radius:8px;color:var(--green);background:var(--green-soft);font-size:.78rem}.course-task-instruction{margin:-4px 0 12px;color:var(--green);font-weight:700}.course-task-prompt--russian{padding:16px;border-left:3px solid var(--green);background:var(--paper-soft)}.course-task-prompt--russian span{display:block;margin-bottom:5px;color:var(--muted);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.course-task-prompts{display:grid;gap:10px}.course-task-prompt--russian p{margin:0}.course-task-prompt--russian small{display:block;margin-top:10px;color:var(--green);font-weight:700}.course-text-answers{display:grid;gap:14px}.live-episode{margin-top:28px;padding:28px;border:1px solid var(--line);border-radius:16px;background:var(--oat)}.live-episode--loading{min-height:140px;display:grid;place-items:center;color:var(--muted)}.episode-load-error{margin:28px 0 0;padding:14px 16px;border-radius:12px;color:var(--quiet-error);background:var(--quiet-error-soft)}.episode-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-bottom:20px;border-bottom:1px solid var(--line)}.episode-heading h3{margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.55rem;font-weight:500;line-height:1.15;letter-spacing:-.02em}.episode-heading p{max-width:62ch;margin:7px 0 0;color:var(--muted);line-height:1.5}.episode-heading>span{flex:none;color:var(--green);font-size:.78rem;font-weight:760;font-variant-numeric:tabular-nums}.episode-stage{padding-top:22px}.episode-instruction{margin:0 0 16px;color:var(--green);font-size:.84rem;font-weight:720}.episode-phrase{min-height:142px;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.episode-phrase .supported-sentence__english{margin:0;font-size:clamp(1.35rem,2.4vw,1.8rem);line-height:1.35}.episode-task-prompt{max-width:65ch;margin:0;padding:20px 0;border-top:1px solid var(--line);font-size:1.2rem;font-weight:700;line-height:1.45}.episode-options{display:grid;gap:10px;margin:0;padding:0;border:0}.episode-options label{cursor:pointer}.episode-options input{position:absolute;opacity:0;pointer-events:none}.episode-options span{display:flex;align-items:center;min-height:52px;padding:12px 16px;border:1px solid var(--line);border-radius:14px;color:var(--ink);background:var(--paper);font-weight:700}.episode-options span:before{width:16px;height:16px;margin-right:12px;border:1px solid var(--line);border-radius:50%;content:""}.episode-options label:hover span{border-color:var(--green)}.episode-options input:checked+span{border-color:var(--green);background:var(--green-soft);color:var(--green)}.episode-options input:checked+span:before{border:5px solid var(--green);background:var(--paper)}.episode-options input:focus-visible+span{outline:3px solid var(--focus);outline-offset:3px}.episode-options input:disabled+span{cursor:wait;opacity:.68}.episode-response{display:grid;gap:16px}.episode-response>label{display:grid;gap:8px;font-size:.84rem;font-weight:720}.episode-response textarea{width:100%;min-height:104px;padding:14px;border:1px solid var(--line);border-radius:12px;color:var(--ink);background:#fff;font:inherit;line-height:1.5;resize:vertical}.episode-response textarea:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.episode-feedback{margin-top:18px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted)}.episode-feedback.is-correct{color:var(--green)}.episode-feedback strong{color:var(--ink)}.episode-feedback p{margin:6px 0 0;line-height:1.5}.episode-feedback p>span{display:block;margin-bottom:3px;color:var(--muted);font-size:.72rem;font-weight:720}.episode-actions{display:flex;align-items:center;gap:16px;margin-top:18px}.episode-summary{display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px 16px;padding-top:24px}.episode-summary-mark{position:relative;width:32px;height:32px;border-radius:50%;background:var(--green)}.episode-summary-mark:after{position:absolute;top:8px;left:9px;width:11px;height:6px;border-bottom:2px solid var(--paper);border-left:2px solid var(--paper);content:"";transform:rotate(-45deg)}.episode-summary h4{margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.35rem;font-weight:500}.episode-summary p{max-width:65ch;margin:7px 0 0;color:var(--muted);line-height:1.5}.episode-summary ul{grid-column:2;display:grid;gap:0;margin:12px 0 0;padding:0;list-style:none}.episode-summary li{display:grid;gap:3px;padding:12px 0;border-top:1px solid var(--line)}.episode-summary li strong{color:var(--ink)}.episode-summary li span{color:var(--muted);font-size:.78rem}.episode-summary .episode-saved-note{grid-column:2;margin-top:4px;color:var(--green);font-size:.8rem;font-weight:700}.learned-words ul{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0;list-style:none}.learned-words li{display:grid;gap:2px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.learned-words li strong{font-family:Georgia,Times New Roman,serif;font-size:1.05rem}.learned-words li span{color:var(--muted);font-size:.72rem}.add-word-form{display:grid;gap:8px;margin-top:20px;max-width:520px}.add-word-form label{font-weight:700;font-size:.84rem}.add-word-form>div{display:flex;gap:8px}.add-word-form input{min-width:0;flex:1;border:1px solid var(--line);border-radius:12px;padding:12px;font:inherit}.add-word-form small{color:var(--quiet-error)}.learning-history{margin:22px 0 0;padding:0;list-style:none}.learning-history li{display:grid;grid-template-columns:70px 1fr;gap:18px;padding:16px 0;border-top:1px solid var(--line)}.learning-history time{color:var(--muted);font-size:.76rem;font-variant-numeric:tabular-nums}.learning-history strong{font-size:.88rem}.learning-history p{margin:5px 0 0;color:var(--muted);font-size:.8rem;line-height:1.48}.safety-feedback>p{max-width:58ch;color:var(--muted);line-height:1.5}.safety-feedback fieldset{margin:20px 0 0;padding:0;border:0}.safety-scale{display:grid;grid-template-columns:repeat(5,minmax(44px,1fr));gap:10px}.safety-scale label{cursor:pointer}.safety-scale input{position:absolute;opacity:0;pointer-events:none}.safety-scale span{display:grid;min-height:48px;place-items:center;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);font-weight:760}.safety-scale input:checked+span{border-color:var(--green);background:var(--green-soft);color:var(--green)}.safety-scale input:focus-visible+span{outline:3px solid var(--focus);outline-offset:3px}.safety-scale input:disabled+span{cursor:wait;opacity:.68}.safety-labels{display:flex;justify-content:space-between;gap:16px;margin-top:9px;color:var(--muted);font-size:.72rem}.feedback-status{min-height:1.5em;margin:13px 0 0;font-size:.78rem}.primary-button--quiet{margin-top:12px;color:var(--green);background:var(--green-soft)}.primary-button--quiet:hover:not(:disabled){color:var(--paper);background:var(--green-hover)}.course-view{display:grid;grid-template-columns:minmax(280px,35fr) minmax(0,65fr);gap:28px;align-items:start}.course-view>.course-toolbar,.course-view>.course-heading,.course-view>.tutor-companion{grid-column:1 / -1}.course-view>.course-progress{grid-column:1;grid-row:3 / span 5;position:sticky;top:20px}.course-view>.course-review{grid-column:2}.course-view>.course-theory,.course-view>.live-episode,.course-view>.course-task{grid-column:1 / -1}.course-view>.course-theory{margin-left:0;width:auto}.course-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px}.course-toolbar span{color:var(--muted);font-size:.76rem;font-weight:700;text-align:right}.course-toolbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:14px}.grammar-form-button:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.course-heading{display:grid;grid-template-columns:88px minmax(0,1fr);gap:22px;align-items:start}.course-heading h2{max-width:25ch;margin:3px 0 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.75rem,2.8vw,2.45rem);font-weight:500;line-height:1.1}.course-heading p{max-width:58ch;margin:9px 0 0;color:var(--muted);font-size:.86rem;line-height:1.5}.course-heading div>p:first-child{margin:0;color:var(--green);font-size:.74rem;font-weight:760}.tutor-companion{display:grid;grid-template-columns:154px minmax(0,1fr);gap:clamp(22px,3vw,38px);align-items:center;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.companion-avatar{display:block;object-fit:cover;object-position:center 34%;border:1px solid var(--line);background:var(--ground)}.companion-avatar--large{width:154px;height:174px;border-radius:14px}.companion-avatar--small{width:44px;height:44px;flex:0 0 auto;border-radius:50%}.tutor-companion-copy h3{margin:7px 0 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.45rem,2.4vw,2rem);font-weight:500;letter-spacing:-.025em;line-height:1.08}.tutor-companion-copy>p{max-width:68ch;margin:11px 0 0;color:var(--muted);font-size:.9rem;line-height:1.6}.tutor-presence{display:flex;align-items:center;gap:7px;color:var(--green);font-size:.72rem;font-weight:780}.tutor-presence span{width:7px;height:7px;border-radius:50%;background:var(--green)}.tutor-companion-actions{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-top:18px}.tutor-companion-actions .secondary-button{margin:0}.tutor-companion-actions .listen-button{margin:0 0 0 3px}.companion-scene-button{flex-basis:100%;justify-self:start;margin-top:1px}.companion-voice-note{display:block;margin-top:10px;color:var(--muted);font-size:.76rem;line-height:1.4}.companion-voice-speed{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:.72rem}.companion-voice-speed select{min-height:34px;padding:6px 8px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:var(--paper);font:inherit}.companion-voice-speed select:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.tutor-praise{display:flex;gap:11px;align-items:center;margin-top:13px;padding-top:13px;border-top:1px solid color-mix(in srgb,var(--green) 24%,var(--line))}.course-feedback .tutor-praise strong{color:var(--green);font-size:.76rem}.course-feedback .tutor-praise p{margin-top:3px;color:#34483c}.course-complete{display:grid;grid-template-columns:88px minmax(0,1fr);gap:22px;align-items:start;padding:26px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}.course-complete h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.8rem,3vw,2.5rem);font-weight:500;line-height:1.1}.course-complete p{max-width:58ch;margin:13px 0 22px;color:var(--muted);line-height:1.58}.course-progress,.course-theory,.course-task{padding:24px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}.course-task{scroll-margin-top:18px}.course-progress .section-heading{align-items:start}.course-progress .section-heading strong{color:var(--green);font-size:.78rem;font-variant-numeric:tabular-nums;white-space:nowrap}.course-level-progress{display:inline-flex;align-items:center}.progress-explainer{position:relative;cursor:help;border-bottom:1px dotted currentColor;outline:none}.progress-explainer:hover:after,.progress-explainer:focus-visible:after{position:absolute;z-index:6;right:0;bottom:calc(100% + 8px);width:min(220px,calc(100vw - 32px));padding:9px 11px;border:1px solid var(--line);border-radius:8px;color:var(--paper);background:var(--ink);content:attr(data-tooltip);font-size:.72rem;font-weight:500;line-height:1.4;text-align:left;white-space:normal}.course-trends{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}.course-trends .section-heading p{margin-top:6px;color:var(--muted);font-size:.76rem;line-height:1.4}.daily-trend-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin-top:16px}.daily-trend-day{display:grid;min-width:0;min-height:72px;align-content:space-between;gap:5px;padding:7px 4px;border:1px solid var(--line);border-radius:12px;color:var(--ink);background:var(--paper);font:inherit;text-align:center;cursor:pointer}.daily-trend-day:hover{border-color:var(--green)}.daily-trend-day:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.daily-trend-day.is-selected{border-color:var(--green);background:var(--green-soft)}.daily-trend-day.is-empty{color:var(--muted);background:var(--oat)}.daily-trend-day time{display:grid;gap:1px;font-size:.68rem;line-height:1.05}.daily-trend-day time span{color:var(--muted)}.daily-trend-day time strong{color:inherit;font-size:.78rem;font-variant-numeric:tabular-nums}.daily-trend-score{color:var(--green);font-size:.76rem;font-weight:760;font-variant-numeric:tabular-nums}.daily-trend-day.is-empty .daily-trend-score{color:var(--muted)}.daily-trend-day small{color:var(--muted);font-size:.62rem;line-height:1}.daily-trend-detail{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.daily-trend-detail>div{display:grid;gap:3px}.daily-trend-detail>div strong{font-size:.78rem;text-transform:capitalize}.daily-trend-detail>div span{color:var(--muted);font-size:.72rem;font-variant-numeric:tabular-nums}.daily-trend-detail ul{display:grid;gap:0;margin:11px 0 0;padding:0;list-style:none}.daily-trend-detail li{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-top:1px solid var(--line);font-size:.72rem}.daily-trend-detail li span{color:var(--muted)}.daily-trend-detail li strong{color:var(--ink);font-weight:700;font-variant-numeric:tabular-nums;text-align:right}.course-progress-track{height:6px;margin-top:18px;overflow:hidden;border-radius:4px;background:var(--line)}.course-progress-track span{display:block;height:100%;border-radius:inherit;background:var(--green)}.mastery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:22px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--line)}.mastery-item{display:grid;gap:7px;padding:14px;background:var(--paper)}.mastery-item span{color:var(--muted);font-size:.68rem;white-space:nowrap}.mastery-item strong{color:var(--ink);font-size:.9rem;font-variant-numeric:tabular-nums}.course-recommendation{margin:18px 0 0;color:var(--green);font-size:.8rem;font-weight:700}.course-theory h3,.course-task h3{margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.35rem;font-weight:500}.course-theory>p,.course-task>p{max-width:62ch;margin:12px 0 0;color:var(--muted);line-height:1.58}.course-theory ul{display:grid;gap:9px;margin:20px 0 0;padding:0;list-style:none}.translation-guide{margin-top:18px!important;color:var(--green)!important;font-size:.76rem}.supported-sentence{padding:12px 13px;border:1px solid var(--line);border-radius:12px;background:var(--green-soft)}.supported-sentence__english{margin:0;color:var(--ink);line-height:1.9}.supported-sentence__translation{margin:9px 0 0;padding-top:9px;border-top:1px solid var(--line);color:var(--muted);font-size:.82rem;line-height:1.5}.word-help{position:relative;display:inline-block;cursor:help;border-bottom:1px dotted var(--green);border-radius:2px;outline:none}.word-help:hover,.word-help:focus-visible{color:var(--green);background:var(--paper)}.word-help:hover:after,.word-help:focus-visible:after{position:absolute;z-index:5;bottom:calc(100% + 8px);left:50%;width:max-content;max-width:210px;padding:7px 9px;transform:translate(-50%);border:1px solid var(--line);border-radius:8px;color:var(--paper);background:var(--ink);content:attr(data-translation);font-size:.72rem;font-weight:650;line-height:1.35;text-align:center}.sentence-translation-button{display:inline-grid;width:30px;min-height:30px;margin-left:9px;padding:0;place-items:center;border:1px solid var(--green);border-radius:50%;color:var(--green);background:var(--paper);font:760 .8rem/1 inherit;cursor:pointer;vertical-align:middle}.sentence-translation-button:hover{color:var(--paper);background:var(--green)}.sentence-translation-button:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.course-task fieldset{margin:20px 0 0;padding:0;border:0}.course-text-answer{display:grid;gap:8px;margin-top:20px;color:var(--ink);font-size:.78rem;font-weight:740}.course-task-russian{margin-bottom:-2px;color:var(--muted);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.course-task-russian-text{margin:0 0 3px;color:var(--ink);font-family:Georgia,serif;font-size:1rem;font-weight:400}.russian-word-hint{border-bottom:1px dotted var(--green);cursor:help}.course-text-answer textarea{width:100%;resize:vertical;padding:13px 14px;border:1px solid var(--line);border-radius:12px;color:var(--ink);background:var(--paper);font:inherit;line-height:1.55}.course-text-answer textarea:focus{border-color:var(--green);outline:3px solid var(--focus);outline-offset:2px}.course-text-answer textarea.is-invalid{border-color:var(--error);background:#fff7f4}.answer-comparison{display:grid;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.answer-comparison p{margin:0}.answer-comparison span{display:block;margin-bottom:3px;color:var(--muted);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.syntax-correction{display:flex;align-items:baseline;gap:8px;margin:12px 0 0}.syntax-correction span{color:var(--muted);font-size:.76rem}.syntax-correction mark{padding:2px 5px;border-radius:4px;color:#8b2f1e;background:#ffe1d8;text-decoration:line-through}.course-text-answer textarea:disabled,.course-task fieldset:disabled{opacity:.7}.course-hint{margin-top:12px!important;color:var(--green)!important;font-size:.78rem;line-height:1.45;text-wrap:pretty}.course-feedback{margin-top:18px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--ground)}.course-feedback.is-correct{border-color:var(--focus);background:var(--green-soft)}.course-feedback strong{font-size:.84rem}.course-feedback p{margin:5px 0 0;color:var(--muted);font-size:.8rem;line-height:1.5}.learning-actions{display:grid;gap:10px;margin-top:28px}.grammar-guide{display:grid;gap:28px}.grammar-guide>.back-button{justify-self:start;margin-bottom:0}.grammar-heading{max-width:66ch}.grammar-kicker{margin:0 0 8px;color:var(--green);font-size:.74rem;font-weight:780;letter-spacing:.08em;text-transform:uppercase}.grammar-heading h2{max-width:18ch;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,4vw,3.15rem);font-weight:500;letter-spacing:-.035em;line-height:1.02;text-wrap:balance}.grammar-heading>p:last-child{max-width:58ch;margin:16px 0 0;color:var(--muted);line-height:1.58}.grammar-heading strong{color:var(--ink)}.grammar-compass{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.grammar-compass>div{display:grid;grid-template-columns:34px 1fr;gap:12px;padding:20px 0}.grammar-compass>div+div{padding-left:22px;border-left:1px solid var(--line)}.grammar-step{display:grid;width:30px;height:30px;place-items:center;border:1px solid var(--green);border-radius:50%;color:var(--green);font-size:.76rem;font-weight:800}.grammar-compass h3{margin:0;font-size:.85rem}.grammar-compass p{margin:5px 0 0;color:var(--muted);font-size:.78rem;line-height:1.5}.grammar-honesty{margin:-8px 0 0;padding:14px 16px;border:1px solid var(--line);border-radius:12px;color:var(--muted);background:var(--green-soft);font-size:.78rem;line-height:1.55}.grammar-honesty strong{color:var(--ink)}.grammar-map{display:grid;gap:12px}.grammar-row{display:grid;grid-template-columns:132px minmax(0,1fr);gap:12px;align-items:stretch}.grammar-row>header{display:grid;align-content:center;gap:3px;padding:12px 0;border-top:1px solid var(--line)}.grammar-row>header strong{font-size:.8rem;line-height:1.25}.grammar-row>header span{color:var(--muted);font-size:.68rem;line-height:1.3}.grammar-row-forms{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.grammar-form-button{display:grid;min-width:0;min-height:76px;align-content:center;gap:6px;padding:10px;border:1px solid var(--line);border-radius:12px;color:var(--ink);background:var(--paper);text-align:left;cursor:pointer}.grammar-form-button:hover{border-color:var(--green)}.grammar-form-button.is-selected{border-color:var(--green);background:var(--green-soft)}.grammar-form-button>span{overflow-wrap:anywhere;font-size:.74rem;font-weight:780;line-height:1.25}.grammar-form-button small{color:var(--muted);font-size:.61rem;line-height:1.3}.grammar-detail{display:grid;gap:22px;padding:26px;border:1px solid var(--green);border-radius:14px;background:var(--paper)}.grammar-detail-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.75fr);gap:24px;align-items:end}.grammar-detail-heading p{margin:0;color:var(--green);font-size:.72rem;font-weight:760}.grammar-detail-heading h3{margin:4px 0 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.55rem,3vw,2.25rem);font-weight:500;line-height:1.08}.grammar-detail-heading>strong{padding-left:20px;border-left:1px solid var(--line);color:var(--green);font-family:Georgia,Times New Roman,serif;font-size:1.08rem;font-weight:500;line-height:1.3}.grammar-meaning{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding-top:20px;border-top:1px solid var(--line)}.grammar-meaning span,.grammar-formulas span{color:var(--muted);font-size:.68rem;font-weight:760;letter-spacing:.035em;text-transform:uppercase}.grammar-meaning p{margin:7px 0 0;font-size:.84rem;line-height:1.52}.grammar-formulas{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.grammar-formulas p{display:grid;align-content:start;gap:8px;min-width:0;margin:0;padding:13px;background:var(--ground);border-radius:12px}.grammar-formulas code{overflow-wrap:anywhere;color:var(--ink);font-family:monospace;font-size:.75rem;line-height:1.45}.grammar-example{margin:0;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.grammar-example blockquote{margin:0;color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:clamp(1.3rem,2.5vw,1.7rem);line-height:1.3}.grammar-example figcaption{margin-top:8px;color:var(--green);font-size:.84rem;line-height:1.5}.grammar-example-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}.grammar-example--secondary{padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--paper-soft)}.grammar-example--secondary blockquote{font-size:1.08rem}.grammar-example--secondary figcaption{margin-top:10px}@media(max-width:700px){.grammar-example-list{grid-template-columns:1fr}}.grammar-contrast{margin:0;color:var(--muted);font-size:.8rem;line-height:1.55}.grammar-contrast strong{color:var(--ink)}.grammar-legend{padding-top:2px}.grammar-legend>strong{font-size:.8rem}.grammar-legend p{margin:7px 0 0;color:var(--muted);font-size:.78rem;line-height:1.6}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.diagnostic-loading{display:grid;min-height:440px;place-content:center;justify-items:center;gap:18px;color:var(--muted);text-align:center}.diagnostic-loading p{max-width:34ch;margin:0;line-height:1.55}.listening-pulse{width:34px;height:34px;border:1px solid var(--green);border-radius:50%;background:var(--green-soft);animation:listen 1.2s cubic-bezier(.16,1,.3,1) infinite alternate}@keyframes listen{to{transform:scale(.72);background:var(--paper)}}.diagnostic-flow .progress{margin-bottom:24px}.diagnostic-flow .back-button{margin-bottom:32px}.tutor-turn{display:grid;grid-template-columns:42px minmax(0,1fr);gap:16px;align-items:start}.tutor-avatar{display:grid;width:42px;height:42px;place-items:center;border-radius:50%;color:var(--paper);background:var(--green);font-family:Georgia,Times New Roman,serif;font-size:.92rem;font-style:italic;font-weight:700}.tutor-turn h2{max-width:23ch;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.65rem,2.6vw,2.25rem);font-weight:500;letter-spacing:-.03em;line-height:1.14;text-wrap:balance}.tutor-turn h2:focus,.practice-flow>h2:focus,.practice-feedback-view h2:focus{outline:none}.tutor-turn .question-help{margin-bottom:0}.format-reminder,.hint-note{margin:22px 0 0 58px;padding:12px 14px;border-radius:12px;color:#34483c;background:var(--green-soft);font-size:.84rem;line-height:1.5}.voice-answer{margin-top:26px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.voice-heading{display:grid;grid-template-columns:38px minmax(0,1fr);gap:14px;align-items:start}.voice-symbol{position:relative;display:block;width:28px;height:34px;margin:2px 0 0 5px;border:2px solid var(--green);border-radius:14px}.voice-symbol:before{position:absolute;right:-7px;bottom:-7px;left:-7px;height:18px;border:2px solid var(--green);border-top:0;border-radius:0 0 18px 18px;content:""}.voice-symbol:after{position:absolute;bottom:-12px;left:11px;width:2px;height:6px;content:"";background:var(--green)}.voice-heading h3{margin:0;font-size:.83rem;line-height:1.35}.voice-heading p,.voice-privacy,.voice-status,.voice-note{color:var(--muted);font-size:.83rem;line-height:1.48}.voice-heading p{margin:4px 0 0}.voice-privacy{margin:14px 0 0 52px}.voice-status{margin:14px 0 0;color:var(--green);font-weight:700}.voice-live-toggle{display:inline-flex;align-items:flex-start;gap:10px;margin:14px 0 0 52px;color:var(--ink);cursor:pointer}.voice-live-toggle input{margin:3px 0 0;accent-color:var(--green)}.voice-live-toggle span{display:grid;gap:3px}.voice-live-toggle strong{font-size:.78rem}.voice-live-toggle small{color:var(--muted);font-size:.72rem;line-height:1.4}.voice-answer.is-listening .voice-symbol{background:var(--green-soft);animation:listen 1.2s cubic-bezier(.16,1,.3,1) infinite alternate}.voice-transcript{display:grid;gap:4px;margin:13px 0 0;padding-left:14px;border-left:2px solid var(--green);color:var(--ink);font-size:1rem;line-height:1.5}.voice-transcript span{color:var(--muted);font-size:.83rem;font-weight:700}.voice-actions{display:flex;align-items:center;gap:18px;margin-top:16px}.voice-button{min-height:44px;padding:0 16px;border:1px solid var(--green);border-radius:12px;color:var(--green);background:transparent;font-size:.83rem;font-weight:760;cursor:pointer}.voice-button:hover{color:var(--paper);background:var(--green)}.voice-button:focus-visible{outline:3px solid #8faf9b;outline-offset:3px}.voice-note{margin:12px 0 0;padding:10px 12px;background:var(--green-soft);border-radius:12px}.answer-field{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:30px;color:#34423a;font-size:.84rem;font-weight:700}.answer-field textarea{grid-column:1 / -1;width:100%;min-height:132px;resize:vertical;padding:15px;border:1px solid #a9afa9;border-radius:12px;color:var(--ink);background:#fff;caret-color:var(--green);font-size:1rem;font-weight:400;line-height:1.5}.answer-field textarea::placeholder{color:#69746e}.answer-field small{color:var(--muted);font-size:.72rem;font-variant-numeric:tabular-nums;font-weight:500}.answer-field textarea:focus-visible,.answer-option:has(input:focus-visible){outline:3px solid #8faf9b;outline-offset:3px}.answer-options{display:grid;gap:10px;margin-top:30px}.answer-option{position:relative;display:flex;min-height:54px;align-items:center;padding:0 16px;border:1px solid var(--line);border-radius:12px;background:var(--paper);cursor:pointer;transition:border-color .16s ease,background-color .16s ease}.answer-option:hover{border-color:#9caa9f}.answer-option:has(input:checked){border-color:var(--green);background:var(--green-soft)}.answer-option input{width:17px;height:17px;margin:0 12px 0 0;accent-color:var(--green)}.answer-option span{font-size:.96rem;font-weight:700}.support-row{display:flex;justify-content:space-between;gap:18px;margin-top:20px}.text-button--quiet{color:var(--muted);font-weight:600;text-decoration:none}.hint-note{margin-left:0}.assessment-view{padding-top:4px}.assessment-heading{display:grid;grid-template-columns:110px minmax(0,1fr);gap:24px;align-items:start}.assessment-heading h2{max-width:20ch;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.9rem,3vw,2.65rem);font-weight:500;letter-spacing:-.03em;line-height:1.08;text-wrap:balance}.assessment-heading .question-help{margin-bottom:0}.level-stamp{display:grid;min-height:104px;place-content:center;justify-items:center;border:1px solid var(--green);border-radius:16px;color:var(--paper);background:var(--green)}.level-stamp span{font-family:Georgia,Times New Roman,serif;font-size:2.55rem;line-height:1}.level-stamp small{margin-top:6px;font-size:.65rem;font-weight:700}.cefr-scale{display:grid;grid-template-columns:repeat(6,1fr);gap:0;margin:36px 0 0;padding:0;list-style:none}.cefr-scale li{position:relative;display:grid;min-height:58px;align-content:start;justify-items:center;padding-top:18px;border-top:3px solid #e3dfd5;color:var(--muted);font-size:.8rem;font-weight:760}.cefr-scale li:before{position:absolute;top:-7px;width:11px;height:11px;border:2px solid var(--paper);border-radius:50%;content:"";background:#c8cec9}.cefr-scale li.is-passed,.cefr-scale li.is-current{border-top-color:var(--green);color:var(--ink)}.cefr-scale li.is-passed:before,.cefr-scale li.is-current:before{background:var(--green)}.cefr-scale li.is-current:before{width:15px;height:15px;top:-9px}.cefr-scale small{margin-top:3px;color:var(--green);font-size:.63rem}.scale-note{margin:4px 0 0;color:var(--muted);font-size:.78rem;line-height:1.48}.profile-section{margin-top:34px;padding-top:28px;border-top:1px solid var(--line)}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:24px}.profile-section h3{margin:0;font-size:.98rem;font-weight:780}.section-heading p,.profile-section--split p{margin:0;color:var(--muted);font-size:.78rem;line-height:1.48}.skill-list{display:grid;gap:18px;margin-top:24px}.skill-row{display:grid;grid-template-columns:minmax(140px,1fr) auto;gap:9px 18px;align-items:end}.skill-copy{display:grid;gap:3px}.skill-copy strong{font-size:.86rem}.skill-copy span{color:var(--muted);font-size:.72rem}.skill-score{color:var(--green);font-size:.84rem;font-variant-numeric:tabular-nums;font-weight:760}.skill-track{grid-column:1 / -1;height:5px;overflow:hidden;border-radius:3px;background:#e5e1d8}.skill-track span{display:block;width:100%;height:100%;border-radius:inherit;background:var(--green);transform:scaleX(var(--skill-score));transform-origin:left center}.profile-section--split{display:grid;grid-template-columns:.9fr 1.1fr;gap:26px}.profile-section--split>div{display:grid;align-content:start;gap:9px}.profile-section--split .vocabulary-estimate{color:var(--ink);font-family:Georgia,Times New Roman,serif;font-size:1.35rem;line-height:1.2}.priority-block{padding-left:26px;border-left:1px solid var(--line)}.priority-block strong{color:var(--ink)}.evidence-details{margin-top:28px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.evidence-details summary{color:var(--green);font-size:.84rem;font-weight:760;cursor:pointer}.evidence-details ul{display:grid;gap:10px;margin:16px 0 0;padding-left:19px}.evidence-details li{color:var(--muted);font-size:.8rem;line-height:1.5}.evidence-details strong{color:var(--ink)}.assessment-next-step ul{display:grid;gap:9px;margin:14px 0 0;padding-left:19px}.assessment-next-step li{color:var(--muted);font-size:.82rem;line-height:1.5}.assessment-next-step li strong{color:var(--ink)}.next-lesson-note{flex:1 1 100%;margin:0 0 2px;color:var(--muted);font-size:.8rem;line-height:1.45}.assessment-caveat{margin:22px 0 0;color:var(--muted);font-size:.78rem;line-height:1.5}.assessment-restart{display:block;margin:17px auto 0}.practice-flow>h2,.practice-complete h2,.practice-feedback-view h2{max-width:20ch;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.9rem,3vw,2.65rem);font-weight:500;letter-spacing:-.03em;line-height:1.08;text-wrap:balance}.practice-explanation{max-width:55ch;margin:16px 0 0;color:var(--muted);font-size:.92rem;line-height:1.55}.pattern-note{margin:20px 0 0;padding:14px 16px;border:1px solid #bfd0c3;border-radius:12px;color:#34483c;background:var(--green-soft);font-size:.84rem;line-height:1.5}.correction-mode{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:24px 0 0;padding:20px 0 0;border:0;border-top:1px solid var(--line)}.correction-mode legend{max-width:none;padding:0 0 10px;color:var(--ink);font-family:inherit;font-size:.83rem;font-weight:760;letter-spacing:0;line-height:1.4;text-wrap:initial}.correction-mode label{position:relative;cursor:pointer}.correction-mode input{position:absolute;opacity:0;pointer-events:none}.correction-mode label>span{display:grid;min-height:92px;align-content:start;gap:5px;padding:14px 15px;border:1px solid var(--line);border-radius:12px;background:var(--paper);transition:border-color .16s ease,background-color .16s ease}.correction-mode small{color:var(--muted);font-size:.83rem;line-height:1.4}.correction-mode label:hover>span{border-color:#aab7ad;background:#faf9f4}.correction-mode input:checked+span{border-color:var(--green);background:var(--green-soft)}.correction-mode input:checked+span strong{color:var(--green)}.correction-mode input:focus-visible+span{outline:3px solid var(--focus);outline-offset:3px}.correction-mode:disabled label{cursor:wait;opacity:.68}.practice-task{margin-top:30px;padding-top:27px;border-top:1px solid var(--line)}.practice-task>p{margin:0 0 8px;color:var(--muted);font-size:.78rem}.practice-task h3{max-width:32ch;margin:0;font-size:1.08rem;line-height:1.4}.practice-feedback-view{display:grid;min-height:460px;align-content:center;justify-items:start}.practice-feedback-view p{max-width:47ch;margin:18px 0 0;color:var(--muted);line-height:1.58}.feedback-mark{position:relative;width:42px;height:42px;margin-bottom:20px;border:1px solid var(--green);border-radius:50%;background:var(--paper)}.feedback-mark:before,.feedback-mark:after{position:absolute;top:20px;width:9px;height:2px;content:"";background:var(--green)}.feedback-mark:before{left:11px;transform:rotate(20deg)}.feedback-mark:after{right:11px;transform:rotate(-20deg)}.feedback-mark.is-correct{background:var(--green)}.feedback-mark.is-correct:before{left:10px;top:21px;width:9px;background:var(--paper);transform:rotate(43deg)}.feedback-mark.is-correct:after{right:8px;top:18px;width:16px;background:var(--paper);transform:rotate(-48deg)}.practice-complete{padding-top:18px}.practice-complete .practice-feedback{margin:20px 0 0;color:var(--green);font-weight:700;line-height:1.5}.achievement-copy{max-width:50ch;margin:12px 0 0;color:var(--muted);line-height:1.55}.conversation-entry-button{width:100%;margin-top:10px}.conversation-shortcut{min-height:38px;padding:0 13px;border:1px solid var(--green);border-radius:10px;color:var(--green);background:transparent;font-size:.76rem;font-weight:760;cursor:pointer}.conversation-shortcut:hover{color:var(--paper);background:var(--green)}.conversation-shortcut:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.conversation-view{display:grid;gap:26px}.conversation-loading{min-height:420px;align-content:start}.conversation-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px}.conversation-toolbar p{margin:0;color:var(--muted);font-size:.76rem;font-weight:700;text-align:right}.conversation-heading{display:grid;grid-template-columns:82px minmax(0,1fr);gap:20px;align-items:start}.teacher-portrait{display:block;width:82px;height:92px;object-fit:cover;object-position:center 32%;border:1px solid var(--line);border-radius:14px;background:var(--ground)}.conversation-heading h2{margin:2px 0 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,3vw,2.8rem);font-weight:500;line-height:1}.conversation-heading p{max-width:62ch;margin:10px 0 0;color:var(--muted);font-size:.86rem;line-height:1.52}.conversation-name-prompt{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:end;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.conversation-name-edit{justify-self:start;margin-top:-12px}.conversation-name-prompt strong{font-size:.84rem}.conversation-name-prompt p{max-width:58ch;margin:5px 0 0;color:var(--muted);font-size:.76rem;line-height:1.45}.conversation-name-prompt>div:last-child{display:flex;gap:8px}.conversation-name-prompt input{width:150px;min-height:38px;padding:8px 11px;border:1px solid #a9afa9;border-radius:9px;font:inherit}.conversation-name-prompt input:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.conversation-session-note{margin:8px 0 0;color:var(--muted);font-size:.74rem}.teacher-picker{padding-top:20px;border-top:1px solid var(--line)}.teacher-picker legend{max-width:none;padding:0 0 12px;font-family:inherit;font-size:.83rem;font-weight:760;letter-spacing:0;line-height:1.4;text-wrap:initial}.teacher-picker>div{display:grid;grid-template-columns:1fr 1fr;gap:10px}.teacher-picker label{position:relative;cursor:pointer}.teacher-picker input{position:absolute;opacity:0;pointer-events:none}.teacher-picker label>span{display:grid;grid-template-columns:44px minmax(0,1fr);min-height:88px;align-content:center;gap:4px 11px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--paper);transition:border-color .16s ease,background-color .16s ease}.teacher-picker label img{grid-row:1 / span 2;width:44px;height:52px;object-fit:cover;object-position:center 32%;border-radius:9px}.teacher-picker label strong,.teacher-picker label small{grid-column:2}.teacher-picker label:hover>span{border-color:#aab7ad;background:#faf9f4}.teacher-picker input:checked+span{color:var(--green);border-color:var(--green);background:var(--green-soft)}.teacher-picker input:focus-visible+span{outline:3px solid var(--focus);outline-offset:3px}.teacher-picker:disabled label{cursor:wait;opacity:.68}.teacher-picker small{color:var(--muted);font-size:.78rem;line-height:1.42}.teacher-voice-note{max-width:70ch;margin:-17px 0 0;color:var(--muted);font-size:.75rem;line-height:1.48;text-wrap:pretty}.conversation-log{display:grid;gap:16px;max-height:440px;min-height:260px;padding:22px 4px 22px 0;overflow-y:auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line);scroll-behavior:smooth;scrollbar-color:#98a69d var(--paper)}.conversation-quick-replies{display:grid;gap:10px;padding:14px 0 2px;border-bottom:1px solid var(--line)}.conversation-quick-replies h3{margin:0;font-size:.83rem}.conversation-quick-replies p{margin:4px 0 0;color:var(--muted);font-size:.74rem}.conversation-quick-replies>div:last-child{display:flex;flex-wrap:wrap;gap:7px}.conversation-quick-replies button{min-height:36px;padding:7px 11px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:var(--paper);font:inherit;font-size:.76rem;cursor:pointer}.conversation-quick-replies button:hover{border-color:var(--green);background:var(--green-soft)}.conversation-quick-replies button:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.conversation-continuity{max-width:min(86%,62ch);padding:12px 14px;border-left:3px solid var(--green);background:var(--green-soft)}.conversation-continuity strong{color:var(--green);font-size:.76rem}.conversation-continuity p{margin:5px 0 0;color:#405047;font-size:.82rem;line-height:1.48}.conversation-continuity small{display:block;margin-top:7px;color:var(--muted);font-size:.76rem;line-height:1.45}.conversation-memory-proof{color:var(--green)!important}.conversation-continuity-actions{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:9px}.conversation-continuity-actions .text-button{margin-top:0}.conversation-message{max-width:min(78%,58ch)}.conversation-message--user{justify-self:end;padding:13px 15px;border-radius:12px;background:var(--green-soft)}.conversation-message--assistant{justify-self:start}.conversation-message-meta{display:flex;align-items:baseline;gap:8px}.conversation-message-meta strong{color:var(--green);font-size:.76rem}.conversation-message-meta span{color:var(--muted);font-size:.68rem}.conversation-message p{margin:6px 0 0;color:var(--ink);font-size:1rem;line-height:1.55}.listen-button{display:inline-flex;align-items:center;gap:8px;min-height:36px;margin-top:7px;padding:0 8px 0 0;border:0;border-radius:6px;color:var(--green);background:transparent;font-size:.75rem;font-weight:740;cursor:pointer}.listen-button:hover{color:var(--green-hover);text-decoration:underline;text-underline-offset:3px}.listen-button:disabled{color:var(--muted);cursor:not-allowed;text-decoration:none}.listen-button:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.listen-symbol{position:relative;display:inline-block;width:18px;height:18px;border:1px solid currentColor;border-radius:50%}.listen-symbol:before{position:absolute;top:6px;left:4px;width:4px;height:5px;background:currentColor;content:""}.listen-symbol:after{position:absolute;top:5px;left:8px;width:5px;height:7px;border:1px solid currentColor;border-left:0;border-radius:0 7px 7px 0;content:""}.conversation-thinking{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:.8rem}.conversation-thinking span{width:8px;height:8px;border-radius:50%;background:var(--green);animation:conversation-pulse .9s ease-in-out infinite alternate}@keyframes conversation-pulse{to{opacity:.35;transform:scale(.72)}}.conversation-composer{display:grid;gap:9px}.conversation-starters{display:grid;gap:12px;padding:16px 0 2px;border-top:1px solid var(--line)}.conversation-starters h3{margin:0;font-size:.86rem;line-height:1.35}.conversation-starters p{max-width:66ch;margin:5px 0 0;color:var(--muted);font-size:.76rem;line-height:1.45}.conversation-starter-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.conversation-starter{display:grid;gap:5px;min-height:72px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:var(--paper);text-align:left;cursor:pointer;transition:border-color .16s ease,background-color .16s ease,transform .16s ease}.conversation-starter:active{transform:translateY(1px)}@media(prefers-reduced-motion:reduce){.conversation-starter{transition:none}.conversation-starter:active{transform:none}}.conversation-starter:hover{border-color:var(--green);background:var(--green-soft)}.conversation-starter:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.conversation-mode-picker label:focus-within{outline:2px solid var(--focus);outline-offset:2px}.voice-speed-setting:focus-within{outline:2px solid var(--focus);outline-offset:2px;border-radius:6px}.teacher-picker label:focus-within{outline:2px solid var(--focus);outline-offset:2px}.conversation-starter strong{font-size:.82rem;font-weight:720;line-height:1.35;overflow-wrap:anywhere}.conversation-starter span{color:var(--muted);font-size:.72rem;line-height:1.35}.conversation-composer>label{font-size:.83rem;font-weight:760}.conversation-composer textarea{width:100%;resize:vertical;min-height:92px;padding:13px 14px;border:1px solid #a9afa9;border-radius:12px;color:var(--ink);background:#fff;caret-color:var(--green);font:inherit;line-height:1.5}.conversation-composer textarea::placeholder{color:#69746e}.conversation-composer textarea:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.conversation-composer>div{display:flex;align-items:center;justify-content:space-between;gap:18px}.conversation-composer>div p{margin:0;color:var(--muted);font-size:.72rem}.conversation-draft-status{color:var(--muted);font-size:.72rem}.course-trends-empty{margin:14px 0 0;color:var(--muted);font-size:.82rem;line-height:1.45}.conversation-mode-note{margin:-10px 0 0;padding:11px 13px;border-radius:10px;color:#405047;background:var(--green-soft);font-size:.78rem;line-height:1.48}.conversation-finish{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:20px;border-top:1px solid var(--line)}.conversation-finish strong{font-size:.84rem}.conversation-finish p{max-width:56ch;margin:5px 0 0;color:var(--muted);font-size:.76rem;line-height:1.48}.conversation-finish .secondary-button{flex:0 0 auto;margin:0}.conversation-review{display:grid;gap:0;border-top:1px solid var(--line);scroll-margin-top:18px}.conversation-review-heading{display:flex;align-items:start;justify-content:space-between;gap:28px;padding:24px 0}.conversation-review-heading h3{margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.7rem;font-weight:500;line-height:1.18}.conversation-review-heading p{max-width:66ch;margin:9px 0 0;color:var(--muted);font-size:.84rem;line-height:1.52}.conversation-review-heading>span{flex:0 0 auto;padding-top:5px;color:var(--green);font-size:.75rem;font-weight:760;font-variant-numeric:tabular-nums}.conversation-review-section{padding:22px 0;border-top:1px solid var(--line)}.conversation-review-section h4,.conversation-next-step h4{margin:0;font-size:.84rem;line-height:1.4}.conversation-review-section>p{max-width:66ch;margin:9px 0 0;color:var(--muted);font-size:.88rem;line-height:1.56}.conversation-correction{display:grid;gap:10px;margin-top:13px}.conversation-correction p{display:grid;grid-template-columns:52px minmax(0,1fr);gap:10px;margin:0;font-size:.92rem;line-height:1.5;overflow-wrap:anywhere}.conversation-correction p span{color:var(--muted);font-size:.72rem;font-weight:740;text-transform:uppercase;letter-spacing:.04em}.conversation-correction s{color:var(--muted);text-decoration-color:#98766d;text-decoration-thickness:1px}.conversation-correction strong{color:var(--green);font-weight:720}.conversation-correction small{max-width:66ch;color:var(--muted);font-size:.78rem;line-height:1.48}.conversation-review-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;border-top:1px solid var(--line)}.conversation-review-grid .conversation-review-section{border-top:0}.conversation-review-grid .conversation-review-section+.conversation-review-section{padding-left:32px;border-left:1px solid var(--line)}.conversation-review-section ol{display:grid;gap:9px;margin:13px 0 0;padding-left:22px}.conversation-review-section ol li{padding-left:4px;color:var(--ink);font-size:.84rem;line-height:1.45}.conversation-review-note{color:var(--muted)!important;font-size:.72rem!important;line-height:1.45;text-wrap:pretty}.conversation-scores{display:grid;gap:12px;margin:14px 0 0;padding:0;list-style:none}.conversation-scores li>div{display:flex;justify-content:space-between;gap:16px;font-size:.76rem}.conversation-scores li strong{color:var(--green);font-variant-numeric:tabular-nums}.conversation-score-track{display:block;height:5px;margin-top:6px;overflow:hidden;border-radius:3px;background:#dfe4df}.conversation-score-track>span{display:block;height:100%;border-radius:inherit;background:var(--green)}.conversation-next-step{padding:20px;border:1px solid #b8c9bc;border-radius:12px;background:var(--green-soft)}.conversation-next-step p{max-width:66ch;margin:7px 0 0;color:#34483c;font-size:.86rem;line-height:1.52}.conversation-review-source{margin:13px 0 0;color:var(--muted);font-size:.72rem;line-height:1.45}.conversation-review-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:22px}@media(max-width:640px){.conversation-starter-list{grid-template-columns:1fr}.conversation-starter{min-height:0}}@media(max-width:640px){.conversation-name-prompt{grid-template-columns:1fr;align-items:stretch}.conversation-name-prompt>div:last-child{flex-direction:column}.conversation-name-prompt input{width:100%}}.conversation-review-actions .secondary-button{margin:0}@media(max-width:900px){.onboarding-shell{width:min(100% - 40px,1040px)}.app-layout{grid-template-columns:1fr;gap:12px}.app-sidebar{position:static;grid-template-columns:auto 1fr;align-items:start;gap:12px 20px;padding:14px 0;border-right:0;border-bottom:1px solid var(--line)}.sidebar-profile{border-bottom:0;padding:4px 0}.sidebar-nav{grid-template-columns:repeat(5,minmax(0,1fr));gap:3px}.sidebar-label,.sidebar-note{display:none}.sidebar-nav button{justify-content:center;padding:7px 5px;font-size:.72rem}.sidebar-nav button>span{display:none}.onboarding-layout{grid-template-columns:1fr;gap:42px;padding-top:52px}.welcome-copy{position:static;padding-top:0}h1{max-width:12ch}.work-panel{min-height:0}}@media(max-width:560px){.onboarding-shell{width:min(100% - 28px,520px);padding:20px 0 32px}.brand-bar{align-items:flex-start;flex-direction:column;gap:11px;padding-bottom:18px}.privacy-note{max-width:none;text-align:left}.onboarding-layout{gap:32px;padding-top:38px}.welcome-copy{grid-template-columns:1fr;gap:12px}.welcome-copy h1,.welcome-copy .teacher-note{grid-column:1}.welcome-copy .teacher-note{padding-top:10px}.app-sidebar{grid-template-columns:1fr;gap:8px}.sidebar-profile{padding-bottom:8px;border-bottom:1px solid var(--line)}.sidebar-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.sidebar-nav button{min-height:34px;font-size:.68rem}h1{max-width:10ch;font-size:clamp(2.75rem,14vw,4.2rem)}.welcome-lead{margin-top:22px}.teacher-note{margin-top:26px}.work-panel{padding:24px 18px;border-radius:14px}.progress{margin-bottom:30px}.option-grid{grid-template-columns:1fr}.choice{min-height:82px}.preference-summary div{grid-template-columns:94px 1fr}.first-meeting{grid-template-columns:68px minmax(0,1fr);gap:13px}.first-meeting img{width:68px;height:82px;border-radius:10px}.level-options>div{grid-template-columns:repeat(3,1fr)}.tutor-turn{grid-template-columns:34px minmax(0,1fr);gap:12px}.tutor-avatar{width:34px;height:34px;font-size:.78rem}.format-reminder,.voice-privacy,.voice-live-toggle{margin-left:0}.voice-actions{align-items:flex-start;flex-direction:column;gap:4px}.support-row{align-items:flex-start;flex-direction:column;gap:12px}.assessment-heading{grid-template-columns:78px minmax(0,1fr);gap:16px}.level-stamp{min-height:78px;border-radius:14px}.level-stamp span{font-size:2rem}.level-stamp small{font-size:.56rem}.cefr-scale{margin-top:30px}.cefr-scale li{font-size:.7rem}.cefr-scale small{display:none}.section-heading{display:grid;gap:7px}.profile-section--split{grid-template-columns:1fr}.priority-block{padding:22px 0 0;border-top:1px solid var(--line);border-left:0}.progress-heading{grid-template-columns:68px minmax(0,1fr);gap:15px}.course-view{grid-template-columns:1fr;gap:22px}.course-view>.course-toolbar,.course-view>.course-heading,.course-view>.tutor-companion,.course-view>.course-progress,.course-view>.course-review,.course-view>.course-theory,.course-view>.live-episode,.course-view>.course-task{grid-column:1;grid-row:auto;position:static}.course-view>.course-theory{margin-left:0;width:auto}.course-toolbar{align-items:flex-start;flex-direction:column;gap:9px}.course-toolbar span{text-align:left}.course-toolbar-actions{width:100%;align-items:flex-start;flex-direction:column}.course-heading{grid-template-columns:68px minmax(0,1fr);gap:15px}.tutor-companion{grid-template-columns:86px minmax(0,1fr);gap:15px;align-items:start;padding:18px 0}.companion-avatar--large{width:86px;height:104px;border-radius:12px}.tutor-companion-actions{grid-column:1 / -1;display:grid}.tutor-companion-actions .listen-button{margin-left:0}.companion-scene-button{justify-self:stretch;text-align:left}.course-complete{grid-template-columns:68px minmax(0,1fr);gap:15px;padding:20px 17px}.course-progress,.course-theory,.course-task{padding:20px 17px}.grammar-compass{grid-template-columns:1fr}.grammar-compass>div+div{padding-left:0;border-top:1px solid var(--line);border-left:0}.grammar-row{grid-template-columns:1fr;gap:6px}.grammar-row>header{padding:8px 0 3px;border-top:0}.grammar-row-forms{grid-template-columns:1fr 1fr}.grammar-detail{padding:20px 17px}.grammar-detail-heading,.grammar-meaning{grid-template-columns:1fr;gap:15px}.grammar-detail-heading>strong{padding:14px 0 0;border-top:1px solid var(--line);border-left:0}.grammar-formulas{grid-template-columns:1fr}.mastery-grid{grid-template-columns:1fr 1fr}.level-stamp--compact{min-height:64px}.level-stamp--compact span{font-size:1.65rem}.vocabulary-profile{grid-template-columns:1fr}.vocabulary-profile>div+div{padding:20px 0 0;border-top:1px solid var(--line);border-left:0}.vocabulary-profile .range-caveat{grid-column:auto}.vocabulary-growth-summary{align-items:start;flex-direction:column}.review-actions{align-items:stretch;flex-direction:column}.correction-mode{grid-template-columns:1fr}.conversation-toolbar{align-items:flex-start;flex-direction:column;gap:8px}.conversation-toolbar p{text-align:left}.conversation-heading{grid-template-columns:64px minmax(0,1fr);gap:15px}.teacher-portrait{width:64px;height:74px;border-radius:12px}.teacher-picker>div{grid-template-columns:1fr}.conversation-log{max-height:520px;min-height:240px}.conversation-message{max-width:92%}.conversation-composer>div{align-items:stretch;flex-direction:column;gap:8px}.conversation-finish{align-items:stretch;flex-direction:column;gap:14px}.conversation-finish .secondary-button{width:100%}.conversation-review-heading{display:grid;gap:8px}.conversation-review-heading>span{padding:0}.conversation-review-grid{grid-template-columns:1fr;gap:0}.conversation-review-grid .conversation-review-section+.conversation-review-section{padding-left:0;border-top:1px solid var(--line);border-left:0}.conversation-review-actions{align-items:stretch;flex-direction:column-reverse}.conversation-review-actions button{width:100%}.live-episode{padding:20px 17px}.episode-heading{display:grid;gap:8px}.episode-actions{align-items:stretch;flex-direction:column;gap:8px}.episode-actions .secondary-button{width:100%}.episode-summary{grid-template-columns:32px minmax(0,1fr);gap:12px}.episode-summary ul,.episode-summary .episode-saved-note{grid-column:1 / -1}.primary-button--inline{width:100%}.learning-history li{grid-template-columns:58px 1fr;gap:12px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}.listening-pulse,.voice-answer.is-listening .voice-symbol,.conversation-thinking span{animation:none}}
