.lesson-concepts-field{flex-direction:column;gap:6px;display:flex}.lesson-concepts-eyebrow{align-items:center;gap:6px;display:flex}.lesson-concepts-review-warning{color:var(--destructive);letter-spacing:normal;text-transform:none;align-items:center;gap:3px;font-weight:600;display:inline-flex}.lesson-concepts-add-row{display:flex}.lesson-concepts-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.lesson-concepts-label{color:var(--muted-foreground);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;font-size:10px;font-weight:700}.lesson-concepts-row[data-roles-uniform=true] .lesson-concept-chip[class*=role-]:before{display:none}.lesson-concept-chip{border:1px solid var(--border);background:var(--card);color:var(--foreground);border-radius:8px;align-items:center;gap:6px;padding:3px 7px;font-size:12px;font-weight:400;line-height:1.3;display:inline-flex}.lesson-concept-chip:has(.lesson-concept-pill-label){align-items:flex-start}.lesson-concept-label{text-align:left}.lesson-concept-label:hover{cursor:pointer;text-decoration:underline}.lesson-concept-pill-label{flex-direction:column;gap:1px;display:inline-flex}.lesson-concept-pill-en{color:var(--foreground);font-size:12px;line-height:1.3}.lesson-concept-pill-es{color:var(--muted-foreground);font-size:11px;line-height:1.3}.lesson-concept-chip[class*=role-]:before{content:"";background:var(--role-border,var(--border));border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-top:4px;display:inline-block}.lesson-concept-remove{color:currentColor;opacity:0;border-radius:4px;place-items:center;width:16px;height:16px;display:grid}.lesson-concept-chip:has(.lesson-concept-pill-label) .lesson-concept-remove{margin-top:2px}.lesson-concept-chip:has(.lesson-concept-pill-label)>svg{margin-top:2px}.lesson-concept-chip:hover .lesson-concept-remove,.lesson-concept-remove:focus-visible{opacity:.6}.lesson-concept-remove:hover{opacity:1;background:color-mix(in oklch, currentColor 15%, transparent)}.lesson-concept-chip.is-covered{border-color:color-mix(in oklch, var(--success) 45%, var(--border));background:color-mix(in oklch, var(--success) 12%, var(--card));color:var(--success-foreground)}.lesson-concept-chip.is-uncovered{border-color:var(--border);color:var(--muted-foreground)}.lesson-concept-placeholder{color:var(--muted-foreground)}.lesson-concept-chip.is-missing{border-color:color-mix(in oklch, var(--destructive) 45%, var(--border));background:color-mix(in oklch, var(--destructive) 12%, var(--card));color:var(--destructive)}.lesson-concept-chip.is-freehand{color:var(--muted-foreground);border-style:dashed}.lesson-concept-add{min-width:92px;min-height:24px;color:var(--foreground);background:0 0;border:1px solid #0000;border-radius:6px;outline:none;padding:0 8px;font-size:11px}.lesson-concept-add::placeholder{color:var(--muted-foreground)}.lesson-concept-add:focus-visible{border-color:var(--ring);background:var(--card)}.concept-typeahead-popover{z-index:40;background:var(--popover);border:1px solid var(--border);min-width:min(22rem,100vw - 32px);max-width:min(32rem,100vw - 32px);max-height:18rem;box-shadow:var(--shadow-sm);color:var(--popover-foreground);border-radius:10px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;overflow:hidden auto}.concept-typeahead-popover.is-flipped{top:auto;bottom:calc(100% + 4px)}.concept-typeahead-empty{padding:8px 12px;font-size:13px}.concept-typeahead-option{cursor:pointer;white-space:normal;overflow-wrap:anywhere;border-radius:6px;grid-template-columns:1fr auto;align-items:start;column-gap:8px;padding:8px 12px;display:grid}.concept-typeahead-option+.concept-typeahead-option{border-top:1px solid var(--border)}.concept-typeahead-option-label{grid-column:1;gap:2px;min-width:0;display:grid}.concept-typeahead-option-english{color:var(--foreground);font-size:14px;font-weight:600;line-height:1.3}.concept-typeahead-option-spanish{color:var(--muted-foreground);font-size:13px;font-weight:400;line-height:1.3}.concept-typeahead-option-example{color:color-mix(in oklch, var(--muted-foreground) 70%, transparent)}.concept-typeahead-option-meta{grid-column:2;align-self:center;align-items:center;gap:6px;display:flex}.concept-typeahead-option-role{background:var(--role-border,var(--border));border-radius:50%;width:6px;height:6px;display:inline-block}.concept-typeahead-option-syllabus{border:1px solid color-mix(in oklch, var(--success) 45%, var(--border));background:color-mix(in oklch, var(--success) 12%, var(--card));color:var(--success-foreground);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border-radius:999px;padding:1px 6px;font-size:10px;font-weight:700}.concept-typeahead-option-not-introduced{border:1px solid var(--muted-foreground);background:0 0;border-radius:50%;width:6px;height:6px;display:inline-block}.concept-typeahead-option.is-active{background:color-mix(in oklch, var(--primary) 10%, transparent);box-shadow:inset 2px 0 0 var(--primary)}.concept-suggestion{--concept-priority:var(--priority-low);border:1px solid color-mix(in oklch, var(--concept-priority) 45%, var(--border));border-radius:var(--radius-lg);min-width:230px;color:var(--foreground);background:color-mix(in oklch, var(--concept-priority) 9%, var(--card));grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:9px 11px;transition:border-color .15s,background .15s,transform .15s;display:grid}.concept-suggestion[data-priority=high]{--concept-priority:var(--priority-high)}.concept-suggestion[data-priority=medium]{--concept-priority:var(--priority-medium)}.concept-suggestion[data-priority=neutral]{--concept-priority:var(--muted-foreground)}.concept-suggestion:hover{border-color:var(--concept-priority);background:color-mix(in oklch, var(--concept-priority) 15%, var(--card));transform:translateY(-1px)}.concept-suggestion strong{font-size:13px;font-weight:700}.concept-suggestion>span:first-child>span{color:var(--muted-foreground);margin-top:2px;font-size:11px}.concept-suggestion .concept-suggestion-meta{color:var(--concept-priority);text-transform:capitalize;align-items:center;gap:4px;font-size:10px;font-weight:750;display:inline-flex}
.syllabus-card{border:1px solid color-mix(in oklch, var(--primary) 30%, var(--border));background:var(--surface-writing);border-top:0}.syllabus-card-header{width:100%;padding:8px 12px 8px var(--module-spine,12px);background:color-mix(in oklch, var(--primary) 8%, transparent);color:var(--foreground);text-align:left;align-items:center;gap:6px;display:flex}.syllabus-card-title{letter-spacing:.06em;text-transform:uppercase;color:var(--primary);font-size:12px;font-weight:700}.syllabus-card-summary{color:var(--muted-foreground);margin-left:4px;font-size:12px}.syllabus-card-warning-count{color:var(--destructive);font-weight:600}.syllabus-card-meter{background:var(--muted);border-radius:999px;flex-shrink:0;width:96px;height:4px;margin-left:auto;display:inline-block;overflow:hidden}.syllabus-card-meter.is-idle{visibility:hidden}.syllabus-card-meter-fill{background:var(--primary);transform-origin:0;width:100%;height:100%;transition:transform .2s;display:block}.syllabus-card-body{flex-direction:column;gap:10px;padding:10px 12px 12px;display:flex}.syllabus-group{flex-direction:column;gap:4px;display:flex}.syllabus-main-add-row{display:flex}.syllabus-main-add{border-color:var(--border);width:100%;min-height:30px}.syllabus-group-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--muted-foreground);font-size:11px;font-weight:700}.syllabus-chip-row{border-radius:8px;flex-wrap:wrap;align-items:center;gap:6px;min-height:32px;padding:2px;display:flex}.syllabus-pos-group{flex-direction:column;gap:6px;margin-top:14px;display:flex}.syllabus-pos-group:first-of-type{margin-top:0}.syllabus-pos-eyebrow{letter-spacing:.06em;color:var(--muted-foreground);font-size:10px;font-weight:600}.syllabus-chip{cursor:grab}.syllabus-chip-check{opacity:.75;flex-shrink:0}.syllabus-chip.role-Unranked:before{box-shadow:inset 0 0 0 1px var(--role-border);background:0 0}.syllabus-legend{color:var(--muted-foreground);flex-wrap:wrap;gap:10px;font-size:11px;display:flex}.syllabus-legend-item{align-items:center;gap:4px;display:inline-flex}.syllabus-legend-dot{background:var(--role-border,var(--border));border-radius:50%;width:6px;height:6px}.syllabus-legend-item.role-Unranked .syllabus-legend-dot{box-shadow:inset 0 0 0 1px var(--role-border);background:0 0}button.syllabus-chip{font:inherit;cursor:pointer}.syllabus-chip.dragging{opacity:.4}.syllabus-chip.drop-before{box-shadow:inset 2px 0 0 0 var(--primary)}.syllabus-chip.drop-after{box-shadow:inset -2px 0 0 0 var(--primary)}.syllabus-chip:focus-visible{outline:2px solid var(--ring);outline-offset:1px}.syllabus-chip.is-proposed{color:var(--muted-foreground);cursor:pointer;background:0 0;border-style:dashed}.syllabus-chip.is-proposed:hover{border-color:var(--primary);color:var(--primary)}.syllabus-chip-row .lesson-concepts-row{display:contents}.syllabus-panel-empty{color:var(--muted-foreground);font-size:12px}.syllabus-derived-line{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.syllabus-derived-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--muted-foreground);flex-shrink:0;font-size:11px;font-weight:700}.syllabus-panel-copy-link{color:var(--muted-foreground);background:0 0;border:none;align-self:flex-end;padding:0;font-size:12px;-webkit-text-decoration:underline #0000;text-decoration:underline #0000}.syllabus-panel-copy-link:hover{color:var(--primary);text-decoration-color:currentColor}.syllabus-chip-rename{width:8ch;min-width:3ch;font:inherit;color:inherit;background:0 0;border:0;outline:none;padding:0}
.syllabus-panel-footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.syllabus-fill-overlay{z-index:70;background:color-mix(in oklch, var(--foreground) 35%, transparent);justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.syllabus-fill-popover{border:1px solid var(--border);background:var(--popover);width:100%;max-width:32rem;max-height:80vh;color:var(--popover-foreground);box-shadow:0 12px 32px color-mix(in oklch, var(--foreground) 18%, transparent);border-radius:14px;flex-direction:column;gap:10px;padding:16px;display:flex;overflow-y:auto}.syllabus-fill-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.syllabus-fill-level-field{color:var(--foreground);align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.syllabus-fill-level-select{border:1px solid var(--input);background:var(--background);font:inherit;color:inherit;border-radius:8px;padding:4px 8px}.syllabus-fill-level-select:focus-visible{outline:2px solid var(--ring);outline-offset:1px}.syllabus-fill-close{color:var(--muted-foreground);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:4px;display:inline-flex}.syllabus-fill-close:hover{color:var(--foreground);background:var(--muted)}.syllabus-fill-close:focus-visible{outline:2px solid var(--ring);outline-offset:1px}.syllabus-fill-status{color:var(--muted-foreground);margin:0;padding:12px 0;font-size:13px}.syllabus-fill-toolbar{gap:12px;display:flex}.syllabus-fill-text-button{color:var(--primary);background:0 0;border:none;padding:0;font-size:12px;font-weight:600;-webkit-text-decoration:underline #0000;text-decoration:underline #0000}.syllabus-fill-text-button:hover{text-decoration-color:currentColor}.syllabus-fill-text-button:focus-visible{outline:2px solid var(--ring);outline-offset:1px}.syllabus-fill-list{flex-direction:column;gap:10px;display:flex;overflow-y:auto}.syllabus-fill-row{color:var(--foreground);align-items:center;gap:8px;padding:3px 2px;font-size:13px;display:flex}.syllabus-fill-row input[type=checkbox]{flex-shrink:0}.syllabus-fill-dot{background:var(--role-border,var(--border));border-radius:50%;flex-shrink:0;width:6px;height:6px}.syllabus-fill-dot.role-Unranked{box-shadow:inset 0 0 0 1px var(--role-border);background:0 0}.syllabus-fill-row-label{flex-wrap:wrap;gap:4px;display:inline-flex}.syllabus-fill-footer{justify-content:flex-end;display:flex}.syllabus-fill-primary{background:var(--primary);color:var(--primary-foreground);border:none;border-radius:10px;padding:8px 14px;font-size:13px;font-weight:600}.syllabus-fill-primary:hover:not(:disabled){opacity:.9}.syllabus-fill-primary:disabled{opacity:.5;cursor:not-allowed}.syllabus-fill-primary:focus-visible{outline:2px solid var(--ring);outline-offset:1px}
.lesson-library-help{border:1px solid var(--border);background:var(--card);width:min(720px,100vw - 32px);max-height:min(650px,100vh - 48px);color:var(--foreground);box-shadow:0 24px 70px color-mix(in oklch, var(--foreground) 24%, transparent);border-radius:12px;margin:auto;padding:0;overflow:auto}.lesson-library-help:not([open]){display:none}.lesson-library-help[open]{display:grid}.lesson-library-help::backdrop{background:color-mix(in oklch, var(--foreground) 45%, transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.lesson-library-help>header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:18px 20px 15px;display:flex}.lesson-library-help>header span{color:var(--muted-foreground);letter-spacing:.12em;text-transform:uppercase;font-size:9px;font-weight:750}.lesson-library-help>header h2{flex-wrap:wrap;align-items:center;gap:4px;margin-top:2px;font-size:20px;font-weight:760;display:flex}.lesson-library-help>header button{width:32px;height:32px;color:var(--muted-foreground);border-radius:6px;place-items:center;display:grid}.lesson-library-help>header button:hover,.lesson-library-help>header button:focus-visible{background:var(--muted);color:var(--foreground)}.lesson-library-help>header h2 kbd{font-size:11px}.lesson-library-help-body{flex-direction:column;gap:4px;padding:6px 20px 18px;display:flex}.lesson-library-help-body section h3{color:var(--muted-foreground);letter-spacing:.08em;text-transform:uppercase;margin:10px 0 2px;font-size:10px;font-weight:750}.lesson-library-help-body section:first-child h3{margin-top:0}.lesson-library-help dl{flex-direction:column;display:flex}.lesson-library-help dl>div{border-bottom:1px solid var(--border);grid-template-columns:max-content 1fr;align-items:baseline;gap:6px 14px;padding:6px 0;font-size:13px;display:grid}.lesson-library-help dt{white-space:nowrap;color:var(--foreground);flex-wrap:nowrap;align-items:center;gap:3px;display:flex}.lesson-library-help dd{color:var(--muted-foreground)}.lesson-library-help kbd,.lesson-library-help>footer kbd{background:var(--card);min-width:16px;box-shadow:0 1px 0 var(--border), inset 0 0 0 1px var(--border);color:var(--foreground);text-align:center;border-radius:4px;padding:1px 5px;font:650 11px ui-monospace,monospace}.lesson-library-help dd kbd{box-shadow:inset 0 0 0 1px var(--border)}.lesson-library-help>footer{border-top:1px solid var(--border);background:var(--muted);justify-content:flex-end;padding:12px 20px;display:flex}.lesson-library-help>footer button{background:var(--primary);min-height:32px;color:var(--primary-foreground);border-radius:6px;align-items:center;gap:6px;padding:0 12px;font-size:11px;font-weight:750;display:inline-flex}.lesson-library-help>footer button kbd{background:color-mix(in oklch, var(--primary-foreground) 22%, transparent);box-shadow:none;color:inherit}.lesson-library-help-keymap{background:var(--muted);border-radius:8px;flex-direction:column;gap:3px;max-height:110px;margin:10px 0 2px;padding:8px 10px;display:flex}.lesson-library-help-keymap-row{justify-content:center;gap:3px;display:flex}.lesson-library-help-keymap-key{background:var(--card);min-width:22px;height:22px;box-shadow:inset 0 0 0 1px var(--border);color:var(--muted-foreground);border-radius:4px;place-items:center;padding:0 4px;font:650 10px ui-monospace,monospace;display:grid}.lesson-library-help-keymap-key[data-active=true]{background:color-mix(in oklch, var(--primary) 16%, var(--card));box-shadow:inset 0 0 0 1px var(--primary);color:var(--primary)}
.editing-hud{--hud-fg:var(--primary-foreground);--hud-fg-muted:var(--admin-header-fg-muted);z-index:30;height:32px;padding:0 12px;padding-bottom:env(safe-area-inset-bottom,0px);white-space:nowrap;color:var(--hud-fg);background:var(--ink-deep);border-top:1px solid #ffffff1f;border-top:1px solid lab(100% 0 0/.12);grid-column:1/-1;align-items:center;gap:24px;display:flex;position:sticky;bottom:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 40px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 40px),#0000)}.editing-hud-group{white-space:nowrap;flex:none;align-items:center;gap:6px;display:inline-flex}.editing-hud-group-mods{gap:3px;display:inline-flex}.editing-hud-group-plus{color:var(--hud-fg-muted);font-size:11px}.editing-hud-pair{align-items:center;gap:6px;display:inline-flex}.editing-hud-dot{color:var(--hud-fg-muted)}.editing-hud-group kbd{background:var(--hint);min-width:16px;color:var(--ink-deep);text-align:center;border-radius:4px;padding:1px 5px;font:650 10px ui-monospace,monospace}.editing-hud-label{color:var(--hud-fg-muted);font-size:12px}.editing-hud-more{color:var(--hud-fg-muted);cursor:default;flex:none;font-size:12px}
@media print{.lesson-document-insert,.lesson-document-add-pair,.lesson-document-add-row,.lesson-document-piece.trailing,.lesson-document-undo,.lesson-document-prompt:placeholder-shown,.lesson-document-hint-pill.editing>button{display:none!important}.lesson-document-block{break-inside:avoid}}
.completion-sentence-group{margin-bottom:48px}.completion-final-row{text-align:left;align-items:center;gap:8px;max-width:100%;display:inline-flex}.completion-sentence-en{min-width:0;color:var(--foreground);overflow-wrap:break-word;margin:0}.completion-sentence-en[data-size=hero]{font-size:var(--t-hero);letter-spacing:-.03em;font-weight:700;line-height:1.15}.completion-sentence-en[data-size=sentence]{font-size:var(--t-sentence);letter-spacing:-.01em;font-weight:600;line-height:1.35}.completion-sentence-en[data-size=body]{font-size:1.375rem;font-weight:600;line-height:1.35}.completion-replay{color:var(--primary);flex:none}.completion-sentence-es{color:var(--muted-foreground);font-size:var(--t-body);margin:16px 0 0;font-weight:500;line-height:1.55}.completion-tagline{color:var(--foreground);font-size:var(--t-ui);margin:16px 0 0;font-weight:600}.completion-below{flex-direction:column;gap:24px;display:flex}.completion-eyebrow{color:var(--muted-foreground);margin:0}.completion-next-card{text-align:left;border:1px solid var(--border);background:var(--surface-writing);box-shadow:var(--shadow-card);border-radius:16px;padding:20px}.completion-next-en{color:var(--foreground);font-size:var(--t-ui);margin:8px 0 0;font-weight:600;line-height:1.35}.completion-next-es{color:var(--muted-foreground);font-size:var(--t-body);margin:4px 0 0;line-height:1.4}.completion-module-list{flex-direction:column;gap:16px;display:flex}.completion-module-item{flex-direction:column;display:flex}.completion-module-en{color:var(--foreground);font-size:var(--t-ui);margin:0;font-weight:600;line-height:1.35}.completion-module-es{color:var(--muted-foreground);font-size:var(--t-body);margin:2px 0 0;line-height:1.4}.completion-cta{min-height:56px;font-size:var(--t-ui);border-radius:8px;justify-content:center;align-items:center;gap:8px;font-weight:600;display:inline-flex}.completion-footer-links{justify-content:center;align-items:center;gap:24px;margin-top:32px;display:flex}.muted-link{color:var(--muted-foreground);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:.8125rem;text-decoration:none}.muted-link:hover{color:var(--foreground)}.lesson-loading{place-content:center;min-height:100dvh;font-size:.9375rem;display:grid}.learner-loading{min-height:70dvh;padding-block:48px}.learner-loading .loading-line{background:var(--muted);border-radius:var(--radius-sm);width:200px;height:20px;margin-bottom:20px}.learner-loading .loading-feature{background:var(--muted);height:290px;margin-bottom:36px}.learner-loading .loading-row{border-block:1px solid var(--border);height:85px;margin-top:12px}.learner-error{text-align:center;align-content:center;justify-items:center;gap:20px;min-height:70dvh;padding:32px;display:grid}.learner-error h1{font-size:1.625rem;font-weight:700}.learner-error p{color:var(--muted-foreground);max-width:400px;font-size:.9375rem;line-height:1.6}
.lesson-session{--radius:1rem;--practice-column:720px;--practice-explanation-size:clamp(20px, 2vw, 26px);--practice-prompt-size:var(--t-sentence);--practice-explanation-single-size:var(--t-sentence);--practice-label-size:var(--t-ui);--practice-eyebrow-size:var(--t-eyebrow);--topbar-h:48px;--footer-h:calc(88px + env(safe-area-inset-bottom,0px));--stage-available:calc(100dvh - var(--topbar-h) - var(--footer-h));z-index:50;height:100dvh;color:var(--foreground);background:var(--background);font-family:var(--font-sans);outline:none;flex-direction:column;display:flex;position:fixed;inset:0}.lesson-topbar{background:var(--primary);width:100%;height:48px;box-shadow:none;color:var(--primary-foreground);border:0;flex-shrink:0;align-items:center;gap:12px;padding-inline:20px;display:flex;position:relative}@media (min-width:1024px){.lesson-session{--topbar-h:56px}.lesson-topbar{height:56px}}.learner-icon-button{width:48px;height:48px;color:var(--muted-foreground);border-radius:var(--radius-lg);background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;transition:background .18s;display:flex}.learner-icon-button:hover{color:var(--foreground);background:var(--muted)}.lesson-topbar .learner-icon-button{width:40px;height:40px;color:var(--primary-foreground);border-radius:999px;position:relative}.lesson-topbar .learner-icon-button:before{content:"";position:absolute;inset:-2px}.lesson-topbar .lesson-mute-toggle{margin-left:auto}.lesson-topbar .learner-icon-button:hover{color:var(--primary-foreground);background:color-mix(in oklch, var(--primary-foreground) 18%, transparent)}.lesson-topbar .lesson-top-progress{width:100%;height:4px;color:var(--primary-foreground);background:color-mix(in oklch, var(--primary-foreground) 25%, transparent);border-radius:0;position:absolute;bottom:0;left:0}.lesson-session .lesson-top-progress::-webkit-progress-bar{background:color-mix(in oklch, var(--primary-foreground) 25%, transparent)}.lesson-session .lesson-top-progress::-webkit-progress-value{background:var(--primary-foreground);width:100%;transform:scaleX(var(--lesson-progress-fraction,0));transform-origin:0;transition:transform .24s}.lesson-session .lesson-top-progress::-moz-progress-bar{background:var(--primary-foreground);width:100%;transform:scaleX(var(--lesson-progress-fraction,0));transform-origin:0;transition:transform .24s}.lesson-stage{flex-direction:column;justify-content:flex-start;align-items:center;min-height:100%;padding:64px 20px 112px;display:flex}.lesson-stage>:first-child{margin-top:auto}.lesson-stage>:last-child{margin-bottom:auto}.lesson-stage.lesson-stage-complete>:first-child{margin-top:0}@keyframes lesson-slide-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.lesson-session .learner-enter{animation:.24s ease-out both lesson-slide-enter}.practice-lesson-eyebrow{color:var(--ink-muted);font-size:var(--practice-eyebrow-size);letter-spacing:.12em;text-transform:uppercase;text-align:center;margin-bottom:14px;font-weight:750}.lesson-controls{min-height:88px;box-shadow:none;background:0 0;flex-shrink:0;padding:16px 32px;position:relative}.lesson-controls-inner{justify-content:center;align-items:center;gap:24px;max-width:1100px;margin:auto;display:flex}.lesson-controls .previous-step{position:absolute;top:50%;left:24px;transform:translateY(-50%)}.lesson-controls .onboarding-skip-link{min-height:44px;color:var(--ink-muted);font-size:var(--t-ui);text-underline-offset:3px;background:0 0;border:0;align-items:center;padding-inline:4px;font-weight:600;text-decoration:underline;display:flex;position:absolute;top:50%;left:80px;transform:translateY(-50%)}.lesson-feedback:empty{display:none}.lesson-feedback{color:var(--success-foreground);flex:none;align-items:center;gap:9px;font-size:1.125rem;font-weight:750;display:flex}.lesson-controls .learner-button{width:min(360px,100%);min-width:280px;min-height:56px;font-size:var(--t-ui);border-radius:8px;font-weight:600}.lesson-controls .learner-button.awaiting-answer{display:none}@keyframes button-appear{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes completion-sentence-reveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.completion-sentence-group{animation:.3s ease-out both completion-sentence-reveal}.lesson-session .learner-button.primary{color:var(--primary-foreground);background:var(--primary);box-shadow:0 3px 0 color-mix(in oklch, var(--primary) 72%, black);animation:.2s ease-out both button-appear}.lesson-session .learner-button:disabled{color:var(--muted-foreground);background:var(--muted);box-shadow:none;opacity:.65}@keyframes learner-pop{0%{opacity:0;transform:scale(.72)}to{opacity:1;transform:scale(1)}}@media (max-width:1000px){.course-curriculum{grid-template-columns:240px minmax(0,1fr);gap:28px}}@media (max-width:880px){.course-feature{grid-template-columns:minmax(0,1fr);gap:28px;padding:40px}}@media (max-width:760px){.lesson-session{--practice-column:100%}.course-container{width:calc(100% - 40px)}.learner-header-inner{min-height:72px}.course-feature{padding:32px 24px}.course-curriculum{padding-block:28px;display:block}.course-journey{padding-block:40px}.module-navigation{margin-bottom:28px}.module-tabs{scroll-snap-type:x proximity;gap:8px;margin-inline:-4px;padding:4px 4px 12px;display:flex;overflow-x:auto}.module-tab{scroll-snap-align:start;border-color:var(--border);flex:0 0 230px;padding:12px}.module-tab-copy strong{font-size:.75rem}.module-arrow{display:none}.module-heading h2{font-size:1.3125rem}.module-progress{margin-top:16px}.lesson-topbar{gap:14px}.lesson-controls{padding:14px 20px max(14px, env(safe-area-inset-bottom))}.lesson-controls-inner{text-align:center;min-height:56px;display:block;position:relative}.lesson-controls .previous-step{left:20px}.lesson-controls .onboarding-skip-link{left:72px}.lesson-feedback{display:none}.lesson-position{font-size:.6875rem}}@media (max-width:639px){.lesson-controls .learner-button{width:100%;min-width:0;display:flex}}@media (max-width:480px){.course-feature{padding:28px 20px}.lesson-row-layout>a,.lesson-row-content{gap:10px;padding:16px 12px}.lesson-copy strong{font-size:.875rem}.lesson-copy>span{font-size:.75rem}.lesson-number{width:22px}.lesson-action{width:30px;height:30px}.lesson-meta .lesson-state{margin-left:5px}.lesson-topbar{gap:12px;padding-inline:12px}.lesson-position{display:none}.lesson-controls .learner-button svg{width:16px}.site-footer-copyright{font-size:.625rem}}.lesson-session .learner-button.primary:hover{background:var(--brand-primary-hover)}.lesson-session .lesson-celebration{width:100%;max-width:720px;margin-inline:auto}.lesson-session .completion-cta{width:100%}@media (min-width:768px){.lesson-session .completion-cta{align-self:center;width:auto;min-width:240px}}.lesson-session[data-keyboard=open] .lesson-controls{min-height:44px;padding:0 20px max(0px, env(safe-area-inset-bottom))}.lesson-session[data-keyboard=open] .lesson-controls-inner{min-height:0}@media (prefers-reduced-motion:reduce){.learner-theme *,.learner-theme :before,.learner-theme :after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-delay:0s!important}}
.lesson-explanation{width:100%;max-width:var(--practice-column);border:1px solid var(--border);background:var(--card);box-shadow:var(--shadow-card);text-align:center;background:var(--surface-writing);border-radius:16px;padding:32px;position:relative}.lesson-explanation-replay{width:40px;height:40px;color:var(--primary);background:var(--card);box-shadow:var(--shadow-sm);border:0;border-radius:999px;justify-content:center;align-items:center;transition:background .18s;display:flex;position:absolute;top:-16px;right:-16px}.lesson-explanation-replay:hover{background:var(--muted)}.lesson-explanation-replay:focus-visible{outline:3px solid color-mix(in oklch, var(--primary) 32%, transparent);outline-offset:1px}@keyframes lesson-explanation-replay-pulse{0%{box-shadow:0 0 0 0 color-mix(in oklch, var(--primary) 35%, transparent)}to{box-shadow:0 0 0 8px color-mix(in oklch, var(--primary) 0%, transparent)}}.lesson-explanation-replay.playing{animation:1.2s ease-out infinite lesson-explanation-replay-pulse}@media (prefers-reduced-motion:reduce){.lesson-explanation-replay.playing{animation:none}}.lesson-explanation-replay--cue{width:auto;height:36px;color:var(--primary);background:var(--surface-subtle);box-shadow:var(--shadow-sm);font:600 var(--t-ui) / 1 inherit;border-radius:8px;gap:8px;padding:0 12px;top:-14px;right:-12px}.lesson-explanation-replay-label{white-space:nowrap}@keyframes lesson-explanation-replay-icon-pulse{0%,to{opacity:1}50%{opacity:.5}}.lesson-explanation-replay--cue .lesson-explanation-replay-icon{animation:2s ease-in-out infinite lesson-explanation-replay-icon-pulse}@media (prefers-reduced-motion:reduce){.lesson-explanation-replay--cue .lesson-explanation-replay-icon{animation:none}}.lesson-explanation :is(p,li){color:var(--foreground);font-size:var(--practice-explanation-size);font-weight:500;line-height:1.5}.lesson-explanation[data-tall=true] :is(p,li){font-size:var(--t-body)}.lesson-explanation :is(h1,h2,h3){color:var(--foreground);font-size:clamp(1.5rem,1.2rem + 1.2vw,1.9rem);font-weight:700;line-height:1.25}.lesson-explanation strong{font-weight:700}.learner-theme em.italic{color:var(--ink-muted);font-style:normal;font-weight:500}.lesson-explanation[data-wraps=true],.lesson-explanation[data-wraps=true] .practice-markdown-content,.lesson-explanation[data-wraps=true] :is(h1,h2,h3,p,li){text-align:left}.lesson-explanation[data-has-image=true]{min-height:0;max-height:calc(var(--stage-available) - 176px);flex-direction:column;align-items:center;display:flex}.lesson-explanation-image{object-fit:contain;flex:auto;max-width:100%;min-height:0;max-height:40vh;margin:0 auto 24px}.lesson-explanation[data-has-image=true][data-wraps=false]{width:100%;max-width:var(--practice-column)}.learner-theme mark,.practice-markdown-content mark{color:inherit;background:0 0;border:0;border-radius:0;padding:0}.learner-theme mark.spanish,.learner-theme mark[data-language=es],.practice-markdown-content mark.spanish,.practice-markdown-content mark[data-language=es]{color:var(--lesson-hl-es);letter-spacing:.05em;font-variant-caps:small-caps;font-weight:600}.learner-theme mark.english,.learner-theme mark[data-language=en],.practice-markdown-content mark.english,.practice-markdown-content mark[data-language=en]{color:var(--lesson-hl-en);letter-spacing:.05em;font-style:normal;font-variant-caps:small-caps;font-weight:600}.spelled{gap:2px;display:inline-flex}.spelled kbd{border:1px solid var(--border);background:var(--card);min-width:1.6em;height:1.6em;box-shadow:inset 0 -2px 0 var(--border);font-family:ui-monospace,monospace;font-size:.85em;font-weight:inherit;font-variant-numeric:tabular-nums;text-transform:uppercase;border-radius:6px;justify-content:center;align-items:center;padding:0 .15em;line-height:1;display:inline-flex}.practice-language-bridge{color:var(--ink-muted);font-size:var(--t-eyebrow);text-transform:none;letter-spacing:normal;font-weight:500}@media (max-width:760px){.lesson-explanation{padding:24px}}.lesson-explanation[data-wraps=false]{width:fit-content;max-width:min(100%,720px);margin-inline:auto}.lesson-explanation[data-wraps=false] :is(p,li){font-size:var(--practice-explanation-single-size)}
.sentence-practice{width:100%;max-width:var(--practice-column);position:relative}.sentence-prompt-label{color:var(--muted-foreground);margin-bottom:8px}.sentence-prompt-label p{text-align:center;letter-spacing:.04em;text-transform:uppercase;font-size:.875rem;font-weight:650}.sentence-prompt{max-width:36rem;margin:0 auto}.sentence-prompt p{text-align:center;color:var(--foreground);font-size:var(--practice-prompt-size);font-weight:600;line-height:1.3}.sentence-prompt-row{justify-content:center;align-items:center;gap:4px;max-width:36rem;margin:0 auto;display:flex}.sentence-prompt-row .sentence-prompt{max-width:none;margin:0}.answer-grid{border:1px solid var(--border);background:var(--card);width:fit-content;max-width:100%;box-shadow:var(--shadow-card);background:var(--surface-writing);border-radius:16px;flex-flow:wrap;justify-content:flex-start;align-items:flex-start;gap:20px 14px;margin-inline:auto;padding:32px;display:flex;position:relative}.answer-grid.has-prompt{margin-top:24px}.lesson-session .answer-piece{width:max-content;max-width:min(100%,26rem);box-shadow:none;background:0 0;border:0;border-radius:0;flex:none;padding:0;position:relative}.vocabulary-practice .answer-grid,.single-answer .answer-grid{flex-flow:column;align-items:stretch}.lesson-session .vocabulary-practice .answer-piece,.lesson-session .single-answer .answer-piece{flex:none;width:100%}.answer-source,.single-answer .answer-source{max-width:26rem;color:var(--lesson-hl-es);margin-bottom:5px;font-size:clamp(1.25rem,1.05rem + .5vw,1.5rem);font-weight:700;line-height:1.3;display:block}.single-answer .answer-source{text-align:center}.answer-given-text{color:var(--muted-foreground);padding:12px 16px;font-size:1.5rem;font-style:italic;font-weight:600;display:block}.single-answer .answer-given-text{text-align:center;font-size:1.6875rem}.answer-field{min-width:0;position:relative}.answer-field-sizer-stack{display:grid}.answer-field-sizer{visibility:hidden;white-space:pre;border:2px solid #0000;grid-area:1/1;min-width:4.25rem;max-width:26rem;padding:12px 16px;font-size:1.5rem;font-weight:600;line-height:1.5;display:block;overflow:hidden}.answer-input{border:2px solid var(--input);border-radius:var(--radius-md);width:100%;min-width:0;color:var(--lesson-hl-en);background:var(--surface-writing);padding:12px 16px;font-size:1.5rem;font-weight:600;transition:border-color .16s,background .16s,box-shadow .16s;display:block}.lesson-session .answer-input{height:auto;position:absolute;inset:0}.single-answer .answer-input{text-align:center;font-size:1.6875rem}.sentence-practice:not(.vocabulary-practice) .answer-input{field-sizing:content;width:calc(var(--answer-chars,6) * 1ch + 36px);min-width:calc(var(--answer-chars,6) * 1ch + 36px);max-width:26rem;display:inline-block}.lesson-session .sentence-practice:not(.vocabulary-practice) .answer-input{position:static;inset:auto}.answer-input::placeholder{color:var(--muted-foreground);font-size:1.125rem;font-weight:400}.lesson-session .answer-piece:focus-within .answer-field{transition:transform .14s ease-out;transform:scale(1.02)}.answer-piece.correct .answer-input{color:var(--lesson-hl-en);border-color:color-mix(in oklch, var(--primary) 55%, var(--border));background:color-mix(in oklch, var(--primary) 7%, var(--card))}.answer-input:focus{border-color:var(--primary);outline:4px solid color-mix(in oklch, var(--primary) 20%, transparent);outline-offset:2px;outline-color:color-mix(in oklch, var(--primary) 25%, transparent)}.answer-note{background:color-mix(in oklch, var(--hint) 13%, var(--card));width:100%;color:color-mix(in oklch, var(--hint) 74%, black);border-radius:8px;align-items:flex-start;gap:6px;margin-top:8px;padding:6px 9px;font-size:.8125rem;font-weight:650;line-height:1.4;display:flex}.answer-note svg{color:var(--hint);flex-shrink:0;margin-top:2px}.answer-hint{border:1.5px solid color-mix(in oklch, var(--hint) 72%, var(--ink-deep));background:var(--hint);color:var(--hint-foreground);border-radius:999px;align-items:center;gap:8px;margin-top:12px;padding:9px 18px 9px 14px;font-size:1rem;font-weight:700;display:inline-flex}.answer-hint svg{width:21px;height:21px;color:var(--hint-foreground);fill:#0000}.answer-hint:hover:not(:disabled){border-color:var(--hint);background:color-mix(in oklch, var(--hint) 36%, var(--card));color:color-mix(in oklch, var(--hint) 84%, black)}.answer-callout{color:var(--secondary-foreground);background:var(--secondary);border:0;border-radius:999px;margin-top:10px;padding:5px 13px;font-size:.875rem;font-weight:500;line-height:1.4;display:inline-block}@media (max-width:760px){.answer-grid{padding:24px}}@media (max-width:480px){.vocabulary-practice .answer-piece{grid-template-columns:1fr}.vocabulary-practice .answer-source{padding-top:0}.vocabulary-practice .answer-callout{grid-column:1}}.lesson-session .vocabulary-practice .answer-grid{gap:0}.lesson-session .vocabulary-practice .answer-piece{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,.9fr) minmax(12rem,1.1fr);align-items:center;gap:8px 18px;max-width:none;min-height:62px;padding:9px 4px;display:grid}.lesson-session .vocabulary-practice .answer-piece:last-child{border-bottom:0}.lesson-session .vocabulary-practice .answer-source{min-width:0;color:var(--lesson-hl-es);font-size:var(--practice-prompt-size);overflow-wrap:anywhere;margin:0;font-weight:700;line-height:1.35}.lesson-session .vocabulary-practice .answer-field-sizer{min-width:0;max-width:none;font-size:var(--practice-prompt-size);white-space:nowrap;padding:8px 12px;line-height:1.35}.lesson-session .vocabulary-practice .answer-input{min-height:42px;font-size:var(--practice-prompt-size);padding:8px 12px;line-height:1.35}.lesson-session .vocabulary-practice .answer-input:focus{border-color:var(--lesson-hl-en);outline:none}.lesson-session .vocabulary-practice .answer-piece:focus-within .answer-source{text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:2px}.lesson-session .vocabulary-practice .answer-piece:focus-within .answer-field{transform:none}.lesson-session .vocabulary-practice .answer-piece.correct .answer-input{color:var(--lesson-hl-en);box-shadow:none;background:0 0;border-color:#0000}.lesson-session .vocabulary-practice .answer-completed-text{min-height:42px;color:var(--lesson-hl-en);font-size:var(--practice-prompt-size);overflow-wrap:anywhere;padding:9px 12px;font-weight:650;line-height:1.35;display:block;position:absolute;inset:0}.lesson-session .vocabulary-practice .answer-piece.correct .answer-field:not(:focus-within) .answer-input{opacity:0}.lesson-session .vocabulary-practice .answer-piece.correct .answer-field:focus-within .answer-completed-text{visibility:hidden}.lesson-session .vocabulary-practice .answer-note{color:var(--hint-foreground);background:var(--state-help-soft);grid-column:2;margin-top:0}@media (max-width:480px){.lesson-session .vocabulary-practice .answer-piece{grid-template-columns:minmax(0,1fr);gap:5px;min-height:0;padding:11px 2px}.lesson-session .vocabulary-practice .answer-source{padding-right:4px}.lesson-session .vocabulary-practice .answer-field-sizer{white-space:normal;overflow-wrap:anywhere;min-height:42px}.lesson-session .vocabulary-practice .answer-note{grid-column:1}}
.speaker-chip{align-items:flex-start;gap:10px;max-width:100%;margin-top:12px;display:flex}.speaker-chip-avatar{object-fit:cover;object-position:center top;width:40px;height:40px;box-shadow:0 0 0 2px var(--card), var(--shadow-sm);border-radius:999px;flex-shrink:0}.speaker-chip-body{gap:4px;min-width:0;display:grid}.speaker-chip-label-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.speaker-chip-label{letter-spacing:.03em;text-transform:uppercase;color:var(--muted-foreground);font-size:.75rem;font-weight:700}.speaker-chip-bubble{border:1px solid var(--border);background:var(--card);width:fit-content;max-width:100%;min-height:1.4em;box-shadow:var(--shadow-sm);color:var(--foreground);font-size:var(--t-body);overflow-wrap:anywhere;border-radius:12px;padding:.5rem .75rem;line-height:1.35;position:relative}.speaker-chip-bubble.speaker-chip-bubble--reminder{font-size:var(--t-section)}.speaker-chip-bubble:before{content:"";border-left:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--card);width:9px;height:9px;position:absolute;top:12px;left:-5px;transform:rotate(45deg)}.speaker-chip-bubble-placeholder{opacity:.6}.answer-diff-same{color:var(--muted-foreground)}.answer-diff-fix{color:var(--lesson-hl-en);text-decoration:underline;-webkit-text-decoration-color:var(--lesson-hl-en);text-decoration-color:var(--lesson-hl-en);text-underline-offset:2px;font-weight:700;text-decoration-thickness:2px}.answer-diff-fix--thin{min-width:.5em;display:inline-block}@media (max-width:760px){.speaker-chip-avatar{width:32px;height:32px}.speaker-chip-bubble{white-space:normal}}.sentence-stage{width:100%;max-width:var(--practice-column)}.stage-composition{flex-direction:column;gap:18px;display:flex}@media (max-width:1023.98px){.stage-composition[data-wraps=false]{grid-template-columns:max-content;justify-content:center;gap:18px;display:grid}}@media (max-width:399.98px){.stage-composition[data-wraps=false]{flex-direction:column;display:flex}}.stage-speaker{flex-direction:row;order:2;align-items:center;gap:12px;width:100%;display:flex}.stage-column{flex-direction:column;order:1;min-width:0;display:flex}.stage-column[data-wraps=false]{text-align:center;align-items:flex-start}.stage-eyebrow p{color:var(--muted-foreground);font-size:var(--practice-eyebrow-size);letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px;font-weight:750}.stage-instruction{flex-wrap:wrap;justify-content:flex-start;align-items:baseline;gap:6px;width:100%;display:flex}.stage-column[data-wraps=false] .stage-instruction{justify-content:center}.stage-instruction :is(p,h1,h2,h3){color:var(--ink-muted);font-size:var(--t-ui);text-align:left;margin-bottom:16px;font-weight:500;line-height:1.55}.stage-column[data-wraps=false] .stage-instruction :is(p,h1,h2,h3){text-align:center}.stage-card{border:1px solid var(--border);background:var(--surface-writing);width:100%;box-shadow:var(--shadow-card);border-radius:16px;padding:32px}.stage-card[data-wraps=false]{width:fit-content;min-width:360px;max-width:720px}@media (max-width:399.98px){.stage-card[data-wraps=false]{width:100%;min-width:0}}@media (min-width:761px){.stage-card{padding:48px}}.stage-line{font-size:var(--practice-prompt-size);margin:0;font-weight:600;line-height:1.35}.stage-card[data-hero=true] .stage-line{font-size:var(--t-hero)}.stage-line-en{margin-top:16px}.stage-es{color:var(--lesson-hl-es);font-weight:700;transition:opacity .16s}.stage-es[data-state=pending]{opacity:.6}.stage-es[data-state=done]{opacity:1}.stage-es[data-state=given]{color:var(--foreground);font-weight:500}.stage-es[data-state=active]{opacity:1;border-bottom:2px solid var(--lesson-hl-es)}.stage-line-es[data-single-piece=true] .stage-es[data-state=active]{border-bottom:none}.stage-en{font-size:var(--practice-prompt-size);line-height:1.35}.stage-en.given{color:var(--foreground);font-weight:600}.stage-en-slot{vertical-align:baseline;max-width:100%;display:inline-grid;position:relative}.stage-en-slot>*{grid-area:1/1;min-width:0}.stage-en-slot[data-capture=true]{min-width:10ch}.stage-en-slot-measure{visibility:hidden;overflow-wrap:anywhere;white-space:normal;color:#0000;font:inherit;pointer-events:none;-webkit-user-select:none;user-select:none;padding:.0625rem .375rem;font-weight:700}.stage-en-slot-measure:after{content:" "}.stage-en-input{width:100%;min-width:0;line-height:inherit;border:0;border-bottom:2px solid var(--border);color:var(--lesson-hl-en);caret-color:var(--lesson-hl-en);font:inherit;vertical-align:baseline;background:0 0;border-radius:0;padding:.0625rem .375rem;font-weight:700;transition:border-color .16s,background .16s,border-radius .16s;display:block}.stage-en-input:focus{border-bottom-color:var(--lesson-hl-en);background:var(--surface-subtle);text-align:left;border-radius:8px;outline:none}.stage-en-input[data-state=done]{background:0 0;border-bottom-color:#0000}@keyframes stage-word-settle{0%{background:color-mix(in oklch, var(--lesson-hl-en) 18%, transparent)}to{background:0 0}}.stage-en-done{overflow-wrap:anywhere;width:100%;color:var(--lesson-hl-en);font:inherit;cursor:text;background:0 0;border:0;border-radius:3px;padding:.0625rem .375rem;font-weight:600;animation:.15s ease-out both stage-word-settle;display:block}.stage-en-done:hover,.stage-en-done:focus-visible{background:color-mix(in oklch, var(--lesson-hl-en) 8%, transparent);outline:none}.stage-notes{gap:6px;margin-top:10px;display:grid}.stage-hint-button{border:1px solid var(--border);height:28px;color:var(--foreground);font:inherit;font-size:var(--t-eyebrow);text-transform:none;letter-spacing:0;white-space:nowrap;cursor:pointer;background:0 0;border-radius:8px;flex:none;justify-content:center;align-items:center;padding-inline:12px;font-weight:650;transition:background .18s;display:inline-flex;position:relative}.stage-hint-button:before{content:"";position:absolute;inset:-8px 0}.stage-hint-button:hover:not(:disabled){background:var(--surface-subtle)}@media (prefers-reduced-motion:reduce){.stage-hint-button{transition:none}}.stage-hint-button:focus-visible{outline:3px solid color-mix(in oklch, var(--primary) 38%, transparent);outline-offset:2px;border-radius:4px}.stage-hint-button:disabled{opacity:.45;cursor:default}.speaker-chip.speakerless .speaker-chip-bubble:before{display:none}.speaker-chip.stage{flex-direction:row;flex:auto;align-items:center;gap:10px;min-width:0;margin-top:0}.speaker-chip.stage .speaker-chip-avatar{width:48px;height:48px}@media (max-width:1023.98px){.speaker-chip.stage{flex-wrap:wrap;row-gap:8px}.speaker-chip.stage:not(.speakerless):has(.speaker-chip-bubble):after{content:"";flex-basis:100%;order:1;width:0}.speaker-chip.stage .speaker-chip-bubble{flex:none;order:2}.speaker-chip.stage .speaker-chip-bubble:before{border:0;border-top:1px solid var(--border);border-left:1px solid var(--border);top:-5px;left:16px}}.stage-continue{justify-content:center;margin-top:28px;display:none}.stage-continue .learner-button{width:min(360px,100%);min-width:280px;min-height:56px;font-size:var(--t-ui);border-radius:8px;font-weight:600}@media (min-width:1024px){.sentence-stage{max-width:944px;margin-inline:auto}.stage-column{max-width:720px}.stage-composition{flex-direction:row;align-items:flex-start;gap:24px}.stage-speaker{flex-direction:column;flex:none;order:0;align-items:flex-start;gap:8px;width:200px;padding-top:8px}.speaker-chip.stage{flex-direction:column;flex:none;align-items:flex-start;gap:8px}.speaker-chip.stage .speaker-chip-label-row{flex-direction:column;align-items:flex-start;gap:6px}.stage-column{flex:auto;min-width:0}.speaker-chip.stage .speaker-chip-avatar{width:64px;height:64px}.speaker-chip.stage .speaker-chip-bubble{max-width:200px}.speaker-chip.stage .speaker-chip-bubble:before{border:0;border-right:1px solid var(--border);border-top:1px solid var(--border);left:auto;right:-5px}.stage-continue{display:flex}.lesson-controls .learner-button.stage-duplicated{display:none}}@media (min-width:1024px) and (max-width:1279.98px){.stage-composition[data-wraps=false]{flex-direction:column;grid-template-columns:max-content;justify-content:center;gap:18px;display:grid}.stage-composition[data-wraps=false] .stage-column{order:1;flex:initial;max-width:none}.stage-composition[data-wraps=false] .stage-speaker{order:2;flex:initial;flex-direction:row;align-items:center;gap:12px;width:100%;padding-top:0}.stage-composition[data-wraps=false] .speaker-chip.stage{flex-flow:wrap;flex:none;align-items:center;gap:10px}.stage-composition[data-wraps=false] .speaker-chip.stage .speaker-chip-avatar{width:48px;height:48px}.stage-composition[data-wraps=false] .speaker-chip.stage .speaker-chip-label-row{flex-direction:row;align-items:center;gap:10px}.stage-composition[data-wraps=false] .speaker-chip.stage:not(.speakerless):has(.speaker-chip-bubble):after{content:"";flex-basis:100%;order:1;width:0}.stage-composition[data-wraps=false] .speaker-chip.stage .speaker-chip-bubble{flex:none;order:2;max-width:100%}.stage-composition[data-wraps=false] .speaker-chip.stage .speaker-chip-bubble:before{border:0;border-top:1px solid var(--border);border-left:1px solid var(--border);top:-5px;left:16px;right:auto}}@media (min-width:1280px){.sentence-stage:has(.stage-composition[data-wraps=false]){width:100%;max-width:1200px}.stage-composition[data-wraps=false]{grid-template-columns:1fr max-content 1fr;align-items:start;column-gap:32px;display:grid}.stage-composition[data-wraps=false] .stage-column{flex:initial;grid-column:2;max-width:720px}.stage-composition[data-wraps=false] .stage-speaker{order:initial;grid-column:1;justify-content:flex-end;justify-self:end;width:auto;padding-top:8px}.stage-composition[data-wraps=false] .speaker-chip.stage,.stage-composition[data-wraps=false] .speaker-chip.stage .speaker-chip-label-row{align-items:flex-end}.stage-composition[data-wraps=false] .speaker-chip.stage .speaker-chip-bubble{max-width:240px}.stage-composition[data-wraps=false] .speaker-chip.stage .speaker-chip-bubble:before{border:0;border-right:1px solid var(--border);border-top:1px solid var(--border);left:auto;right:-5px}}.instruction-replay{width:28px;height:28px;color:var(--primary);background:0 0;border:0;border-radius:999px;flex:none;justify-content:center;align-items:center;gap:6px;margin-bottom:10px;padding:0;transition:background .18s;display:inline-flex}.instruction-replay:hover{background:var(--muted)}.instruction-replay:focus-visible{outline:3px solid color-mix(in oklch, var(--primary) 32%, transparent);outline-offset:1px}@keyframes instruction-replay-pulse{0%{box-shadow:0 0 0 0 color-mix(in oklch, var(--primary) 35%, transparent)}to{box-shadow:0 0 0 6px color-mix(in oklch, var(--primary) 0%, transparent)}}.instruction-replay.playing{animation:1.2s ease-out infinite instruction-replay-pulse}@media (prefers-reduced-motion:reduce){.instruction-replay.playing{animation:none}}.instruction-replay--cue{background:color-mix(in oklch, var(--primary) 10%, transparent);border-radius:999px;width:auto;padding:0 10px}.instruction-replay-label{font-size:var(--t-eyebrow);letter-spacing:.02em;font-weight:650}.lesson-session[data-keyboard=open] .stage-instruction{display:none}.lesson-session[data-keyboard=open] .stage-card{padding:16px}.lesson-session[data-keyboard=open] .speaker-chip.stage .speaker-chip-avatar{width:32px;height:32px}
.feedback-pill{z-index:70;background:var(--primary);height:48px;color:var(--primary-foreground);font:inherit;font-size:var(--t-ui,1rem);cursor:pointer;box-shadow:var(--shadow-cta);border:0;border-radius:24px;align-items:center;gap:8px;padding:0 20px;font-weight:600;transition:transform .2s ease-out,box-shadow .2s ease-out;display:inline-flex;position:fixed;bottom:16px;right:16px}.feedback-pill:hover,.feedback-pill:focus-visible{box-shadow:var(--shadow-cta-hover);transform:translateY(-2px)}.feedback-pill svg{flex-shrink:0}.feedback-pill--hidden{opacity:0;pointer-events:none;transition:opacity .15s ease-out,transform .2s ease-out,box-shadow .2s ease-out}.feedback-pill--practice{bottom:104px}@media (max-width:767px){.feedback-pill{border-radius:999px;justify-content:center;width:48px;height:48px;padding:0}.feedback-pill-label{display:none}.feedback-pill--practice{bottom:96px}}@media (prefers-reduced-motion:reduce){.feedback-pill,.feedback-pill--hidden{transition:none}}.feedback-sheet-overlay{z-index:60;background:color-mix(in oklch, var(--foreground) 32%, transparent);justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.feedback-sheet{background:var(--surface-writing,var(--card));border:1px solid var(--border);width:100%;max-width:520px;box-shadow:var(--shadow-card);padding:24px 24px max(24px, env(safe-area-inset-bottom));border-bottom:none;border-radius:20px 20px 0 0;flex-direction:column;gap:12px;animation:.24s ease-out feedback-sheet-up;display:flex}@keyframes feedback-sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.feedback-sheet{animation-duration:1ms}}.feedback-sheet-title{font-size:var(--t-body);color:var(--foreground);margin:0;font-weight:600}.feedback-sheet-help{color:var(--muted-foreground);margin:0 0 4px;font-size:.875rem}.feedback-sheet-kind{flex-wrap:wrap;gap:8px;display:flex}.feedback-kind-chip{border:1px solid var(--border);background:var(--background);min-height:44px;color:var(--foreground);font:inherit;cursor:pointer;border-radius:999px;padding:0 16px;font-size:.875rem}.feedback-kind-chip:hover{border-color:var(--primary)}.feedback-kind-chip:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.feedback-kind-chip--selected{border-color:var(--primary);background:var(--surface-subtle);color:var(--primary);font-weight:600}.feedback-sheet-honeypot{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.feedback-sheet-textarea{resize:vertical;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--background);min-height:96px;color:var(--foreground);font:inherit;padding:12px 14px;font-size:1rem}.feedback-sheet-textarea:focus{outline:2px solid var(--primary);outline-offset:1px}.feedback-sheet-who-label{color:var(--muted-foreground);flex-direction:column;gap:6px;font-size:.8125rem;display:flex}.feedback-sheet-who-input{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--background);color:var(--foreground);font:inherit;padding:10px 12px;font-size:1rem}.feedback-sheet-who-input:focus{outline:2px solid var(--primary);outline-offset:1px}.feedback-sheet-error{color:var(--destructive);margin:0;font-size:.875rem}.feedback-sheet-actions{align-items:center;gap:16px;margin-top:4px;display:flex}.feedback-sheet-send{min-width:140px;min-height:48px;font-size:var(--t-ui,1rem);border-radius:8px}.feedback-sheet-send:disabled{opacity:.5;cursor:default}.feedback-sheet-cancel{font:inherit;color:var(--muted-foreground);cursor:pointer;background:0 0;border:0;padding:0}.feedback-sheet-cancel:hover{color:var(--foreground)}.feedback-sheet-thanks{font-size:var(--t-body);color:var(--success-foreground);text-align:center;margin:12px 0;font-weight:600}
.site-footer{background:var(--ink-deep);color:var(--primary-foreground);margin-top:48px;padding-block:48px}.site-footer-inner{width:min(100% - 40px,1120px);margin-inline:auto}@media (min-width:900px){.site-footer-inner{width:min(100% - 96px,1120px)}}.site-footer-brand-row{align-items:center;gap:10px;display:inline-flex}.site-footer-name{font-size:var(--t-ui);color:var(--primary-foreground);font-weight:600}.site-footer-tagline{font-size:var(--t-ui);color:color-mix(in oklch, var(--primary-foreground) 70%, transparent);margin:12px 0 0}.site-footer-copyright{font-size:var(--t-eyebrow);color:color-mix(in oklch, var(--primary-foreground) 70%, transparent);margin:32px 0 0}.site-footer-replay{font-size:var(--t-eyebrow);color:color-mix(in oklch, var(--primary-foreground) 70%, transparent);margin-top:12px;display:block}.site-footer-replay:hover{color:var(--primary-foreground);text-decoration:underline}.site-footer-reset{font:inherit;font-size:var(--t-eyebrow);color:color-mix(in oklch, var(--primary-foreground) 70%, transparent);cursor:pointer;background:0 0;border:0;margin-top:12px;padding:0}.site-footer-reset:hover{color:var(--primary-foreground);text-decoration:underline}.site-footer-admin{margin-top:12px}.site-footer-admin-label{font-size:var(--t-eyebrow);color:color-mix(in oklch, var(--primary-foreground) 70%, transparent);margin:0}.site-footer-admin-links{gap:16px;margin-top:8px;display:flex}.site-footer-admin-link{font-size:var(--t-eyebrow);color:color-mix(in oklch, var(--primary-foreground) 70%, transparent)}.site-footer-admin-link:hover{color:var(--primary-foreground);text-decoration:underline}
