.learn-status,.lesson-status{max-width:46rem;margin:40px auto;padding:0 16px;font-size:14px;color:var(--ink-muted)}.auth-callback,.auth-form-wrap{max-width:26rem;margin:48px auto;padding:0 16px}.auth-callback{text-align:center;font-size:14px;color:var(--ink-muted)}.review-kicker{margin:0 0 9px;color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.auth-sent-state{padding:2px 0}.auth-form-wrap:has(.auth-next){max-width:54rem;padding:clamp(22px,5vw,40px);border:1px solid var(--rule);border-radius:22px;background:var(--lamp),var(--raised);box-shadow:var(--shadow-2),var(--lit)}.auth-form-wrap:has(.auth-next)>h1{margin:0 0 18px;font-family:var(--font-ui);font-size:clamp(2rem,5vw,3rem);letter-spacing:-.045em;line-height:1.04}.auth-form-wrap:has(.auth-next) .auth-next{margin-top:0;padding:18px;border:1px solid var(--accent-line);border-radius:14px;background:color-mix(in srgb,var(--paper-lifted) 82%,transparent)}@media (min-width:44rem){.auth-form-wrap:has(.auth-next){display:grid;grid-template-columns:minmax(0,1.1fr) minmax(15rem,.9fr);grid-gap:12px 30px;gap:12px 30px;align-items:start}.auth-form-wrap:has(.auth-next)>h1{grid-column:1/-1}}.auth-intro{color:var(--ink-muted);font-size:14px;margin:0 0 20px}.auth-form{display:flex;flex-direction:column;gap:8px}.auth-form label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted)}.auth-form input,.auth-form textarea{padding:10px 12px;border:1px solid var(--edge);border-radius:8px;background:var(--paper);color:var(--ink);font-size:16px;font-family:inherit}.auth-form textarea{min-height:84px;resize:vertical}.auth-divider{display:flex;align-items:center;gap:10px;margin:2px 0;font-size:12px;color:var(--ink-muted)}.auth-divider:after,.auth-divider:before{content:"";flex:1 1;border-top:1px solid var(--edge)}.auth-error,.auth-sent{font-size:14px;margin-top:8px}.auth-error{color:var(--danger)}.auth-hint,.auth-why{font-family:var(--font-ui);font-size:13.5px;color:var(--ink-muted);line-height:1.55;margin:6px 0 12px}.auth-next{margin-top:28px;border-top:1px solid var(--rule);padding-top:16px}.auth-next p{font-size:15px;margin:0}.auth-consent{font-family:var(--font-ui);font-size:12.5px;line-height:1.5;margin:12px 0 0}.auth-consent,.auth-consent a{color:var(--ink-muted)}.auth-actions{display:flex;gap:8px;margin-top:4px}.auth-actions .btn{flex:1 1;margin:0}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border-radius:10px;font-family:var(--font-ui);font-size:14px;font-weight:600;cursor:pointer;border:1.5px solid transparent;text-align:center;text-decoration:none;line-height:1.25}.btn:disabled{opacity:.55;cursor:default}.btn:active:not(:disabled){transform:translateY(1px)}.btn-primary{background:var(--accent-fill);color:var(--accent-on);border-color:var(--accent-fill);box-shadow:var(--shadow-1)}.btn-primary:hover:not(:disabled){filter:brightness(.96)}.btn-secondary{background:var(--raised);color:var(--ink);border-color:var(--edge)}.btn-quiet{background:none;border-color:transparent;color:var(--ink-muted);padding:0 12px}.btn-quiet:hover:not(:disabled){color:var(--ink)}.btn-sm{min-height:34px;padding:0 13px;font-size:13px}.learn-shelf{max-width:var(--measure-wide);margin:0 auto;padding:0 16px 60px}@media (max-width:47.99rem){.btn-sm{min-height:44px}}.learn-shelf>h1{margin:22px 0 18px;font-family:var(--font-ui);font-size:clamp(1.8rem,5vw,2.7rem);letter-spacing:-.04em}.onboarding-panel{margin:0 0 28px;padding:14px 16px 16px;border-radius:10px;background:var(--accent-wash);border:1px solid var(--rule)}.onboarding-panel .kicker{margin-bottom:8px}.onboarding-form{display:flex;flex-direction:column;gap:8px}.onboarding-question{font-size:16px;line-height:1.45}.onboarding-form input{padding:10px 12px;border:1px solid var(--edge);border-radius:8px;background:var(--paper);color:var(--ink);font-size:16px;font-family:inherit}.onboarding-examples{font-size:13px;line-height:1.5;margin:0}.onboarding-examples,.onboarding-saved{font-family:var(--font-ui);color:var(--ink-muted)}.onboarding-saved{font-size:13.5px;margin:0 0 20px}body:has(.lesson-screen){height:100dvh;position:relative;overflow:clip;display:flex;flex-direction:column}body:has(.lesson-screen) main.page{display:flex;flex-direction:column;flex:1 1;min-height:0;padding:0;max-width:none}.lesson-screen{display:flex;flex-direction:column;flex:1 1;min-height:0;position:relative;overflow-y:auto;overflow-x:clip}@media (max-width:47.99rem){.lesson-screen{position:static;--lesson-chrome-top:58px}}.lesson-header{display:flex;flex-wrap:wrap;gap:8px 12px;padding:4px 16px 12px;border-bottom:1px solid var(--rule);min-width:0}.lesson-back,.lesson-header{flex-shrink:0;align-items:center}.lesson-back{display:inline-flex;gap:6px;min-height:44px;font-size:12.5px;font-weight:600;color:var(--ink-muted);text-decoration:none;white-space:nowrap}.lesson-back:hover{color:var(--ink)}.lesson-title{flex:1 1;font-size:13px;font-weight:600;color:var(--ink-muted);min-width:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.layout-toggle{display:inline-flex;align-items:center;gap:6px;font-family:inherit;font-size:11px;min-height:44px;padding:0 12px;border-radius:999px;border:1px solid var(--edge);background:var(--paper);color:var(--ink-muted);cursor:pointer;white-space:nowrap}.layout-toggle-icon{flex:0 0 auto}.layout-toggle[aria-pressed=true]{background:var(--accent-wash);color:var(--accent);border-color:var(--accent);font-weight:700}.layout-toggle-wide{display:none}@media (min-width:900px){.layout-toggle-compact{display:none}.layout-toggle-wide{display:inline}}@media (max-width:47.99rem){.lesson-header{flex-wrap:nowrap;gap:8px;padding:4px 12px 10px}.lesson-back-label{display:none}.lesson-back{justify-content:center;min-width:32px;font-size:16px}.layout-toggle-compact{display:none}.layout-toggle{padding:0 13px}.lesson-header .lang-switcher-name{display:none}.lesson-header .lang-switcher-trigger{padding:7px 13px}}.resume-banner{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:10px 16px 0;padding:8px 12px;border-radius:9px;background:var(--accent-wash);border:1px solid var(--accent-line);font-size:12.5px;min-width:0}.resume-banner span{min-width:0;overflow-wrap:anywhere}.resume-banner .dismiss{border:none;background:none;color:var(--ink-muted);font-size:17px;line-height:1;cursor:pointer;padding:2px 4px}@media (max-width:47.99rem){.lesson-pre-recall,.resume-banner{margin-top:calc(10px + var(--lesson-chrome-top) + var(--lesson-rail-height, 0px))}}.lesson-transcript-wrap{position:relative;flex:1 1;min-height:0;display:flex;flex-direction:column}.lesson-transcript{flex:1 1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;overflow-x:clip;padding:18px 16px 72px;font-family:var(--font-serif);font-size:17px;line-height:var(--lh-read);overflow-anchor:auto;scroll-behavior:auto;background:var(--room-tint);min-width:0}@media (max-width:47.99rem){.lesson-transcript{padding-top:calc(18px + var(--lesson-chrome-top) + var(--lesson-rail-height, 0px));padding-bottom:calc(var(--lesson-chrome-bottom, 84px) + 72px)}}.lesson-transcript>*{max-width:var(--measure-room);margin-inline:auto}.lesson-msg-exited,.margin-body,.sheet-body,.tutor-body{overflow-wrap:anywhere;word-break:break-word}.lesson-transcript img,.sheet-body img{max-width:100%;height:auto}.lesson-msg-exited :not(.katex-display):not(.mathdisplay)>.katex,.margin-body :not(.katex-display):not(.mathdisplay)>.katex,.sheet-body :not(.katex-display):not(.mathdisplay)>.katex,.tutor-body :not(.katex-display):not(.mathdisplay)>.katex{display:inline-block;max-width:100%;overflow-x:auto;overflow-y:hidden;vertical-align:bottom}.lesson-msg-tutor p{margin:0 0 .8em}.lesson-msg-tutor p:last-child{margin-bottom:0}.lesson-msg-tutor{position:relative;margin-bottom:24px;padding-left:19px}.lesson-msg-tutor:before{content:"";position:absolute;left:0;top:24px;bottom:2px;width:3px;border-radius:999px;background:var(--accent)}.lesson-msg-tutor:not(:has(.speaker-label-tutor,.stage-direction)):before{top:2px}@media (forced-colors:active){.lesson-msg-tutor:before{background:none;border-left:3px solid CanvasText}.speaker-label-tutor:before{background:none;border:1px solid CanvasText}}.tutor-body.streaming p:last-child:after{content:"";display:inline-block;width:2px;height:1em;margin-left:2px;vertical-align:text-bottom;background:var(--accent);animation:caret-blink 1s step-end infinite}@keyframes caret-blink{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.tutor-body.streaming p:last-child:after{animation:none}}.stage-direction{display:flex;align-items:center;gap:12px;font-family:var(--font-ui);text-align:center;font-style:italic;color:var(--ink-muted);font-size:12px;margin:22px 0 10px}.stage-direction:after,.stage-direction:before{content:"";flex:1 1;height:1px;background:var(--rule)}.speaker-label-tutor{display:flex;align-items:center;gap:6px;font-family:var(--font-ui);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-weight:700;margin:0 0 7px}.speaker-label-tutor:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent)}.lesson-msg-tutor:first-child .speaker-label-tutor,.speaker-label-tutor+.stage-direction{margin-top:0}.opening-panel{max-width:26rem;margin:56px auto;padding:0 16px;text-align:center}@media (max-width:47.99rem){.opening-panel{margin-top:calc(56px + var(--lesson-chrome-top))}}.opening-spinner{width:28px;height:28px;margin:0 auto 16px;border-radius:50%;border:3px solid var(--rule);border-top-color:var(--accent);animation:opening-spin .9s linear infinite}.opening-spinner.stopped{animation:none;border-top-color:var(--rule)}@keyframes opening-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.opening-spinner{animation:none}}.opening-subject{font-family:var(--font-ui);font-size:13px;font-weight:600;color:var(--ink-muted);margin:0 0 10px}.opening-message{font-family:var(--font-ui);font-size:14.5px;line-height:1.55;color:var(--ink);margin:0 0 6px}.opening-message-long{font-family:var(--font-ui);font-size:13px;color:var(--ink-muted);line-height:1.5;margin:0 0 16px}.thinking{margin:4px 0 6px}.thinking-dots{height:14px;vertical-align:middle}.thinking-dots,.thinking-visual{display:inline-flex;align-items:center}.thinking-visual{gap:4px}.thinking-visual .dot{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:thinking-pulse 1.2s ease-in-out infinite}.thinking-visual .dot:nth-child(2){animation-delay:.2s}.thinking-visual .dot:nth-child(3){animation-delay:.4s}@keyframes thinking-pulse{0%,80%,to{opacity:.3}40%{opacity:1}}.thinking-static{display:none;color:var(--accent);font-weight:700;font-size:16px;letter-spacing:.05em}@media (prefers-reduced-motion:reduce){.thinking-visual{display:none}.thinking-static{display:inline}}.waiting-elapsed{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.logged-badge{font-family:var(--font-ui);font-style:normal;display:inline-block;margin-left:6px;font-size:9.5px;text-transform:uppercase;letter-spacing:.05em;font-weight:700;background:var(--accent-wash);color:var(--accent);padding:1px 7px;border-radius:999px}.excursion-badge-row{margin:0 0 6px}.excursion-badge{font-family:var(--font-ui);font-style:normal;display:inline-block;font-size:9.5px;text-transform:uppercase;letter-spacing:.05em;font-weight:700;background:var(--raised);color:var(--ink-muted);border:1px solid var(--rule);padding:1px 7px;border-radius:999px}.lesson-msg-learner{width:-moz-fit-content;width:fit-content;max-width:min(84%,30rem);margin:12px 0 22px auto;padding:11px 14px;border:1px solid var(--cool-line);border-radius:14px 14px 4px 14px;background:var(--cool-wash);font-family:var(--font-ui);font-size:16px;line-height:1.55;color:var(--ink);overflow-wrap:anywhere;word-break:break-word}.lesson-msg-learner.pending{opacity:.6}.not-sent-row{display:flex;align-items:center;gap:8px;margin:6px 0 0;font-family:var(--font-ui);font-size:12px}.not-sent{color:var(--danger);font-weight:600}.retry-send{min-height:44px;border:none;background:none;padding:0 8px;color:var(--accent);font-size:12px;font-weight:700;text-decoration:underline;cursor:pointer}.margin-label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--cool);margin-bottom:5px;font-weight:700}.margin-body p{margin:0 0 .5em}.lesson-msg-exited{font-family:var(--font-ui);font-size:14px;line-height:1.55;color:var(--ink);background:var(--accent-wash);border-radius:10px;padding:12px 14px;margin:14px 0}.citation-chips{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 4px}.chip{font-family:var(--font-ui);min-height:44px;font-size:11px;color:var(--ink-muted);background:var(--raised);border-radius:6px;padding:0 12px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;border:1px solid var(--rule);-webkit-appearance:none;-moz-appearance:none;appearance:none}.chip:focus-visible,.chip:hover{color:var(--accent);border-color:var(--accent-line)}.turn-errored{font-family:var(--font-ui);font-size:12px;color:var(--danger);margin:6px 0 0}.concede-row{display:flex;justify-content:flex-start;margin-top:12px}.tutor-controls{flex:0 0 auto;border:0}.tutor-controls>summary{min-width:44px;min-height:44px;padding:0 6px;display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--edge);border-radius:12px;background:var(--paper);cursor:pointer;color:var(--ink-muted);font-family:var(--font-ui);list-style:none}.tutor-controls>summary::-webkit-details-marker{display:none}.tutor-controls[open]>summary{border-color:var(--accent);background:var(--accent-wash);color:var(--accent)}.tutor-controls-icon{flex:0 0 auto}.tutor-controls-flag{padding:3px 8px;border:1px solid var(--cool-line);border-radius:999px;background:var(--paper-lifted);color:var(--cool);font-size:11px;font-weight:600;letter-spacing:.03em;white-space:nowrap}.tutor-controls .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.tutor-controls-body{position:absolute;left:0;right:0;bottom:calc(100% + 10px);z-index:6;background:var(--raised);border:1px solid var(--rule);border-radius:12px;box-shadow:var(--shadow-2);max-height:min(60dvh,30rem);overflow-y:auto;display:grid;grid-template-columns:1fr;grid-gap:16px;gap:16px;padding:14px 16px 16px}.tutor-controls .btn{min-height:44px}.tutor-control-busy,.tutor-method-status{margin:0;color:var(--ink-muted);font:600 12px/1.5 var(--font-ui)}.tutor-goals{min-width:0;margin:0;padding:0;border:0}.tutor-goals legend,.tutor-method h3{margin:0 0 4px;padding:0;color:var(--ink);font-family:var(--font-ui);font-size:13px;font-weight:700}.tutor-control-help,.tutor-method-current{margin:4px 0 8px;color:var(--ink-muted);font-family:var(--font-ui);font-size:12px;line-height:1.45}.tutor-method-current{color:var(--ink)}.tutor-goal-options{display:flex;flex-wrap:wrap;gap:8px}.tutor-goal-options label{position:relative;min-height:44px;display:inline-flex;align-items:center;padding:0 14px;border:1px solid var(--edge);border-radius:999px;background:var(--paper);font-family:var(--font-ui);font-size:13px;cursor:pointer}.tutor-goal-options input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;border-radius:999px;-webkit-tap-highlight-color:transparent}.tutor-goal-options label:has(input:checked){border-color:var(--accent);background:var(--accent-wash);color:var(--accent);font-weight:700}.tutor-goal-options label:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.tutor-goals:disabled .tutor-goal-options input,.tutor-goals:disabled .tutor-goal-options label{opacity:.55;cursor:default}.tutor-goals:disabled .tutor-goal-options input{opacity:0}@media (forced-colors:active){.tutor-goal-options label{gap:8px}.tutor-goal-options input,.tutor-goals:disabled .tutor-goal-options input{position:static;inset:auto;width:18px;height:18px;opacity:1}}.tutor-goal-use{margin-top:8px}.tutor-goals+.tutor-method{padding-top:12px;border-top:1px dashed var(--rule)}@media (min-width:760px){.tutor-controls-body{grid-template-columns:minmax(0,1.35fr) minmax(12rem,.65fr)}.tutor-goals+.tutor-method{padding-top:0;border-top:0}}.concede-btn{flex:0 0 auto;display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:0 16px 0 13px;border-radius:12px;background:var(--raised);border:1px solid var(--edge);color:var(--ink);font-family:var(--font-ui);font-size:13.5px;font-weight:500;box-shadow:var(--shadow-1);cursor:pointer}.concede-btn svg{color:var(--ink-muted);flex:0 0 auto}.concede-btn:focus-visible,.concede-btn:hover{box-shadow:var(--shadow-2);transform:translateY(-1px)}.concede-btn:active svg{color:var(--accent)}.concede-btn .lightbulb-path{stroke-dasharray:22;stroke-dashoffset:0}.concede-btn:active .lightbulb-path{animation:concede-draw .22s cubic-bezier(.2,.6,.2,1) forwards}@keyframes concede-draw{0%{stroke-dashoffset:22}to{stroke-dashoffset:0}}.lesson-transcript.as-chat{font-family:var(--font-ui);font-size:16px;display:flex;flex-direction:column;gap:12px;padding-inline:max(16px,calc((100% - var(--measure-room)) / 2))}.as-chat .lesson-msg-tutor{align-self:stretch;min-width:0;margin:0;color:var(--ink)}.as-chat .lesson-msg-exited{align-self:flex-start;width:-moz-fit-content;width:fit-content;max-width:min(84%,38rem);min-width:0;background:var(--raised);border:1px solid var(--rule);box-shadow:var(--shadow-1);border-radius:16px 16px 16px 4px;padding:12px 14px;margin:0;color:var(--ink)}.as-chat .speaker-label-tutor{margin:0 0 6px}.as-chat .lesson-msg-learner{align-self:flex-end;width:-moz-fit-content;width:fit-content;max-width:min(78%,34rem);min-width:0;background:var(--cool-wash);color:var(--ink);border:1px solid var(--cool-line);border-radius:16px 16px 4px 16px;padding:12px 14px;margin:0;font-size:16px}.as-chat .stage-direction{margin:10px 0 2px}.sheet-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:20}.section-sheet{position:fixed;left:0;right:0;bottom:0;z-index:21;max-height:70vh;margin:0 auto;max-width:34rem;background:var(--paper);border-radius:16px 16px 0 0;box-shadow:0 -14px 32px -12px rgba(0,0,0,.4);display:flex;flex-direction:column;font-family:var(--font-ui)}@media (min-width:900px){.sheet-backdrop{background:transparent}.section-sheet{left:auto;top:0;bottom:0;right:0;max-height:none;width:26rem;max-width:40vw;border-radius:0;box-shadow:-14px 0 32px -12px rgba(0,0,0,.25)}}.sheet-handle{width:36px;height:4px;border-radius:2px;background:var(--rule);margin:10px auto 2px;flex:0 0 auto}.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 16px 10px;border-bottom:1px solid var(--rule);flex:0 0 auto}.sheet-head h3{font-size:14px;margin:0}.sheet-close{border:none;background:var(--accent-wash);color:var(--ink);width:27px;height:27px;border-radius:50%;font-size:15px;cursor:pointer;flex:0 0 auto}.sheet-body{flex:1 1;overflow-y:auto;padding:12px 16px;font-family:var(--font-serif);font-size:15px;line-height:1.6}.sheet-body p{margin:0 0 .7em}.sheet-open-reader{flex:0 0 auto;display:block;text-align:center;padding:12px;font-size:12.5px;color:var(--accent);text-decoration:none;border-top:1px solid var(--rule);font-weight:700}.jump-to-latest{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);z-index:5;width:44px;height:44px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--edge);background:var(--raised);color:var(--accent);box-shadow:var(--shadow-2);cursor:pointer}@media (max-width:47.99rem){.jump-to-latest{bottom:calc(12px + var(--lesson-chrome-bottom, 84px))}}.composer{flex-shrink:0;background:var(--paper-lifted);border-top:1px solid var(--rule);box-shadow:0 -8px 20px -18px rgba(0,0,0,.45);padding:10px 16px calc(14px + env(safe-area-inset-bottom, 0px));font-family:var(--font-ui)}.composer-pill{display:none}@media (max-width:47.99rem){.lesson-screen{position:static}.composer{position:absolute;inset-inline:0;bottom:0;z-index:7;transition:transform .28s cubic-bezier(.32,.72,0,1);will-change:transform}.lesson-screen[data-chrome-hidden=true]:not([data-composer-pinned=true]) .composer:not(:has(.tutor-controls[open])){transform:translateY(calc(100% + 24px))}.composer-pill{display:block;position:absolute;left:50%;bottom:calc(12px + env(safe-area-inset-bottom, 0px));transform:translateX(-50%) translateY(10px);z-index:6;min-height:44px;padding:0 20px;border-radius:999px;border:1px solid var(--accent-line);background:var(--raised);color:var(--ink);font-family:var(--font-ui);font-size:14px;font-weight:500;box-shadow:var(--shadow-2);opacity:0;pointer-events:none;transition:opacity .16s ease,transform .2s cubic-bezier(.32,.72,0,1)}.lesson-screen[data-chrome-hidden=true]:not([data-composer-pinned=true]) .composer-pill{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0);transition:opacity .18s ease .22s,transform .24s cubic-bezier(.32,.72,0,1) .22s}.lesson-screen[data-chrome-hidden=true]:not([data-composer-pinned=true]) .jump-to-latest{display:none}@media (prefers-reduced-motion:reduce){.composer,.composer-pill,.lesson-screen[data-chrome-hidden=true]:not([data-composer-pinned=true]) .composer-pill,.lesson-screen[data-chrome-hidden=true]:not([data-composer-pinned=true]) .composer:not(:has(.tutor-controls[open])){transition:none}}}@media (max-width:47.99rem){.composer-row .tutor-controls:not([open]){max-width:60px;transition:max-width .2s ease,opacity .2s ease,margin-right .2s ease}.composer[data-typing=true] .composer-row .tutor-controls:not([open]){max-width:0;opacity:0;margin-right:-10px;overflow:hidden;pointer-events:none}}@media (prefers-reduced-motion:reduce){.composer,.composer-row .tutor-controls:not([open]){transition:none}}.composer-shell{width:100%;max-width:var(--measure-room);margin-inline:auto;position:relative}.field-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mode-toggle{display:inline-flex;align-items:center;font-family:inherit;font-size:12px;min-height:40px;padding:0 13px;border-radius:999px;border:1px solid var(--edge);background:var(--paper);color:var(--ink-muted);cursor:pointer;white-space:nowrap}.mode-toggle:focus-visible,.mode-toggle:hover{color:var(--accent)}@media (max-width:47.99rem){.mode-toggle{min-height:44px}}.composer-row{display:flex;align-items:flex-end;gap:10px}.composer-field{flex:1 1;min-width:0;min-height:48px;padding:12px 14px;border:1px solid var(--edge);border-radius:14px;background:var(--raised);color:var(--ink);font-size:16px;line-height:1.4;font-family:inherit;max-height:calc(1.4em * 6 + 20px);overflow-y:auto;max-width:100%}.composer-send{flex:0 0 auto;width:44px;height:44px;border-radius:50%;border:none;display:inline-flex;align-items:center;justify-content:center;background:var(--accent-fill);color:var(--accent-on);box-shadow:var(--shadow-1);cursor:pointer}.composer-send:disabled{opacity:.45;cursor:default}.composer-send.composer-stop{background:var(--ink);color:var(--paper)}.composer-cancel{display:block;margin:10px auto 0;background:none;border:none;color:var(--ink-muted);font-size:12px;text-decoration:underline;cursor:pointer}.composer-error{margin-top:10px;padding:10px 12px;border-radius:8px;background:color-mix(in srgb,var(--danger) 12%,var(--raised));border:1px solid color-mix(in srgb,var(--danger) 38%,var(--raised));font-size:13px}.composer-error .btn{margin-top:8px}.ttfb-corner{margin:8px 0 0;font-size:10px;color:var(--ink-muted);text-align:right}.lesson-closing{padding:4px 16px 12px;font-family:var(--font-ui);min-width:0}@media (max-width:47.99rem){.lesson-closing{padding-bottom:calc(12px + var(--lesson-chrome-bottom, 84px))}}.cards-ready{margin:8px 0 12px;padding:10px 12px;border-radius:9px;background:var(--accent-wash);font-size:13.5px;line-height:1.5;color:var(--ink)}.cards-ready a{color:var(--accent);font-weight:700;text-decoration:none;white-space:nowrap}.survey-panel{margin:8px 0 0;padding:12px 14px 14px;border:1px solid var(--rule);border-radius:12px;background:var(--raised)}.survey-lead{margin:0 0 12px;font-size:13.5px;color:var(--ink-muted);line-height:1.5}.survey-item{border:none;padding:0;margin:0 0 12px;min-width:0}.survey-item label,.survey-item legend{display:block;font-size:14px;line-height:1.45;color:var(--ink);margin:0 0 6px;padding:0}.survey-optional{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted);margin-left:4px}.survey-options{display:flex;flex-wrap:wrap;gap:6px}.survey-option{font-family:inherit;font-size:13px;padding:7px 12px;border-radius:999px;border:1px solid var(--edge);background:var(--paper);color:var(--ink);cursor:pointer;max-width:100%;text-align:left}.survey-option[aria-pressed=true]{background:var(--accent-wash);border-color:var(--accent);color:var(--accent);font-weight:700}.survey-text{width:100%;padding:10px 12px;border:1px solid var(--edge);border-radius:10px;background:var(--paper);color:var(--ink);font-size:16px;line-height:1.4;font-family:inherit;resize:vertical}.survey-actions{display:flex;gap:8px;margin-top:4px}.survey-actions .btn{flex:1 1;min-width:0}.survey-sent{margin:8px 0 0;font-size:13.5px;color:var(--ink-muted)}.survey-error{margin:8px 0 0;font-size:12.5px;color:var(--danger)}.review-empty,.review-screen{max-width:48rem;margin:0 auto;padding:0 16px 60px;font-family:var(--font-ui);min-width:0}.review-empty{padding-top:40px;text-align:center;font-size:15px;line-height:1.55}.review-empty h1{margin:0;font-size:clamp(2rem,6vw,3.2rem);letter-spacing:-.05em}.review-empty h2{margin:18px 0 6px;font-size:1.25rem}.review-empty .btn{margin-top:12px}.review-header{position:relative;display:grid;grid-gap:14px;gap:14px;padding:24px 0 18px;border-bottom:1px solid var(--rule);min-width:0}.review-exit{width:-moz-fit-content;width:fit-content;color:var(--ink-muted);font-size:12px;text-decoration:none}.review-exit:hover{color:var(--accent)}.review-title{font-size:clamp(22px,5vw,32px);letter-spacing:-.04em;margin:0}.review-progress{font-size:12.5px;color:var(--ink-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.review-help{max-width:34rem;margin:7px 0 0;color:var(--ink-muted);font-size:13px;line-height:1.5}.review-session-count{display:grid;align-content:end;grid-gap:3px;gap:3px}.review-session-count strong{font-size:14px}.review-session-count span{color:var(--ink-muted);font-size:11.5px}.review-queue{margin:10px 0 0;color:var(--ink-muted);font-size:12px}.review-queue summary{min-height:44px;display:flex;align-items:center;cursor:pointer}.review-queue p{margin:0 0 8px}.review-intro{margin:10px 0 0;font-size:13.5px;color:var(--ink-muted);line-height:1.5}.review-card{max-width:42rem;margin:20px auto 0;padding:clamp(20px,5vw,32px);border-radius:20px;border:1px solid var(--rule);background:var(--raised);box-shadow:var(--shadow-2),var(--lit);min-width:0}.review-face-label{margin:0 0 16px;color:var(--accent);font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.review-answer-label{margin:20px 0 10px;padding-top:18px;border-top:1px solid var(--rule)}.review-face{font-family:var(--font-serif);font-size:17px;line-height:1.6;color:var(--ink);overflow-wrap:anywhere;word-break:break-word}.review-face p{margin:0 0 .6em}.review-face p:last-child{margin-bottom:0}.review-back{margin-top:0;padding-top:0;border-top:0}.review-flip{display:block;width:100%;margin-top:16px}.review-source{margin:10px 0 0;font-size:12px}.review-grade-prompt,.review-source,.review-source a{color:var(--ink-muted)}.review-grade-prompt{margin:16px 0 6px;font-size:12px}.review-grades{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:6px;gap:6px}.review-grade{padding:10px 4px;font-size:14px;min-width:0;overflow-wrap:anywhere}.review-grade-key{font-size:10px;margin-right:5px;font-weight:400}.review-grade-key,.review-key-hint{display:none;color:var(--ink-muted)}.review-key-hint{margin:10px 0 0;font-size:11.5px;text-align:center}@media (min-width:900px){.review-header{grid-template-columns:minmax(0,1fr) auto;align-items:end}.review-exit{grid-column:1/-1}.review-grade-key{display:inline}.review-key-hint{display:block}}.review-reject{display:block;margin:14px auto 0;background:none;border:none;color:var(--ink-muted);font-size:12px;text-decoration:underline;cursor:pointer;font-family:inherit}.review-notice,.review-pending{margin:12px 0 0;padding:8px 12px;border-radius:9px;font-size:12.5px;line-height:1.5}.review-notice{background:var(--accent-wash);color:var(--ink)}.review-pending{background:var(--cool-wash);border:1px solid var(--cool-line)}.review-done{padding-top:24px;font-size:15px;line-height:1.55}.review-done h2{font-size:20px;margin:0 0 10px}.review-done p{margin:0 0 8px}.review-done .btn{margin-top:8px}.composer-pill.is-recall-open,.composer.is-recall-open,.concept-rail.is-recall-open,.lesson-transcript-wrap.is-recall-open{display:none}.recall-probe{margin:16px 0 0;padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}.recall-probe-lead{margin:0 0 10px;font-size:14px;line-height:1.55;color:var(--ink-soft)}.recall-probe-question{margin:0 0 12px;font-size:17px;line-height:1.5}.recall-probe-label{display:block;margin:0 0 6px;font-size:13px;color:var(--ink-soft)}.recall-probe-input{width:100%;min-width:0;box-sizing:border-box;padding:10px;font:inherit;font-size:15px;line-height:1.5;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:inherit;resize:vertical}.recall-probe-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.recall-probe-error{margin:10px 0 0;font-size:14px;color:var(--warn-ink,var(--ink))}.energy-bar{display:flex;align-items:center;gap:8px;margin:0 0 6px;font-size:12px;color:var(--ink-muted)}.energy-bar-label{flex:0 0 auto}.energy-bar-track{flex:1 1 auto;height:6px;border-radius:999px;background:var(--paper-sunk,rgba(0,0,0,.08));overflow:hidden}.energy-bar-fill{display:block;height:100%;border-radius:999px;background:var(--ink-muted);transition:width .3s ease}.composer-preview{display:flex;align-items:baseline;gap:8px;margin:0 0 6px;padding:6px 10px;border-radius:8px;background:var(--paper-sunk,rgba(0,0,0,.05));font-size:14px}.composer-preview-label{flex:0 0 auto;color:var(--ink-muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em}.composer-preview-body{min-width:0;overflow-x:auto}.concept-rail{flex:0 0 auto;padding:6px 14px 0}.concept-rail ol{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.concept-rail li{padding:2px 9px;border:1px solid var(--rule);border-radius:999px;color:var(--ink-muted);font-size:11.5px;white-space:nowrap}.concept-rail li.is-current{border-color:var(--accent);color:var(--accent);font-weight:600}.lesson-pre-recall{margin:24px 0 0}.lesson-pre-recall-head{margin:0;font-size:15px;font-weight:600;color:var(--ink)}@media (max-width:47.99rem){.concept-rail{position:absolute;top:var(--lesson-chrome-top);inset-inline:0;z-index:19;min-width:0;max-width:100vw;padding:8px 14px;background:var(--paper);border-bottom:1px solid var(--rule);transition:transform .28s cubic-bezier(.32,.72,0,1)}.lesson-screen[data-chrome-hidden=true] .concept-rail{transform:translateY(calc(-100% - var(--lesson-chrome-top) - 16px))}.concept-rail ol{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.concept-rail ol::-webkit-scrollbar{display:none}}@media (prefers-reduced-motion:reduce){.concept-rail{transition:none}}