*{box-sizing:border-box}body{margin:0;font-family:Inter Tight,system-ui,sans-serif;background:color-mix(in srgb,var(--flow-page-bg) 60%,#9a9a97);color:var(--flow-page-text)}.frame{position:relative;max-width:440px;height:100dvh;margin:0 auto;display:flex;flex-direction:column;overflow:hidden;background:var(--flow-page-bg);border-left:1px solid var(--flow-border);border-right:1px solid var(--flow-border);font-size:var(--flow-type-ui-size);line-height:var(--flow-type-ui-leading)}button{min-height:var(--flow-size-tap-target);padding:0 14px;border-radius:12px;border:1px solid var(--flow-border);background:var(--flow-surface);color:var(--flow-page-text);font:inherit;font-size:var(--flow-type-button-size);font-weight:var(--flow-type-button-weight);cursor:pointer}button:disabled{opacity:.45;cursor:default}button:focus-visible,input:focus-visible{outline:2px solid var(--flow-focus);outline-offset:2px}button.primary{min-height:var(--flow-size-primary-button);background:var(--flow-accent-cta);border-color:var(--flow-accent-cta);color:var(--flow-accent-text)}input{min-height:var(--flow-size-primary-button);padding:0 12px;border-radius:12px;border:1px solid var(--flow-border);background:var(--flow-surface);color:var(--flow-page-text);font:inherit}.topbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:var(--flow-size-topbar-pad);padding-top:calc(var(--flow-size-topbar-pad-top) + env(safe-area-inset-top))}.topic{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--flow-type-pill-size);font-weight:var(--flow-type-pill-weight);color:var(--flow-text-muted)}.topbar-right{display:flex;align-items:center;gap:8px}.badge{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--flow-border);border-radius:999px;padding:4px 10px;flex:none;white-space:nowrap;font-size:var(--flow-type-tm-size);font-weight:500;color:var(--flow-text-muted)}button.badge-button{position:relative;min-height:28px;padding:4px 10px;background:transparent}.badge-minutes{gap:3px;font-variant-numeric:tabular-nums}.badge-stopped{border-style:dashed}button.badge-button:after{content:"";position:absolute;inset:calc((28px - var(--flow-size-tap-target)) / 2) -6px}.chat{flex:1;min-height:0;display:flex;flex-direction:column;gap:8px;padding:6px 16px 4px;overflow-y:auto}.bub{max-width:var(--flow-size-bubble-max);padding:9px 13px;border-radius:var(--flow-bubble-radius);font-size:var(--flow-type-bub-size);line-height:var(--flow-type-bub-leading);white-space:pre-wrap}.bub,.draft,.sysnote,.chip,.corr-line,.corr-note{word-break:break-word;overflow-wrap:anywhere}.bub-t{align-self:flex-start;background:var(--flow-teacher-bubble-bg);color:var(--flow-teacher-bubble-text);border-bottom-left-radius:5px;font-family:var(--flow-teacher-font)}.bub-u{align-self:flex-end;background:var(--flow-user-bubble-bg);color:var(--flow-user-bubble-text);border-bottom-right-radius:5px}.bub-partial{color:var(--flow-text-muted)}.bub-aborted{background:transparent;border:1px dashed var(--flow-border);opacity:.5;animation:fadeout var(--flow-motion-aborted-fade) ease forwards}@keyframes fadeout{to{opacity:0}}.underline{text-decoration:underline dashed var(--flow-underline) 1.5px;text-underline-offset:3px}.corr{align-self:flex-end;max-width:var(--flow-size-bubble-max);padding:8px 12px;border-radius:var(--flow-card-radius);background:var(--flow-correction-bg);color:var(--flow-correction-text);animation:annin var(--flow-motion-annotation-in) ease}.corr-line{margin:0;font-size:var(--flow-type-ui-size)}.corr-note{margin:4px 0 0;font-size:var(--flow-type-hint-size);color:var(--flow-correction-note)}.draft{align-self:flex-end;font-style:italic;font-size:var(--flow-type-ui-size);color:var(--flow-text-muted);opacity:.62;padding:2px 6px}.sysnote{align-self:center;display:inline-flex;align-items:center;gap:6px;font-size:var(--flow-type-hint-size);font-weight:500;color:var(--flow-text-muted);background:var(--flow-surface);border:1px solid var(--flow-border);border-radius:999px;padding:5px 12px;animation:annin var(--flow-motion-sysnote-in) ease}@keyframes annin{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.chips{display:flex;flex-wrap:wrap;gap:6px;animation:annin var(--flow-motion-annotation-in) ease}.chip{border-radius:999px;padding:4px 10px;font-size:var(--flow-type-hint-size);border:1px solid transparent}.chip-corr{background:var(--flow-correction-bg);color:var(--flow-correction-text);border-color:color-mix(in srgb,var(--flow-correction-note) 35%,transparent)}.chip-more{background:transparent;color:var(--flow-text-muted);border-color:var(--flow-border)}.pre-chips .chip-more{min-height:var(--flow-size-tap-target);padding:0 15px;font-size:var(--flow-type-ui-size)}.chip-word,.chip-count{background:var(--flow-chip-bg);color:var(--flow-chip-text)}.chip-count{font-weight:600}.chip-repeats{margin-left:4px;font-size:calc(var(--flow-type-hint-size) - 1px);font-variant-numeric:tabular-nums;opacity:.7}.connecting{margin:auto;display:flex;align-items:center;gap:10px;font-size:var(--flow-type-ui-size);color:var(--flow-text-muted)}.empty{margin:auto;max-width:30ch;text-align:center;font-size:var(--flow-type-hint-size);line-height:var(--flow-type-hint-leading);color:var(--flow-text-muted)}.spinner{width:16px;height:16px;border-radius:50%;border:2px solid var(--flow-border);border-top-color:var(--flow-accent-cta);animation:spin var(--flow-motion-spin) linear infinite}.spinner-cta{position:absolute;width:22px;height:22px;pointer-events:none}@keyframes spin{to{transform:rotate(360deg)}}.card{margin:4px 0;padding:14px 16px;background:var(--flow-surface);border:1px solid var(--flow-border);border-radius:var(--flow-card-radius)}.card h2{margin:0 0 8px;font-size:var(--flow-type-lbl-size);font-weight:var(--flow-type-lbl-weight);letter-spacing:var(--flow-type-lbl-tracking);text-transform:var(--flow-type-lbl-transform);color:var(--flow-text-muted)}.card-actions{display:flex;gap:8px;margin-top:10px}.card-actions button{flex:1}.card-measure{margin:12px 16px}.card-summary{background:var(--flow-correction-bg);border-color:color-mix(in srgb,var(--flow-correction-note) 45%,transparent)}.card-summary h2{color:var(--flow-correction-text)}.card-summary .hint{color:var(--flow-correction-note);text-align:left;max-width:none}.share{display:flex;align-items:center;gap:12px;margin-top:12px}.share-ring{position:relative;flex:none;width:56px;height:56px;border-radius:50%;background:conic-gradient(var(--flow-correction-text) var(--share, 0%),color-mix(in srgb,var(--flow-correction-note) 25%,transparent) 0);-webkit-mask:radial-gradient(circle,transparent 58%,#000 59%);mask:radial-gradient(circle,transparent 58%,#000 59%)}.share-line{margin:0;font-size:var(--flow-type-ui-size);color:var(--flow-correction-text)}.feedback{margin-top:12px}.feedback-row{display:flex;gap:8px;margin:6px 0}.feedback-button{flex:1;min-height:var(--flow-size-tap-target);border:1px solid color-mix(in srgb,var(--flow-correction-note) 45%,transparent);border-radius:var(--flow-card-radius);background:transparent;color:var(--flow-correction-text);font-size:var(--flow-type-ui-size);font-variant-numeric:tabular-nums}.feedback-comment{display:flex;gap:8px;align-items:flex-start;margin-top:8px;animation:annin var(--flow-motion-annotation-in) ease}.feedback-text{flex:1;min-width:0;padding:8px 10px;border:1px solid color-mix(in srgb,var(--flow-correction-note) 45%,transparent);border-radius:var(--flow-card-radius);background:transparent;color:var(--flow-correction-text);font:inherit;font-size:var(--flow-type-ui-size);resize:vertical}.feedback-text::placeholder{color:var(--flow-correction-note)}.feedback-send{flex:none;min-height:var(--flow-size-tap-target);padding:0 14px;border:1px solid color-mix(in srgb,var(--flow-correction-note) 45%,transparent);border-radius:var(--flow-card-radius);background:color-mix(in srgb,var(--flow-correction-note) 30%,transparent);color:var(--flow-correction-text);font-size:var(--flow-type-ui-size)}.feedback-send:disabled{opacity:.5}.feedback-button[aria-pressed=true]{background:color-mix(in srgb,var(--flow-correction-note) 30%,transparent);font-weight:600}.feedback-button:disabled{opacity:.55}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:3px 0;font-size:var(--flow-type-ui-size)}.row b{font-variant-numeric:tabular-nums}.row-name code{color:var(--flow-text-muted)}.row-active{font-weight:600}.meter{flex:1;height:6px;border-radius:3px;background:var(--flow-skeleton);overflow:hidden}.meter i{display:block;height:100%;background:var(--flow-accent-cta);transition:width .08s linear}.bar{order:2;display:flex;flex-direction:column;align-items:center;gap:10px;padding:10px 16px calc(14px + env(safe-area-inset-bottom));background:var(--flow-sheet-bg);border-top:1px solid var(--flow-border)}.pill{display:inline-flex;align-items:center;gap:7px;background:var(--flow-teacher-bubble-bg);border:1px solid var(--flow-border);color:var(--flow-status-text);border-radius:999px;padding:6px 13px;font-size:var(--flow-type-pill-size);font-weight:var(--flow-type-pill-weight);animation-name:pulse;animation-timing-function:ease-in-out;animation-iteration-count:infinite}.pill-accent{border-color:var(--flow-accent-cta);color:var(--flow-accent-cta)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.62}}.ic{width:16px;height:16px}.ctawrap{position:relative;display:grid;place-items:center;width:var(--flow-size-cta-wrap);height:var(--flow-size-cta-wrap);transition:width var(--flow-motion-ring-resize) var(--flow-motion-ring-curve),height var(--flow-motion-ring-resize) var(--flow-motion-ring-curve)}.ring{position:absolute;inset:0;border-radius:50%;background:var(--flow-live-ring);transition:transform var(--flow-motion-ring-resize) var(--flow-motion-ring-curve)}.ring-breathing{animation:breathe var(--flow-motion-breathe) ease-in-out infinite}.ring-start{animation:breathe var(--flow-motion-start-orb) ease-in-out infinite}.ring-dashed{background:transparent;border:2px dashed color-mix(in srgb,var(--flow-accent-cta) 45%,transparent);transform:scale(var(--flow-motion-ring-speaking))}.ring-off{opacity:0}.ring-hold-fill{transform:scale(var(--flow-motion-ring-hold-fill))}.ring-hold-out{background:transparent;border:1.5px solid color-mix(in srgb,var(--flow-accent-cta) 40%,transparent);transform:scale(var(--flow-motion-ring-hold-out))}@keyframes breathe{0%,to{transform:scale(1);opacity:var(--flow-motion-breathe-from)}50%{transform:scale(var(--flow-motion-breathe-scale));opacity:var(--flow-motion-breathe-to)}}.cta{position:relative;width:var(--flow-size-cta-live);height:var(--flow-size-cta-live);min-height:0;padding:0;border:0;border-radius:50%;background:var(--flow-accent-cta);color:var(--flow-accent-text);font-size:var(--flow-type-pill-size);font-weight:600;box-shadow:0 4px 14px color-mix(in srgb,var(--flow-accent-cta) 35%,transparent);transition:width var(--flow-motion-ring-resize) var(--flow-motion-ring-curve),height var(--flow-motion-ring-resize) var(--flow-motion-ring-curve)}.cta-dimmed{opacity:.4}.cta-done{width:auto;height:auto;min-height:var(--flow-size-primary-button);padding:0 22px;border-radius:999px}.cta:disabled{opacity:.45}.inp{display:flex;align-items:center;gap:8px;width:100%;padding:6px 6px 6px 14px;border:1px solid var(--flow-border);border-radius:999px;background:var(--flow-surface)}.inp-field{flex:1;font-size:var(--flow-type-hint-size);color:var(--flow-text-muted)}textarea.inp-live{min-width:0;border:0;padding:0;background:transparent;font:inherit;font-size:var(--flow-type-hint-size);line-height:var(--flow-type-hint-leading);color:var(--flow-page-text);resize:none;max-height:72px;overflow-y:auto}textarea.inp-live:disabled{color:var(--flow-text-muted)}button.send{flex:none;min-height:var(--flow-size-mode-button);width:var(--flow-size-mode-button);height:var(--flow-size-mode-button);padding:0;display:grid;place-items:center;border:0;border-radius:50%;background:var(--flow-accent-cta);color:var(--flow-accent-text)}button.send:disabled{opacity:.4}button.listen{display:flex;align-items:center;gap:4px;margin-top:6px;padding:0;border:0;background:transparent;color:var(--flow-accent-cta);font-size:var(--flow-type-hint-size)}.bub-pending{opacity:.55}.card-handover{border-color:color-mix(in srgb,var(--flow-underline) 45%,transparent);background:var(--flow-correction-bg)}.card-handover .hint{max-width:none;text-align:left;color:var(--flow-correction-note)}.hint-pro{margin-top:6px;color:var(--flow-accent-cta)}.modes{display:flex;gap:4px}button.mode{min-height:var(--flow-size-mode-button);width:var(--flow-size-mode-button);height:var(--flow-size-mode-button);padding:0;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--flow-text-muted);position:relative}button.mode:after{content:"";position:absolute;inset:calc((var(--flow-size-mode-button) - var(--flow-size-tap-target)) / 2)}button.mode:disabled{opacity:.35}button.mode-on:disabled{opacity:1;background:color-mix(in srgb,var(--flow-accent-cta) var(--flow-size-mode-tint),transparent);color:var(--flow-accent-cta)}.hint{margin:0;font-size:var(--flow-type-hint-size);line-height:var(--flow-type-hint-leading);color:var(--flow-text-muted);text-align:center;max-width:34ch}.lbl{margin:12px 0 4px;font-size:var(--flow-type-lbl-size);font-weight:var(--flow-type-lbl-weight);letter-spacing:var(--flow-type-lbl-tracking);text-transform:var(--flow-type-lbl-transform);color:var(--flow-text-muted)}.error{margin:0;color:var(--flow-danger);font-size:var(--flow-type-hint-size);text-align:center}.takeover{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%}.takeover-btn{min-height:var(--flow-size-primary-button);height:auto;max-width:100%;padding:10px 18px;border:1px solid var(--flow-accent-cta);border-radius:999px;background:transparent;color:var(--flow-accent-cta);font-size:var(--flow-type-hint-size);font-weight:600;line-height:1.3;text-align:center}.takeover-btn:disabled{opacity:.45}.door{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%}.door-btn{min-height:var(--flow-size-primary-button);height:auto;max-width:100%;padding:10px 18px;border:0;border-radius:999px;background:transparent;color:var(--flow-text-muted);font-size:var(--flow-type-hint-size);font-weight:600;line-height:1.3;text-align:center}.door-primary{border:1px solid var(--flow-accent-cta);color:var(--flow-accent-cta)}.door-btn:disabled{opacity:.45}.scrim{position:absolute;inset:0;z-index:2;display:flex;align-items:flex-end;background:var(--flow-scrim)}.sheet{width:100%;max-height:92%;overflow-y:auto;padding:8px 18px calc(18px + env(safe-area-inset-bottom));background:var(--flow-sheet-bg);border-radius:var(--flow-sheet-radius) var(--flow-sheet-radius) 0 0;display:flex;flex-direction:column;gap:6px}.handle{width:38px;height:4px;margin:0 auto 6px;border-radius:2px;background:var(--flow-border)}.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.sheet-head h2{margin:0;font-size:var(--flow-type-h2s-size);font-weight:var(--flow-type-h2s-weight);line-height:var(--flow-type-h2s-leading)}.stack{display:flex;flex-direction:column;gap:8px}.stack-row{display:flex;gap:8px}.stack-row button{flex:1}.stack-row button[aria-pressed=true]{border-color:var(--flow-accent-cta);color:var(--flow-accent-cta);font-weight:600}.toast{order:1;margin:0 16px 8px;display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--flow-surface);border:1px solid var(--flow-border);border-radius:var(--flow-card-radius)}.toast .hint{text-align:left;max-width:none}@media(prefers-reduced-motion:reduce){.ring-breathing,.ring-start,.pill,.sysnote,.chips,.corr,.spinner,.bub-aborted{animation:none}.ring,.cta{transition:none}}.pre{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column}.pre-topbar{flex:0 0 auto}.pre-step{display:flex;flex-direction:column;gap:9px;padding:8px 18px calc(18px + env(safe-area-inset-bottom))}.pre .hint{text-align:left;max-width:34ch}.pre-entry{flex:1;justify-content:center;gap:16px}.pre-title{margin:0;font-size:var(--flow-type-onboarding-size);font-weight:var(--flow-type-onboarding-weight);line-height:var(--flow-type-onboarding-leading);letter-spacing:var(--flow-type-onboarding-tracking);color:var(--flow-page-text)}.pre-subtitle{margin:6px 0 0;font-size:var(--flow-type-h2s-size);font-weight:var(--flow-type-h2s-weight);line-height:var(--flow-type-h2s-leading);color:var(--flow-page-text)}.pre-badge{align-self:flex-start;font-size:var(--flow-type-lbl-size);font-weight:var(--flow-type-lbl-weight);letter-spacing:var(--flow-type-lbl-tracking);text-transform:var(--flow-type-lbl-transform);color:var(--flow-accent-cta)}.pre-progress{display:flex;align-items:center;gap:7px}.pre-step-label{font-size:var(--flow-type-lbl-size);font-weight:var(--flow-type-lbl-weight);letter-spacing:var(--flow-type-lbl-tracking);text-transform:var(--flow-type-lbl-transform);color:var(--flow-accent-cta)}.pre-bar{flex:1;height:3px;border-radius:2px;background:var(--flow-border)}.pre-bar-fill{display:block;height:3px;border-radius:2px;background:var(--flow-accent-cta)}.pre-native,.pre-summary{display:flex;flex-direction:column;gap:8px}.pre-native{flex-direction:row;align-items:center;justify-content:space-between;gap:10px}.pre-native-name{font-size:var(--flow-type-ui-size);font-weight:500;color:var(--flow-page-text)}.pre-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.pre-link{min-height:var(--flow-size-tap-target);padding:0 4px;border:0;background:transparent;color:var(--flow-accent-cta);font-size:var(--flow-type-hint-size);font-weight:600}.pre-cta{min-height:var(--flow-size-primary-button);height:auto;padding:12px 18px;border:0;border-radius:999px;background:var(--flow-accent-cta);color:var(--flow-accent-text);font-weight:600;line-height:1.3}.pre-cta:disabled{opacity:.45}.pre-chips{gap:8px}.chip-lang{min-height:var(--flow-size-tap-target);padding:0 15px;border-color:var(--flow-border);background:transparent;color:var(--flow-page-text);font-size:var(--flow-type-ui-size)}.chip-on{background:var(--flow-accent-cta);border-color:transparent;color:var(--flow-accent-text)}.chip-lang:disabled{opacity:.45}.chip-soon{margin-left:6px;font-size:var(--flow-type-tm-size);color:var(--flow-text-muted)}.chip-on .chip-soon{color:inherit}.pre-levels{display:flex;flex-direction:column;gap:8px}.pre-level{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-height:var(--flow-size-primary-button);height:auto;padding:10px 14px;border-radius:var(--flow-card-radius);text-align:left}.pre-level-on{border-color:var(--flow-accent-cta);color:var(--flow-accent-cta)}.pre-level-label{font-size:var(--flow-type-ui-size);font-weight:500;line-height:1.3}.pre-how-title{margin-bottom:0;text-transform:var(--flow-type-lbl-transform);letter-spacing:var(--flow-type-lbl-tracking)}.pre-how{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px;font-size:var(--flow-type-hint-size);color:var(--flow-text-muted)}.pre-cards{display:flex;flex-direction:column;gap:8px}.pre-card{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-height:var(--flow-size-primary-button);height:auto;padding:12px 14px;border-radius:var(--flow-card-radius);text-align:left}.pre-card-on{border-color:var(--flow-accent-cta)}.pre-card-name{font-size:var(--flow-type-ui-size);font-weight:600;color:var(--flow-page-text)}.pre-card-add{border-style:dashed;color:var(--flow-text-muted)}.pre-actions{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:4px}.pre-actions .pre-cta{flex:1}.ctawrap-start{width:var(--flow-size-cta-idle);height:var(--flow-size-cta-idle)}.pre-privacy{text-align:center}.pre-privacy-link{text-decoration:underline}
