:root{--bg:#faf8f2;--surface:#fff;--surface-2:#f3f0e7;--ink:#252a36;--ink-2:#3d4352;--muted:#5f6878;--line:#e7e2d6;--line-strong:#d6d0c1;--primary:#4b3fb8;--primary-ink:#fff;--primary-hover:#3f34a0;--focus:#4b3fb8;--lavender:#dcd5ff;--lavender-ink:#3e3496;--coral:#ffb7a8;--coral-ink:#9c3b27;--mint:#bfe9d5;--mint-ink:#1d654a;--sky:#c8e1ff;--sky-ink:#234f8a;--yellow:#f7d986;--yellow-ink:#6e520a;--good:#1d654a;--good-bg:#ddf3e8;--note:#6e520a;--note-bg:#fbefc9;--improve:#9c3b27;--improve-bg:#ffe3dc;--shadow-1:0 1px 2px #252a360f,0 2px 8px #252a360a;--shadow-2:0 8px 30px #252a361a;--font-display:"Bricolage Grotesque","Figtree",ui-sans-serif,system-ui,sans-serif;--font-body:"Figtree",ui-sans-serif,system-ui,-apple-system,"Segoe UI","Noto Sans JP",sans-serif;--step--1:.875rem;--step-0:1rem;--step-1:1.125rem;--step-2:1.375rem;--step-3:1.75rem;--step-4:2.25rem;--step-5:clamp(2.5rem,5.4vw,4.25rem);--r-sm:10px;--r-md:14px;--r-lg:22px;--r-pill:999px;--gutter:clamp(16px,4vw,40px);--buncss-light:initial;--buncss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#181b24;--surface:#212532;--surface-2:#292e3c;--ink:#edebe5;--ink-2:#d2d0ca;--muted:#a4abba;--line:#333949;--line-strong:#444b5d;--primary:#b3a9ff;--primary-ink:#17123d;--primary-hover:#c7bfff;--focus:#b3a9ff;--lavender:#3a3567;--lavender-ink:#d2ccff;--coral:#4c2f2b;--coral-ink:#ffc2b5;--mint:#213f35;--mint-ink:#a9e6cb;--sky:#223450;--sky-ink:#b7d5ff;--yellow:#433a1f;--yellow-ink:#f3d68a;--good:#a9e6cb;--good-bg:#213f35;--note:#f3d68a;--note-bg:#433a1f;--improve:#ffc2b5;--improve-bg:#4c2f2b;--shadow-1:0 1px 2px #0000004d;--shadow-2:0 10px 30px #00000059;--buncss-light: ;--buncss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#181b24;--surface:#212532;--surface-2:#292e3c;--ink:#edebe5;--ink-2:#d2d0ca;--muted:#a4abba;--line:#333949;--line-strong:#444b5d;--primary:#b3a9ff;--primary-ink:#17123d;--primary-hover:#c7bfff;--focus:#b3a9ff;--lavender:#3a3567;--lavender-ink:#d2ccff;--coral:#4c2f2b;--coral-ink:#ffc2b5;--mint:#213f35;--mint-ink:#a9e6cb;--sky:#223450;--sky-ink:#b7d5ff;--yellow:#433a1f;--yellow-ink:#f3d68a;--good:#a9e6cb;--good-bg:#213f35;--note:#f3d68a;--note-bg:#433a1f;--improve:#ffc2b5;--improve-bg:#4c2f2b;--shadow-1:0 1px 2px #0000004d;--shadow-2:0 10px 30px #00000059;--buncss-light: ;--buncss-dark:initial;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:var(--step-0);-webkit-font-smoothing:antialiased;overflow-x:hidden;margin:0;line-height:1.55}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.01em;margin:0 0 .5em;font-weight:650;line-height:1.12}h1{font-size:var(--step-4)}h2{font-size:var(--step-3)}h3{font-size:var(--step-2)}h4{font-size:var(--step-1)}p{margin:0 0 1em}a{color:var(--primary);text-underline-offset:3px}img,svg{max-width:100%}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:6px}.sr-only{position:absolute;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0}.skip{position:absolute;z-index:100;background:var(--ink);color:var(--bg);border-radius:10px;padding:10px 14px;top:-60px;left:12px}.skip:focus{top:12px}#main:focus{outline:none}.muted{color:var(--muted)}.small{font-size:var(--step--1)}.stack>*+*{margin-top:var(--gap,16px)}.row{display:flex;flex-wrap:wrap;align-items: center;gap:10px}.spread{display:flex;flex-wrap:wrap;justify-content:space-between;align-items: center;gap:12px}.grow{flex:1;min-width:0}.btn{display:inline-flex;border-radius:var(--r-pill);border:1.5px solid var(--line-strong);background:var(--surface);color:var(--ink);cursor:pointer;text-decoration:none;white-space:nowrap;justify-content:center;align-items: center;gap:8px;min-height:44px;padding:10px 18px;transition:background .15s,border-color .15s,transform .1s;font-weight:600}.btn:hover{background:var(--surface-2)}.btn:active{transform:translateY(1px)}.btn[disabled],.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--primary);color:var(--primary-ink);border-color:var(--primary)}.btn.primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--surface-2)}.btn.danger{color:var(--improve);border-color:color-mix(in srgb,var(--improve)40%,transparent)}.btn.lg{font-size:var(--step-1);min-height:54px;padding:14px 26px}.btn.sm{font-size:var(--step--1);min-height:36px;padding:6px 12px}.btn.icon-only{width:44px;padding:0}.btn.sm.icon-only{width:36px}.chip{display:inline-flex;border-radius:var(--r-pill);border:1.5px solid var(--line-strong);background:var(--surface);cursor:pointer;align-items: center;gap:6px;min-height:40px;padding:8px 14px;font-weight:500}.chip[aria-pressed=true],.chip[aria-checked=true],.chip.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}.tag{display:inline-flex;border-radius:var(--r-pill);font-size:var(--step--1);background:var(--surface-2);color:var(--ink-2);white-space:nowrap;align-items: center;gap:5px;padding:2px 10px;font-weight:600}.tag.good{background:var(--good-bg);color:var(--good)}.tag.note{background:var(--note-bg);color:var(--note)}.tag.improve{background:var(--improve-bg);color:var(--improve)}.tag.lav{background:var(--lavender);color:var(--lavender-ink)}.tag.sky{background:var(--sky);color:var(--sky-ink)}.tag.mint{background:var(--mint);color:var(--mint-ink)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:clamp(16px,2.4vw,24px)}.panel.flat{background:0 0}.panel.tint-lav{background:var(--lavender);color:var(--lavender-ink);border-color:#0000}.panel.tint-mint{background:var(--mint);border-color:#0000}.panel.tint-sky{background:var(--sky);border-color:#0000}.panel.tint-yellow{background:var(--yellow);border-color:#0000}.panel.tint-coral{background:var(--coral);border-color:#0000}.panel h3,.panel h4{margin-bottom:.35em}.divider{background:var(--line);border:0;height:1px;margin:20px 0}.bubble{position:relative;background:var(--surface);border:1.5px solid var(--line);border-radius:var(--r-lg);max-width:62ch;padding:14px 18px}.bubble.tail-left{border-bottom-left-radius:6px}.bubble.tail-right{border-bottom-right-radius:6px}.bubble.user{background:var(--ink);color:var(--bg);border-color:var(--ink)}.field{display:grid;gap:6px}.field>span,.label{font-weight:600;font-size:var(--step--1)}.input,select.input,textarea.input{border-radius:var(--r-sm);border:1.5px solid var(--line-strong);background:var(--surface);width:100%;min-height:44px;padding:10px 14px}textarea.input{resize:vertical;min-height:120px;line-height:1.6}.switch{display:flex;border-bottom:1px solid var(--line);cursor:pointer;justify-content:space-between;align-items: center;gap:16px;padding:12px 0}.switch:last-child{border-bottom:0}.switch input{appearance:none;background:var(--line-strong);position:relative;cursor:pointer;border-radius:99px;flex:none;width:46px;height:28px;transition:background .15s}.switch input:after{content:"";position:absolute;background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .15s;top:3px;left:3px;box-shadow:0 1px 3px #0003}.switch input:checked{background:var(--primary)}.switch input:checked:after{transform:translate(18px)}.seg{display:inline-flex;background:var(--surface-2);border-radius:var(--r-pill);flex-wrap:wrap;gap:4px;padding:4px}.seg button{border-radius:var(--r-pill);cursor:pointer;color:var(--muted);background:0 0;border:0;min-height:38px;padding:8px 14px;font-weight:600}.seg button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-1)}.option-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.option{text-align:left;display:grid;border-radius:var(--r-md);border:1.5px solid var(--line-strong);background:var(--surface);cursor:pointer;gap:2px;min-height:56px;padding:14px 16px}.option strong{font-weight:650}.option .hint{color:var(--muted);font-size:var(--step--1)}.option[aria-pressed=true],.option[aria-checked=true]{border-color:var(--primary);box-shadow:0 0 0 1.5px var(--primary)inset;background:color-mix(in srgb,var(--lavender)35%,var(--surface))}.option[aria-pressed=true] .hint,.option[aria-checked=true] .hint{color:var(--ink-2)}.site-nav{position:sticky;z-index:30;background:color-mix(in srgb,var(--bg)92%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid #0000;top:0}.site-nav.scrolled{border-bottom-color:var(--line)}.site-nav .inner{padding:12px var(--gutter);display:flex;align-items: center;gap:24px;max-width:1200px;margin:0 auto}.site-nav nav{display:flex;gap:4px}.site-nav nav a{color:var(--ink-2);text-decoration:none;border-radius:99px;padding:8px 12px;font-weight:500}.site-nav nav a:hover{background:var(--surface-2)}.wordmark{display:inline-flex;font-family:var(--font-display);color:var(--ink);text-decoration:none;letter-spacing:-.02em;align-items: center;gap:8px;font-size:1.4rem;font-weight:750}.wordmark .mark{width:30px;height:30px}.wrap{padding:0 var(--gutter);max-width:1200px;margin:0 auto}.hero{display:grid;grid-template-columns:1.05fr .95fr;align-items: center;gap:clamp(24px,5vw,64px);padding:clamp(28px,6vw,72px) 0 clamp(24px,4vw,48px)}.hero h1{font-size:var(--step-5);letter-spacing:-.03em;margin-bottom:20px;font-weight:750;line-height:1.02}.hero h1 .line{display:block}.hero .lede{font-size:var(--step-1);color:var(--ink-2);max-width:46ch;margin-bottom:28px}.hero .reassure{display:flex;color:var(--muted);font-size:var(--step--1);align-items: center;gap:10px;margin-top:22px}.hero .reassure .dot{background:var(--mint-ink);border-radius:50%;flex:none;width:8px;height:8px}.stage{position:relative;background:var(--sky);display:flex;overflow:hidden;border-radius:36px;flex-direction:column;justify-content:space-between;min-height:420px;padding:28px 24px 0}.stage .stage-bubble{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-1);font-size:var(--step-1);border-radius:26px 26px 26px 8px;align-self: flex-start;max-width:34ch;padding:16px 20px;line-height:1.45}.stage .stage-bubble .word{border-radius:4px;transition:color .12s,background .12s}.stage .stage-bubble .word.on{background:var(--yellow);color:#2a2e3a}.stage .stage-controls{display:flex;flex-wrap:wrap;align-items: center;gap:8px;margin-top:12px}.stage .stage-mascot{align-self: flex-end;margin-top:8px;margin-right:-10px}.stage .stage-meta{position:absolute;display:grid;gap:8px;max-width:46%;bottom:22px;left:24px}.cast{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(8px,2vw,22px);padding:20px 0 8px}.cast button{cursor:pointer;display:grid;color:var(--ink-2);background:0 0;border:0;justify-items:center;gap:6px;padding:0;font-weight:600}.cast button svg{transition:transform .2s}.cast button:hover svg{transform:translateY(-4px)}.cast button[aria-pressed=true] svg{outline:3px solid var(--primary);outline-offset:3px;border-radius:50%}.section{padding:clamp(48px,8vw,96px) 0}.section-head{max-width:60ch;margin-bottom:32px}.section-head h2{letter-spacing:-.02em;font-size:clamp(1.9rem,3.6vw,2.75rem)}.section-head p{color:var(--ink-2);font-size:var(--step-1)}.coach-list{display:grid;gap:14px}.coach-row{display:grid;grid-template-columns:112px 1fr auto;background:var(--surface);border:1.5px solid var(--line);border-radius:28px;align-items: center;gap:22px;padding:18px}.coach-row[aria-current=true]{border-color:var(--primary);box-shadow:0 0 0 1.5px var(--primary)inset}.coach-row h3{margin-bottom:4px}.coach-row .style{color:var(--ink-2);margin-bottom:8px}.coach-row .sample{color:var(--muted);font-style:normal;font-size:var(--step--1);border-left:3px solid var(--line-strong);margin:0;padding-left:10px}.coach-row .actions{display:grid;justify-items:end;gap:8px}.lang-preview{display:grid;grid-template-columns:260px 1fr;gap:24px}.lang-tabs{display:grid;align-content: start;gap:6px}.lang-tabs button{display:flex;border-radius:var(--r-md);cursor:pointer;text-align:left;background:0 0;border:1.5px solid #0000;align-items: center;gap:12px;padding:12px 14px;font-weight:600}.lang-tabs button[aria-selected=true]{background:var(--surface);border-color:var(--line-strong)}.lang-mark{display:inline-grid;background:var(--lavender);color:var(--lavender-ink);font-family:var(--font-display);border-radius:11px;flex:none;place-items: center;width:36px;height:36px;font-weight:750}.phrase{font-family:var(--font-display);letter-spacing:-.01em;margin:12px 0 8px;font-size:clamp(1.5rem,3vw,2.2rem);font-weight:650;line-height:1.2}.compare{display:grid;grid-template-columns:1fr 1fr;gap:16px}.nat-card{display:grid;gap:10px}.nat-line{border-radius:var(--r-md);background:var(--surface-2);padding:14px 16px}.nat-line.better{background:var(--mint);color:var(--ink)}.nat-line.casual{background:var(--yellow);color:var(--ink)}:root[data-theme=dark] .nat-line.better,:root[data-theme=dark] .nat-line.casual{color:var(--ink)}.studio-peek{display:grid;grid-template-columns:1fr 1fr;gap:16px}.strike{text-decoration:line-through;text-decoration-color:var(--improve);color:var(--muted)}.footer{border-top:1px solid var(--line);color:var(--muted);font-size:var(--step--1);padding:32px 0 48px}.onb{display:grid;grid-template-rows:auto 1fr auto;min-height:100vh}.onb-top{display:flex;padding:14px var(--gutter);align-items: center;gap:16px}.progress-track{background:var(--surface-2);overflow:hidden;border-radius:99px;flex:1;height:8px}.progress-track>div{background:var(--primary);border-radius:99px;height:100%;transition:width .3s}.onb-body{padding:16px var(--gutter)32px;width:100%;max-width:860px;margin:0 auto}.onb-body h1{font-size:clamp(1.75rem,3.6vw,2.5rem)}.onb-foot{position:sticky;background:color-mix(in srgb,var(--bg)94%,transparent);backdrop-filter:blur(6px);border-top:1px solid var(--line);padding:12px var(--gutter);display:flex;justify-content:space-between;gap:12px;bottom:0}.lang-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));align-items: start;gap:12px}.lang-card{border:1.5px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface);display:grid;cursor:pointer;text-align:left;gap:12px;padding:14px}.lang-card[aria-pressed=true]{border-color:var(--primary);box-shadow:0 0 0 1.5px var(--primary)inset}.meter{background:var(--surface-2);overflow:hidden;border-radius:99px;height:12px}.meter>div{background:var(--mint-ink);border-radius:99px;height:100%;transition:width 60ms linear}.mascot-pick{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.mascot-pick button{border:1.5px solid var(--line-strong);background:var(--surface);border-radius:var(--r-md);cursor:pointer;display:grid;font-weight:600;font-size:var(--step--1);justify-items:center;gap:6px;padding:12px 8px}.mascot-pick button[aria-pressed=true]{border-color:var(--primary);box-shadow:0 0 0 1.5px var(--primary)inset}.shell{display:grid;grid-template-columns:236px 1fr;min-height:100vh}.sidebar{position:sticky;border-right:1px solid var(--line);display:flex;background:var(--bg);flex-direction:column;gap:18px;height:100vh;padding:18px 14px;top:0}.sidebar nav{display:grid;gap:2px}.nav-link{display:flex;text-decoration:none;color:var(--ink-2);border-radius:12px;align-items: center;gap:12px;min-height:44px;padding:10px 12px;font-weight:550}.nav-link:hover{background:var(--surface-2)}.nav-link[aria-current=page]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-1);border:1px solid var(--line)}.nav-link[aria-current=page] .icon{color:var(--primary)}.sidebar .me{display:flex;background:var(--surface-2);font-size:var(--step--1);border-radius:14px;align-items: center;gap:10px;margin-top:auto;padding:10px}.main{padding:clamp(16px,3vw,32px)var(--gutter)96px;width:100%;min-width:0;max-width:1180px}.page-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items: flex-end;gap:16px;margin-bottom:22px}.page-head h1{margin:0;font-size:clamp(1.6rem,2.6vw,2.1rem)}.page-head p{color:var(--muted);margin:4px 0 0}.demo-banner{display:flex;background:var(--note-bg);color:var(--note);font-size:var(--step--1);border-radius:12px;align-items: flex-start;gap:10px;margin-bottom:18px;padding:10px 14px}.demo-banner .icon{flex:none;margin-top:2px}.mobile-bar{display:none}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.dash-hero{display:grid;grid-template-columns:auto 1fr;background:var(--sky);border-radius:28px;align-items: center;gap:20px;margin-bottom:18px;padding:22px}.dash-hero .bubble{background:var(--surface);border-color:#0000}.quick{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}.quick a,.quick button{display:grid;border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface);text-decoration:none;color:var(--ink);text-align:left;cursor:pointer;gap:4px;min-height:84px;padding:14px}.quick a:hover,.quick button:hover{border-color:var(--line-strong);background:var(--surface-2)}.quick .icon{color:var(--primary)}.quick span.small{color:var(--muted)}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.kpi{border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line);padding:14px 16px}.kpi b{display:block;font-family:var(--font-display);font-size:var(--step-3);font-weight:650;line-height:1.1}.kpi span{color:var(--muted);font-size:var(--step--1)}.convo{display:grid;grid-template-rows:auto 1fr auto;border:1px solid var(--line);background:var(--surface);overflow:hidden;border-radius:28px;height:calc(100vh - 64px);min-height:520px;max-height:1100px}.convo-top{display:flex;border-bottom:1px solid var(--line);align-items: center;gap:12px;padding:12px 16px}.convo-top .topic{font-size:var(--step--1);color:var(--muted)}.transcript{overflow-y:auto;display:flex;scroll-behavior:smooth;flex-direction:column;gap:14px;padding:20px clamp(12px,3vw,28px)}.turn{display:flex;align-items: flex-end;gap:10px;max-width:100%}.turn.user{justify-content:flex-end}.turn .bubble{font-size:var(--step-1);line-height:1.5}.turn.coach .bubble{background:var(--surface-2);border-color:#0000;border-bottom-left-radius:6px}.turn.user .bubble{background:var(--ink);color:var(--bg);border-color:var(--ink);border-bottom-right-radius:6px}.turn .tr{font-size:var(--step--1);color:var(--muted);margin-top:6px}.turn.user .tr{color:color-mix(in srgb,var(--bg)75%,transparent)}.turn-actions{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.turn-actions button{color:var(--muted);font-size:var(--step--1);cursor:pointer;display:inline-flex;background:0 0;border:0;border-radius:8px;align-items: center;gap:4px;min-height:30px;padding:4px 8px;font-weight:600}.turn-actions button:hover{background:var(--line);color:var(--ink)}.tip{background:var(--note-bg);color:var(--note);font-size:var(--step--1);border:1px dashed color-mix(in srgb,var(--note)40%,transparent);border-radius:14px;align-self: flex-end;max-width:min(520px,92%);padding:10px 14px}.tip strong{color:inherit}.partial{opacity:.7;font-style:italic}.dock{border-top:1px solid var(--line);padding:14px 16px calc(14px + env(safe-area-inset-bottom));display:grid;background:var(--surface);gap:10px}.dock-row{display:flex;justify-content:center;align-items: center;gap:12px}.mic{position:relative;display:grid;cursor:pointer;background:var(--primary);color:var(--primary-ink);border:0;border-radius:50%;flex:none;place-items: center;width:76px;height:76px;transition:transform .12s,background .15s}.mic:active{transform:scale(.97)}.mic .ring{position:absolute;border:3px solid var(--primary);opacity:0;pointer-events:none;border-radius:50%;transition:opacity .2s,transform 60ms linear;inset:-8px}.mic[data-state=listening]{background:var(--improve);color:#fff}.mic[data-state=listening] .ring{opacity:.5;border-color:var(--improve)}.mic[data-state=processing]{background:var(--yellow);color:#2a2e3a}.mic[data-state=speaking]{background:var(--sky-ink);color:#fff}.mic[data-state=paused]{background:var(--surface-2);color:var(--ink);border:2px solid var(--line-strong)}.mic[data-state=error]{background:var(--improve-bg);color:var(--improve);border:2px solid var(--improve)}.mic-label{text-align:center;font-weight:650;font-size:var(--step--1);min-height:1.4em}.mic-label .state{display:inline-flex;align-items: center;gap:6px}.mic-label .state:before{content:"";background:currentColor;border-radius:50%;width:8px;height:8px}.textbox{display:flex;gap:8px}.textbox .input{flex:1}.menu-pop{position:absolute;z-index:40;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-md);box-shadow:var(--shadow-2);display:grid;gap:12px;width:min(340px,100vw - 32px);padding:14px;top:58px;right:12px}.coach-face{flex:none}.side-tools{display:grid;align-content: start;gap:16px}.convo-layout{display:grid;grid-template-columns:minmax(0,1fr)300px;gap:18px}.mascot .m-eyes{transform-box:fill-box;transform-origin:center;animation:5.5s infinite blink}.mascot.mood-speaking .m-mouth-talk{animation:.28s ease-in-out infinite alternate talk}.mascot.mood-listening .m-head{transform-origin:100px 140px;transition:transform .3s;transform:rotate(-4deg)}.mascot .m-head{transform-origin:100px 140px;transition:transform .3s}.mascot.bob .m-head{animation:4.5s ease-in-out infinite bob}@keyframes blink{0%,94%,to{transform:scaleY(1)}96%{transform:scaleY(.1)}}@keyframes talk{0%{transform:scaleY(.35)}to{transform:scaleY(1.05)}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.studio{display:grid;grid-template-columns:minmax(0,1fr)300px;gap:18px}.studio-live{border-radius:var(--r-md);background:var(--surface-2);font-size:var(--step-1);min-height:140px;padding:18px;line-height:1.7}.tok-filler,.tok-discourse,.tok-hesitation{background:var(--note-bg);color:var(--note);border-radius:4px;padding:0 3px}.tok-discourse.possible{border-bottom:2px dotted var(--note);color:inherit;background:0 0;padding:0}.tok-repetition,.tok-false-start{background:var(--sky);color:var(--sky-ink);border-radius:4px;padding:0 3px}.tok-correction-old{text-decoration:line-through;text-decoration-color:var(--improve);color:var(--muted)}.tok-correction-marker{background:var(--improve-bg);color:var(--improve);border-radius:4px;padding:0 3px}.output-box{white-space:pre-wrap;font-size:var(--step-1);min-height:200px;line-height:1.7}.diff del{background:var(--improve-bg);color:var(--improve);text-decoration:line-through;border-radius:4px;padding:0 2px}.diff ins{background:var(--good-bg);color:var(--good);text-decoration:none;border-radius:4px;padding:0 2px}.hunk{display:inline;cursor:pointer;border-radius:4px}.hunk.rejected ins{opacity:.35;text-decoration:line-through}.hunk.rejected del{text-decoration:none;background:var(--surface-2);color:var(--ink)}.legend{display:flex;font-size:var(--step--1);color:var(--muted);flex-wrap:wrap;gap:12px}.legend span{display:inline-flex;align-items: center;gap:6px}.cmd-toast{display:flex;background:var(--lavender);color:var(--lavender-ink);font-weight:600;font-size:var(--step--1);border-radius:12px;align-items: center;gap:10px;padding:10px 14px}.big-word{font-family:var(--font-display);letter-spacing:-.02em;overflow-wrap:anywhere;margin:6px 0;font-size:clamp(2rem,5vw,3.2rem);font-weight:700;line-height:1.05}.match-words{font-size:var(--step-2);display:flex;flex-wrap:wrap;gap:8px}.match-words .ok{background:var(--good-bg);color:var(--good);border-radius:8px;padding:2px 8px}.match-words .miss{background:var(--improve-bg);color:var(--improve);border-radius:8px;padding:2px 8px}.timer{font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:3.2rem;font-weight:700}.report{display:grid;gap:12px}.report .r{border-radius:var(--r-md);padding:16px 18px}.report .r h4{font-size:var(--step-0);font-family:var(--font-body);display:flex;align-items: center;gap:8px;margin-bottom:4px;font-weight:700}.report .r.s{background:var(--good-bg);color:var(--good)}.report .r.i{background:var(--note-bg);color:var(--note)}.report .r.n{background:var(--lavender);color:var(--lavender-ink)}.report .r p{color:var(--ink);margin:0}.vocab-list{display:grid;gap:8px}.vocab-item{display:grid;grid-template-columns:1fr auto;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line);align-items: center;gap:12px;padding:14px 16px}.vocab-item .t{font-weight:700;font-size:var(--step-1)}.flash{display:grid;text-align:center;background:var(--surface);border:1.5px solid var(--line);border-radius:28px;place-items: center;min-height:260px;padding:28px}.quote{font-family:var(--font-display);letter-spacing:-.01em;margin:6px 0 10px;font-size:clamp(1.4rem,2.6vw,1.9rem);font-weight:600;line-height:1.25}.chart{display:block;overflow:visible;width:100%;height:auto}.chart text{fill:var(--muted);font-size:11px;font-family:var(--font-body)}.chart .gridline{stroke:var(--line)}.chart .line{fill:none;stroke:var(--primary);stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}.chart .dot{fill:var(--surface);stroke:var(--primary);stroke-width:2}.chart .bar{fill:var(--primary);opacity:.85}.insight{display:flex;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line);gap:12px;padding:14px 16px}.insight .icon{color:var(--primary);flex:none;margin-top:2px}.empty{text-align:center;display:grid;justify-items:center;gap:10px;padding:40px 20px}.empty p{color:var(--muted);max-width:46ch}.table{border-collapse:collapse;font-size:var(--step--1);width:100%}.table th,.table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:10px 8px}.table th{color:var(--muted);font-weight:600}.dl{display:grid;grid-template-columns:max-content 1fr;font-size:var(--step--1);gap:6px 16px;margin:0}.dl dt{color:var(--muted)}.dl dd{margin:0}.dialog-backdrop{position:fixed;z-index:80;display:grid;background:#14161e73;place-items: center;padding:16px;inset:0}.dialog{overflow:auto;background:var(--surface);color:var(--ink);box-shadow:var(--shadow-2);border-radius:22px;width:min(560px,100%);max-height:calc(100vh - 32px);padding:22px}.dialog h2{font-size:var(--step-2)}.toasts{position:fixed;z-index:90;display:grid;gap:8px;width:min(440px,100vw - 32px);bottom:24px;left:50%;transform:translate(-50%)}.toast{display:flex;background:var(--ink);color:var(--bg);box-shadow:var(--shadow-2);font-size:var(--step--1);border-radius:14px;justify-content:space-between;align-items: center;gap:10px;padding:12px 14px}.toast button{border:1px solid color-mix(in srgb,var(--bg)40%,transparent);color:var(--bg);cursor:pointer;background:0 0;border-radius:99px;padding:4px 10px;font-weight:600}.toast.error{background:var(--improve);color:#fff}@media (max-width:1080px){.convo-layout,.studio{grid-template-columns:1fr}.side-tools{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}}@media (max-width:900px){.hero{grid-template-columns:1fr}.stage{min-height:360px}.lang-preview{grid-template-columns:1fr}.lang-tabs{grid-auto-flow:column;grid-auto-columns:max-content;overflow-x:auto;padding-bottom:4px}.site-nav nav{display:none}.shell{grid-template-columns:1fr}.sidebar{display:none}.mobile-bar{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;z-index:50;background:color-mix(in srgb,var(--bg)96%,transparent);backdrop-filter:blur(8px);border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom));bottom:0;left:0;right:0}.mobile-bar a,.mobile-bar button{display:grid;color:var(--muted);text-decoration:none;cursor:pointer;background:0 0;border:0;justify-items:center;gap:2px;min-height:48px;padding:6px 2px;font-size:11px;font-weight:600}.mobile-bar [aria-current=page]{color:var(--primary)}.mobile-top{display:flex;justify-content:space-between;align-items: center;margin-bottom:14px}.grid-3{grid-template-columns:1fr}.convo{border-radius:20px;height:calc(100vh - 150px)}.transcript .empty .mascot{width:96px;height:96px}.convo-top .topic{display:none}}@media (min-width:901px){.mobile-top{display:none}}@media (max-width:640px){.grid-2,.compare,.studio-peek{grid-template-columns:1fr}.coach-row{grid-template-columns:72px 1fr}.coach-row .actions{grid-column:1/-1;grid-template-columns:1fr 1fr;justify-items:stretch}.coach-row svg{width:72px;height:72px}.mascot-pick{grid-template-columns:repeat(3,1fr)}.dash-hero{grid-template-columns:1fr}.dash-hero .mascot{width:72px;height:72px}.stage .stage-meta{position:static;max-width:none;margin-top:12px}.hero h1{font-size:2.6rem}.mic{width:68px;height:68px}.page-head{align-items: flex-start}}@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}:root[data-motion=reduce] *,:root[data-motion=reduce] *:before{animation:none!important;transition:none!important}
