.home-hero{position:relative;display:grid;justify-items:center;height:calc(100svh - 72px);min-height:600px;overflow:hidden;background:#070d0b;color:#fff;text-align:center}.home-hero__aurora{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.home-hero:after{position:absolute;inset:auto 0 0;height:22%;background:linear-gradient(to bottom,transparent,#070d0b);content:""}.home-hero__copy{position:relative;z-index:2;display:grid;align-content:start;justify-items:center;gap:clamp(20px,4svh,36px);max-width:860px;padding:clamp(32px,7svh,72px) 24px 0}.home-hero h1{margin:0;color:#fff;font-size:clamp(40px,min(7vw,9svh),76px);font-weight:700;line-height:1.04;letter-spacing:-.04em;text-wrap:balance}.home-hero__action{display:inline-flex;align-items:center;min-height:52px;padding:12px 28px;border-radius:var(--radius);background:#fff;color:#0b1411;font-size:16px;font-weight:600;text-decoration:none;transition:background .15s}.home-hero__action:hover{background:#d9f3e8}.home-hero__action:focus-visible{outline:2px solid #fff;outline-offset:3px}.home-hero__hands{position:absolute;bottom:0;left:50%;z-index:1;display:block;width:max(100%,90svh);max-width:none;height:auto;transform:translate(-50%);filter:drop-shadow(0 0 40px rgb(30 200 150 / 22%))}.video-strip{overflow:hidden;padding:56px 0;background:#070d0b}.video-strip__track{display:flex;gap:16px;width:max-content;margin:0;padding:0;list-style:none;animation:video-strip 70s linear infinite}.video-strip img{display:block;width:320px;aspect-ratio:16 / 9;object-fit:cover;border-radius:var(--radius)}@keyframes video-strip{to{transform:translate(-50%)}}.home-scholar{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:center;gap:64px;max-width:calc(var(--page-width) + 48px);margin:0 auto;padding:96px 24px}.home-scholar img{display:block;width:100%;height:auto;border-radius:var(--radius)}.home-scholar h2{margin:0 0 28px;font-size:clamp(32px,4vw,48px);line-height:1.08;letter-spacing:-.03em}@media (max-width: 640px){.home-hero{height:calc(100svh - 108px)}}@media (max-width: 760px){.video-strip img{width:240px}.home-scholar{grid-template-columns:minmax(0,1fr);gap:32px;padding:56px 20px}}@media (prefers-reduced-motion: reduce){.video-strip__track{animation:none}}.landing{color:var(--text)}.landing a{text-decoration:none}.landing-eyebrow{margin:0 0 13px;color:var(--accent);font-size:12px;font-weight:600;letter-spacing:.08em}.landing-primary,.landing-text-link{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:11px 24px;border:1px solid var(--accent);border-radius:var(--radius);background:var(--accent);color:var(--accent-contrast)!important;font:600 15px/1.2 var(--font-sans);cursor:pointer;transition:background .15s}.landing-text-link{border-color:var(--border);background:var(--bg);color:var(--text)!important}.landing-primary:hover:not(:disabled){background:var(--accent-strong);border-color:var(--accent-strong)}.landing-text-link:hover{background:var(--surface-2)}.landing-primary:disabled{opacity:.6;cursor:wait}.hero-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:16px}.landing-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:30px 0 10px;border-top:1px solid var(--border);color:var(--text-muted);font-size:12px}.footer-brand{display:inline-flex;align-items:center;gap:7px;color:var(--text);font-size:16px;font-weight:600;letter-spacing:-.04em}.landing-footer>a:last-child{color:var(--text-muted);font-weight:600}.landing--home{background:#fff}.start-section{display:grid;gap:28px;max-width:560px;margin:0 auto;padding:32px 0 64px}.start-copy{padding-top:15px}.start-copy h1{max-width:420px;margin:0;color:var(--text);font:600 clamp(32px,4vw,44px)/1.16 var(--font-sans);letter-spacing:-.025em}.start-copy>p:not(.landing-eyebrow){max-width:340px;margin:20px 0 0;color:var(--text-muted);font-size:16px;line-height:1.75}.practice-help{display:flex;align-items:start;gap:12px;max-width:350px;margin-top:30px;padding-top:24px;border-top:1px solid var(--border);color:var(--text-muted)}.practice-help>svg{flex-shrink:0;color:var(--accent)}.practice-help h2{margin:0;color:var(--text);font-size:15px}.practice-help p{margin:7px 0 0;font-size:13px;line-height:1.7}.start-panel{min-width:0}.landing-form{display:grid;gap:20px;padding:24px;border:1px solid var(--border);border-radius:var(--radius);background:#fff}.form-heading{display:flex;align-items:center;gap:12px;padding-bottom:20px;border-bottom:1px solid var(--border)}.form-heading-icon{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;border-radius:var(--radius);background:var(--accent-soft);color:var(--accent)}.form-heading h2{margin:0;font-size:21px;font-weight:600}.form-heading p{margin:4px 0 0;color:var(--text-muted);font-size:12px}.landing-form .field{gap:9px;min-width:0;font-size:13px;font-weight:600}.landing-form .field input[type=text],.landing-form .field select,.landing-form .field textarea{padding:12px 13px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);font-size:14px;font-weight:700}.landing-form .field textarea{resize:vertical;font-family:var(--font-mono);font-size:12px}.landing-form input::placeholder,.landing-form textarea::placeholder{color:var(--text-muted);opacity:1}.landing-form .field-row{grid-template-columns:1fr 1fr;gap:14px}.landing-form .manual{padding-top:15px;border-top:1px solid var(--border)}.landing-form summary{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#5b5b5b;font-size:13px;font-weight:600;cursor:pointer;list-style:none}.landing-form summary::-webkit-details-marker{display:none}.landing-form summary>span{font-size:23px}.landing-form .manual[open] summary>span{transform:rotate(45deg)}.landing-form .manual-body{padding:0;border:0;margin-top:18px;gap:18px}.landing-form input[type=file]{width:100%;color:var(--text-muted);font-size:12px}.landing-form input[type=file]::file-selector-button{margin-right:8px;padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--text);font:600 11px var(--font-sans);cursor:pointer}.landing-form>.landing-primary{width:100%}.form-footnote{margin:0;color:var(--text-muted);text-align:center;font-size:12px}.service-note{display:flex;align-items:start;gap:8px;margin:0;color:var(--text-muted);font-size:12px;line-height:1.7}.service-note svg{flex-shrink:0;margin-top:3px}.route-notice{padding:14px;margin-bottom:16px;border:1px solid #d0ecfa;border-radius:var(--radius);background:#f0faff}.landing-video-preview{display:flex;align-items:center;gap:12px}.landing-video-preview img{width:95px;aspect-ratio:16/9;border-radius:10px;object-fit:cover}.landing-video-preview>span{color:var(--text-muted);font-size:12px;line-height:2;font-weight:600}.landing-video-preview strong{color:var(--text);font-size:13px}.demo-card{display:flex;align-items:center;gap:12px;padding:15px;margin-bottom:16px;border:1px solid var(--border);border-radius:var(--radius);background:#fff}.demo-card>img{width:66px;border-radius:8px}.demo-card>div{display:grid;flex:1;gap:3px}.demo-card strong{font-size:13px}.demo-card>div>span{color:var(--text-muted);font-size:12px}.demo-card .button{flex-shrink:0}@media (max-width: 480px){.demo-card{flex-wrap:wrap}.demo-card .button{width:100%}}.landing-resume{display:flex;align-items:center;gap:12px;padding:15px;margin-bottom:16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2)}.landing-resume>img{width:66px;border-radius:8px}.landing-resume>div{display:grid;flex:1;gap:3px}.landing-resume strong{font-size:13px}.landing-resume>div>span{color:var(--text-muted);font-size:12px}.landing-resume button{padding:0;border:0;background:none;color:var(--accent);font:600 12px var(--font-sans);cursor:pointer}.route-not-found{max-width:650px;padding:70px 0;margin:0 auto;text-align:center}.route-not-found h1{font-size:38px}.route-not-found>p{color:var(--text-muted)}@media (max-width: 900px){.start-section{display:grid;gap:28px;max-width:560px;margin:0 auto;padding:32px 0 64px}}@media (max-width: 700px){.start-section{display:grid;gap:28px;max-width:560px;margin:0 auto;padding:32px 0 64px}.start-copy h1{font-size:35px}.landing-footer{flex-wrap:wrap;justify-content:center;gap:15px;font-size:12px}.landing-footer>span{order:3;width:100%;text-align:center}}@media (max-width: 400px){.landing-form{padding:22px 17px}.landing-form .field-row{grid-template-columns:1fr}.landing-form .field input[type=text],.landing-form .field select{font-size:16px}.landing-resume{flex-wrap:wrap}.landing-resume button{margin-left:78px}}@media (prefers-reduced-motion: reduce){.landing-primary,.landing-text-link{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:11px 24px;border:1px solid var(--accent);border-radius:var(--radius);background:var(--accent);color:var(--accent-contrast)!important;font:600 15px/1.2 var(--font-sans);cursor:pointer;transition:background .15s}}.start-section h1{margin:0;font-size:clamp(32px,4vw,44px);letter-spacing:-.03em}:root{--page-width: 1100px;--bg: #ffffff;--surface: #ffffff;--surface-2: #f6f7f9;--border: #e6e8ec;--text: #14171c;--text-muted: #5b6472;--text-dim: #5b6472;--accent: #12805c;--accent-strong: #0d6b4c;--accent-soft: #e8f4ef;--accent-contrast: #ffffff;--cta: #12805c;--cta-edge: #12805c;--cta-text: #ffffff;--warm: #b7791f;--success: #12805c;--error: #c33f38;--error-bg: #fdecea;--radius: 10px;--shadow: 0 8px 24px rgb(16 24 40 / 8%);--font-sans: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display: "Plus Jakarta Sans", system-ui, sans-serif;--font-mono: ui-monospace, "Cascadia Code", "SF Mono", Menlo, Consolas, monospace;color-scheme:light}html{scrollbar-gutter:stable}*,*:before,*:after{box-sizing:border-box}h1,h2,h3{font-family:var(--font-display);font-weight:600;letter-spacing:-.01em}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.app-navbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:32px;min-height:72px;padding:12px max(24px,calc((100% - var(--page-width)) / 2));border-bottom:1px solid var(--border);background:var(--bg)}.brand{display:flex;align-items:center;gap:8px;color:var(--text);font-family:var(--font-display);font-size:20px;font-weight:700;letter-spacing:-.02em;text-decoration:none}.brand-mark{flex-shrink:0;color:var(--accent)}.app-navbar-links{display:flex;gap:4px;margin-left:auto}.app-navbar-links a{padding:8px 12px;border-radius:8px;color:var(--text-muted);font-size:15px;font-weight:500;text-decoration:none}.app-navbar-links a:hover{color:var(--text)}.app-navbar-links a[aria-current=page]{color:var(--text);font-weight:600}.app-navbar-account{margin-left:8px}.app-navbar .button.account-sign-in{min-height:40px;padding:8px 14px;border-color:var(--border);background:var(--bg);color:var(--text);font-size:14px;font-weight:600}.app-navbar .button.account-sign-in:hover:not(:disabled){border-color:var(--border);background:var(--surface-2)}@media (max-width: 640px){.app-navbar{flex-wrap:wrap;gap:8px;padding:10px 16px}.app-navbar-account{margin-left:auto}.app-navbar-links{order:3;width:100%;justify-content:center;margin:0}}.app-main{max-width:calc(var(--page-width) + 48px);margin:0 auto;padding:24px 24px 32px}@media (max-width: 640px){.app-main{padding:16px}}.library{margin:0 auto}.library-empty .button{text-decoration:none}.library-empty{display:grid;justify-items:start;gap:12px;color:var(--text-muted)}.library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px;margin:0;padding:0;list-style:none}.library-card{display:grid;gap:6px;width:100%;padding:0 0 12px;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--surface);color:var(--text);text-align:left;cursor:pointer}.library-card:hover{border-color:var(--accent)}.library-card img{width:100%;aspect-ratio:16 / 9;object-fit:cover}.library-card-title,.library-card-meta{padding:0 12px}.library-card-title{font-weight:700}.library-card-meta{color:var(--text-muted);font-size:.85rem}.app-main.wide{max-width:1480px;padding-bottom:16px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:42px;padding:8px 18px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);cursor:pointer;font-weight:600}.button:hover:not(:disabled){border-color:var(--text-dim)}.button:disabled,.icon-button:disabled{opacity:.4;cursor:not-allowed}.button.primary{border-color:var(--cta-edge);background:var(--cta);color:var(--cta-text);font-weight:700}.icon-button{display:inline-grid;place-items:center;flex-shrink:0;width:42px;height:42px;border:1px solid var(--border);border-radius:var(--radius);background:transparent;color:var(--text);cursor:pointer}.icon-button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.setup{display:grid;gap:20px}.setup-intro h1{margin:12px 0 4px;font-size:clamp(1.8rem,5vw,2.6rem);line-height:1.15}.setup-intro p{margin:0;color:var(--text-muted)}.setup-form{display:grid;gap:16px}.field{display:grid;gap:6px;font-weight:500}.field input[type=text],.field select,.field textarea,.menu-input,.menu-field select{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--bg)}.field textarea{font-family:var(--font-mono);font-size:.85rem}.field-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.manual summary{cursor:pointer;color:var(--text-muted)}.manual-body{display:grid;gap:16px;margin-top:12px;padding-left:12px;border-left:1px solid var(--border)}.preview{width:100%;max-width:280px;border-radius:10px}.error-message{margin:0;padding:10px 12px;border-radius:10px;background:var(--error-bg);color:var(--error)}.resume{display:flex;align-items:center;gap:16px}.resume img{width:120px;border-radius:8px}.resume div{flex:1}.resume p{margin:0;color:var(--text-muted)}.practice{display:grid;grid-template-columns:60px minmax(0,1fr);gap:24px;align-items:start}.practice.with-transcript{grid-template-columns:60px minmax(0,1fr) 320px}.stage{display:grid;gap:14px;min-width:0;max-width:1000px;width:100%;margin:0 auto}.player-frame{position:relative;justify-self:center;width:clamp(280px,calc((100dvh - 440px) * 16 / 9),100%);aspect-ratio:16 / 9;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius);background:#000}.player-frame:fullscreen{width:100%;border:0;border-radius:0}.player,.player iframe{width:100%;height:100%;border:0}.player-click{position:absolute;top:0;right:0;bottom:0;left:0;cursor:pointer}.player-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:16px;color:#fbfcf7;text-align:center;background:#0009}.player-controls{position:absolute;right:0;bottom:0;left:0;display:grid;gap:2px;padding:24px 14px 10px;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);color:#fbfcf7;opacity:0;transition:opacity .18s}.player-frame:hover .player-controls,.player-frame.paused .player-controls,.player-controls:focus-within{opacity:1}.player-controls-row{display:flex;align-items:center;gap:6px}.player-controls-spacer{flex:1}.control-button{display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:10px;background:transparent;color:#fbfcf7;cursor:pointer}.control-button:hover:not(:disabled){background:#ffffff24}.control-button:disabled{opacity:.35;cursor:not-allowed}.player-time{margin-left:4px;font-family:var(--font-mono);font-size:.85rem;font-variant-numeric:tabular-nums}.sidebar{position:sticky;top:16px;z-index:20;display:flex;flex-direction:column;align-items:center;gap:8px;padding:8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.sidebar-item{position:relative}.sidebar-button{display:grid;place-items:center;width:42px;height:42px;border:1px solid transparent;border-radius:var(--radius);background:transparent;color:var(--text-muted);cursor:pointer;transition:color .12s,background .12s,border-color .12s}.sidebar-button:hover{background:var(--surface-2);color:var(--text)}.sidebar-button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.sidebar-divider{width:60%;margin:4px 0;border:0;border-top:1px solid var(--border)}.menu{position:absolute;top:0;left:calc(100% + 14px);width:320px;max-height:calc(100vh - 40px);overflow-y:auto;padding:16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:0 18px 40px #00000073}.menu-title{margin:0 0 12px;color:var(--accent);font-size:1.05rem}.menu-subtitle{margin:4px 0 0;color:var(--text-muted);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.menu-list,.menu-section{display:grid;gap:8px}.menu-list+.menu-section,.menu-section+.menu-list{margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.menu-option{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);text-align:left;cursor:pointer}.menu-option:hover{border-color:var(--text-dim)}.menu-option.selected{border-color:var(--accent);background:var(--accent-soft)}.menu-option-icon,.menu-option-check{display:grid;color:var(--accent)}.menu-option-text{display:grid;flex:1;min-width:0}.menu-option-label{font-weight:600}.menu-option-description{color:var(--text-muted);font-size:.82rem}.video-dialog{width:min(760px,calc(100vw - 32px));max-height:calc(100vh - 48px);padding:0;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);box-shadow:0 24px 60px #0000008c}.video-dialog::backdrop{background:#23252059;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.video-dialog[open]{animation:dialog-in .16s ease-out}@keyframes dialog-in{0%{opacity:0;transform:translateY(8px) scale(.98)}}@media (prefers-reduced-motion: reduce){.video-dialog[open]{animation:none}}.video-dialog-body{display:grid;gap:20px;padding:24px}.video-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.video-dialog-header h2{margin:0;color:var(--accent);font-size:1.3rem}.video-dialog-form{display:grid;gap:8px}.input-with-icon{position:relative;display:flex;flex:1;align-items:center;color:var(--text-muted)}.input-with-icon svg{position:absolute;left:12px;pointer-events:none}.input-with-icon .menu-input{padding-left:36px}.video-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin:8px 0 0;padding:0;list-style:none}.video-card{display:grid;gap:4px;width:100%;padding:8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);text-align:left;cursor:pointer}.video-card:hover:not(:disabled){border-color:var(--text-dim)}.video-card.current{border-color:var(--accent);background:var(--accent-soft)}.video-card img{width:100%;aspect-ratio:16 / 9;border-radius:8px;object-fit:cover}.video-card-title{display:-webkit-box;overflow:hidden;font-size:.9rem;font-weight:600;-webkit-box-orient:vertical;-webkit-line-clamp:2}.video-card-meta{color:var(--text-muted);font-size:.8rem}.menu-hint{margin:0;color:var(--text-muted);font-size:.85rem}.menu-error{margin:0;color:var(--error);font-size:.85rem}.menu-inline{display:flex;gap:8px}.menu-field{display:grid;gap:6px;font-size:.9rem}.menu-switch{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.92rem;cursor:pointer}.menu-switch input{width:18px;height:18px;accent-color:var(--accent)}.menu-link{display:flex;align-items:center;gap:8px;width:100%;margin-top:14px;padding:10px 0 0;border:0;border-top:1px solid var(--border);background:none;color:var(--accent);cursor:pointer;font-size:.9rem}.stats{display:flex;justify-content:center;gap:32px;margin:0;text-align:center}.stats dt{color:var(--text-muted);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}.stats dd{margin:0;font-family:var(--font-mono);font-size:1.1rem;font-weight:700;font-variant-numeric:tabular-nums}.timeline{--progress: 0%;width:100%;height:18px;margin:0;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.timeline:disabled{cursor:default}.timeline::-webkit-slider-runnable-track{height:4px;border-radius:999px;background:linear-gradient(to right,var(--accent) var(--progress),rgba(255,255,255,.3) var(--progress))}.timeline::-moz-range-track{height:4px;border-radius:999px;background:linear-gradient(to right,var(--accent) var(--progress),rgba(255,255,255,.3) var(--progress))}.timeline::-webkit-slider-thumb{width:14px;height:14px;margin-top:-5px;border:0;border-radius:50%;background:var(--accent);-webkit-appearance:none;-moz-appearance:none;appearance:none;opacity:0;transition:opacity .12s}.timeline::-moz-range-thumb{width:14px;height:14px;border:0;border-radius:50%;background:var(--accent);opacity:0;transition:opacity .12s}.timeline:hover::-webkit-slider-thumb,.timeline:focus-visible::-webkit-slider-thumb,.timeline:active::-webkit-slider-thumb{opacity:1}.timeline:hover::-moz-range-thumb,.timeline:focus-visible::-moz-range-thumb,.timeline:active::-moz-range-thumb{opacity:1}.speed-select{height:34px;padding:0 8px;border:1px solid rgba(255,255,255,.3);border-radius:10px;background:#00000059;color:#fbfcf7;font-family:var(--font-mono);font-size:.85rem;cursor:pointer}.speed-select:hover{border-color:var(--accent)}.speed-select option{background:var(--surface);color:var(--text)}.typing-panel{display:grid;justify-items:center;gap:18px;padding:12px 0 8px;text-align:center;cursor:text}.typing-panel.watch{cursor:default}.typing-line{max-width:900px;margin:0;font-size:clamp(1.35rem,2.6vw,2rem);line-height:1.6;letter-spacing:.02em}.typing-panel.watch .typing-line{color:var(--text)}.char-word{display:inline-block;white-space:nowrap}.char-space{white-space:pre}.char{border-radius:3px;transition:color 80ms}.char.done{color:var(--text)}.word-done .char.done{color:var(--success)}.char.given{color:var(--text-muted)}.char.pending{color:var(--text-dim)}.char.current{background:var(--accent-soft);box-shadow:inset 0 -3px 0 var(--accent);color:var(--text)}.char.current.error{background:var(--error-bg);box-shadow:inset 0 -3px 0 var(--error);color:var(--error);animation:shake .18s}@keyframes shake{25%{transform:translate(-2px)}75%{transform:translate(2px)}}@media (prefers-reduced-motion: reduce){.char.current.error{animation:none}}.line-stage{display:grid;justify-items:center;align-content:center;gap:18px;width:100%;min-height:7.5rem}.silence-mark{display:flex;gap:10px;margin:0}.silence-mark span{width:8px;height:8px;border-radius:50%;background:var(--text-dim);animation:silence-pulse 1.4s ease-in-out infinite}.silence-mark span:nth-child(2){animation-delay:.2s}.silence-mark span:nth-child(3){animation-delay:.4s}@keyframes silence-pulse{0%,to{opacity:.3}50%{opacity:1}}@media (prefers-reduced-motion: reduce){.silence-mark span{animation:none}}.source-line{max-width:900px;margin:0 0 -8px;color:var(--text-muted);font-size:1.05rem}.translation{max-width:760px;margin:0;color:var(--text-muted)}.typing-input{width:100%;max-width:480px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);font-family:var(--font-mono);text-align:center}.typing-input::placeholder{color:var(--text-dim)}.typing-input:focus{border-color:var(--accent);outline:none}.summary{padding:24px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);text-align:center}.summary h2{margin:0 0 4px}.summary p{margin:0 0 16px;color:var(--text-muted)}.summary-actions{display:flex;justify-content:center;gap:8px}.transcript{position:sticky;top:16px;display:flex;flex-direction:column;max-height:calc(100vh - 32px);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.transcript h2{margin:0;padding:14px 16px;border-bottom:1px solid var(--border);color:var(--accent);font-size:.95rem}.transcript ol{position:relative;flex:1;margin:0;padding:6px;overflow-y:auto;list-style:none}.transcript-item{display:flex;gap:10px;width:100%;padding:8px 10px;border:0;border-radius:10px;background:none;text-align:left;cursor:pointer}.transcript-item:hover{background:var(--surface-2)}.transcript-item.done{color:var(--text-muted)}.transcript-item.active{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}.transcript-time{flex-shrink:0;padding-top:2px;color:var(--text-muted);font-family:var(--font-mono);font-size:.8rem}.transcript-text{display:grid;gap:2px}.transcript-translation{color:var(--text-muted);font-size:.85rem}@media (max-width: 1100px){.practice.with-transcript{grid-template-columns:60px minmax(0,1fr)}.practice.with-transcript .transcript{grid-column:2;position:static;max-height:360px}}@media (max-width: 768px){.app-main{padding:8px 20px 24px}.practice,.practice.with-transcript{grid-template-columns:minmax(0,1fr);padding-bottom:80px}.practice.with-transcript .transcript{grid-column:1}.sidebar{position:fixed;top:auto;bottom:10px;left:10px;right:10px;flex-direction:row;justify-content:center;gap:4px}.sidebar-item{position:static}.sidebar-divider{display:none}.menu{position:fixed;top:auto;left:10px;right:10px;bottom:74px;width:auto;max-height:60vh}.stats{gap:16px}.resume{flex-wrap:wrap}}.account{display:flex;align-items:center;gap:10px}.account-sign-in{padding:8px 14px;font-size:.9rem}.account-avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--accent-soft);color:var(--text);font-weight:700;object-fit:cover}.account-name{max-width:160px;overflow:hidden;color:var(--text);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.account-sign-out,.link-button{padding:0;border:0;background:none;color:var(--accent);font:inherit;font-weight:600;cursor:pointer}.account-error,.library-error{color:var(--error);font-size:.85rem}.library-head{margin-bottom:18px}.library-note{color:var(--text-muted)}@media (max-width: 640px){.account-name{display:none}}.account{position:relative}.account-trigger{display:flex;align-items:center;gap:10px;padding:4px 6px 4px 12px;border:0;border-radius:999px;background:none;font:inherit;cursor:pointer}.account-trigger:hover,.account-trigger[aria-expanded=true]{background:var(--surface-2)}.account-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:30;min-width:150px;padding:6px;border:1px solid var(--border);border-radius:var(--radius);background:#fff}.account-menu .account-sign-out{width:100%;padding:9px 12px;border-radius:9px;color:var(--text);font-weight:700;text-align:left}.account-menu .account-sign-out:hover{background:var(--surface-2)}body{font-weight:700}h1,h2,h3{font-weight:600;letter-spacing:-.02em}:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.button{min-height:46px;padding:10px 20px;border:1px solid var(--border);border-radius:var(--radius);background:#fff;color:var(--text);font-weight:600;text-decoration:none;transition:background .12s}.button.primary{border:1px solid var(--accent);background:var(--accent);color:var(--accent-contrast)}.button:hover:not(:disabled){border-color:var(--border);background:var(--surface-2)}.button.primary:hover:not(:disabled){border-color:var(--accent-strong);background:var(--accent-strong)}.button:active:not(:disabled){transform:translateY(1px)}.icon-button{border:1px solid var(--border);border-radius:var(--radius);background:#fff}.account-sign-in{font-size:12px}.account-avatar{border:1px solid var(--border)}@media (max-width: 640px){.app-main{padding:20px}}@media (prefers-reduced-motion: reduce){.button{transition:none}}.app-main.app-main--home{width:100%;max-width:none;margin:0;padding:0}.home-content{max-width:calc(var(--page-width) + 48px);margin:0 auto;padding:0 24px 32px}.app-main--workspace{min-height:calc(100svh - 88px);padding-top:38px;font-family:var(--font-sans);font-weight:700}.workspace-eyebrow,.practice-setup .landing-eyebrow{color:var(--accent);font-size:12px;font-weight:600;letter-spacing:.08em}.app-main--workspace :is(input,textarea,select){accent-color:var(--accent)}.app-main--workspace input::placeholder,.app-main--workspace textarea::placeholder{color:var(--text-muted);opacity:1}.app-main--workspace :is(.field input[type=text],.field textarea,.field select,.menu-input,.menu-field select){border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);color:var(--text);font-weight:700}.app-main--workspace :is(input,textarea,select):focus-visible{outline:3px solid var(--accent);outline-offset:3px}.app-main--workspace .error-message,.app-main--workspace .library-error{padding:12px 15px;border:1px solid #f4bcb6;border-radius:var(--radius);background:#fff0ed;color:#bd4039}.practice-outline{display:grid;gap:21px;margin:30px 0;padding:0;list-style:none}.practice-outline li{display:flex;align-items:start;gap:13px}.practice-outline li>span{flex:0 0 26px;color:var(--text-muted);font-size:12px;font-weight:600}.practice-outline strong{color:var(--text);font-size:14px;font-weight:600}.practice-outline p{margin:5px 0 0;color:var(--text-muted);font-size:12px;line-height:1.6}.app-main--workspace.wide{padding-top:28px}.app-main--workspace .sidebar{border:1px solid var(--border);border-radius:var(--radius);background:#fff}.app-main--workspace .sidebar-button{border-radius:var(--radius)}.app-main--workspace .sidebar-button.active{border-color:var(--border);background:var(--accent-soft);color:var(--accent)}.app-main--workspace .menu{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.app-main--workspace .menu-option{border:1px solid var(--border);border-radius:var(--radius);background:#fff}.app-main--workspace .menu-option.selected{border-color:var(--border);background:var(--accent-soft)}.app-main--workspace :is(.menu-title,.video-dialog-header h2,.transcript h2){color:var(--text);font-family:var(--font-sans);font-weight:600}.app-main--workspace .player-frame{border:1px solid var(--border);border-radius:var(--radius)}.app-main--workspace .player-frame:fullscreen{border:0;border-radius:0}.app-main--workspace .stats{width:fit-content;max-width:100%;padding:12px 27px;margin:9px auto 0;border:1px solid var(--border);border-radius:var(--radius);background:#fff}.app-main--workspace .stats dd{color:var(--text);font-family:var(--font-mono);font-size:19px;font-weight:600}.app-main--workspace .stats dt{font-family:var(--font-sans);font-size:12px;font-weight:600;letter-spacing:.05em}.app-main--workspace .typing-panel{padding:15px 0}.app-main--workspace .typing-input{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);box-shadow:none;font-size:12px}.app-main--workspace .typing-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #1cb0f614}.app-main--workspace :is(.summary,.transcript,.video-dialog){border:1px solid var(--border);border-radius:var(--radius);background:#fff}.app-main--workspace .transcript{top:108px;max-height:calc(100svh - 128px)}.app-main--workspace .transcript h2{font-size:16px}.app-main--workspace .transcript-item{border-radius:var(--radius)}.app-main--workspace .transcript-item.active{background:var(--accent-soft);box-shadow:inset 4px 0 var(--accent)}.app-main--workspace .summary h2{color:var(--accent);font:600 30px/1.3 var(--font-sans)}.app-main--workspace .summary-actions{flex-wrap:wrap}.app-main--workspace .video-dialog::backdrop{background:#25382266}@media (min-width: 769px){.app-main--workspace .sidebar{top:108px}.app-main--workspace .menu{max-height:calc(100svh - 128px)}}.library{padding:10px 0 50px}.library-head{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:30px}.library-head h1{margin:8px 0 10px;color:var(--text);font:600 clamp(32px,4vw,43px)/1.15 var(--font-sans);letter-spacing:-.025em}.library-description{margin:0;color:var(--text-muted);font-size:15px;line-height:1.7}.library-head>.button{flex-shrink:0;gap:16px}.library-toolbar{display:flex;justify-content:space-between;gap:15px;padding:17px 0;margin-bottom:25px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);color:var(--text-muted);font-size:12px}.library-toolbar>span:first-child{color:var(--text);font-weight:600}.library-empty{display:grid;justify-items:center;align-content:center;gap:12px;min-height:320px;padding:35px 24px 40px;border:1px solid var(--border);border-radius:var(--radius);background:#fff;text-align:center}.library-empty:before{content:none}.library-empty .workspace-eyebrow{margin:10px 0 0;font-size:12px}.library-empty h2{margin:0;color:var(--text);font:600 clamp(25px,3vw,31px)/1.25 var(--font-sans);letter-spacing:-.02em}.library-empty>p:not(.workspace-eyebrow){max-width:350px;margin:0 0 8px;color:var(--text-muted);font-size:14px;line-height:1.7}.library-loading{display:grid;justify-items:center;align-content:center;gap:12px;min-height:290px;border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted);background:#fff;font-size:14px}.library-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:24px}.library-grid>li{display:flex}.library-card{padding:0 0 19px;border:1px solid var(--border);border-radius:var(--radius);background:#fff}.library-card:hover{border-color:var(--border);transform:translateY(-2px)}.library-card img{filter:none}.library-card-title{display:-webkit-box;min-height:58px;overflow:hidden;padding:13px 17px 0;color:var(--text);font-size:16px;font-weight:600;line-height:1.4;overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical}.library-card-meta{padding:0 17px;color:var(--text-muted);font-size:12px}.library-card-track{display:block;height:7px;margin:12px 17px;border-radius:8px;background:var(--border);overflow:hidden}.library-card-track>span{display:block;height:100%;border-radius:inherit;background:var(--accent)}.library-card-action{display:flex;justify-content:space-between;align-items:center;padding:2px 17px 0;color:var(--accent);font-size:13px;font-weight:600}.library-account-note{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:27px;color:var(--text-muted);font-size:13px;line-height:1.7}.library-account-note svg{flex-shrink:0;color:var(--accent)}.library-account-note .link-button{color:var(--accent);font-weight:600;text-decoration:underline;text-underline-offset:3px}@media (max-width: 700px){.app-main--workspace{padding:26px 20px}.practice-outline{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:26px 0 0}.practice-outline li{flex-direction:column;gap:7px}.practice-outline strong,.practice-outline p{font-size:12px}.practice-setup .practice-help{display:none}.library-head{align-items:start;flex-wrap:wrap;gap:20px;margin-bottom:26px}.library-head h1{font-size:36px}.library-empty{padding:28px 20px 35px}.library-account-note{align-items:start}.app-main--workspace .transcript{position:static;max-height:350px}.app-main--workspace .stats{gap:19px;padding:11px 20px}}@media (max-width: 400px){.app-main--workspace .player-frame{min-width:0;max-width:100%}.app-main--workspace .player-controls{padding-right:6px;padding-left:6px}.app-main--workspace .control-button{width:30px;height:34px}.app-main--workspace .player-controls-row{gap:2px}.app-main--workspace .speed-select{padding:0 3px}.app-main--workspace .player-time{margin-left:2px;font-size:12px}}.landing-footer-links{display:flex;flex-wrap:wrap;gap:16px}.legal-page{max-width:720px;margin:0 auto;padding:10px 0 60px;font-weight:500;line-height:1.7}.legal-page h1{margin:6px 0;font-size:38px}.legal-page h2{margin:32px 0 8px;font-size:20px}.legal-page ul{padding-left:20px}.legal-page li{margin-bottom:8px}.legal-page a{color:var(--accent)}.legal-updated{color:var(--text-muted);font-size:14px}
