:root{--paper:#f7f6f2;--ink:#30362f;--muted:#6f7468;--line:#e2e5dc;--accent:#b85232;--green:#2f7656;--green-pale:#f0f7ef}
*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}button,select{font:inherit}button,a,label,select{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button,select{cursor:pointer}svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #bb7956;outline-offset:4px}.page{max-width:1200px;padding:0 42px;margin:auto}header{display:flex;align-items:center;justify-content:space-between;height:96px;border-bottom:1px solid #e0e3d9}.brand{display:flex;align-items:center;gap:10px;font-size:24px;font-weight:660;letter-spacing:-1px}.brand-symbol{width:32px;height:32px;background:#c75835;display:flex;align-items:center;justify-content:center;gap:3px;border-radius:9px}.brand-symbol i{width:2.5px;background:#fff8f3;border-radius:3px;height:9px}.brand-symbol i:nth-child(2){height:19px}.brand-symbol i:nth-child(3){height:13px}.brand-symbol i:nth-child(4){height:6px}.private-label{display:flex;align-items:center;gap:6px;font-size:11px;color:#6b7561}.private-label svg{width:13px;height:13px}.intro{text-align:center;padding:46px 0 34px}.eyebrow{font-size:9px;letter-spacing:2px;font-weight:640;color:#717968;margin:0 0 14px}h1{font-size:38px;font-weight:550;letter-spacing:-1.8px;line-height:1.12;margin:0}h1 br{display:none}h1 span{color:var(--accent);margin-left:4px}.demo{padding:42px 42px 0;background:#fff;border:1px solid #e0e3da;border-radius:20px;box-shadow:0 8px 32px #3b432407;overflow:hidden}.inputs{display:grid;grid-template-columns:1.13fr 1fr;gap:30px;align-items:center}.text-panel{min-width:0;padding:2px 0 0 6px}.intended h2,.typed h2,.result-heading h2{font-size:11px;font-weight:540;color:var(--muted);margin:0;letter-spacing:.2px}.intended p{font-size:20px;line-height:1.4;min-height:28px;font-weight:460;color:#68715f;margin:10px 0 25px;overflow-wrap:anywhere}.typed-line{font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;font-size:34px;letter-spacing:-1.4px;line-height:1.45;font-weight:450;min-height:100px;padding-top:10px;overflow-wrap:anywhere}.cursor{display:inline-block;width:2px;height:1.05em;background:#c26943;vertical-align:-.12em;margin-left:3px;opacity:0}.demo[data-playing=true] .cursor{opacity:1;animation:blink .85s step-end infinite}.signal-panel{display:grid;grid-template-columns:minmax(170px,1fr) 132px;gap:6px;align-items:center;min-width:0}.lips-stage{display:flex;align-items:center;flex-direction:column;justify-content:center;min-width:0;transform:translateY(-3px)}.lips-art{width:100%;max-width:280px;height:auto;stroke:none;overflow:visible}.signal-halo{fill:#f7f5f0;transition:fill .3s}.mouth{transform-origin:137px 106px;transition:opacity .3s,filter .3s}.lips-stage[data-mode=off] .mouth{opacity:.55;filter:saturate(.45)}.lips-stage[data-mode=whisper] .signal-halo,.lips-stage[data-mode=silent] .signal-halo{fill:#faf2ec}.sound-waves{display:none;opacity:0}.lips-stage[data-mode=whisper] .sound-waves{display:block;opacity:.7}.lips-stage[data-mode=whisper][data-moving=true] .sound-waves path{animation:ripple .85s ease-out infinite}.sound-waves path:nth-child(2){animation-delay:.13s!important}.sound-waves path:nth-child(3){animation-delay:.26s!important}.signal-caption{font-size:10px;color:#767b6f;line-height:1.5;margin-top:-8px}.mode-options{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.mode-option{display:flex;position:relative;gap:9px;align-items:center;min-height:52px;border-radius:8px;padding:8px 5px;cursor:pointer}.mode-option input{position:absolute;opacity:0;left:5px;top:16px;margin:0;width:18px;height:18px}.radio-circle{width:17px;height:17px;border:1.5px solid #b7bdaf;display:grid;place-items:center;border-radius:50%;flex-shrink:0}.radio-circle:after{content:"";width:7px;height:7px;background:var(--accent);border-radius:50%;opacity:0}.mode-option input:checked+.radio-circle{border-color:var(--accent)}.mode-option input:checked+.radio-circle:after{opacity:1}.mode-option input:focus-visible+.radio-circle{outline:3px solid #bd8666;outline-offset:4px}.mode-option:hover{background:#f8f8f3}.mode-name{font-size:12px;font-weight:570;color:#5e6955}.mode-name small{display:block;font-size:9px;font-weight:420;color:#707b65;margin-top:3px}.mode-option input:checked~.mode-name{color:#a44c2e}.convergence{height:74px;margin:0 -1px}.convergence svg{display:block;width:100%;height:100%;overflow:visible}.convergence path{stroke:#dce1d3;stroke-width:1.4;vector-effect:non-scaling-stroke;fill:none}.convergence circle{fill:#bfc9b4;stroke:white;stroke-width:1.5}.demo[data-mode=whisper] .signal-path,.demo[data-mode=silent] .signal-path{stroke:#93b99c;transition:stroke .3s}.demo[data-mode=whisper] .convergence circle,.demo[data-mode=silent] .convergence circle{fill:#62906c}.result-area{display:flex;justify-content:center;padding:15px 0 35px}.result-card{width:75%;max-width:620px;min-height:127px;border:1px solid #e2e5dc;background:#fbfbf8;border-radius:12px;padding:19px 23px 23px;transition:background .25s,border-color .25s}.result-heading{display:flex;align-items:center;justify-content:space-between}.result-indicator{width:18px;height:18px;opacity:0;color:var(--green)}.result-indicator svg{width:18px;height:18px;stroke-width:2.2}.result-card[data-corrected=true]{background:var(--green-pale);border-color:#cbdcc5}.result-card[data-corrected=true] .result-indicator{opacity:1}.result-text{font-size:30px;letter-spacing:-1px;line-height:1.45;font-weight:510;margin-top:9px;min-height:44px;overflow-wrap:anywhere}.result-text .target{color:#a25536;text-decoration:underline;text-decoration-color:#dcc3ac;text-decoration-thickness:1px;text-underline-offset:6px}.result-card[data-corrected=true] .target{color:#2f704e;text-decoration:none}.result-placeholder{color:#9ba28d}.target.is-new{animation:resolve .65s ease-out}.demo[data-kind=sentence] .typed-line{font-size:25px;letter-spacing:-.9px}.demo[data-kind=sentence] .intended p{font-size:17px;min-height:48px;margin-bottom:15px}.demo[data-kind=sentence] .result-text{font-size:24px;letter-spacing:-.65px}.demo-toolbar{margin:0 -42px;border-top:1px solid #e8eadf;background:#fcfcf9;display:flex;justify-content:space-between;align-items:center;padding:17px 29px;gap:15px}.example-control{display:flex;align-items:center;gap:14px;min-width:0}.example-control label{font-size:10px;color:#747c67}.example-control select{border:0;background:transparent;font-size:11px;color:#556347;max-width:370px;padding:9px 24px 9px 0;min-width:0;min-height:36px}#replay{display:flex;gap:7px;align-items:center;background:white;border:1px solid #dce2d3;color:#606e52;border-radius:7px;font-size:11px;padding:9px 12px;flex-shrink:0;min-height:36px}#replay svg{width:13px;height:13px}#replay:hover{background:#f3f5ec;border-color:#bfcdb2}.simulation-note{text-align:center;color:#747c67;font-size:10px;margin:20px 10px 0;line-height:1.6}footer{margin-top:48px;border-top:1px solid #e0e4d7;padding:22px 0 26px;display:flex;justify-content:space-between;font-size:10px;color:#748067}footer span:first-child{font-weight:630;font-size:12px;letter-spacing:-.3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}@keyframes ripple{0%,100%{opacity:.25;transform:translateX(-1px)}55%{opacity:1;transform:translateX(2px)}}@keyframes resolve{0%{background:#d2e6c8}100%{background:transparent}}
@media(min-width:1450px){.intro{padding-top:61px;padding-bottom:43px}.demo{padding-top:48px}.result-area{padding-bottom:42px}}
@media(max-width:950px){.page{padding:0 28px}.demo{padding:32px 28px 0}.inputs{gap:16px;grid-template-columns:1fr 1fr}.signal-panel{grid-template-columns:minmax(150px,1fr) 113px;gap:0}.typed-line{font-size:29px}.mode-name{font-size:11px}.mode-name small{font-size:8px}.demo[data-kind=sentence] .typed-line{font-size:23px}.demo-toolbar{margin:0 -28px;padding:16px 25px}.intended p{font-size:19px}.convergence{height:64px}.result-card{width:80%}}
@media(max-width:700px){.page{padding:0 18px}header{height:75px}.brand{font-size:21px}.brand-symbol{width:29px;height:29px}.private-label{font-size:9px}.intro{padding:34px 0 27px}h1{font-size:31px;letter-spacing:-1.3px;line-height:1.13}h1 br{display:block}h1 span{margin:0}.eyebrow{font-size:8px;letter-spacing:1.6px;margin-bottom:13px}.demo{padding:26px 18px 0;border-radius:15px}.inputs{grid-template-columns:1.05fr 1fr;gap:8px;align-items:start}.text-panel{padding:2px 0 0}.intended h2,.typed h2,.result-heading h2{font-size:10px}.intended p{font-size:15px;min-height:21px;margin:9px 0 24px;letter-spacing:-.2px}.typed-line{font-size:21px;letter-spacing:-1px;padding-top:11px;min-height:94px}.signal-panel{grid-template-columns:1fr;gap:3px}.lips-art{width:100%;max-width:190px}.lips-stage{transform:translateY(-7px)}.signal-caption{font-size:8px;margin-top:-7px}.mode-options{margin:0 0 0 8px;gap:1px}.mode-option{min-height:42px;padding:5px 4px;gap:8px}.mode-name{font-size:11px}.mode-name small{font-size:8px;display:inline;margin-left:5px;white-space:nowrap}.radio-circle{width:15px;height:15px}.radio-circle:after{width:6px;height:6px}.mode-option input{width:16px;height:16px;top:12px}.convergence{height:49px;margin-top:4px}.result-area{padding:12px 0 24px}.result-card{width:100%;padding:16px 16px 19px;min-height:108px}.result-text{font-size:25px;letter-spacing:-.8px;margin-top:10px;min-height:37px}.demo[data-kind=sentence] .typed-line{font-size:18px;letter-spacing:-.7px;min-height:140px}.demo[data-kind=sentence] .intended p{font-size:13px;line-height:1.55;min-height:57px;margin-bottom:19px}.demo[data-kind=sentence] .result-text{font-size:20px;letter-spacing:-.4px}.demo-toolbar{margin:0 -18px;padding:13px 14px;gap:9px}.example-control{gap:4px;flex:1;min-width:0}.example-control label{display:none}.example-control select{width:100%;max-width:100%;font-size:10px;padding-right:6px;min-height:42px}#replay{min-height:42px;font-size:10px;padding:8px 9px;gap:5px}#replay svg{width:12px;height:12px}.simulation-note{font-size:9px;margin:17px 8px 0}footer{margin-top:33px;font-size:9px;padding:20px 0}.mode-option:hover{background:transparent}}
@media(max-width:390px){.page{padding:0 13px}.demo{padding:23px 14px 0}.demo-toolbar{margin:0 -14px;padding-left:11px;padding-right:11px}.typed-line{font-size:19px;letter-spacing:-1px}.intended p{font-size:14px}.mode-options{margin-left:1px}.mode-name{font-size:10px}.mode-name small{font-size:7px;margin-left:3px}.mode-option{gap:5px}.demo[data-kind=sentence] .typed-line{font-size:17px}.signal-caption{font-size:7px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.cursor{display:none}}
.simulation-note,.signal-caption,.example-control label,footer{color:#626d59}
.intended h2,.typed h2,.result-heading h2{font-size:15px}
.signal-caption{font-size:15px}
.signal-panel{grid-template-columns:minmax(170px,1fr) 158px}
.mode-option{min-height:62px;gap:12px}
.mode-name{font-size:18px}
.mode-name small{font-size:13px;line-height:1.35}
.radio-circle{width:22px;height:22px}
.radio-circle:after{width:10px;height:10px}
.mode-option input{width:22px;height:22px;top:50%;transform:translateY(-50%)}
.example-control label,.example-control select,#replay{font-size:14px}
.simulation-note{font-size:12px}
@media(min-width:701px) and (max-width:950px){.signal-panel{grid-template-columns:minmax(100px,1fr) 146px}.mode-option{gap:9px}.mode-name{font-size:17px}}
@media(max-width:700px){
  .intended h2,.typed h2,.result-heading h2{font-size:13px}
  .signal-panel{grid-template-columns:1fr}
  .mode-option{min-height:56px;gap:8px}
  .mode-name{font-size:16px}
  .mode-name small{display:block;font-size:12px;margin:3px 0 0;white-space:normal}
  .signal-caption{font-size:13px}
  .mode-options{margin-left:0}
  .radio-circle,.mode-option input{width:20px;height:20px}
  .radio-circle:after{width:9px;height:9px}
  .example-control select,#replay{font-size:13px}
  .simulation-note{font-size:11px}
}
.intended p{font-size:22px;color:#008a20;font-weight:550}
.demo[data-kind=sentence] .intended p{font-size:19px}
@media(min-width:701px) and (max-width:950px){.intended p{font-size:21px}}
@media(max-width:700px){
  .intended p{font-size:17px}
  .demo[data-kind=sentence] .intended p{font-size:15px}
}
@media(max-width:390px){.intended p{font-size:16px}}
.typed,.result-text{text-align:center}
.mistyped-word{color:#d12632}
@media(max-width:700px){
  .inputs{grid-template-areas:"intended lips" "typed options"}
  .text-panel,.signal-panel{display:contents}
  .intended{grid-area:intended}
  .lips-stage{grid-area:lips}
  .mode-options{grid-area:options}
  .typed{grid-area:typed;align-self:center;position:relative;min-width:0}
  .typed h2{position:absolute;bottom:100%;left:0;right:0;padding-bottom:8px}
  .typed-line,.demo[data-kind=sentence] .typed-line{padding-top:0;min-height:1.45em}
}
.example-control label{white-space:nowrap}
@media(max-width:700px){
  .demo-toolbar{align-items:flex-end}
  .example-control{flex-direction:column;align-items:stretch;gap:2px}
  .example-control label{display:block;font-size:14px;line-height:1.4}
}
