@font-face{font-family:Fraunces;src:url(/fonts/fraunces-display.woff2)format("woff2");font-weight:600 700;font-style:normal;font-display:swap}:root{--terracotta:#c2512b;--espresso:#2b2118;--cream:#fbf6ee;--night:#1f1813;--ember:#e2714a;--paper:#f3e9da;--bg:var(--cream);--card:#fdfbf8;--soft:var(--paper);--ink:var(--espresso);--muted:#6b5b4c;--line:#e7dccb;--control:#8f7b68;--accent:var(--terracotta);--accent-ink:#fff;--accent-strong:#ab4a28;--accent-text:#a74828;--accent-tint:#f3dfd3;--focus:var(--accent);--font-display:"Fraunces", Georgia, "Times New Roman", serif;--font-body:system-ui, -apple-system, "Segoe UI", sans-serif;--shadow-soft:0 6px 20px #2b21181a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);overflow-wrap:break-word;-webkit-text-size-adjust:100%;margin:0;line-height:1.45}.shell{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.topbar{padding-top:max(12px, env(safe-area-inset-top))}a{color:var(--accent-text);text-underline-offset:2px}a:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:4px}h1,.page-title,.landing-h2,.daily h2,.card h2,.stats-panel h2,.pricing-title{font-family:var(--font-display);letter-spacing:-.01em;font-weight:700}.shell{min-height:100dvh}.topbar{border-bottom:1px solid var(--line);background:var(--bg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.brand{min-height:44px;color:var(--ink);align-items:center;text-decoration:none;display:inline-flex}.brand .logo{width:auto;height:28px;display:block}.nav{flex-wrap:wrap;gap:16px;display:flex}.nav a{color:var(--muted);font-weight:600;text-decoration:none}.nav a:hover{color:var(--ink)}.topbar-end{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.flag-btn{border:1px solid var(--control);background:var(--card);min-height:32px;color:var(--muted);font:inherit;cursor:pointer;border-radius:999px;padding:2px 12px;font-size:.9rem}.flag-btn:hover,.flag-btn:focus-visible{border-color:var(--accent);color:var(--accent-text)}.flag-btn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.flag-box,.flag-saved{z-index:1500;border:1px solid var(--line);background:var(--card);max-width:min(520px,100vw - 32px);color:var(--ink);box-shadow:var(--shadow-soft);border-radius:16px;flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding:10px 12px;display:flex;position:fixed;top:64px;right:16px}.flag-note{border:1px solid var(--control);background:var(--bg);min-height:40px;color:var(--ink);font:inherit;border-radius:12px;flex:220px;padding:6px 10px}.flag-failed{color:var(--alert-ink);flex-basis:100%;margin:0}.page{max-width:720px;margin:0 auto;padding:20px 16px 48px}.page-title{margin:0 0 6px;font-size:clamp(1.7rem,6vw,2.5rem);line-height:1.12}.lede{color:var(--muted);margin:0 0 20px}.en-tooltip{z-index:2000;max-width:260px;color:var(--cream);pointer-events:none;background:#2b2118f0;border-radius:6px;padding:3px 8px;font-size:.8rem;font-style:normal;font-weight:400;line-height:1.3;position:fixed}[data-en]{cursor:help;-webkit-touch-callout:none}@media (hover:none){[data-en]{-webkit-user-select:none;user-select:none}}.badge{background:var(--soft);border-radius:999px;padding:2px 10px;font-size:.9rem;font-weight:600;display:inline-block}.daily{background:var(--accent);color:var(--accent-ink);box-shadow:var(--shadow-soft);border-radius:24px;flex-direction:column;align-items:flex-start;gap:10px;margin:16px 0 12px;padding:24px 24px 26px;display:flex}.daily h2{margin:0;font-size:clamp(1.5rem,5vw,2.1rem);line-height:1.15}.daily p{margin:0;font-size:1.05rem}.daily .daily-eyebrow{letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;font-weight:700}.daily .scenario-en{color:inherit;font-family:var(--font-body);font-size:1rem;font-weight:500}.daily .btn.daily-go{border-color:var(--accent-ink);background:var(--accent-ink);min-height:52px;color:var(--accent);margin:8px 0 0 10px;padding:14px 28px;font-size:1.1rem}.daily .btn.daily-go:hover{background:var(--accent-ink)}.daily .btn.daily-go:focus-visible{outline-color:var(--accent-ink)}.daily .daily-learn{color:inherit;font-size:.95rem}.review-strip{border:1px solid var(--line);background:var(--card);color:var(--muted);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:8px 8px 8px 16px;display:flex}.review-strip.has-due{border-color:var(--accent);color:var(--ink);font-weight:600}.tiles-title{color:var(--muted);margin:24px 0 8px;font-size:1rem}.tiles{scroll-snap-type:x proximity;gap:10px;margin:0 -2px;padding:2px 2px 10px;display:flex;overflow-x:auto}.tile-group{list-style:none;display:contents}.tile{scroll-snap-align:start;border:1px solid var(--line);background:var(--card);border-radius:14px;flex-direction:column;flex:0 0 168px;gap:6px;min-height:132px;padding:12px 14px;display:flex;position:relative}.tile:hover,.tile:focus-within{border-color:var(--accent)}.tile.is-today{border:2px solid var(--accent)}.tile h2{margin:0;font-size:1rem}.tile p{color:var(--muted);margin:0;font-size:.85rem}.tile-badges{gap:4px;display:flex}.tile-badges .badge{padding:1px 8px;font-size:.75rem}.badge.today{background:var(--accent);color:var(--accent-ink)}.tile-link{margin-top:auto;font-weight:600;text-decoration:none}.tile-link.scenario-title{color:var(--ink);margin-top:0}.tile-link:after{content:"";border-radius:inherit;position:absolute;inset:0}.tile-link:focus-visible{outline:none}.tile:has(.tile-link:focus-visible){outline:2px solid var(--focus);outline-offset:2px}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;flex-direction:column;gap:8px;padding:16px 18px;display:flex}.card h2{margin:0;font-size:1.2rem;font-weight:600}.card p{color:var(--muted);margin:0;font-size:.95rem}.card[aria-disabled=true]{opacity:.6}.resume{border-color:var(--accent);background:var(--resume-bg)}.btn{border:1px solid var(--accent);background:var(--accent);min-height:44px;color:var(--accent-ink);font:inherit;text-align:center;cursor:pointer;border-radius:999px;padding:10px 20px;font-weight:600;line-height:1.4;text-decoration:none;transition:background-color .12s,border-color .12s;display:inline-block}.btn:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.btn.ghost{border-color:var(--accent);color:var(--accent-text);background:0 0}.btn.ghost:hover{background:var(--accent-tint)}.btn:disabled{opacity:.6;cursor:default}.btn:focus-visible,.toggle:focus-within{outline:2px solid var(--focus);outline-offset:2px}.input,.toggle select,.field select,.field input[type=number],.field input[type=text],.field input[type=email],.field input[type=password]{border:1px solid var(--control);background:var(--card);min-height:44px;color:var(--ink);font:inherit;border-radius:12px;padding:6px 12px}.input:focus-visible,.toggle select:focus-visible,.field select:focus-visible,.field input:focus-visible,.flag-note:focus-visible{border-color:var(--accent);outline:2px solid var(--focus);outline-offset:1px}.scenario-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.scenario-title{flex-direction:column;display:flex}.scenario-en{color:var(--muted);font-size:.8em}.scenario-list a{border:1px solid var(--line);min-height:44px;color:var(--ink);border-radius:14px;justify-content:space-between;gap:8px;padding:10px 14px;text-decoration:none;display:flex}.scenario-list a .badge{white-space:nowrap;flex:none;align-self:flex-start}.field{flex-direction:column;gap:4px;margin:0 0 16px;display:flex}.field select,.field input[type=number]{min-height:44px;font:inherit;max-width:100%;padding:6px 10px}.field .help{color:var(--muted);font-size:.9rem}.check{align-items:center;gap:10px;min-height:44px;display:flex}.footnote{color:var(--muted);margin-top:32px;font-size:.8rem}.instance-line{cursor:help;margin:4px 0 0}.page>.card{margin-bottom:12px}.record-table{border-collapse:collapse;width:100%}.record-table th,.record-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:8px 6px}.record-reference{color:var(--muted);font-size:.85rem}.record-actions{white-space:nowrap;gap:6px;display:flex}:root{--chart-1:var(--ink);--chart-2:var(--accent);--chart-fill:var(--accent);--chip-bg:var(--card);--chip-ink:var(--ink);--chip-border:var(--control);--chip-hover-bg:var(--soft);--chip-speaking-bg:var(--accent-tint);--chip-focus:var(--focus);--resume-bg:var(--accent-tint);--banner-bg:var(--soft);--drawer-bg:var(--card);--drawer-fg:var(--ink);--drawer-line:var(--line);--drawer-line-soft:var(--line);--drawer-tag-bg:var(--soft);--drawer-error:var(--alert-ink);--saved-bg:var(--accent);--saved-ink:var(--accent-ink);--meter-track:var(--line);--go:#15803d;--go-ring:#15803d4d;--meter-idle:var(--control);--alert-ink:#b3261e;--warn-ink:#9a4a0b;--test-bg:var(--soft);--test-ink:var(--ink);--word-active:#c2512b3d;--word-selected:#c2512b24;--word-saved:var(--accent);--tutor-bubble:var(--soft);--learner-bubble:var(--accent-tint);--hud-bg:#2b2118db;--hud-ink:#f3e9da;--hud-line:#6b5b4c;--hud-alert:#ff8a80;--shadow:0 2px 6px #2b211840}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:var(--night);--card:#2c251f;--soft:#362f29;--ink:var(--paper);--muted:#aba296;--line:#433a32;--control:#898176;--accent:var(--ember);--accent-ink:var(--night);--accent-strong:#e58360;--accent-text:#e58967;--accent-tint:#462a1e;--shadow-soft:0 6px 20px #00000059;--go:#3fb36b;--go-ring:#3fb36b59;--alert-ink:#ff8a80;--warn-ink:#f0a24a;--word-active:#e2714a57;--word-selected:#e2714a33;--hud-bg:#000000d1;--shadow:0 2px 6px #0009}.suggestion-chip{color:var(--chip-ink);background:var(--chip-bg);border:1px solid var(--chip-border)}.suggestion-chip:hover{background:var(--chip-hover-bg)}.suggestion-chip:focus-visible{outline:2px solid var(--chip-focus);outline-offset:2px}.suggestion-chip[data-speaking=true]{background:var(--chip-speaking-bg)}.stats-panel{margin:0 0 28px}.stats-note,.stats-empty{color:var(--muted);font-size:.9rem}.stats-svg{width:100%;max-width:560px;height:auto}.stats-figure{margin:0}.stats-figure,.stats-scroll{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}.stats-grid{stroke:var(--line);stroke-width:1px}.stats-tick{fill:var(--muted);font-size:10px}.stats-bar{fill:var(--chart-fill)}.stats-legend{gap:16px;font-size:.85rem;display:flex}.stats-legend-name{color:var(--ink)}.stats-table{border-collapse:collapse;width:100%;margin-top:8px;font-size:.9rem}.stats-table th,.stats-table td{text-align:left;border-bottom:1px solid var(--line);padding:4px 6px}.stats-tiles{gap:20px;padding:0;list-style:none;display:flex}.stats-meter-cell{width:40%}.stats-meter{background:var(--chart-fill);border-radius:4px;height:8px;display:block}.stats-grammar-row{align-items:center;gap:10px;margin:4px 0;display:flex}.stats-grammar-level{width:3rem;color:var(--muted);font-size:.85rem}.stats-grammar-cells{flex-wrap:wrap;gap:3px;display:flex}.stats-cell{text-align:center;min-width:2.2rem;color:var(--ink);background:color-mix(in srgb, var(--chart-fill) calc(var(--m) * .55), var(--card));border:1px solid var(--line);border-radius:4px;padding:3px 4px;font-size:.75rem}.stats-cell-none{color:var(--muted);background:repeating-linear-gradient(45deg, transparent 0 4px, var(--line) 4px 5px)}.analytics-tiles{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;padding:0;list-style:none;display:grid}.analytics-tile{border:1px solid var(--line);background:var(--card);border-radius:14px;flex-direction:column;gap:4px;padding:12px;display:flex}.analytics-tile-label,.analytics-tile-detail{color:var(--muted);font-size:.8rem}.analytics-tile-value{color:var(--ink);font-size:1.6rem}.funnel{gap:8px;margin:0;padding:0;list-style:none;display:grid}.funnel-step{grid-template-columns:minmax(120px,11rem) 1fr 3rem 3.5rem;align-items:center;gap:8px;display:grid}.funnel-label,.funnel-rate{color:var(--muted);font-size:.85rem}.funnel-count{color:var(--ink);text-align:right}.funnel-track{height:14px}.funnel-bar{background:var(--chart-1);border-radius:0 4px 4px 0;min-width:2px;height:100%;display:block}.retention-cell{color:var(--ink);text-align:right}.talk{flex-direction:column;align-items:center;max-width:560px;margin:0 auto;padding:12px 16px 24px;display:flex}.talk-stage{z-index:5;background:var(--bg);border-bottom:1px solid var(--line);flex-direction:column;align-items:center;width:100%;margin-bottom:12px;padding:4px 0 8px;display:flex;position:sticky;top:0}.talk-ended .talk-stage{border-bottom:none;position:static}.talk-avatar{justify-content:center;display:flex}.talk-now{text-align:center;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:8px 0 0;font-size:1.05rem;line-height:1.4;display:-webkit-box;overflow:hidden}@media (width<=480px),(height<=800px){.talk-stage .talk-avatar svg{width:120px;height:156px}}.talk-status{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin:0 0 12px;display:flex}.talk-phase{font-weight:600}.talk-status-note{color:var(--muted);font-size:.85rem}.badge.test-mode{background:var(--test-bg);color:var(--test-ink);font-size:.75rem;font-weight:500}.talk-note{text-align:center;margin:0 0 8px;font-size:.9rem}.talk-alert{text-align:center;color:var(--alert-ink);margin:0 0 8px}.recap{text-align:left;border-bottom:1px solid var(--line);width:100%;margin:0 0 16px;padding:0 0 16px;font-size:14px}.recap-word{margin:0 12px 4px 0;display:inline-block}.btn.recap-word-add{min-height:32px;padding:4px 10px;font-size:13px}.recap-review-btn{margin-top:6px}.mic-help{border-color:var(--accent);width:100%;margin:0 0 12px}.mic-help .btn{align-self:flex-start}.mic-meter{align-items:center;gap:8px;width:100%;max-width:320px;margin:0 0 8px;font-size:.75rem;display:flex}.mic-meter-track{background:var(--meter-track);border-radius:4px;flex:auto;height:8px;overflow:hidden}.mic-meter-fill{background:var(--meter-idle);height:100%;transition:width 80ms linear}.mic-meter[data-sending=true] .mic-meter-fill{background:var(--go)}.mic-meter-label{color:var(--muted);flex:none}.hold-panel{flex-direction:column;align-items:center;gap:6px;margin:0 0 12px;display:flex}.hold-btn{width:120px;height:120px;font:inherit;color:var(--accent-ink);background:var(--accent);box-shadow:var(--shadow);touch-action:none;-webkit-user-select:none;user-select:none;cursor:pointer;border:none;border-radius:50%;font-size:1.1rem;font-weight:700}.hold-btn[aria-pressed=true]{background:var(--go);box-shadow:0 0 0 8px var(--go-ring)}.hold-hint{text-align:center;margin:0}.hold-hint-on{font-weight:700}.hold-warning{text-align:center;color:var(--warn-ink);margin:0;font-weight:700}.open-mic-offer{max-width:34rem;color:var(--muted);text-align:center;margin:-4px auto 12px;padding:0 4px;font-size:.85rem}.open-mic-actions{white-space:nowrap;display:inline-block}.link-btn,.open-mic-dismiss{vertical-align:middle;min-height:32px;font:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:0 6px}.link-btn{color:var(--accent-text);text-underline-offset:2px;font-weight:600;text-decoration:underline}.open-mic-dismiss{min-width:32px;color:var(--muted);font-size:1.1rem;line-height:1}.link-btn:focus-visible,.open-mic-dismiss:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.talk-transcript{width:100%;min-height:80px;margin-bottom:16px}.transcript-wrap{position:relative}.transcript-new-lines{box-shadow:var(--shadow);position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.transcript{max-height:320px;padding:8px 14px;line-height:1.55;overflow-y:auto}.transcript-turn{margin-bottom:12px;display:flex}.transcript-turn-user{justify-content:flex-end}.transcript-line{max-width:88%;margin:0}.transcript-speaker{color:var(--muted);letter-spacing:.02em;font-size:.75rem;font-weight:700;display:block}.transcript-empty{margin:4px 0 8px 8px}.transcript-interim{opacity:.6}:root{--bubble-tail:path("M9.6 6.1Q9.4 6.6 9.3 7Q8.8 8 8.2 9Q7.6 10 7 10.9Q6.3 11.9 5.5 12.8Q4.6 13.7 3.7 14.6Q2.7 15.5 1.7 16.3Q0.6 17.1 0.3 17.3Q0.1 17.5 0 17.8Q0 18.1 0.2 18.3Q0.4 18.6 0.7 18.6Q1 18.7 2.5 18.7Q3.9 18.7 5.4 18.6Q6.9 18.4 8.4 18.1Q9.8 17.8 11.3 17.3Q12.7 16.8 14.2 16.2Q15.6 15.5 17 14.7L17.8 15.2L23 16.8L23 0L8.6 0Z")}.bubble,.bubble-cta{isolation:isolate;position:relative}.bubble{background:var(--tutor-bubble);width:fit-content;color:var(--ink);border-radius:20px;padding:8px 14px 9px}.bubble:before,.bubble-cta:before{content:"";z-index:-1;background:inherit;width:23px;height:19px;clip-path:var(--bubble-tail);pointer-events:none;position:absolute;bottom:-1px;left:-8px}.bubble-learner{background:var(--learner-bubble);margin-left:auto}.bubble-learner:before{left:auto;right:-8px;transform:scaleX(-1)}.bubble-empty{color:var(--muted);margin-left:8px}.bubble-cta{margin-left:8px}.bubble-cta:before{bottom:-2px}.tutor-word{cursor:pointer;border-radius:3px;transition:background 70ms,font-weight 70ms}.tutor-word[data-lang=en]{font-style:italic}.tutor-word[data-selected]{background:var(--word-selected)}.tutor-word[data-active]{background:var(--word-active);font-weight:600}.tutor-word[data-saved]{text-decoration:underline;-webkit-text-decoration-color:var(--word-saved);text-decoration-color:var(--word-saved);text-underline-offset:3px}.talk-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin:8px 0 12px;display:flex}.talk-options{flex-wrap:wrap;justify-content:center;gap:8px;font-size:.9rem;display:flex}.toggle{border:1px solid var(--line);background:var(--card);cursor:pointer;border-radius:999px;align-items:center;gap:8px;min-height:44px;padding:4px 12px;display:inline-flex}.toggle input[type=checkbox]{accent-color:var(--accent);width:18px;height:18px;margin:0}.toggle select{min-height:32px;padding:2px 6px}.talk-hud{flex-direction:column;align-items:center;gap:6px;width:100%;margin-top:16px;display:flex}.talk-hud .hud-panel{box-sizing:border-box;pointer-events:auto;max-width:100%;overflow-x:auto}.hud-panel{background:var(--hud-bg);color:var(--hud-ink);pointer-events:none;border-radius:6px;padding:6px 10px;font:12px ui-monospace,monospace}.hud-hoverable{pointer-events:auto}.hud-table{border-collapse:collapse}.hud-cell{text-align:right;padding:1px 6px}.hud-summary{border-top:1px solid var(--hud-line)}.hud-note{opacity:.7;margin-top:4px}.hud-cap{color:var(--hud-alert);margin-top:2px}.review-card{gap:12px}.review-count{font-size:.85rem}.card .review-prompt{font-family:var(--font-display);color:var(--ink);font-size:1.5rem;font-weight:600}.card .review-reaction{color:var(--ink);font-weight:600}.review-form{flex-wrap:wrap;gap:8px;display:flex}.review-form .input{flex:200px}.review-actions{flex-wrap:wrap;gap:8px;display:flex}.review-error{color:var(--alert-ink)}.explain-drawer{background:var(--drawer-bg);width:min(380px,90vw);color:var(--drawer-fg);z-index:1000;font-family:var(--font-body);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0;overflow:hidden;box-shadow:-4px 0 20px #2b211826}.explain-close{min-width:44px;min-height:44px;color:inherit;cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:20px}.explain-actions{padding:12px 16px max(12px, env(safe-area-inset-bottom));border-top:1px solid var(--drawer-line);gap:8px;display:flex}.explain-actions button{cursor:pointer;min-height:44px;padding:8px 16px}@media (width<=480px){.topbar{padding:max(8px, env(safe-area-inset-top)) 12px 8px;gap:6px 12px}.brand .logo{height:24px}.nav,.topbar-end{gap:12px}.nav a{align-items:center;min-height:44px;display:inline-flex}.flag-btn{min-height:44px}.page{padding:16px 12px max(40px, env(safe-area-inset-bottom))}.daily{align-items:stretch;padding:20px 16px}.daily .btn.daily-go{width:calc(100% - 10px)}.tile{flex-basis:148px}.talk{padding:8px 12px max(24px, env(safe-area-inset-bottom))}.stats-svg{min-width:480px}.stats-table{white-space:nowrap}.explain-drawer{border-radius:20px 20px 0 0;width:auto;max-height:70dvh;top:auto;left:0;box-shadow:0 -4px 20px #2b211833}.talk-live .talk-actions{z-index:6;width:calc(100% + 24px);padding:8px 12px max(8px, env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--line);flex-wrap:nowrap;margin:0 -12px 12px;position:sticky;bottom:0}.talk-live .talk-actions .btn{padding:10px 14px}.talk-live .hold-panel{bottom:calc(61px + env(safe-area-inset-bottom));z-index:6;background:var(--bg);order:1;width:calc(100% + 24px);margin:0 -12px;padding:8px 12px 4px;position:sticky}.talk-live .hold-btn{width:96px;height:96px}.talk-live .hold-hint{display:none}.talk-live .hold-warning{font-size:.85rem}.open-mic-offer{margin:0 auto 8px}.link-btn,.open-mic-dismiss{min-height:44px}.open-mic-dismiss{min-width:44px}.talk-live .talk-actions{order:2}.talk-live .talk-options,.talk-live .talk-hud{order:3}.suggestion-chip{min-height:44px}}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.auth-shell{flex-direction:column;display:flex}.auth-shell .page{flex:1 0 auto;width:100%}.auth-narrow{max-width:440px}.auth-wide{max-width:880px}.auth-lang select{max-width:11rem;min-height:36px;padding:4px 8px}.auth-top-link{font-weight:600;text-decoration:none}.auth-footer{padding:16px 16px max(16px, env(safe-area-inset-bottom));border-top:1px solid var(--line);text-align:center;font-size:.9rem}.auth-footer a{color:var(--muted)}.landing-hero{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px 40px;padding:clamp(12px,6vw,56px) 0 clamp(16px,5vw,40px);display:grid}.landing-mark{justify-content:center;display:flex}.landing-logo{width:clamp(200px,28vw,260px);height:auto;display:block}@media (width<=720px){.landing-hero{grid-template-columns:minmax(0,1fr)}.landing-mark{display:none}}.landing-title{max-width:14ch;margin-bottom:14px;font-size:clamp(2.2rem,9vw,3.6rem);line-height:1.05}.landing-lede{max-width:36rem;font-size:clamp(1.05rem,3.6vw,1.25rem)}.landing-needs{color:var(--muted);margin:12px 0 0;font-size:.9rem}.landing-h2{margin:40px 0 14px;font-size:clamp(1.4rem,4.5vw,1.75rem);line-height:1.2}.landing-steps{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.landing-step h3{margin:0;font-size:1.1rem}.landing-step-n{background:var(--soft);width:32px;height:32px;color:var(--accent-text);font-family:var(--font-display);border-radius:50%;place-items:center;font-weight:700;display:inline-grid}.landing-personas{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.landing-persona{align-items:flex-start;gap:12px;display:flex}.landing-persona h3{margin:0;font-size:1.1rem}.landing-persona p{color:var(--muted);margin:2px 0 6px}.landing-monogram{background:var(--soft);width:44px;height:44px;color:var(--accent-text);font-family:var(--font-display);border-radius:50%;flex:none;place-items:center;font-size:1.3rem;font-weight:700;display:inline-grid}.landing-demos{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.landing-demo{margin:0}.landing-demo-line{margin:0 0 10px}.landing-clip{aspect-ratio:16/9;background:var(--soft);border-radius:12px;width:100%;margin-bottom:8px}.landing-privacy{border-left:3px solid var(--accent);background:var(--soft);border-radius:0 14px 14px 0;margin:28px 0 0;padding:14px 16px}.auth-actions{flex-wrap:wrap;gap:10px;margin:16px 0;display:flex}.auth-actions .btn{flex:200px}.provider-btn{background:var(--card);width:100%;color:var(--ink);border-color:var(--line);justify-content:center;align-items:center;gap:10px;margin-top:16px;display:flex}.apple-btn{color:#fff;background:#000;border-color:#000}.apple-btn:hover{background:#1d1d1f}.provider-btn+.provider-btn{margin-top:10px}.google-btn:hover{border-color:var(--muted)}.auth-divider{color:var(--muted);align-items:center;gap:12px;margin:20px 0;font-size:.9rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";border-top:1px solid var(--line);flex:1}.auth-form .field input{width:100%}.auth-submit{width:100%;margin-top:8px}.auth-error{color:var(--alert-ink);margin:8px 0}.auth-ok{color:var(--ink);font-weight:600}.auth-small,.auth-switch{color:var(--muted);font-size:.9rem}.auth-switch{text-align:center;margin-top:20px}.auth-icon{color:var(--accent-text);margin:12px 0 4px;font-size:2.4rem}.turnstile{min-height:65px;margin:8px 0}.privacy-card{border-color:var(--accent);margin:8px 0 4px}.privacy-list{flex-direction:column;gap:10px;padding-left:1.2rem;display:flex}.account{border-top:1px solid var(--line);margin-top:36px;padding-top:8px}.danger-zone{border:1px solid var(--alert-ink);border-radius:18px;margin-top:24px;padding:14px 16px}.danger-zone h3{margin:0 0 4px}.danger-zone .field input{width:100%}.btn.danger{background:var(--alert-ink);border-color:var(--alert-ink);color:var(--bg)}.practice-meter-row{grid-template-columns:6.5rem 1fr 3rem;align-items:center;gap:.75rem;margin:.5rem 0;display:grid}.practice-bar{background:var(--meter-track);border-radius:4px;height:8px;display:block;overflow:hidden}.practice-bar-fill{background:var(--chart-fill);border-radius:4px;height:100%;display:block}.practice-bar[data-level=low] .practice-bar-fill{background:var(--warn-ink)}.practice-bar[data-level=out]{outline:1px solid var(--meter-idle);outline-offset:-1px}.practice-meter-value{text-align:right;font-variant-numeric:tabular-nums;color:var(--muted)}.practice-meter.compact{margin:0 0 1rem;font-size:.875rem}.practice-meter-line{flex-wrap:wrap;align-items:center;gap:.25rem 1.25rem;display:flex}.practice-meter-title{font-weight:600}.practice-meter.compact .practice-meter-row{grid-template-columns:auto 4rem auto;gap:.5rem;margin:0}.practice-meter.compact .help{margin:.25rem 0 0}.pricing{margin-top:28px}.pricing.compact{margin:16px 0 8px}.pricing .pricing-title{margin:0}.pricing.compact .pricing-title{font-size:1.1rem}.pricing .pricing-lede{color:var(--ink)}.pricing-figures{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px 16px;margin:4px 0;display:grid}.pricing-figure dt{color:var(--muted);font-size:.85rem}.pricing-figure dd{color:var(--ink);margin:2px 0 0;font-size:1.6rem;font-weight:600}.tier-cards{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:8px 0;padding:0;list-style:none;display:grid}.tier-card{border:1px solid var(--line);background:var(--card);border-radius:18px;flex-direction:column;gap:2px;padding:14px 16px;display:flex}.tier-card p{margin:0}.tier-card .tier-name{color:var(--ink);font-weight:600}.tier-card .tier-price{color:var(--ink);font-size:1.35rem;font-weight:600}.pricing.compact .tier-card .tier-price{font-size:1.15rem}.tier-card .tier-minutes{color:var(--muted)}.tier-card .btn{align-self:flex-start;margin-top:8px}.billing-minutes{grid-template-columns:auto 1fr;align-items:center;gap:4px 12px;margin:12px 0 4px;display:grid}.billing-minutes-label{color:var(--muted);font-size:.85rem}.billing-minutes .practice-bar{grid-column:1/-1}.billing-minutes-value{font-variant-numeric:tabular-nums;color:var(--ink);grid-column:1/-1}.billing-minutes .help{grid-column:1/-1;margin:0}.billing-overage{margin:12px 0}.billing-overage .help{margin:4px 0 0}.billing-choose h4{margin:16px 0 4px}.consent{margin:12px 0 4px}.consent-check{border:1px solid var(--line);background:var(--card);border-radius:14px;align-items:flex-start;gap:10px;min-height:44px;padding:10px 12px;display:flex}.consent-check input{width:22px;height:22px;accent-color:var(--accent);flex:none;margin:1px 0 0}.consent-check input[aria-invalid=true]{outline:2px solid var(--alert-ink);outline-offset:2px}.offer-note,.draft-note{border-left:3px solid var(--accent);background:var(--soft);border-radius:0 10px 10px 0;margin:12px 0;padding:12px 14px}.billing{margin-top:20px}.billing h3{margin:0 0 8px}.billing-notice{border:1px solid var(--warn-ink);background:var(--card);border-radius:14px;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:8px 0 12px;padding:10px 14px;display:flex}.billing-notice.blocked{border-color:var(--alert-ink)}.billing-notice a,.language-chip a{font-weight:600}.badge.beta{background:var(--accent);color:var(--accent-ink);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem}.welcome-languages{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;padding:0;list-style:none;display:grid}.welcome-card{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;flex-direction:column;align-items:flex-start;gap:6px;display:flex}.welcome-language{font-size:1.25rem;font-weight:700}.welcome-native{opacity:.7;font-weight:400}.field-row{align-items:center;gap:8px;display:inline-flex}
