*{box-sizing:border-box}:root{--flow-accent-ink-bubble: color-mix( in srgb, var(--flow-accent-cta) 55%, var(--flow-teacher-bubble-text) );--flow-accent-ink: color-mix(in srgb, var(--flow-accent-cta) 55%, var(--flow-page-text));--flow-bubble-muted: color-mix(in srgb, var(--flow-text-muted) 60%, var(--flow-teacher-bubble-text));--flow-surface-muted: color-mix(in srgb, var(--flow-text-muted) 60%, var(--flow-page-text))}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:5px;font-variant-numeric:tabular-nums}.badge-minutes .ic{width:14px;height:14px;flex:none}.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}.sysnote-hold{align-self:flex-end;border-color:color-mix(in srgb,var(--flow-accent-cta) 40%,transparent);color:var(--flow-accent-ink)}.state-line{display:flex;align-items:center;gap:7px;margin-top:8px;font-size:var(--flow-type-pill-size);font-weight:var(--flow-type-pill-weight);color:var(--flow-accent-ink-bubble)}.state-note{font-weight:400;color:var(--flow-bubble-muted)}.bub-live{color:var(--flow-bubble-muted)}.feed-end{flex:none;height:0;margin-top:-8px}.dots{display:inline-block;width:3ch;vertical-align:baseline}.dots:after{content:"...";display:inline-block;width:0;overflow:hidden;vertical-align:bottom;animation:dots var(--flow-motion-pill-thinking) steps(4,jump-none) infinite}@keyframes dots{to{width:3ch}}.pinned-row{position:sticky;bottom:6px;z-index:2;align-self:stretch;flex:none;height:0;margin-top:-8px;display:flex;justify-content:center;align-items:flex-start;pointer-events:none}.pinned{pointer-events:auto;transform:translateY(-100%);flex:none;min-height:0;display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border:1px solid color-mix(in srgb,var(--flow-accent-cta) 45%,transparent);border-radius:999px;background:var(--flow-surface);color:var(--flow-accent-ink);font-size:var(--flow-type-hint-size);font-weight:500;box-shadow:0 6px 18px color-mix(in srgb,var(--flow-page-text) 14%,transparent)}.pinned:after{content:"";position:absolute;inset:calc((28px - var(--flow-size-tap-target)) / 2) -6px}.pinned-note{font-weight:400;color:var(--flow-surface-muted)}@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)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.62}}.ic{width:16px;height:16px}.cta .ic{width:30px;height:30px}.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;display:grid;place-items:center;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:min(8.4em,22dvh);max-height:min(6lh,22dvh);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{opacity:1;background:color-mix(in srgb,var(--flow-accent-cta) var(--flow-size-mode-tint),transparent);color:var(--flow-accent-cta)}button.done-under{margin-top:14px;width:100%;min-height:44px;padding:11px 16px;border:0;border-radius:999px;background:var(--flow-accent-cta);color:var(--flow-accent-text);font:inherit;font-weight:600}button.finish-inline{flex:none;margin-left:6px;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.finish-inline:disabled{opacity:.35}.bub-voice{display:flex;flex-direction:column;gap:6px}.bub-voice-label{display:flex;align-items:center;gap:9px;font-size:var(--flow-type-hint-size);font-weight:500;opacity:.75}.inp-recording{border-color:var(--flow-accent-cta)}.rec{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.rec-dot{flex:none;width:8px;height:8px;border-radius:50%;background:var(--flow-accent-cta);animation:rec-pulse 1.4s ease-in-out infinite}@keyframes rec-pulse{0%,to{opacity:1}50%{opacity:.35}}.rec-time{flex:none;color:var(--flow-page-text);font-size:var(--flow-type-hint-size);font-variant-numeric:tabular-nums}.rec-wave{display:flex;align-items:center;gap:2px;height:18px;flex:none}.rec-bar{width:3px;border-radius:2px;background:var(--flow-accent-cta);transition:height 80ms linear}button.mode-recording{background:var(--flow-accent-cta);color:var(--flow-accent-text);transform:scale(1.18)}.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}.hint-bar{min-height:calc(var(--flow-type-hint-size) * var(--flow-type-hint-leading))}.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;text-wrap:pretty}.takeover,.sound-gate{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%}.takeover-btn,.sound-gate-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,.sound-gate-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-eyebrow{display:flex;margin-bottom:2px}.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,.sysnote,.chips,.corr,.spinner,.bub-aborted{animation:none}.ring,.cta{transition:none}.dots:after{animation:none;width:3ch}}.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;text-wrap:pretty}.pre .pre-card .hint{max-width:none}.pre-title,.pre-subtitle{text-wrap:balance}.pre-entry{flex:1;justify-content:center;gap:14px}.pre-wordmark{margin:0;font-size:var(--flow-type-wordmark-size);font-weight:var(--flow-type-wordmark-weight);line-height:var(--flow-type-wordmark-leading);letter-spacing:var(--flow-type-wordmark-tracking);color:var(--flow-page-text)}.pre-tagline{margin:0 0 8px;font-size:var(--flow-type-tagline-size);font-weight:var(--flow-type-tagline-weight);line-height:var(--flow-type-tagline-leading);color:var(--flow-text-muted);text-wrap:balance}.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}.code-field{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:22px;font-weight:600;letter-spacing:.3em;text-transform:uppercase}.code-field::placeholder{font-family:inherit;font-size:var(--flow-type-hint-size);font-weight:400;letter-spacing:normal;text-transform:none}.pre-link-muted{color:var(--flow-text-muted);font-weight:500}.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-step-mid{flex:1;justify-content:center;gap:16px}.code-cells{position:relative;display:flex;gap:8px}.code-cell{flex:1;min-width:0;height:56px;display:grid;place-items:center;border:1px solid var(--flow-border);border-radius:12px;background:var(--flow-surface);color:var(--flow-page-text);font:600 24px ui-monospace,Menlo,monospace}.code-cell:not(:empty),.code-cell-on{border-color:var(--flow-accent-cta)}.code-cells-bad .code-cell{border-color:var(--flow-danger)}.code-cells-input{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:transparent;color:transparent;caret-color:transparent;font:600 24px ui-monospace,Menlo,monospace;letter-spacing:0;text-align:center}.code-cells-input:focus{outline:none}.code-cells:focus-within .code-cell-on{box-shadow:0 0 0 3px color-mix(in srgb,var(--flow-accent-cta) 22%,transparent)}.pre-link-quiet{color:var(--flow-text-muted);font-weight:400}.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);text-wrap:pretty}.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-wrap{position:relative;display:flex}.pre-card-wrap .pre-card{flex:1;padding-right:52px}.pre-card-more{position:absolute;top:1.5px;right:5px;display:grid;place-items:center;width:var(--flow-size-tap-target);min-height:var(--flow-size-tap-target);padding:0;border-color:transparent;background:transparent;color:var(--flow-text-muted)}.pre-card-more .ic path{stroke-width:2.2}.pre-card-on{border-color:var(--flow-accent-cta);background:color-mix(in srgb,var(--flow-accent-cta) 6%,var(--flow-surface))}.pre-card-check{display:grid;place-items:center;color:var(--flow-accent-cta)}.pre-card-check .ic{width:19px;height:19px}.pre-card-check .ic path{stroke-width:2.2}.pre-card-value{font-size:var(--flow-type-hint-size);font-weight:500;color:var(--flow-accent-cta)}.pre-card-flat{background:var(--flow-surface);border:1px solid var(--flow-border)}.pre-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;width:100%}.pre-card-name{font-size:var(--flow-type-ui-size);font-weight:600;color:var(--flow-page-text)}.pre-card-percent{flex:none;font-size:var(--flow-type-hint-size);font-weight:600;color:var(--flow-chip-text);white-space:nowrap}.pre-card-stage{margin-top:2px}.pre-card-add{border-style:dashed;color:var(--flow-text-muted)}.pre-doors{display:flex;align-items:flex-start;justify-content:center;gap:10px;margin:auto -18px 0;padding:9px 14px 12px;background:var(--flow-sheet-bg);border-top:1px solid var(--flow-border)}.pre-step-tall{flex:1}.pre-door{display:flex;flex-direction:column;align-items:center;gap:5px;width:78px;min-height:0;padding:30px 0 0;border:0;background:transparent}.pre-door-circle{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--flow-border);border-radius:50%;background:var(--flow-surface);color:var(--flow-text-muted)}.pre-door-circle .ic{width:20px;height:20px}.pre-door-label{font-size:11px;font-weight:400;line-height:1.25;text-align:center;color:var(--flow-text-muted)}.pre-door:disabled{opacity:.45}.pre-live{display:flex;flex-direction:column;align-items:center;gap:3px}.pre-live-label{font-size:var(--flow-type-pill-size);font-weight:600;color:var(--flow-accent-cta)}.ctawrap-start{width:104px;height:104px}.cta-big{width:88px;height:88px}.cta-big .ic{width:34px;height:34px}.pre .hint.pre-privacy{max-width:none;text-align:center;text-wrap:balance}.pre-privacy-link{text-decoration:underline}.progress-tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px}.progress-tile{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:1px solid var(--flow-border);border-radius:var(--flow-card-radius);background:var(--flow-surface)}.progress-value{font-size:var(--flow-type-onboarding-size);font-weight:var(--flow-type-onboarding-weight);line-height:var(--flow-type-onboarding-leading)}.progress-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-text-muted)}.progress-tile-accent{border-color:color-mix(in srgb,var(--flow-accent-cta) 55%,var(--flow-border))}.progress-tile-accent .progress-value{color:var(--flow-accent-cta)}.lang-picker{position:relative;display:inline-flex;align-items:center;flex:none;border:1px solid var(--flow-border);border-radius:999px;background:var(--flow-surface)}.lang-picker select{appearance:none;-webkit-appearance:none;border:0;background:none;padding:0 22px 0 10px;min-height:var(--flow-size-tap-target);margin:calc((28px - var(--flow-size-tap-target)) / 2) 0;color:var(--flow-text-muted);font:inherit;font-size:var(--flow-type-tm-size);font-weight:500;white-space:nowrap}.lang-picker-caret{position:absolute;right:9px;pointer-events:none;color:var(--flow-text-muted);font-size:var(--flow-type-tm-size)}.progress-chart{margin-top:14px}.chart-days{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;align-items:end;gap:6px;height:96px;margin:0;padding:0;list-style:none}.chart-col{display:grid;grid-template-rows:1fr auto;justify-items:center;align-items:end;height:100%;gap:6px}.chart-bar{display:block;width:100%;height:var(--chart-fill, 0%);min-height:3px;border-radius:4px;background:color-mix(in srgb,var(--flow-accent-cta) 38%,var(--flow-surface))}.chart-col-empty .chart-bar,.chart-col-pending .chart-bar{height:100%;min-height:0;border-width:1px;border-style:dashed;border-color:color-mix(in srgb,var(--flow-text-muted) 55%,transparent);border-radius:6px;background:none}.chart-col-pending .chart-bar{background:var(--flow-skeleton)}.chart-col-today:not(.chart-col-empty):not(.chart-col-pending) .chart-bar{background:var(--flow-accent-cta)}.chart-label{font-size:var(--flow-type-lbl-size);line-height:1;color:var(--flow-text-muted)}.chart-col-today .chart-label{color:var(--flow-accent-cta)}.progress-rung{display:flex;align-items:center;gap:16px;width:100%;margin-top:14px;padding:14px 16px;border:1px solid var(--flow-border);border-radius:var(--flow-card-radius);background:var(--flow-surface);color:var(--flow-page-text);text-align:left}.progress-rung-ring{display:block;flex:none}.progress-rung-track{stroke:var(--flow-border);stroke-width:7}.progress-rung-fill{stroke:var(--flow-accent-cta);stroke-width:7;stroke-linecap:round}.progress-rung-body{display:flex;flex:1 1 0;min-width:0;flex-direction:column;gap:3px}.progress-rung-name{font-size:var(--flow-type-h2s-size);font-weight:var(--flow-type-h2s-weight);line-height:var(--flow-type-h2s-leading)}.progress-rung-line{font-size:var(--flow-type-ui-size);font-weight:var(--flow-type-ui-weight);line-height:var(--flow-type-ui-leading);color:var(--flow-surface-muted)}.progress-rung-week{font-size:var(--flow-type-hint-size);font-weight:var(--flow-type-hint-weight);line-height:var(--flow-type-hint-leading);color:var(--flow-accent-ink)}.progress-rung-caret{flex:none;color:var(--flow-text-muted)}.sr-only,.chart-caption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.progress-recent{margin-top:14px}.progress-notice{margin-top:8px}.progress-retry{align-self:flex-start}.progress-segments{display:flex;gap:8px}.progress-segment{min-height:var(--flow-size-tap-target);padding:0 16px;border:1px solid var(--flow-border);border-radius:999px;background:transparent;color:var(--flow-page-text);font-size:var(--flow-type-ui-size);font-weight:500}.progress-segment-on{border-color:transparent;background:var(--flow-page-text);color:var(--flow-page-bg)}.progress-panel{display:flex;flex-direction:column;gap:9px}.ladder-card{display:flex;flex-direction:column;gap:8px;padding:14px;border:1px solid var(--flow-border);border-radius:var(--flow-card-radius);background:var(--flow-surface)}.ladder-card-title{margin:0;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)}.ladder-map-title{margin: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)}.ladder-map-title-native{font-size:var(--flow-type-hint-size);font-weight:400;color:var(--flow-text-muted)}.ladder-map-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.ladder-new{flex:none;white-space:nowrap}.ladder-areas{display:flex;flex-direction:column;gap:5px}.ladder-area{display:flex;flex-direction:column;gap:3px}.ladder-area-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:0}.ladder-area-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--flow-type-hint-size);color:var(--flow-page-text)}.ladder-area-percent{flex:none;font-variant-numeric:tabular-nums;font-size:var(--flow-type-hint-size);font-weight:600;color:var(--flow-chip-text)}.ladder-squares{display:grid;grid-template-columns:repeat(21,1fr);gap:3px;padding:3px;border:1px solid var(--flow-border);border-radius:4px}.ladder-square{aspect-ratio:1;border-radius:2px}.ladder-square-dark{background:var(--flow-chip-text)}.ladder-square-training{background:color-mix(in srgb,var(--flow-chip-text) 64%,var(--flow-skeleton))}.ladder-square-light{background:color-mix(in srgb,var(--flow-chip-text) 28%,var(--flow-skeleton))}.ladder-square-ahead{background:var(--flow-skeleton)}.ladder-legend{display:flex;flex-wrap:wrap;gap:4px 16px}.ladder-legend-item{display:inline-flex;align-items:center;gap:6px;font-size:var(--flow-type-hint-size);color:var(--flow-text-muted)}.ladder-legend-percent{font-variant-numeric:tabular-nums;font-weight:600;color:var(--flow-page-text)}.ladder-swatch{flex:none;width:10px;height:10px;border-radius:2px}.ladder-swatch-dark{background:var(--flow-chip-text)}.ladder-swatch-training{background:color-mix(in srgb,var(--flow-chip-text) 64%,var(--flow-skeleton))}.ladder-swatch-light{background:color-mix(in srgb,var(--flow-chip-text) 28%,var(--flow-skeleton))}.ladder-swatch-ahead{background:var(--flow-skeleton)}.ladder-stages{display:flex;flex-direction:column;gap:4px}.ladder-stage{display:flex;flex-direction:column;gap:4px;min-height:var(--flow-size-tap-target);padding:8px 10px;border:0;border-radius:12px;background:none;text-align:left}.ladder-stage-on{background:var(--flow-chip-bg)}.ladder-stage-row{display:flex;align-items:center;gap:6px}.ladder-stage-icon{flex:none;width:18px;text-align:center;color:var(--flow-text-muted)}.ladder-stage-name{flex:1;min-width:0;font-size:var(--flow-type-ui-size);color:var(--flow-page-text)}.ladder-stage-here{font-size:var(--flow-type-hint-size);font-weight:400;color:var(--flow-text-muted)}.ladder-stage-bar{flex:none;width:56px;height:6px;border:1px solid var(--flow-border);border-radius:3px;background:var(--flow-skeleton);overflow:hidden}.ladder-stage-bar-full{width:100%;margin-top:2px}.ladder-stage-fill{display:block;height:100%;width:var(--ladder-fill, 0%);background:var(--flow-chip-text)}.ladder-stage-percent{flex:none;width:34px;text-align:right;font-variant-numeric:tabular-nums;font-size:var(--flow-type-hint-size);font-weight:600;color:var(--flow-chip-text)}.ladder-stage-desc{padding-left:24px;font-weight:400}.ladder-stage-on .ladder-stage-desc{color:var(--flow-chip-text)}.words-card{display:flex;flex-direction:column;padding:14px;border:1px solid var(--flow-border);border-radius:var(--flow-card-radius);background:var(--flow-surface)}.words-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.words-head-text{display:flex;flex-direction:column;gap:2px;min-width:0}.words-word{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);overflow-wrap:anywhere}.words-translation{font-size:var(--flow-type-hint-size);line-height:var(--flow-type-hint-leading);color:var(--flow-text-muted)}.words-repeat{flex:none;background:var(--flow-chip-bg);color:var(--flow-chip-text);border-color:color-mix(in srgb,var(--flow-chip-text) 35%,transparent);font-weight:500;white-space:nowrap}.words-phrase{margin:10px 0 0;padding:9px 12px;border-radius:12px;background:var(--flow-user-bubble-bg);color:var(--flow-user-bubble-text);font-size:var(--flow-type-ui-size);line-height:var(--flow-type-bub-leading);overflow-wrap:anywhere}.words-phrase b{font-weight:600}.words-caption{margin:6px 0 0;max-width:none;text-align:left}.words-list{display:flex;flex-direction:column}.words-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:4px}.words-chip{display:inline-flex;flex-direction:column;align-items:flex-start;gap:1px;padding:6px 11px;background:var(--flow-chip-bg);color:var(--flow-chip-text);border-color:color-mix(in srgb,var(--flow-chip-text) 35%,transparent);line-height:1.2}.words-chip-word{font-weight:500}.words-chip-count{margin-left:4px;font-variant-numeric:tabular-nums}.words-chip-translation{font-size:var(--flow-type-tm-size);font-weight:400}.words-chip-more{align-self:center;background:transparent;color:var(--flow-text-muted);border-color:var(--flow-border)}.words-rung{display:flex;align-items:center;gap:12px;width:100%;min-height:var(--flow-size-tap-target);padding:12px 14px;border:1px solid var(--flow-border);border-radius:var(--flow-card-radius);background:var(--flow-surface);color:var(--flow-page-text);text-align:left}.words-rung-body{flex:1;min-width:0}.words-rung-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.words-rung-name{overflow:hidden;font-size:var(--flow-type-hint-size);font-weight:600;white-space:nowrap;text-overflow:ellipsis}.words-rung-percent{flex:none;font-size:var(--flow-type-hint-size);font-weight:600;font-variant-numeric:tabular-nums;color:var(--flow-chip-text)}.words-rung-track,.lang-bar{display:block;height:6px;border-radius:3px;background:var(--flow-border)}.words-rung-track{margin-top:7px}.words-rung-fill,.lang-bar-fill{display:block;height:6px;border-radius:3px;background:var(--flow-chip-text)}.sheet .lang-subtitle{max-width:none;text-align:left}.lang-bar-row{display:flex;align-items:center;gap:9px}.lang-bar{flex:1}.lang-bar-value{flex:none;font-size:var(--flow-type-hint-size);font-weight:600;color:var(--flow-chip-text);white-space:nowrap}.words-rung-caret{flex:none;color:var(--flow-text-muted)}.call-host{display:contents}.call-host[hidden]{display:none}.call-banner{display:flex;align-items:center;gap:8px;margin:6px 10px 0;border-color:var(--flow-accent-cta);color:var(--flow-accent-cta);text-align:left}.call-dot{flex:none;width:8px;height:8px;border-radius:999px;background:var(--flow-accent-cta);animation:pulse var(--flow-motion-pill-pulse, 2s) ease-in-out infinite}.call-lines{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.call-line{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.call-trouble{white-space:normal;text-align:left;font-size:var(--flow-type-hint-size)}.call-banner-trouble{border-color:var(--flow-danger);background:color-mix(in srgb,var(--flow-danger) 14%,transparent);color:var(--flow-danger)}.call-banner-trouble .call-dot{background:var(--flow-danger)}.tabbar{display:flex;gap:8px;padding:4px 10px calc(4px + env(safe-area-inset-bottom));border-top:1px solid var(--flow-border)}.frame:has(.tabbar) .pre-step{padding-bottom:18px}.frame:has(.tabbar) .bar{padding-bottom:14px}.tabbar .tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:44px;border:none;background:none;font-size:10.5px;font-weight:500;color:var(--flow-text-muted)}.tabbar .tab .ic{width:22px;height:22px}.tabbar .tab-on{color:var(--flow-accent-cta)}.privacy-card{padding:12px 14px;border:1px solid var(--flow-affirm);border-radius:var(--flow-card-radius);background:var(--flow-surface);color:var(--flow-affirm)}button.danger{border-color:var(--flow-danger);color:var(--flow-danger)}.confirm-row{display:flex;gap:8px;align-items:flex-start}.confirm-row input[type=checkbox]{flex:none;width:18px;height:18px;min-height:0;margin:2px 0 0;padding:0;border-radius:4px}.policy-item{font-size:var(--flow-type-hint-size);line-height:var(--flow-type-hint-leading)}.transcript-turn{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.restored{max-height:40vh;overflow-y:auto;padding:10px 16px 0;border-bottom:1px solid var(--flow-border)}.show-earlier{display:block;margin:0 auto 8px}@media(pointer:coarse){input:not(.code-field):not(.code-cells-input):not([type=checkbox]):not([type=range]),textarea.inp-live{font-size:16px}}
