:root{--surface: #ffffff;--teal-50: #eaf8f7;--teal-100: #d5f0ef;--teal-200: #abe2e1;--teal-300: #7acfcf;--teal-400: #3cb8bc;--teal-500: #0c7f84;--teal-600: #096b6f;--teal-700: #086063;--teal-800: #094a50;--teal-900: #0b3a40;--slate-50: #f2f7f7;--slate-100: #e8f0ef;--slate-200: #d9e6e4;--slate-300: #c3d4d2;--slate-400: #9db3b3;--slate-500: #64808a;--slate-600: #4c6672;--slate-700: #3d5460;--slate-800: #24404b;--slate-900: #16303b;--leaf-50: #f0faf3;--leaf-100: #dcf4e4;--leaf-200: #c4e9cf;--leaf-300: #9fdcb4;--leaf-400: #5bbc7e;--leaf-500: #37a55e;--leaf-600: #279652;--leaf-700: #1f7a44;--leaf-800: #1b5c36;--leaf-900: #143f26;--coral-50: #fdf1ed;--coral-100: #fbe3dc;--coral-200: #f6c8bc;--coral-300: #f0a68f;--coral-400: #e98668;--coral-500: #dd6647;--coral-600: #d14b33;--coral-700: #b03a26;--coral-800: #8c2e1f;--coral-900: #662116;--sun-50: #fff9ec;--sun-100: #fff3d9;--sun-200: #ffe7b3;--sun-300: #ffd98a;--sun-400: #ffc24b;--sun-500: #f2ab27;--sun-600: #ce8a18;--sun-700: #a96f10;--sun-800: #7a5210;--sun-900: #54390b;--plum-50: #f8f4fe;--plum-100: #f0e9fb;--plum-200: #dfcff4;--plum-300: #c7abea;--plum-400: #a988da;--plum-500: #8b67c9;--plum-600: #6f4bb5;--plum-700: #5b3a98;--plum-800: #422a70;--plum-900: #2d1d4e;--ink: var(--slate-900);--text-muted: var(--slate-600);--page-bg: var(--slate-50);--line: var(--slate-200);--brand: var(--teal-500);--brand-press: var(--teal-700);--focus-ring: 0 0 0 3px var(--teal-200);--radius-card: 16px;--radius-control: 12px;--shadow-card: 0 1px 3px rgba(11, 58, 64, .07);--font-round: "Nunito Variable", "Nunito", system-ui, -apple-system, "Segoe UI", sans-serif}.app{max-width:1100px;margin:0 auto;padding:2rem 1.25rem 3rem}.app-header{border-bottom:1px solid var(--line);padding-bottom:1.1rem;margin-bottom:1.5rem}.app-home{display:inline-flex;align-items:center;gap:.75rem;text-decoration:none;color:inherit}.app-home svg{flex:none}.tagline{margin:.1rem 0 0;color:var(--slate-600);font-size:.92rem;font-weight:600}.status{display:inline-block;font-size:.8rem;font-weight:600;padding:.15rem .6rem;border-radius:999px;background:var(--slate-100);color:var(--slate-600);white-space:nowrap}.status-online{background:var(--leaf-100);color:var(--leaf-700)}.status-offline{background:var(--coral-100);color:var(--coral-600)}.dashboard{display:grid;gap:1.5rem;grid-template-columns:1fr}@media(min-width:900px){.dashboard{grid-template-columns:1.4fr 1fr;align-items:start}.form-panel{position:sticky;top:1.5rem}}.panel-head{display:flex;align-items:center;gap:.6rem;margin-bottom:.75rem}.panel-head h2{margin:0;font-size:1.25rem}.count{display:inline-flex;align-items:center;justify-content:center;min-width:1.6rem;height:1.6rem;padding:0 .4rem;border-radius:999px;background:var(--slate-100);color:var(--slate-600);font-size:.85rem;font-weight:600}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);padding:1.1rem 1.2rem}.form h2{margin:0 0 .9rem;font-size:1.15rem}.field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.85rem}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}.field label{font-size:.85rem;font-weight:600;color:var(--slate-700)}.field input,.field select,.field textarea{font:inherit;padding:.5rem .6rem;border:1px solid var(--slate-300);border-radius:var(--radius-control);background:var(--surface);color:inherit}.field input[type=range]{padding:0}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--teal-500);outline-offset:1px;border-color:var(--teal-500)}.field input[aria-invalid=true]{border-color:var(--coral-600)}.field-error{font-size:.8rem;color:var(--coral-600)}.form-error{background:var(--coral-100);color:var(--coral-600);border-radius:var(--radius-control);padding:.55rem .7rem;margin:0 0 .85rem;font-size:.9rem}.form button[type=submit]{font:inherit;font-weight:600;width:100%;padding:.6rem 1rem;border:none;border-radius:var(--radius-control);background:var(--teal-500);color:var(--surface);cursor:pointer;box-shadow:0 3px 0 var(--teal-700)}.form button[type=submit]:disabled{opacity:.6;cursor:progress}.form button[type=submit]:hover:not(:disabled){background:var(--teal-600)}.student-list{list-style:none;margin:0;padding:0;display:grid;gap:.85rem}.student-card-head{display:flex;justify-content:space-between;align-items:center;gap:.6rem}.student-card-head h3{margin:0 auto 0 0;font-size:1.1rem}.badge{font-size:.75rem;font-weight:700;padding:.15rem .5rem;border-radius:6px;background:var(--teal-50);color:var(--teal-600)}.student-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.5rem 1rem;margin:.7rem 0 0}.student-meta dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.03em;color:var(--slate-500)}.student-meta dd{margin:.1rem 0 0;font-weight:500}.goals{margin:.7rem 0 0;padding-left:1.1rem;color:var(--slate-700)}.student-notes{margin:.7rem 0 0;color:var(--slate-600);font-size:.92rem}.muted{color:var(--slate-500)}.list-error{background:var(--coral-100);border-radius:var(--radius-control);padding:.9rem 1rem;color:var(--coral-600)}.list-error button{font:inherit;margin-top:.5rem;padding:.4rem .8rem;border:1px solid var(--coral-600);border-radius:var(--radius-control);background:var(--surface);color:var(--coral-600);cursor:pointer}.app-home{text-decoration:none;color:inherit}.app-home h1{margin:0;font-size:1.7rem;line-height:1.15;color:var(--teal-700)}.back-link{display:inline-block;font-size:.9rem;font-weight:600;color:var(--teal-600);text-decoration:none}.back-link:hover{text-decoration:underline}.panel+.panel,.panel h4{margin-top:1rem}.panel h3{margin:0 0 .6rem;font-size:1.1rem}.panel h4{font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;color:var(--slate-500);margin-bottom:.4rem}.student-open{display:inline-block;margin-top:.85rem;font-size:.9rem;font-weight:600;color:var(--teal-600);text-decoration:none}.student-open:hover{text-decoration:underline}.profile{display:grid;gap:1.25rem}.profile-head{display:flex;justify-content:space-between;align-items:center;gap:1rem}.profile-head h2{margin:0;font-size:1.5rem}.profile-grid{display:grid;gap:1.25rem;grid-template-columns:1fr}@media(min-width:900px){.profile-grid{grid-template-columns:1.4fr 1fr;align-items:start}}.start-lesson-panel{background:var(--teal-50);border-color:var(--teal-100)}.start-lesson-panel button[type=submit]{font:inherit;font-weight:600;width:100%;padding:.6rem 1rem;border:none;border-radius:var(--radius-control);background:var(--teal-500);color:var(--surface);cursor:pointer;box-shadow:0 3px 0 var(--teal-700)}.start-lesson-panel button[type=submit]:hover:not(:disabled){background:var(--teal-600)}.start-lesson-panel button[type=submit]:disabled{opacity:.6;cursor:progress}.lesson-room{display:grid;gap:1.25rem}.lesson-cockpit-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 1.5rem;background:var(--teal-900);color:var(--teal-50);border-radius:var(--radius-card);padding:1rem 1.25rem}.lesson-who{display:flex;align-items:center;gap:.75rem}.lesson-who h2{margin:0;font-size:1.35rem}.lesson-live-label{margin:0;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--teal-200)}.lesson-who .badge{background:var(--teal-700);color:var(--teal-100)}.live-dot{width:.7rem;height:.7rem;border-radius:999px;background:var(--leaf-400);box-shadow:0 0 0 4px #37a55e40;flex-shrink:0}.lesson-goal-block{min-width:12rem}.lesson-goal-label{margin:0;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--teal-200)}.lesson-goal-value{margin:.15rem 0 0;font-weight:600}.lesson-cockpit-bar .back-link{color:var(--teal-100)}.timeline-empty{border:1px dashed var(--slate-300);border-radius:var(--radius-control);padding:1.5rem 1.25rem;text-align:center}.timeline-empty p{margin:0 0 .4rem}.lesson-timeline{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}.timeline-event{display:grid;gap:.4rem}.bridge-hint{margin:0 0 .75rem;font-size:.9rem}.bridge-panel textarea{font:inherit;width:100%;resize:vertical;padding:.5rem .6rem;border:1px solid var(--slate-300);border-radius:var(--radius-control);background:var(--surface);color:inherit}.bridge-panel textarea:focus{outline:2px solid var(--teal-500);outline-offset:1px;border-color:var(--teal-500)}.bridge-panel textarea[aria-invalid=true]{border-color:var(--coral-600)}.bridge-panel button[type=submit]{font:inherit;font-weight:600;padding:.55rem 1.4rem;border:none;border-radius:var(--radius-control);background:var(--teal-500);color:var(--surface);cursor:pointer;box-shadow:0 3px 0 var(--teal-700)}.bridge-panel button[type=submit]:hover:not(:disabled){background:var(--teal-600)}.bridge-panel button[type=submit]:disabled{opacity:.6;cursor:progress}.bridge-loading{margin:.75rem 0 0;font-weight:600}.bridge-empty{margin:1rem 0 0;border:1px dashed var(--slate-300);border-radius:var(--radius-control);padding:1rem 1.1rem;text-align:center}.bridge-result{margin-top:1.25rem;border-top:1px solid var(--line);padding-top:1rem;display:grid;gap:.85rem}.bridge-result-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.bridge-result-head h3{margin:0}.bridge-section h4{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--slate-500);margin:0 0 .25rem}.bridge-section p{margin:0}.bridge-native{margin:.35rem 0 0;color:var(--slate-600);font-style:italic}.bridge-hero{display:grid;gap:.6rem;border:1px solid var(--slate-200);border-radius:var(--radius-card);padding:1.1rem 1.2rem;background:linear-gradient(180deg,var(--teal-50) 0%,var(--teal-50) 100%);box-shadow:0 6px 20px #0b3a4014}.bridge-hero-row{display:grid;gap:.2rem}.bridge-hero-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.bridge-hero-dont .bridge-hero-label{color:var(--coral-600)}.bridge-hero-do .bridge-hero-label{color:var(--leaf-700)}.bridge-hero-phrase{margin:0;font-size:1.35rem;line-height:1.3;font-weight:700}.bridge-hero-wrong{color:var(--coral-600);text-decoration:line-through;text-decoration-thickness:2px;font-weight:600;opacity:.85}.bridge-hero-right{color:var(--leaf-900);background:var(--leaf-100);border-radius:var(--radius-control);padding:.4rem .65rem}@media(min-width:720px){.bridge-hero-phrase{font-size:1.55rem}}.bridge-why{background:var(--teal-50);border:1px solid var(--teal-100);border-radius:var(--radius-control);padding:.75rem .85rem}.bridge-why-line{display:grid;grid-template-columns:max-content 1fr;gap:.55rem;align-items:baseline}.bridge-why-line+.bridge-why-line{margin-top:.4rem}.bridge-why-lang{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--teal-600);white-space:nowrap}.bridge-follow-up{display:grid;grid-template-columns:max-content 1fr;gap:.55rem;align-items:baseline;margin:.6rem 0 0;color:var(--slate-600)}.bridge-mistake-panel{border:1px solid var(--coral-200);border-left:4px solid var(--coral-600);border-radius:var(--radius-control);padding:.75rem .85rem;background:var(--coral-50)}.bridge-practice-button{font:inherit;font-weight:700;padding:.7rem 1.4rem;border:none;border-radius:var(--radius-control);background:var(--teal-500);color:var(--surface);cursor:pointer;justify-self:start;box-shadow:0 4px 12px #0fa3a847}.bridge-practice-button:hover{background:var(--teal-600)}.bridge-practice-button:focus-visible{outline:2px solid var(--leaf-900);outline-offset:2px}.bridge-versions{display:grid;gap:.85rem;grid-template-columns:1fr}@media(min-width:720px){.bridge-versions{grid-template-columns:1fr 1fr}}.bridge-section-key{background:var(--teal-50);border:1px solid var(--teal-100);border-radius:var(--radius-control);padding:.7rem .8rem}.bridge-section-key p{font-weight:600;color:var(--teal-800)}.bridge-teacher-note{background:var(--sun-50);border:1px solid var(--sun-300);border-radius:var(--radius-control);padding:.7rem .8rem}.bridge-private-tag{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--sun-700);background:var(--sun-200);border-radius:6px;padding:.05rem .35rem;margin-left:.35rem}.bridge-brian-assist{display:grid;gap:.6rem;border:1px solid var(--plum-300);border-left:4px solid var(--plum-700);border-radius:var(--radius-card);padding:.9rem 1rem;background:linear-gradient(180deg,var(--plum-50) 0%,var(--plum-100) 100%)}.bridge-brian-assist-head{display:flex;align-items:center;gap:.5rem}.bridge-brian-assist-head h4{margin:0;font-size:.95rem;color:var(--plum-800)}.bridge-teacher-only{font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--surface);background:var(--plum-700);border-radius:6px;padding:.12rem .45rem;box-shadow:0 3px 0 var(--plum-900)}.bridge-brian-assist-grid{margin:0;display:grid;gap:.55rem}.bridge-brian-assist-item{display:grid;gap:.15rem}.bridge-brian-assist-item dt{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--plum-700)}.bridge-brian-assist-item dd{margin:0;color:var(--plum-900)}.bridge-brian-assist-say dd{font-size:1.05rem;font-weight:600;color:var(--plum-800);background:var(--surface);border:1px solid var(--plum-200);border-radius:var(--radius-control);padding:.5rem .65rem}.bridge-memory-callback{display:grid;gap:.55rem;border:1px solid var(--sun-300);border-left:4px solid var(--sun-600);border-radius:var(--radius-card);padding:.9rem 1rem;background:linear-gradient(180deg,var(--sun-50) 0%,var(--sun-100) 100%)}.bridge-memory-callback-head{display:flex;align-items:center;gap:.5rem}.bridge-memory-callback-head h4{margin:0;font-size:.95rem;color:var(--sun-800)}.bridge-memory-callback-pattern{margin:0;color:var(--sun-900)}.bridge-memory-callback-grid{margin:0;display:grid;gap:.5rem}.bridge-memory-callback-item{display:grid;gap:.15rem}.bridge-memory-callback-item dt{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--sun-600)}.bridge-memory-callback-item dd{margin:0;color:var(--sun-900);font-weight:600}.bridge-memory-callback-cue{margin:0;color:var(--sun-900);background:var(--surface);border:1px solid var(--sun-300);border-radius:var(--radius-control);padding:.5rem .65rem}.bridge-result-head-right{display:flex;align-items:center;gap:.5rem}.bridge-copy-student{font:inherit;font-size:.8rem;font-weight:600;padding:.3rem .7rem;border:1px solid var(--teal-100);border-radius:var(--radius-control);background:var(--teal-50);color:var(--teal-800);cursor:pointer}.bridge-copy-student:hover{background:var(--teal-100)}.bridge-copy-student:focus-visible{outline:2px solid var(--teal-500);outline-offset:2px}.brian-cue-rail{border:1px solid var(--plum-300);border-left:4px solid var(--plum-700);border-radius:var(--radius-card);padding:.9rem 1rem;background:linear-gradient(180deg,var(--plum-50) 0%,var(--plum-100) 100%)}.brian-cue-rail-head{margin-bottom:.4rem}.brian-cue-rail-head h3{margin:0;color:var(--plum-800)}.brian-cue-list{list-style:none;margin:.6rem 0 0;padding:0;display:grid;gap:.5rem}.brian-cue{display:flex;align-items:flex-start;gap:.6rem;padding:.55rem .65rem;border:1px solid var(--plum-200);border-radius:var(--radius-control);background:var(--surface)}.brian-cue-active{border-color:var(--plum-700);box-shadow:0 0 0 2px #8b67c938;background:var(--teal-50)}.brian-cue-used,.brian-cue-skipped,.brian-cue-not_needed{opacity:.92}.brian-cue-used{border-color:var(--leaf-300)}.brian-cue-skipped{border-color:var(--sun-300)}.brian-cue-not_needed{border-color:var(--plum-200)}.brian-cue-body{display:grid;gap:.25rem;min-width:0;width:100%}.brian-cue-title{margin:0;font-weight:700;color:var(--plum-900)}.brian-cue-detail{margin:0;color:var(--plum-800);font-size:.92rem}.brian-cue-marks{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.15rem}.brian-cue-mark{font:inherit;font-size:.82rem;padding:.2rem .55rem;border-radius:999px;border:1px solid var(--plum-300);background:var(--plum-100);color:var(--plum-800);cursor:pointer}.brian-cue-mark:hover{background:var(--plum-200)}.brian-cue-mark:focus-visible{outline:2px solid var(--plum-700);outline-offset:2px}.brian-cue-mark:disabled{opacity:.6;cursor:default}.brian-cue-mark-on{border-color:var(--plum-700);background:var(--plum-700);color:var(--surface);font-weight:700}.brian-cue-status{margin:.1rem 0 0;font-size:.82rem;font-weight:600;color:var(--leaf-600)}.adaptive-cue{flex-direction:column;gap:.3rem;border-left-width:4px}.adaptive-cue-directive{border-left-color:var(--plum-700)}.adaptive-cue-question{border-left-color:var(--leaf-600)}.adaptive-cue-tone{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--plum-700)}.adaptive-cue-question .adaptive-cue-tone{color:var(--leaf-600)}.try-before-reveal{border:1px solid var(--plum-300);border-left:4px solid var(--plum-700);background:linear-gradient(180deg,var(--plum-50) 0%,var(--plum-100) 100%)}.try-before-reveal .panel-head h3{color:var(--plum-800)}.prediction-comparison{display:grid;gap:.6rem}.prediction-verdict{margin:0;font-size:1.1rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.prediction-verdict-correct{color:var(--leaf-700)}.prediction-verdict-close{color:var(--sun-800)}.prediction-verdict-different{color:var(--coral-700)}.prediction-comparison-grid{margin:0;display:grid;gap:.5rem}.prediction-comparison-item{display:grid;gap:.15rem}.prediction-comparison-item dt{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--plum-700)}.prediction-comparison-item dd{margin:0;color:var(--plum-900);font-weight:600}.timeline-concealed{color:var(--slate-500);font-style:italic;font-weight:500}.presenter-controls{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.presenter-toggle{font:inherit;font-size:.78rem;font-weight:600;padding:.32rem .7rem;border:1px solid var(--slate-600);border-radius:999px;background:var(--teal-700);color:var(--teal-100);cursor:pointer}.presenter-toggle:hover{background:var(--teal-600)}.presenter-toggle:focus-visible{outline:2px solid var(--teal-200);outline-offset:2px}.presenter-toggle-on{background:var(--teal-50);color:var(--teal-900);border-color:var(--teal-50)}.presenter-toggle-on:hover{background:var(--teal-100)}.lesson-room-camera .bridge-hero{padding:1.5rem 1.6rem}.lesson-room-camera .bridge-hero-phrase{font-size:1.8rem}@media(min-width:720px){.lesson-room-camera .bridge-hero-phrase{font-size:2.4rem}}.lesson-room-camera .roleplay-partner-line{font-size:1.3rem;font-weight:700}.lesson-room-camera [data-testid=roleplay-target-phrases] li{font-size:1.1rem}.lesson-room-camera .bridge-hint,.lesson-room-camera .demo-chips,.lesson-room-camera .bridge-panel form,.lesson-room-camera .bridge-copy-student,.lesson-room-camera .bridge-versions,.lesson-room-camera [data-testid=bridge-practice-sentences],.lesson-room-camera .bridge-mistake-panel,.lesson-room-camera [data-testid=generate-roleplay],.lesson-room-camera [data-testid=roleplay-save-actions],.lesson-room-camera .homework-panel,.lesson-room-camera .lesson-summary-panel,.lesson-room-camera .lesson-timeline-panel{display:none}.bridge-section ul{margin:0;padding-left:1.1rem;display:grid;gap:.25rem}.mistake-candidates{list-style:none;padding-left:0;gap:.6rem}.mistake-candidate{display:grid;gap:.5rem;padding:.65rem .75rem;border:1px solid var(--coral-200);border-radius:var(--radius-control);background:var(--surface)}.mistake-candidate-saved{border-color:var(--leaf-200);background:var(--leaf-50)}.mistake-candidate-line{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.mistake-pattern{margin:0;font-weight:700;color:var(--coral-800)}.mistake-candidate-grid{display:grid;gap:.45rem;margin:0}.mistake-candidate-field{display:grid;gap:.1rem}.mistake-candidate-field dt{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--slate-500)}.mistake-candidate-field dd{margin:0}.mistake-review dd{color:var(--slate-600);font-style:italic}.mistake-candidate-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.save-mistake{font:inherit;font-size:.8rem;font-weight:600;padding:.25rem .7rem;margin-left:auto;border:1px solid var(--teal-500);border-radius:999px;background:var(--surface);color:var(--teal-600);cursor:pointer}.save-mistake:hover:not(:disabled){background:var(--teal-50)}.save-mistake:disabled{opacity:.6;cursor:progress}.mistake-saved{margin-left:auto;font-size:.8rem;font-weight:700;color:var(--leaf-700);background:var(--leaf-100);border-radius:999px;padding:.2rem .65rem;white-space:nowrap}.mistake-from{text-decoration:line-through;color:var(--coral-600)}.mistake-to{font-weight:600;color:var(--leaf-700)}.mistake-arrow{color:var(--slate-500)}.mistake-type{background:var(--slate-100);color:var(--slate-600);text-transform:capitalize}.mistake-groups{display:grid;gap:1rem}.mistake-group-head{display:flex;align-items:center;gap:.5rem}.saved-mistakes{list-style:none;margin:.5rem 0 0;padding:0;display:grid;gap:.6rem}.saved-mistake{display:grid;gap:.35rem;padding:.7rem .85rem}.saved-mistake-explanation{margin:0;font-size:.85rem}.timeline-input{margin:0}.timeline-natural{margin:0;color:var(--teal-800);font-weight:600}.timeline-event-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.timeline-time{font-size:.78rem}.lesson-summary-panel textarea{font:inherit;width:100%;resize:vertical;padding:.5rem .6rem;border:1px solid var(--slate-300);border-radius:var(--radius-control);background:var(--surface);color:inherit}.lesson-summary-panel textarea:focus{outline:2px solid var(--teal-500);outline-offset:1px;border-color:var(--teal-500)}.recent-lessons-list{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}.recent-lesson{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1rem;padding:.7rem .85rem}.recent-lesson-main{display:grid;gap:.3rem}.recent-lesson-when{margin:0;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--slate-600)}.recent-lesson-goal{margin:0;font-weight:600}.recent-lesson-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.recent-lesson-review{white-space:nowrap}.homework-draft{display:grid;gap:.8rem;margin-top:1rem;padding:1rem;border:1px solid var(--slate-200);border-radius:var(--radius-card);background:var(--teal-50)}.homework-draft-head{display:flex;align-items:center;gap:.5rem}.homework-draft-head h4{margin:0}.homework-tasks{display:grid;gap:.5rem}.homework-tasks h5,.homework-student-preview-wrap h5{margin:0 0 .25rem}.homework-task{display:grid;gap:.4rem;padding:.6rem .7rem}.homework-task-meta{display:flex;align-items:center;gap:.5rem}.homework-teacher-note{background:var(--sun-50);border:1px solid var(--sun-300);border-radius:var(--radius-control);padding:.7rem .8rem}.homework-note-hint{margin:.3rem 0 0;font-size:.8rem}.homework-student-preview{margin:0;padding:.7rem .8rem;border:1px solid var(--slate-200);border-radius:var(--radius-control);background:var(--surface);white-space:pre-wrap;word-break:break-word;font-family:inherit;font-size:.85rem;color:var(--slate-800)}.homework-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.saved-homework{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:.5rem}.saved-homework-item{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.6rem .75rem}.saved-homework-title{font-weight:600}.scenario-card{display:grid;gap:.85rem;margin-top:1rem;padding:1rem;border:1px solid var(--slate-200);border-radius:var(--radius-card);background:var(--teal-50)}.scenario-card-head{display:flex;align-items:center;gap:.5rem}.scenario-card-head h4{margin:0;font-size:1rem;text-transform:none;letter-spacing:0;color:var(--ink)}.scenario-card .bridge-section p{margin:0 0 .25rem}.scenario-panel>button,.roleplay-panel>button,.lesson-summary-panel>button{font:inherit;font-weight:600;padding:.55rem 1.4rem;border:none;border-radius:var(--radius-control);background:var(--teal-500);color:var(--surface);cursor:pointer;box-shadow:0 3px 0 var(--teal-700)}.scenario-panel>button:hover:not(:disabled),.roleplay-panel>button:hover:not(:disabled),.lesson-summary-panel>button:hover:not(:disabled){background:var(--teal-600)}.scenario-panel>button:disabled,.roleplay-panel>button:disabled,.lesson-summary-panel>button:disabled{opacity:.6;cursor:progress}.scenario-card button[data-testid=save-scenario]{font:inherit;font-weight:600;padding:.5rem 1.2rem;border:1px solid var(--teal-500);border-radius:var(--radius-control);background:var(--surface);color:var(--teal-600);cursor:pointer}.scenario-card button[data-testid=save-scenario]:hover:not(:disabled){background:var(--teal-50)}.scenario-card button[data-testid=save-scenario]:disabled{opacity:.6;cursor:progress}.roleplay-card .scenario-card-head{align-items:flex-start;justify-content:space-between}.roleplay-built-from{margin:.2rem 0 0;font-size:.85rem;font-style:italic;color:var(--slate-600)}.roleplay-partner-line{margin:0;font-weight:600;color:var(--ink)}.roleplay-response-checker{display:grid;gap:.6rem;margin-top:.4rem;padding-top:.85rem;border-top:1px dashed var(--slate-200)}.roleplay-response-checker h4{margin:0;font-size:1rem;color:var(--ink)}.roleplay-response-checker>form>button{justify-self:start;font:inherit;font-weight:600;padding:.5rem 1.2rem;border:1px solid var(--leaf-600);border-radius:var(--radius-control);background:var(--surface);color:var(--leaf-700);cursor:pointer}.roleplay-response-checker>form>button:disabled{opacity:.6;cursor:default}.roleplay-response-feedback{display:grid;gap:.5rem;padding:.75rem .85rem;border:1px solid var(--sun-300);border-radius:var(--radius-control);background:var(--sun-50)}.roleplay-response-feedback-good{border-color:var(--leaf-200);background:var(--leaf-50)}.roleplay-response-encouragement{margin:0;font-weight:600;color:var(--ink)}.roleplay-lifelines{display:grid;gap:.6rem;margin-top:.4rem;padding-top:.85rem;border-top:1px dashed var(--slate-200)}.roleplay-lifelines h4{margin:0;font-size:1rem;color:var(--ink)}.lifeline-hint{margin:0;font-size:.85rem}.lifeline-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.lifeline-button{display:grid;gap:.1rem;font:inherit;text-align:left;padding:.5rem .85rem;border:1px solid var(--leaf-200);border-radius:var(--radius-control);background:var(--leaf-50);color:var(--ink);cursor:pointer}.lifeline-button:hover{background:var(--leaf-100)}.lifeline-button-active{border-color:var(--leaf-600);background:var(--leaf-100)}.lifeline-button-native{font-weight:600;font-size:.9rem}.lifeline-button-english{font-size:.78rem;color:var(--slate-600)}.lifeline-options{display:grid;gap:.5rem;padding:.75rem .85rem;border:1px solid var(--leaf-200);border-radius:var(--radius-control);background:var(--leaf-50)}.lifeline-options-native{margin:0;font-style:italic;font-size:.85rem;color:var(--leaf-700)}.lifeline-options-list{display:grid;gap:.5rem;margin:0}.lifeline-option{display:grid;gap:.1rem}.lifeline-option dt{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--leaf-600)}.lifeline-option dd{margin:0;color:var(--ink)}.lifeline-thought{display:grid;gap:.5rem;margin-top:.2rem}.lifeline-thought>button{justify-self:start;font:inherit;font-weight:600;padding:.5rem 1.2rem;border:1px solid var(--leaf-600);border-radius:var(--radius-control);background:var(--surface);color:var(--leaf-700);cursor:pointer}.lifeline-thought>button:hover:not(:disabled){background:var(--leaf-50)}.lifeline-thought>button:disabled{opacity:.6;cursor:progress}@media(max-width:480px){.app{padding:1.5rem 1rem 2rem}.field-row{grid-template-columns:1fr}.lesson-cockpit-bar{flex-direction:column;align-items:flex-start}}.delete-button{font:inherit;font-size:.8rem;font-weight:600;padding:.25rem .7rem;border:1px solid var(--coral-300);border-radius:999px;background:var(--surface);color:var(--coral-600);cursor:pointer}.delete-button:hover:not(:disabled){background:var(--coral-50)}.delete-button:disabled{opacity:.6;cursor:progress}.card-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.6rem}.student-card-invite{margin-top:.7rem}.invite-control{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.invite-button{font:inherit;font-size:.8rem;font-weight:600;padding:.3rem .8rem;border:1px solid var(--teal-600);border-radius:999px;background:var(--teal-50);color:var(--teal-600);cursor:pointer}.invite-button:hover:not(:disabled){background:var(--teal-100)}.invite-button:disabled{opacity:.55;cursor:not-allowed}.invite-chip-linked{background:var(--leaf-100);color:var(--leaf-700)}.invite-revoke{font:inherit;font-size:.78rem;font-weight:600;padding:.2rem .6rem;border:1px solid var(--coral-300);border-radius:999px;background:var(--surface);color:var(--coral-600);cursor:pointer}.invite-revoke:hover:not(:disabled){background:var(--coral-50)}.invite-revoke:disabled{opacity:.6;cursor:progress}.invite-form{display:flex;flex-direction:column;gap:.35rem;width:100%}.invite-form-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.03em;color:var(--slate-500)}.invite-input{font:inherit;padding:.4rem .6rem;border:1px solid var(--slate-300);border-radius:var(--radius-control)}.invite-form-actions{display:flex;flex-wrap:wrap;gap:.5rem}.invite-send{font:inherit;font-size:.8rem;font-weight:600;padding:.3rem .8rem;border:1px solid var(--teal-600);border-radius:999px;background:var(--teal-600);color:var(--surface);cursor:pointer;box-shadow:0 3px 0 var(--teal-800)}.invite-send:disabled{opacity:.6;cursor:progress}.invite-cancel{font:inherit;font-size:.8rem;padding:.3rem .8rem;border:1px solid var(--slate-300);border-radius:999px;background:var(--surface);color:var(--slate-800);cursor:pointer}.invite-loading{font-size:.78rem}.invite-error{margin:0;font-size:.78rem;color:var(--coral-600)}.profile-head-actions,.recent-lesson-actions{display:flex;align-items:center;gap:.6rem}.saved-mistake-delete{margin-left:auto}.saved-homework-main{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.saved-homework-item .card-actions{margin-top:0;margin-left:auto}.student-visible-tag{color:var(--leaf-700);background:var(--leaf-100)}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b3a4073;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:50}.dialog{background:var(--surface);border-radius:var(--radius-card);padding:1.5rem;max-width:28rem;width:100%;box-shadow:0 12px 40px #0b3a4040;display:grid;gap:.75rem}.dialog h3{margin:0}.dialog-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:.5rem}.dialog-cancel{font:inherit;font-weight:600;padding:.45rem 1rem;border:1px solid var(--slate-300);border-radius:var(--radius-control);background:var(--surface);color:var(--slate-800);cursor:pointer}.dialog-cancel:hover:not(:disabled){background:var(--slate-50)}.dialog-confirm{font:inherit;font-weight:700;padding:.45rem 1rem;border:1px solid var(--coral-600);border-radius:var(--radius-control);background:var(--coral-600);color:var(--surface);cursor:pointer;box-shadow:0 3px 0 var(--coral-800)}.dialog-confirm:hover:not(:disabled){background:var(--coral-700)}.dialog-cancel:disabled,.dialog-confirm:disabled{opacity:.6;cursor:progress}.demo-panel{border:1px dashed var(--slate-300);background:var(--teal-50)}@media(min-width:900px){.demo-panel{grid-column:1 / -1}}.demo-badge{background:var(--plum-100);color:var(--plum-700)}.demo-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.75rem}.demo-actions button{font:inherit;font-weight:600;padding:.5rem 1rem;border-radius:var(--radius-control);border:1px solid var(--teal-500);background:var(--teal-500);color:var(--surface);cursor:pointer;box-shadow:0 3px 0 var(--teal-700)}.demo-actions button:hover:not(:disabled){background:var(--teal-600)}.demo-actions button:disabled{opacity:.6;cursor:progress}.demo-actions .demo-reset{background:var(--surface);color:var(--slate-800);border-color:var(--slate-300)}.demo-actions .demo-reset:hover:not(:disabled){background:var(--slate-50)}.demo-chips{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin:0 0 .75rem}.demo-chips-label{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--plum-700)}.demo-chip{font:inherit;font-size:.85rem;padding:.3rem .7rem;border-radius:999px;border:1px solid var(--plum-200);background:var(--plum-100);color:var(--plum-700);cursor:pointer}.demo-chip:hover{background:var(--plum-200)}.student-memory-intro{margin-top:-.25rem}.student-memory-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:.5rem}.student-memory-field h4{margin:0 0 .35rem}.student-memory-field ul{margin:0;padding-left:1.1rem;display:grid;gap:.25rem}.student-memory-teacher{margin-top:1rem;padding:.85rem 1rem;border-radius:var(--radius-control);background:var(--sun-100);border:1px solid var(--sun-200)}.student-memory-teacher h4{margin:0 0 .5rem}.student-memory-teacher-list{margin:0;display:grid;gap:.6rem}.student-memory-teacher-list dt{font-weight:700;font-size:.85rem;color:var(--sun-800)}.student-memory-teacher-list dd{margin:.1rem 0 0}.student-memory-export{margin-top:1rem}.start-with-review{margin-top:.85rem;padding-top:.85rem;border-top:1px dashed var(--teal-100);display:grid;gap:.35rem}.start-with-review-button{font:inherit;font-weight:600;width:100%;padding:.55rem 1rem;border:1px solid var(--teal-500);border-radius:var(--radius-control);background:var(--surface);color:var(--teal-600);cursor:pointer}.start-with-review-button:hover:not(:disabled){background:var(--teal-50)}.start-with-review-button:disabled{opacity:.55;cursor:not-allowed}.start-with-review-hint{margin:0;font-size:.85rem}.scene-pack-picker{display:grid;gap:.65rem;margin-bottom:.85rem}.scene-pack-intro{margin:0;font-size:.85rem}.scene-pack-group{display:grid;gap:.4rem}.scene-pack-group-label{margin:0;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--teal-600)}.scene-pack-options{display:flex;flex-wrap:wrap;gap:.5rem}.scene-pack-option{font:inherit;display:inline-flex;flex-direction:column;align-items:flex-start;gap:.1rem;padding:.4rem .7rem;border-radius:var(--radius-control);border:1px solid var(--teal-100);background:var(--surface);color:var(--slate-900);cursor:pointer;text-align:left}.scene-pack-option:hover{background:var(--teal-50)}.scene-pack-option-selected{border-color:var(--teal-500);background:var(--teal-50);box-shadow:inset 0 0 0 1px var(--teal-500)}.scene-pack-option-title{font-size:.88rem;font-weight:600}.scene-pack-option-levels{font-size:.72rem;font-weight:700;letter-spacing:.03em;color:var(--slate-600)}.scene-pack-selected{margin:.4rem 0 0;font-size:.82rem;display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.scene-pack-clear{font:inherit;font-size:.8rem;padding:0;border:none;background:none;color:var(--teal-600);text-decoration:underline;cursor:pointer}.scene-pack-context{border:1px solid var(--teal-100);border-left:4px solid var(--teal-500);background:linear-gradient(180deg,var(--teal-50) 0%,var(--teal-50) 100%);padding:.75rem 1rem}.scene-pack-context-head{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.scene-pack-context-title{margin:0;font-size:1rem}.scene-pack-context-badge{background:var(--teal-500);color:var(--surface)}.scene-pack-context-situation{margin:.35rem 0 0;font-size:.85rem}.scene-pack-context-chunks{list-style:none;display:flex;flex-wrap:wrap;gap:.35rem;margin:.55rem 0 0;padding:0}.scene-pack-chunk{font-size:.78rem;padding:.15rem .55rem;border-radius:999px;background:var(--teal-50);color:var(--teal-600)}.lesson-review-prompt{border:1px solid var(--sun-300);border-left:4px solid var(--sun-600);background:linear-gradient(180deg,var(--sun-50) 0%,var(--sun-100) 100%)}.review-prompt-text{margin:0 0 .75rem;font-size:.95rem;color:var(--sun-800)}.review-prompt-grid{margin:0 0 .85rem;display:grid;gap:.5rem}.review-prompt-item{display:grid;gap:.15rem}.review-prompt-item dt{font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--sun-800)}.review-prompt-item dd{margin:0}.review-prompt-actions{display:flex;flex-wrap:wrap;gap:.5rem}.review-prompt-actions button{font:inherit;font-weight:600;padding:.5rem .9rem;border:1px solid var(--sun-600);border-radius:var(--radius-control);background:var(--surface);color:var(--sun-800);cursor:pointer}.review-prompt-actions button:hover:not(:disabled){background:var(--sun-100)}.review-prompt-actions button:disabled{opacity:.55;cursor:progress}.before-after-card{border:1px solid var(--leaf-200);border-left:4px solid var(--leaf-600);background:linear-gradient(180deg,var(--leaf-50) 0%,var(--leaf-50) 100%)}.before-after-list{list-style:none;margin:.75rem 0 0;padding:0;display:grid;gap:.75rem}.before-after-entry{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.5rem}.before-after-steps{list-style:none;margin:0;padding:0;display:grid;gap:.3rem;flex:1 1 18rem}.before-after-step{display:grid;gap:.1rem}.before-after-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--slate-600)}.before-after-status{align-self:center}.before-after-export{margin-top:1rem}.progress-celebration-card{border:1px solid var(--teal-100);border-left:4px solid var(--plum-300);background:linear-gradient(180deg,var(--teal-50) 0%,var(--plum-100) 100%)}.progress-celebration-count{background:var(--plum-100);color:var(--plum-700)}.progress-celebration-message{margin:.4rem 0 .75rem;color:var(--slate-700)}.progress-celebration-reel{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.progress-celebration-entry{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.6rem .8rem}.progress-celebration-before{color:var(--sun-700);text-decoration:line-through;text-decoration-color:var(--sun-400)}.progress-celebration-arrow{color:var(--plum-500);font-weight:800}.progress-celebration-after{color:var(--teal-700);font-weight:700}.progress-celebration-empty{margin-top:.4rem}.progress-celebration-error-block{display:grid;gap:.6rem;justify-items:start}.owned-phrases-card{border:1px solid var(--leaf-200);border-left:4px solid var(--leaf-600);background:linear-gradient(180deg,var(--leaf-50) 0%,var(--leaf-50) 100%)}.owned-phrases-count{background:var(--leaf-100);color:var(--leaf-700)}.owned-phrases-intro{margin:.4rem 0 .5rem;color:var(--leaf-800);font-weight:600}.owned-phrases-newest-line{margin:0 0 .75rem;color:var(--leaf-800)}.owned-phrases-wall{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.6rem}.owned-phrase-card{display:grid;gap:.3rem;padding:.7rem .85rem;position:relative}.owned-phrase-card-new{border:1px solid var(--sun-400);box-shadow:0 0 0 2px var(--sun-200) inset;background:var(--sun-50)}.owned-phrase-new-badge{justify-self:start;background:var(--sun-300);color:var(--sun-900)}.owned-phrase-natural{margin:0;font-weight:700;color:var(--leaf-900)}.owned-phrase-from{margin:0;font-size:.85rem;color:var(--slate-500)}.owned-phrase-from-label{text-transform:uppercase;font-size:.7rem;letter-spacing:.04em;margin-right:.2rem}.owned-phrases-encouragement{margin:.75rem 0 0}.owned-phrases-empty{margin-top:.4rem}.owned-phrases-error-block{display:grid;gap:.6rem;justify-items:start}.roleplay-final-version{margin-top:.6rem;padding-top:.75rem;border-top:1px dashed var(--leaf-200);display:grid;gap:.4rem}.roleplay-final-version h5{margin:0;font-size:.9rem;color:var(--ink)}.scene-progress-list{list-style:none;margin:.6rem 0 0;padding:0;display:grid;gap:.6rem}.scene-progress-entry{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1rem;padding:.7rem .85rem}.scene-progress-main{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.scene-progress-title{font-weight:600}.scene-progress-levels{background:var(--slate-50);color:var(--slate-600)}.scene-progress-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.scene-progress-status-new{background:var(--slate-50);color:var(--slate-600)}.scene-progress-status-needs_review{background:var(--sun-100);color:var(--sun-800)}.scene-progress-status-practiced{background:var(--teal-50);color:var(--teal-600)}.scene-progress-status-confident{background:var(--leaf-100);color:var(--leaf-700)}.scene-progress-mastered{background:var(--teal-50);color:var(--plum-700)}.mistake-scene-filter{display:flex;align-items:center;gap:.5rem;margin:.2rem 0 .8rem}.mistake-scene-filter label{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--slate-600)}.mistake-scene-filter select{padding:.3rem .5rem;border:1px solid var(--slate-200);border-radius:var(--radius-control);background:var(--surface);font:inherit}.dashboard-nav{grid-column:1 / -1}.growth-link{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem .9rem;border:1px solid var(--sun-200);border-left:4px solid var(--sun-600);border-radius:var(--radius-control);background:var(--sun-100);color:var(--sun-800);font-weight:600;text-decoration:none}.growth-link:hover{background:var(--sun-200)}.growth{display:grid;gap:1rem}.growth-panel{border-left:4px solid var(--sun-600)}.growth-private-note{margin-top:0}.growth-students{margin:0 0 .4rem;font-weight:600}.growth-metrics{list-style:none;margin:.4rem 0 0;padding:0;display:grid;gap:.8rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.growth-metric{display:flex;flex-direction:column;gap:.2rem;text-align:center}.growth-metric-value{font-size:1.8rem;font-weight:700;color:var(--slate-800)}.growth-metric-label{font-size:.82rem;color:var(--slate-600)}.growth-section{margin-top:1.4rem}.growth-section h3{margin:0 0 .6rem;font-size:1.05rem}.growth-pattern-list{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}.growth-pattern{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.growth-pattern-label{font-weight:600}.growth-pattern-count{background:var(--leaf-100);color:var(--leaf-700);white-space:nowrap}.growth-recommendation-card{display:grid;gap:.35rem;border-left:4px solid var(--plum-700);background:var(--plum-50)}.growth-recommendation-skill{font-weight:700;color:var(--plum-700)}.growth-recommendation-text{margin:0;color:var(--slate-700)}.growth-error{display:grid;gap:.6rem;justify-items:start}.confidence-meter-card{border-color:var(--leaf-200);background:var(--leaf-50)}.confidence-band-badge{background:var(--leaf-100);color:var(--leaf-700)}.confidence-bar{width:100%;height:14px;border-radius:999px;background:var(--slate-100);overflow:hidden;margin:.2rem 0 .5rem}.confidence-bar-fill{height:100%;border-radius:999px;transition:width .3s ease;min-width:6px}.confidence-band-getting_started{background:var(--teal-200)}.confidence-band-warming_up{background:var(--sun-500)}.confidence-band-finding_voice{background:var(--leaf-500)}.confidence-band-speaking_freely{background:var(--leaf-700)}.confidence-score{margin:0 0 .3rem}.confidence-score-value{font-size:1.6rem;font-weight:800;color:var(--leaf-700)}.confidence-encouragement{margin:0 0 .6rem;font-weight:600;color:var(--leaf-800)}.confidence-trend-row{display:flex;align-items:flex-end;gap:.6rem;flex-wrap:wrap;margin-bottom:.5rem}.confidence-trend-chip{background:var(--teal-50);color:var(--teal-600)}.confidence-sparkline{display:flex;align-items:flex-end;gap:3px;height:30px;margin:0;padding:0;list-style:none}.confidence-spark{width:8px;background:var(--leaf-500);border-radius:2px 2px 0 0;min-height:4px}.confidence-correctness{margin:.2rem 0 0;font-size:.9rem}.confidence-meter-empty{display:grid;gap:.3rem}.confidence-teacher-note{margin-top:.8rem;padding-top:.7rem;border-top:1px dashed var(--leaf-200)}.confidence-teacher-note p{margin:.35rem 0 0}.confidence-meter-error{display:grid;gap:.6rem;justify-items:start}.win-moment-card{border-color:var(--sun-300);background:linear-gradient(135deg,var(--sun-50) 0%,var(--leaf-50) 100%)}.win-moment-trigger{background:var(--sun-200);color:var(--sun-800)}.win-moment-empty{display:grid;gap:.3rem}.win-moment-encouragement{margin:0;font-weight:600;color:var(--leaf-800)}.win-moment-error{display:grid;gap:.6rem;justify-items:start}.win-moment-celebration{position:relative;display:grid;gap:.6rem;justify-items:start;padding-top:.4rem;animation:win-moment-rise .4s ease both}@keyframes win-moment-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.win-moment-headline{margin:0;font-size:1.3rem;font-weight:800;color:var(--leaf-700);display:flex;align-items:center;gap:.5rem}.win-moment-badge{font-size:1.5rem;animation:win-moment-pop .5s ease both}@keyframes win-moment-pop{0%{transform:scale(.4) rotate(-12deg)}70%{transform:scale(1.2) rotate(6deg)}to{transform:scale(1) rotate(0)}}.win-moment-arc{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;font-size:1.05rem}.win-moment-before{color:var(--sun-700);text-decoration:line-through;text-decoration-color:var(--sun-400)}.win-moment-arrow{color:var(--leaf-500);font-weight:800}.win-moment-after{color:var(--leaf-800);font-weight:700}.win-moment-dismiss{margin-top:.2rem}.win-moment-confetti{position:absolute;inset:0 0 auto 0;height:0;margin:0;padding:0;list-style:none;pointer-events:none}.win-confetti-piece{position:absolute;top:0;width:7px;height:11px;border-radius:2px;opacity:0;animation:win-confetti-fall 1.1s ease-out forwards}.win-confetti-0{background:var(--sun-500)}.win-confetti-1{background:var(--leaf-500)}.win-confetti-2{background:var(--teal-300)}.win-confetti-piece:nth-child(1){left:6%;animation-delay:0s}.win-confetti-piece:nth-child(2){left:18%;animation-delay:.08s}.win-confetti-piece:nth-child(3){left:30%;animation-delay:.16s}.win-confetti-piece:nth-child(4){left:42%;animation-delay:.04s}.win-confetti-piece:nth-child(5){left:54%;animation-delay:.12s}.win-confetti-piece:nth-child(6){left:66%;animation-delay:.2s}.win-confetti-piece:nth-child(7){left:78%;animation-delay:.06s}.win-confetti-piece:nth-child(8){left:88%;animation-delay:.14s}.win-confetti-piece:nth-child(9){left:96%;animation-delay:.1s}@keyframes win-confetti-fall{0%{opacity:0;transform:translateY(-6px) rotate(0)}20%{opacity:1}to{opacity:0;transform:translateY(46px) rotate(220deg)}}@media(prefers-reduced-motion:reduce){.win-moment-celebration,.win-moment-badge,.win-confetti-piece{animation:none}.win-confetti-piece{opacity:0}}.lesson-momentum-card{border-color:var(--teal-100);background:linear-gradient(135deg,var(--teal-50) 0%,var(--leaf-50) 100%)}.momentum-streak-badge{background:var(--teal-50);color:var(--teal-600)}.momentum-streak-badge[data-welcome-back=true]{background:var(--sun-200);color:var(--sun-800)}.momentum-today{margin:0 0 .2rem}.momentum-today-value{font-size:1.6rem;font-weight:800;color:var(--teal-600)}.momentum-streak-days{margin:0 0 .3rem;font-weight:700;color:var(--leaf-800)}.momentum-encouragement{margin:0 0 .3rem;font-weight:600;color:var(--leaf-800)}.momentum-welcome-back{margin:.2rem 0 0;font-size:.9rem}.momentum-empty{display:grid;gap:.3rem}.momentum-error{display:grid;gap:.6rem;justify-items:start}.warmup{margin-top:.9rem;padding-top:.8rem;border-top:1px dashed var(--teal-100)}.warmup-head{display:flex;align-items:center;gap:.6rem;margin-bottom:.4rem}.warmup-head h4{margin:0;font-size:1.05rem}.warmup-badge{background:var(--leaf-100);color:var(--leaf-700)}.warmup-idle,.warmup-active{display:grid;gap:.4rem;justify-items:start}.warmup-error{display:grid;gap:.5rem;justify-items:start}.warmup-prompt{margin:0}.warmup-timer{margin:0;font-size:1.8rem;font-weight:800;color:var(--teal-600);font-variant-numeric:tabular-nums}.warmup-say{margin:.2rem 0 0;font-weight:600;color:var(--leaf-800)}.warmup-target{margin:0;font-size:1.25rem;font-weight:700;color:var(--leaf-800)}.warmup-tip,.warmup-reassure{margin:0;font-size:.9rem}.warmup [data-testid=warmup-win]{margin-top:.6rem}.confusion-mode{border:1px solid var(--sun-300);border-left:4px solid var(--sun-600);border-radius:var(--radius-card);padding:.9rem 1rem;background:linear-gradient(180deg,var(--sun-50) 0%,var(--sun-100) 100%)}.confusion-mode-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-bottom:.4rem}.confusion-mode-head h3{margin:0;color:var(--sun-800)}.confusion-mode-actions{display:flex;gap:.4rem}.confusion-switch{background:var(--sun-600);color:var(--surface);border:none;border-radius:var(--radius-control);padding:.4rem .7rem;font-size:.85rem;cursor:pointer}.confusion-switch[aria-pressed=true]{background:var(--sun-800)}.confusion-dismiss{background:transparent;color:var(--sun-800);border:1px solid var(--sun-300);border-radius:var(--radius-control);padding:.4rem .7rem;font-size:.85rem;cursor:pointer}.confusion-hint{margin:0 0 .6rem;font-size:.85rem}.confusion-block{display:grid;gap:.2rem;margin-bottom:.6rem}.confusion-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--sun-800);font-weight:600}.confusion-italian-rephrase,.confusion-single-line-cue{margin:0;font-size:1.05rem;font-style:italic;color:var(--sun-900)}.confusion-say-now{border:1px solid var(--sun-300);border-radius:var(--radius-control);padding:.5rem .65rem;background:var(--surface)}.confusion-say-this-now{margin:0;font-weight:600;color:var(--sun-900)}.confusion-tones{margin:0;display:grid;gap:.35rem}.confusion-tone{display:grid;grid-template-columns:5.5rem 1fr;gap:.5rem;align-items:baseline}.confusion-tone dt{font-size:.78rem;color:var(--sun-800);font-weight:600}.confusion-tone dd{margin:0}.confusion-advanced-warning{margin:.2rem 0 0;background:var(--coral-100);color:var(--coral-600);border-radius:var(--radius-control);padding:.55rem .7rem;font-size:.85rem}.retention-save{border:1px solid var(--sun-300);border-left:4px solid var(--sun-600);background:linear-gradient(180deg,var(--sun-50) 0%,var(--sun-100) 100%)}.retention-hint{margin:0 0 .6rem;font-size:.9rem}.retention-prompt-question{margin:0 0 .3rem;font-weight:700;color:var(--sun-800)}.saved-phrases-warmup{border:1px solid var(--leaf-200);border-left:4px solid var(--leaf-500);background:linear-gradient(180deg,var(--leaf-50) 0%,var(--leaf-100) 100%)}.saved-phrases-warmup-list{list-style:none;margin:.6rem 0 0;padding:0;display:grid;gap:.4rem}.saved-phrases-warmup-item{padding:.55rem .7rem;font-size:.95rem}.saved-phrases-warmup-from{font-size:.85rem}.saved-phrases-warmup-modeled{margin:.4rem 0 0;padding-left:.6rem;border-left:3px solid var(--leaf-500);font-style:italic;color:var(--leaf-700)}.warmup-modeled-controls{margin-top:.55rem;padding:.55rem .7rem;border:1px solid var(--sun-300);border-left:4px solid var(--sun-600);border-radius:6px;background:linear-gradient(180deg,var(--sun-50) 0%,var(--sun-100) 100%)}.warmup-modeled-hint{margin:.35rem 0 .5rem;font-size:.85rem}.warmup-modeled-actions{display:flex;gap:.5rem}.warmup-modeled-discard{background:transparent;color:var(--sun-800);border:1px solid var(--sun-600)}.speak-buttons{display:inline-flex;align-items:center;gap:.35rem;vertical-align:middle;justify-self:start}.speak-button,.speak-button-slow{font:inherit;font-size:.85rem;line-height:1;padding:.3rem .5rem;border:1px solid var(--teal-100);border-radius:var(--radius-control);background:var(--teal-50);cursor:pointer}.speak-button:hover:not(:disabled),.speak-button-slow:hover:not(:disabled){background:var(--teal-50)}.speak-button:focus-visible,.speak-button-slow:focus-visible{outline:2px solid var(--teal-500);outline-offset:2px}.speak-button:disabled,.speak-button-slow:disabled{opacity:.45;cursor:not-allowed}.speak-button-loading{opacity:.7}.speak-button-playing{background:var(--leaf-100);border-color:var(--leaf-300)}.speak-tier-note{font-size:.72rem;font-weight:600;color:var(--slate-600);background:var(--slate-50);border:1px solid var(--slate-200);border-radius:999px;padding:.15rem .55rem;white-space:nowrap}.speak-tier-note-disabled{color:var(--slate-500)}.voice-consent,.voice-recording,.voice-preview{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem}.voice-consent-options{display:flex;flex-direction:column;gap:.5rem}.voice-consent-option{display:flex;align-items:flex-start;gap:.5rem}.voice-consent-option input{margin-top:.2rem}.voice-consent .field{width:100%;max-width:28rem}.voice-consent-attest{display:flex;align-items:flex-start;gap:.55rem;padding:.75rem;border:1px solid var(--slate-200);border-radius:var(--radius-control);background:var(--teal-50)}.voice-consent-attest input{margin-top:.2rem}.voice-record-locked{font-size:.85rem}.voice-script{margin:0;padding:.75rem 1rem;border-left:4px solid var(--teal-500);border-radius:6px;background:var(--teal-50);white-space:pre-line;line-height:1.6}.voice-script-preview{margin:.75rem 0;display:grid;gap:.35rem}.voice-countdown{font-weight:600;color:var(--coral-600)}.voice-preview-actions{display:flex;gap:.5rem;flex-wrap:wrap}.voice-enrolled-card{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.voice-enrolled-label{margin:0;font-weight:600}.voice-consent-record{margin:.25rem 0 0;font-size:.85rem}.voice-enrolled-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.voice-reading-card{max-width:40rem;max-height:85vh;overflow-y:auto}.voice-reading-card-hint{margin:0}.voice-reading-card-lines{margin:.25rem 0;padding-left:1.5rem;display:grid;gap:.55rem;font-size:1.15rem;line-height:1.65}.voice-reading-card-tips{margin:.25rem 0 0;padding-left:1.25rem;font-size:.9rem;display:grid;gap:.25rem}@media print{body.voice-reading-card-open *{visibility:hidden}body.voice-reading-card-open .voice-reading-card,body.voice-reading-card-open .voice-reading-card *{visibility:visible}body.voice-reading-card-open .dialog-backdrop{position:static;padding:0;background:none}body.voice-reading-card-open .voice-reading-card{position:absolute;top:0;right:0;bottom:0;left:0;max-width:none;max-height:none;overflow:visible;box-shadow:none;border-radius:0}body.voice-reading-card-open .voice-reading-card .dialog-actions{display:none}}.signin-wall{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem}.user-button-corner{position:fixed;top:.9rem;right:1rem;z-index:50}.signin-card{width:min(24rem,100%);display:flex;flex-direction:column;gap:.75rem;padding:2rem;border-radius:var(--radius-card);background:var(--teal-900);border:1px solid var(--teal-600);color:var(--slate-100)}.signin-card h1{margin:0 0 .25rem;font-size:1.3rem}.signin-redeeming{margin:0;color:inherit}.signin-card form{display:flex;flex-direction:column;gap:.6rem}.signin-card input{padding:.55rem .7rem;border-radius:var(--radius-control);border:1px solid var(--teal-600);background:var(--teal-900);color:inherit;font-size:1rem}.signin-card button[type=submit]{padding:.55rem .7rem;border-radius:var(--radius-control);border:none;background:var(--teal-600);color:var(--surface);font-size:1rem;cursor:pointer;box-shadow:0 3px 0 var(--teal-800)}.signin-card button[type=submit]:disabled{opacity:.6;cursor:default}.signin-back{background:none;border:none;color:var(--teal-200);cursor:pointer;font-size:.85rem;padding:.25rem}.signin-error{margin:0;font-size:.9rem;color:var(--coral-200)}.user-button-corner .user-email{font-size:.8rem;opacity:.75;margin-right:.5rem}.user-button-corner button{padding:.3rem .65rem;border-radius:var(--radius-control);border:1px solid var(--teal-600);background:var(--teal-900);color:var(--slate-100);font-size:.8rem;cursor:pointer}.student-home{max-width:40rem;margin:0 auto;padding:1.5rem 1rem 3rem;display:flex;flex-direction:column;gap:1.25rem}.student-home-header{border-bottom:1px solid var(--line);padding-bottom:1rem}.student-home-greeting{margin:0;font-size:1.6rem}.student-home-tagline{margin:.35rem 0 0;color:var(--slate-600)}.student-home .speak-button,.student-home .speak-button-slow{font-size:1.15rem;padding:.55rem .7rem;min-width:2.75rem;min-height:2.75rem}.student-homework-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.85rem}.student-homework-item-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.student-homework-title{margin:0;font-size:1.05rem}.student-homework-toggle{flex-shrink:0;min-height:2.75rem;padding:.5rem .9rem;border:1px solid var(--teal-100);border-radius:var(--radius-control);background:var(--teal-50);color:var(--teal-600);font:inherit;font-weight:600;cursor:pointer}.student-homework-toggle:hover:not(:disabled){background:var(--teal-50)}.student-homework-toggle:disabled{opacity:.6;cursor:default}.student-homework-item-done{background:var(--leaf-50);border-color:var(--leaf-300)}.student-homework-item-done .student-homework-toggle{background:var(--leaf-100);border-color:var(--leaf-300);color:var(--leaf-700)}.student-homework-item-done .student-homework-title{text-decoration:line-through;color:var(--slate-600)}.student-homework-tasks{margin:.75rem 0 0;padding-left:1.2rem;display:flex;flex-direction:column;gap:.4rem}.student-homework-task{color:var(--slate-800)}.student-homework-task-meta{margin-left:.4rem;font-size:.8rem;color:var(--slate-500);white-space:nowrap}.student-homework-error-block{display:flex;flex-direction:column;gap:.5rem;align-items:flex-start}.auth-notice{min-height:60vh;display:flex;align-items:center;justify-content:center;padding:2rem 1.25rem;text-align:center}.auth-notice p{margin:0 0 .75rem;max-width:28rem;color:var(--slate-600);font-size:1.05rem}h1,h2,h3{font-weight:900;letter-spacing:-.01em}:root{accent-color:var(--teal-500)}button{font-family:inherit}@media(prefers-reduced-motion:no-preference){button:not(:disabled){transition:transform 90ms ease,box-shadow 90ms ease,background-color .12s ease}button:active:not(:disabled){transform:translateY(2px);box-shadow:none}}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--teal-600);outline-offset:2px}.panel,.card{box-shadow:var(--shadow-card)}.owned-phrases-card,.before-after-card,.progress-celebration-card,.confidence-meter-card,.lesson-momentum-card,.win-moment-card{padding:1rem 1.15rem;border-radius:var(--radius-card)}.badge,.count{border-radius:999px;font-weight:800}button{font-size:.92rem;font-weight:800;color:var(--ink);background:var(--surface);border:2px solid var(--line);border-radius:var(--radius-control);padding:.45rem .95rem}button:where(:hover):where(:not(:disabled)){border-color:var(--slate-300)}button:disabled{cursor:not-allowed;opacity:.55}.panel[id],section[id],aside[id]{scroll-margin-top:4.25rem}.quick-nav{position:sticky;top:0;z-index:30;display:flex;gap:.4rem;overflow-x:auto;padding:.5rem .15rem;margin:0 0 1rem;background:color-mix(in srgb,var(--page-bg) 88%,transparent);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.quick-nav-chip{flex:none;font-size:.8rem;font-weight:800;padding:.35rem .75rem;border:2px solid var(--line);border-radius:999px;background:var(--surface);color:var(--slate-700);white-space:nowrap}.quick-nav-chip:hover{border-color:var(--teal-300);color:var(--teal-700)}.student-avatar{display:inline-flex;align-items:center;justify-content:center;width:2.1rem;height:2.1rem;border-radius:999px;font-size:1rem;font-weight:900;color:var(--surface);flex:none}.student-avatar-0{background:var(--teal-700)}.student-avatar-1{background:var(--plum-600)}.student-avatar-2{background:var(--sun-800)}.student-avatar-3{background:var(--leaf-700)}.student-home-header{display:grid;grid-template-columns:auto 1fr;column-gap:.85rem;align-items:center}.student-home-header svg{grid-row:1 / span 2}.student-home-header .student-home-tagline{margin:0}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-ext-wght-normal-D4X5GqEv.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-wght-normal-CY6AOgYE.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-vietnamese-wght-normal-U01xdrZh.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-ext-wght-normal-CXYtwYOx.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-wght-normal-BzFMHfZw.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{font-family:Nunito Variable,Nunito,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;color:#16303b;background-color:#f2f7f7}*{box-sizing:border-box}body{margin:0;min-height:100vh}
