.app-main.app-main--home{width:100%;max-width:none;margin:0;padding:0}.app-navbar.app-navbar--playful{min-height:88px;padding:14px max(24px,calc((100vw - 1100px)/2));gap:32px;border-bottom:2px solid #f0f0f0;background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}.app-navbar--playful .brand{gap:8px;color:#58cc02;font:900 29px/1.1 var(--font-sans);letter-spacing:-.045em}.app-navbar--playful .brand-mark{width:43px;height:43px;border:0;border-radius:0;background:none;box-shadow:none}.app-navbar--playful .brand-mark img{display:block;width:100%;height:100%;object-fit:contain}.app-navbar--playful .app-navbar-links{margin-left:auto;gap:15px}.app-navbar--playful .app-navbar-links a{padding:8px 12px;border:0;border-radius:12px;color:#777;font-size:15px;font-weight:800}.app-navbar--playful .app-navbar-links a:hover{color:#3d8a00;background:#f1f9e9}.app-navbar--playful .app-navbar-links a[aria-current=page]{color:#3d8a00;background:#eff9e5}.app-navbar--playful .app-navbar-account{margin-left:8px}.app-navbar--playful .account .button.account-sign-in{min-height:43px;padding:9px 15px;border:2px solid #e5e5e5;border-radius:13px;background:#fff;background-image:none;color:#4b4b4b;box-shadow:0 3px #e5e5e5;font-size:12px;font-weight:800}.app-navbar--playful .account .button.account-sign-in:hover{background:#f7faf3;border-color:#cfd9c7;filter:none}.app-navbar--playful .account-name,.app-navbar--playful .account-sign-out{color:#5c5c5c}.app-navbar--playful .account-avatar{border:2px solid #d7efbf;background:#eff9e5}.app-navbar.app-navbar--home{border-bottom-color:transparent}.app-navbar--home .app-navbar-links{gap:16px}.app-navbar--home .app-navbar-links a{padding:8px 10px;border-radius:9px;font-size:14px}.app-navbar--home .app-navbar-links a[aria-current=page]{background:transparent;color:#3d8a00}.playful-hero{display:grid;grid-template-columns:minmax(0,410px) minmax(0,450px);justify-content:center;align-items:center;gap:75px;width:min(100% - 64px,980px);min-height:calc(100svh - 88px);margin:0 auto;padding:60px 0 110px;background:#fff}.playful-hero__art{display:grid;place-items:center;min-width:0}.playful-hero__illustration{display:block;width:100%;max-width:410px;height:auto;max-height:410px;object-fit:contain}.playful-hero__copy{width:100%;max-width:450px;text-align:center}.playful-hero h1{margin:0;color:#4b4b4b;font:900 32px/1.25 var(--font-sans);letter-spacing:-.02em;text-wrap:balance}.playful-hero__copy>p{max-width:360px;margin:17px auto 24px;color:#777;font-size:15px;line-height:1.65}.playful-hero__actions{display:grid;gap:14px;width:min(100%,330px);margin:0 auto}.playful-hero__button{display:flex;justify-content:center;align-items:center;min-height:48px;padding:11px 20px;border:2px solid #e5e5e5;border-radius:13px;font-size:13px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;transition:transform .12s,background .12s}.playful-hero__button--primary{border-color:#58cc02;background:#58cc02;box-shadow:0 4px #46a302;color:#fff}.playful-hero__button--primary:hover{border-color:#63d70d;background:#63d70d}.playful-hero__button--secondary{background:#fff;box-shadow:0 3px #e5e5e5;color:#1cb0f6}.playful-hero__button--secondary:hover{background:#f3fbff}.playful-hero__button:active{transform:translateY(3px);box-shadow:0 1px #d7d7d7}.home-content{max-width:1060px;margin:0 auto;padding:0 32px 30px}@media (max-width: 900px){.app-navbar.app-navbar--playful{gap:18px;padding-right:22px;padding-left:22px}.app-navbar--playful .app-navbar-links{gap:5px}.app-navbar--playful .brand{font-size:25px}.playful-hero{gap:35px;width:min(100% - 48px,980px);padding:50px 0 90px}.playful-hero h1{font-size:29px}.playful-hero__copy>p{font-size:14px}}@media (max-width: 640px){.app-navbar.app-navbar--playful{min-height:119px;flex-wrap:wrap;padding:12px 16px;gap:9px}.app-navbar--playful .brand{font-size:25px}.app-navbar--playful .brand-mark{width:36px;height:36px}.app-navbar--playful .app-navbar-account{margin-left:auto}.app-navbar--playful .account .button.account-sign-in{min-height:35px;padding:6px 9px;font-size:10px}.app-navbar--playful .app-navbar-links{order:3;width:100%;justify-content:center;gap:16px;margin:0}.app-navbar--playful .app-navbar-links a{padding:6px 12px;font-size:13px}.app-navbar.app-navbar--home{min-height:105px;justify-content:center;padding-top:10px;padding-bottom:9px;gap:5px}.app-navbar--home .app-navbar-links{gap:22px}.app-navbar--home .app-navbar-links a{padding:5px 8px}.playful-hero{grid-template-columns:minmax(0,1fr);gap:21px;width:min(100% - 40px,440px);min-height:calc(100svh - 105px);padding:28px 0 46px;align-content:center}.playful-hero__illustration{width:min(100%,280px);max-height:260px}.playful-hero__copy{max-width:none}.playful-hero h1{font-size:27px;line-height:1.23}.playful-hero__copy>p{max-width:310px;margin:14px auto 22px;font-size:14px}.playful-hero__actions{gap:13px}.playful-hero__button{min-height:47px;font-size:12px}.home-content{padding:0 22px 24px}}@media (max-width: 380px) and (max-height: 750px){.playful-hero{gap:17px;padding-top:20px;padding-bottom:35px}.playful-hero__illustration{width:230px;max-height:215px}}@media (prefers-reduced-motion: reduce){.playful-hero__button{transition:none}}.landing{color:var(--text)}.landing a{text-decoration:none}.landing-eyebrow{margin:0 0 13px;color:#3d8a00;font-size:12px;font-weight:900;letter-spacing:.08em}.landing-primary,.landing-text-link{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:48px;padding:11px 22px;border:2px solid #58cc02;border-radius:14px;background:#58cc02;box-shadow:0 4px #46a302;color:#254600;font:900 14px/1.4 var(--font-sans);cursor:pointer;transition:transform .12s,background .12s}.landing-text-link{border-color:#e5e5e5;background:#fff;box-shadow:0 4px #e5e5e5;color:#3d8a00}.landing-primary:hover:not(:disabled){background:#63d70d;border-color:#63d70d}.landing-text-link:hover{background:#f7faf3}.landing-primary:active:not(:disabled),.landing-text-link:active{transform:translateY(3px);box-shadow:0 1px #d7d7d7}.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:2px solid #f0f0f0;color:#777;font-size:12px}.footer-brand{display:inline-flex;align-items:center;gap:7px;color:#58cc02;font-size:22px;font-weight:900;letter-spacing:-.04em}.footer-brand img{width:31px;height:31px;object-fit:contain}.landing-footer>a:last-child{color:#777;font-weight:800}.landing--home{background:#fff}.landing--home .method-section{width:100%;background:#131f24;color:#fff;scroll-margin-top:88px}.method-section__inner{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center;gap:78px;max-width:1120px;margin:0 auto;padding:76px 32px 82px}.method-section .landing-eyebrow{color:#00c9a3;font-size:11px;font-weight:900;letter-spacing:.1em}.method-section h2{margin:0;color:#fff;font:900 clamp(32px,3.5vw,43px)/1.16 var(--font-sans);letter-spacing:-.025em}.method-intro{max-width:340px;margin:23px 0 0;color:#bdcdd3;font-size:16px;line-height:1.75}.method-start{display:inline-flex;align-items:center;justify-content:center;gap:15px;min-height:46px;margin-top:27px;padding:11px 20px;border:2px solid #00c9a3;border-radius:14px;background:#00c9a3;color:#083d32;box-shadow:0 4px #008e76;font-size:13px;font-weight:900}.method-start:hover{background:#14d7b3;border-color:#14d7b3}.method-start:active{transform:translateY(3px);box-shadow:0 1px #008e76}.practice-demo{overflow:hidden;min-width:0;border:2px solid #334951;border-radius:23px;background:#192a31;box-shadow:0 6px #0c171b;color:#fff}.practice-demo__chrome{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:41px;padding:11px 16px;border-bottom:1px solid #334951;background:#1d3038;color:#b6cbd3;font-size:9px;font-weight:900;letter-spacing:.06em}.practice-demo__duration{color:#a1b6be;font-size:9px;letter-spacing:0}.practice-demo__video{position:relative;aspect-ratio:16 / 9;min-height:200px;overflow:hidden;background:#080e11}.practice-demo__player,.practice-demo__player iframe{display:block;width:100%;height:100%;border:0}.practice-demo__video-toggle{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;width:100%;height:100%;padding:0;border:0;background:transparent;color:#fff;cursor:pointer}.practice-demo__video-toggle>span{display:grid;place-items:center;width:58px;height:58px;padding-left:3px;border:2px solid #00c9a3;border-radius:50%;background:#12372ee8;box-shadow:0 4px #07161066;color:#00dfb4}.practice-demo__video-toggle:focus-visible{outline:3px solid #4fe8ce;outline-offset:-5px}.practice-demo__video-message{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;justify-items:center;gap:10px;padding:24px;background:#0e191fee;color:#bcd0d8;text-align:center}.practice-demo__video-message p{margin:0;font-size:13px}.practice-demo__video-message a{color:#54e6ce;font-size:12px;font-weight:900;text-decoration:underline;text-underline-offset:3px}.practice-demo__video-controls{display:flex;align-items:center;gap:9px;padding:13px 16px 12px}.demo-control{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:37px;padding:8px 12px;border:2px solid #3a535d;border-radius:11px;background:#223b44;color:#e2eef3;box-shadow:0 3px #102128;font:900 11px/1.3 var(--font-sans);cursor:pointer}.demo-control--primary{border-color:#00c9a3;background:#00c9a3;color:#083d32;box-shadow:0 3px #008e76}.demo-control:hover:not(:disabled){filter:brightness(1.1)}.demo-control:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px #102128}.demo-control:disabled{opacity:.45;cursor:not-allowed}.practice-demo__source-link{margin-left:auto;color:#9fc5d2;font-size:10px;font-weight:900;white-space:nowrap}.practice-demo__source-link:hover{color:#fff}.practice-demo__attribution{margin:0;padding:0 16px 13px;color:#9eb5bf;font-size:9px;line-height:1.6}.practice-demo__attribution a{color:#c6e2ec;font-weight:900;text-decoration:underline;text-underline-offset:2px}.practice-demo__typing{padding:18px 18px 20px;border-top:1px solid #334951}.practice-demo__status{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#c6d9e1;font-size:11px;font-weight:900}.practice-demo__status>span:last-child{color:#00dfb4}.practice-demo__progress{display:block;width:100%;height:7px;margin:11px 0 17px;overflow:hidden;border:0;border-radius:7px;background:#304851;-webkit-appearance:none;-moz-appearance:none;appearance:none;accent-color:#00c9a3}.practice-demo__progress::-webkit-progress-bar{border-radius:7px;background:#304851}.practice-demo__progress::-webkit-progress-value{border-radius:7px;background:#00c9a3}.practice-demo__progress::-moz-progress-bar{border-radius:7px;background:#00c9a3}.practice-demo .typing-line{max-width:none;margin:0 0 16px;color:#c1d1d8;font-size:20px;line-height:1.7;font-weight:800;letter-spacing:.01em}.practice-demo .char.pending,.practice-demo .char.given{color:#9eb8c3}.practice-demo .char.done{color:#eaf6fa}.practice-demo .word-done .char.done{color:#00dfb4}.practice-demo .char.current{background:#24434b;box-shadow:inset 0 -3px #00c9a3;color:#fff}.practice-demo .char.current.error{background:#57323a;box-shadow:inset 0 -3px #ff9f9b;color:#ffd0ca}.practice-demo__input-label{display:block;margin-bottom:8px;color:#c6d9e1;font-size:11px;font-weight:900}.practice-demo__typing input{width:100%;min-height:43px;padding:10px 12px;border:2px solid #3a535d;border-radius:12px;background:#102128;color:#fff;font:800 13px/1.4 var(--font-sans)}.practice-demo__typing input::placeholder{color:#9bb3be;opacity:1}.practice-demo__typing input:focus-visible{border-color:#00c9a3;outline:2px solid #00c9a34d;outline-offset:3px}.practice-demo__typing input.has-error{border-color:#e58b87}.practice-demo__typing input[readonly]{background:#153831;border-color:#278e77}.practice-demo__help{margin:10px 0 0;color:#adc3ce;font-size:10px;line-height:1.65}.practice-demo__feedback{min-height:32px;margin:9px 0 12px;color:#b8d5de;font-size:11px;line-height:1.6}.practice-demo__typing-controls{display:flex;align-items:center;justify-content:space-between;gap:10px}.demo-control--reset{border-color:transparent;background:transparent;color:#b0c8d2;box-shadow:none}.practice-demo.is-complete{border-color:#00c9a3}.method-section a:focus-visible,.method-section button:focus-visible{outline:3px solid #4fe8ce;outline-offset:4px}.landing--home .home-content h2{margin:0;color:#4b4b4b;font:900 34px/1.22 var(--font-sans);letter-spacing:-.025em}.landing--home .control-section{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:80px;padding:80px 0;border-top:2px solid #f0f0f0}.control-copy>p:not(.landing-eyebrow){max-width:340px;margin:20px 0 25px;color:#777;font-size:16px;line-height:1.75}.playback-illustration{min-width:0;margin:0}.playback-illustration__body{padding:24px;border:2px solid #d9ecfb;border-radius:24px;background:#f0faff;box-shadow:0 5px #d9ecfb}.playback-illustration__top{display:flex;align-items:center;justify-content:space-between;color:#317ea0;font-size:10px;font-weight:900;letter-spacing:.08em}.playback-illustration__top>span:last-child{padding:1px 4px;border:1px solid #8ec9e6;border-radius:4px;font-size:9px}.playback-waveform{position:relative;display:flex;align-items:center;justify-content:space-between;gap:5px;height:105px;margin-top:18px}.playback-waveform>span{flex:1;min-width:2px;max-width:6px;border-radius:8px;background:#a7e1fb}.playback-waveform>span:nth-child(-n+16){background:#1cb0f6}.playback-position{position:absolute;top:0;bottom:0;left:51.5%;width:3px;border-radius:3px;background:#167da9}.playback-position:before{content:"";position:absolute;left:-2px;top:-3px;width:7px;height:7px;border-radius:50%;background:#167da9}.playback-track{height:4px;margin:8px 0 23px;border-radius:4px;background:#d0ecfa}.playback-track span{display:block;height:100%;width:51.5%;border-radius:inherit;background:#1cb0f6}.playback-tool-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.playback-tool-row>div{display:grid;align-content:center;justify-items:center;gap:7px;min-height:72px;padding:10px 4px;border:2px solid #d0ecfa;border-radius:14px;background:#fff;color:#167da9}.playback-tool-row strong{font-size:15px;font-weight:900}.playback-tool-row span{color:#68838f;font-size:9px;font-weight:800}.playback-caption-preview{padding:14px 17px;margin-top:15px;border-radius:15px;background:#fff}.playback-caption-preview>span{color:#68838f;font-size:8px;font-weight:900;letter-spacing:.08em}.playback-caption-preview p{margin:8px 0 0;color:#4b4b4b;font-size:19px;font-weight:900}.playback-caption-preview p:last-child{margin-top:4px;color:#777;font-size:12px;font-weight:700}.playback-illustration figcaption{margin-top:12px;color:#777;text-align:center;font-size:10px}.landing--home .feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:70px;padding:65px 0 75px;border-top:2px solid #f0f0f0}.feature-block{display:flex;flex-direction:column;align-items:center;min-width:0;text-align:center}.landing--home .feature-block h2{font-size:28px}.feature-block>p:not(.landing-eyebrow){max-width:330px;margin:17px 0 23px;color:#777;font-size:14px;line-height:1.75}.feature-block>a{margin-top:auto}.subtitle-illustration,.library-illustration{position:relative;display:flex;justify-content:center;align-items:center;width:180px;height:100px;margin-bottom:25px}.subtitle-illustration span{display:grid;place-items:center;width:54px;height:70px;border:2px solid #d7efbf;border-radius:12px;background:#eff9e5;color:#3d8a00;box-shadow:0 4px #d7efbf;font-size:11px;font-weight:900;transform:rotate(-10deg)}.subtitle-illustration span:nth-child(2){z-index:1;margin:-12px -2px 0;transform:rotate(1deg);border-color:#58cc02;background:#58cc02;box-shadow:0 4px #46a302;color:#254600}.subtitle-illustration span:last-child{transform:rotate(10deg);border-color:#ffe08b;background:#fff7d7;box-shadow:0 4px #ffe08b;color:#8f6600}.library-illustration span,.library-illustration>svg{position:absolute;width:99px;height:66px;border:2px solid #d0ecfa;border-radius:12px;background:#e0f5ff;transform:translate(-12px,-8px) rotate(-10deg)}.library-illustration span:nth-child(2){transform:translate(13px,-1px) rotate(10deg);border-color:#ffe08b;background:#fff7d7}.library-illustration>svg{padding:15px;transform:translateY(8px);border-color:#58cc02;background:#58cc02;box-shadow:0 4px #46a302;color:#254600}.start-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:start;padding:30px 0 65px}.start-copy{padding-top:15px}.start-copy h1{max-width:420px;margin:0;color:#4b4b4b;font:900 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:#777;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:2px solid #f0f0f0;color:#777}.practice-help>svg{flex-shrink:0;color:#1cb0f6}.practice-help h2{margin:0;color:#4b4b4b;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:22px;padding:27px;border:2px solid #e5e5e5;border-radius:23px;background:#fff;box-shadow:0 5px #e5e5e5}.form-heading{display:flex;align-items:center;gap:12px;padding-bottom:20px;border-bottom:2px solid #f0f0f0}.form-heading-icon{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;border-radius:14px;background:#eff9e5;color:#3d8a00}.form-heading h2{margin:0;font-size:21px;font-weight:900}.form-heading p{margin:4px 0 0;color:#777;font-size:12px}.landing-form .field{gap:9px;min-width:0;font-size:13px;font-weight:800}.landing-form .field input[type=text],.landing-form .field select,.landing-form .field textarea{padding:12px 13px;border:2px solid #e5e5e5;border-radius:12px;background:#f7faf3;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:#777;opacity:1}.landing-form .field-row{grid-template-columns:1fr 1fr;gap:14px}.landing-form .manual{padding-top:15px;border-top:2px solid #f0f0f0}.landing-form summary{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#5b5b5b;font-size:13px;font-weight:800;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:#777;font-size:11px}.landing-form input[type=file]::file-selector-button{margin-right:8px;padding:8px 10px;border:2px solid #e5e5e5;border-radius:10px;background:#fff;color:#4b4b4b;font:800 11px var(--font-sans);cursor:pointer}.landing-form>.landing-primary{width:100%}.form-footnote{margin:0;color:#777;text-align:center;font-size:11px}.service-note{display:flex;align-items:start;gap:8px;margin:0;color:#777;font-size:12px;line-height:1.7}.service-note svg{flex-shrink:0;margin-top:3px}.route-notice{padding:14px;margin-bottom:16px;border:2px solid #d0ecfa;border-radius:14px;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:#777;font-size:9px;line-height:2;font-weight:800}.landing-video-preview strong{color:#4b4b4b;font-size:13px}.landing-resume{display:flex;align-items:center;gap:12px;padding:15px;margin-bottom:16px;border:2px solid #d7efbf;border-radius:17px;background:#f5fceb}.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:#777;font-size:11px}.landing-resume button{padding:0;border:0;background:none;color:#3d8a00;font:900 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:#777}@media (max-width: 900px){.landing--home .control-section{gap:42px}.method-section__inner{gap:36px;padding:64px 28px 70px}.start-section{gap:35px}}@media (max-width: 700px){.landing--home .control-section{grid-template-columns:minmax(0,1fr);gap:38px;padding:48px 0}.method-section__inner{grid-template-columns:minmax(0,1fr);gap:35px;padding:48px 22px 55px}.method-section h2{font-size:32px}.landing--home .home-content h2{font-size:29px}.method-copy,.control-copy{max-width:480px;width:100%;margin:0 auto}.practice-demo,.playback-illustration{width:100%;max-width:480px;margin:0 auto}.landing--home .feature-grid{grid-template-columns:1fr;gap:55px;padding:48px 0}.start-section{grid-template-columns:minmax(0,1fr);gap:30px;padding:10px 0 45px}.start-copy h1{font-size:35px}.landing-footer{flex-wrap:wrap;justify-content:center;gap:15px;font-size:11px}.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}.playback-illustration__body{padding:20px 16px}.playback-tool-row{gap:6px}.playback-tool-row span{font-size:8px}.practice-demo__typing input{font-size:16px}}@media (prefers-reduced-motion: reduce){.landing-primary,.landing-text-link{transition:none}}:root{--bg: #ffffff;--surface: #ffffff;--surface-2: #f7faf3;--border: #e5e5e5;--text: #4b4b4b;--text-muted: #777777;--text-dim: #7f7f7f;--accent: #3d8a00;--accent-soft: #eff9e5;--accent-contrast: #ffffff;--cta: #58cc02;--cta-edge: #46a302;--cta-text: #254600;--warm: #ffc800;--success: #3d8a00;--error: #c33f38;--error-bg: #ffebe7;--radius: 18px;--font-sans: "Nunito", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display: "Nunito", system-ui, sans-serif;--font-mono: ui-monospace, "Cascadia Code", "SF Mono", Menlo, Consolas, monospace;color-scheme:light}*,*:before,*:after{box-sizing:border-box}h1,h2,h3{font-family:var(--font-display);font-weight:800;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;padding:14px max(24px,calc((100vw - 1240px)/2));border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.brand{display:flex;align-items:center;gap:10px;border:0;background:none;color:var(--text);font-family:var(--font-display);font-size:1.3rem;font-weight:800;text-decoration:none;cursor:pointer}.brand-mark{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:var(--accent);color:var(--accent-contrast);font-size:1rem;font-weight:800}.app-navbar-links{display:flex;gap:6px}.app-navbar-links a{padding:8px 14px;border-radius:999px;color:var(--text-muted);font-weight:600;text-decoration:none}.app-navbar-links a:hover{color:var(--text);background:var(--surface)}.app-navbar-links a[aria-current=page]{color:var(--text);background:var(--accent-soft)}.app-navbar-account{margin-left:auto}@media (max-width: 640px){.app-navbar{gap:12px;padding:10px 16px}.brand{font-size:0}.app-navbar-links a{padding:6px 10px;font-size:.85rem}}.app-main{max-width:1240px;margin:0 auto;padding:24px 32px 32px}@media (max-width: 640px){.app-main{padding:16px}}.library{max-width:1080px;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:12px;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);border-bottom-width:3px;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:12px;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:2px 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:18px;background:var(--surface)}.sidebar-item{position:relative}.sidebar-button{display:grid;place-items:center;width:42px;height:42px;border:1px solid transparent;border-radius:12px;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:16px;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:12px;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:18px;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:12px;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:12px;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}}body{font-weight:700}h1,h2,h3{font-weight:900;letter-spacing:-.02em}:focus-visible{outline:3px solid #1cb0f6;outline-offset:4px}.button{min-height:46px;padding:10px 20px;border:2px solid #e5e5e5;border-radius:14px;background:#fff;box-shadow:0 4px #e5e5e5;color:#4b4b4b;font-weight:900;text-decoration:none;transition:transform .12s,background .12s}.button.primary{border:2px solid #58cc02;background:#58cc02;box-shadow:0 4px #46a302;color:#254600}.button:hover:not(:disabled){border-color:#cfd9c7;background:#f7faf3}.button.primary:hover:not(:disabled){border-color:#63d70d;background:#63d70d}.button:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px #d7d7d7}.icon-button{border:2px solid #e5e5e5;border-radius:12px;background:#fff}.account-sign-in{font-size:12px}.account-avatar{border:2px solid #d7efbf}@media (max-width: 640px){.app-main{padding:20px}}@media (prefers-reduced-motion: reduce){.button{transition:none}}.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:#3d8a00;font-size:11px;font-weight:900;letter-spacing:.08em}.app-main--workspace :is(input,textarea,select){accent-color:#58cc02}.app-main--workspace input::placeholder,.app-main--workspace textarea::placeholder{color:#777;opacity:1}.app-main--workspace :is(.field input[type=text],.field textarea,.field select,.menu-input,.menu-field select){border:2px solid #e5e5e5;border-radius:12px;background:#f7faf3;color:var(--text);font-weight:700}.app-main--workspace :is(input,textarea,select):focus-visible{outline:3px solid #1cb0f6;outline-offset:3px}.app-main--workspace .error-message,.app-main--workspace .library-error{padding:12px 15px;border:2px solid #f4bcb6;border-radius:13px;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{display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:11px;background:#eff9e5;color:#3d8a00;font-size:11px;font-weight:900}.practice-outline strong{color:#4b4b4b;font-size:14px;font-weight:900}.practice-outline p{margin:5px 0 0;color:#777;font-size:12px;line-height:1.6}.app-main--workspace.wide{padding-top:28px}.app-main--workspace .sidebar{border:2px solid #e5e5e5;border-radius:18px;background:#fff;box-shadow:0 4px #e5e5e5}.app-main--workspace .sidebar-button{border-radius:12px}.app-main--workspace .sidebar-button.active{border-color:#b8e892;background:#eff9e5;color:#3d8a00}.app-main--workspace .menu{border:2px solid #e5e5e5;border-radius:18px;box-shadow:0 5px #e5e5e5,0 15px 35px #4b4b4b18}.app-main--workspace .menu-option{border:2px solid #e5e5e5;border-radius:13px;background:#fff}.app-main--workspace .menu-option.selected{border-color:#b8e892;background:#eff9e5}.app-main--workspace :is(.menu-title,.video-dialog-header h2,.transcript h2){color:#4b4b4b;font-family:var(--font-sans);font-weight:900}.app-main--workspace .player-frame{border:3px solid #e5e5e5;border-radius:18px;box-shadow:0 4px #d8d8d8}.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:2px solid #e5e5e5;border-radius:16px;background:#fff}.app-main--workspace .stats dd{color:#4b4b4b;font-family:var(--font-mono);font-size:19px;font-weight:800}.app-main--workspace .stats dt{font-family:var(--font-sans);font-size:10px;font-weight:900;letter-spacing:.05em}.app-main--workspace .typing-panel{padding:15px 0}.app-main--workspace .typing-input{border:2px solid #e5e5e5;border-radius:14px;background:#f7faf3;box-shadow:none;font-size:12px}.app-main--workspace .typing-input:focus{border-color:#1cb0f6;box-shadow:0 0 0 3px #1cb0f614}.app-main--workspace :is(.summary,.transcript,.video-dialog){border:2px solid #e5e5e5;border-radius:18px;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:11px}.app-main--workspace .transcript-item.active{background:#eff9e5;box-shadow:inset 4px 0 #58cc02}.app-main--workspace .summary h2{color:#3d8a00;font:900 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:#4b4b4b;font:900 clamp(32px,4vw,43px)/1.15 var(--font-sans);letter-spacing:-.025em}.library-description{margin:0;color:#777;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:2px solid #f0f0f0;border-bottom:2px solid #f0f0f0;color:#777;font-size:12px}.library-toolbar>span:first-child{color:#4b4b4b;font-weight:900}.library-empty{display:grid;justify-items:center;gap:14px;min-height:380px;padding:35px 24px 40px;border:2px solid #e5e5e5;border-radius:24px;background:#fff;text-align:center}.library-empty:before{content:none}.library-empty .workspace-eyebrow{margin:10px 0 0;font-size:10px}.library-empty h2{margin:0;color:#4b4b4b;font:900 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:#777;font-size:14px;line-height:1.7}.collection-art{position:relative;display:grid;place-items:center;width:140px;height:85px;margin:10px 0}.collection-art span{position:absolute;width:91px;height:64px;border:2px solid #d0ecfa;border-radius:14px;background:#e0f5ff;transform:translate(-13px,-7px) rotate(-10deg)}.collection-art span:nth-child(2){transform:translate(12px,-2px) rotate(10deg);border-color:#ffe08b;background:#fff7d7}.collection-art span:last-child{display:grid;place-items:center;transform:translateY(8px);border-color:#58cc02;background:#58cc02;box-shadow:0 4px #46a302;color:#254600}.library-loading{display:grid;justify-items:center;align-content:center;gap:12px;min-height:290px;border:2px solid #e5e5e5;border-radius:22px;color:#777;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:2px solid #e5e5e5;border-radius:20px;background:#fff;box-shadow:0 4px #e5e5e5}.library-card:hover{border-color:#b8e892;transform:translateY(-2px)}.library-card img{filter:none}.library-card-title{display:-webkit-box;min-height:58px;overflow:hidden;padding:13px 17px 0;color:#4b4b4b;font-size:16px;font-weight:900;line-height:1.4;overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical}.library-card-meta{padding:0 17px;color:#777;font-size:12px}.library-card-track{display:block;height:7px;margin:12px 17px;border-radius:8px;background:#e5e5e5;overflow:hidden}.library-card-track>span{display:block;height:100%;border-radius:inherit;background:#58cc02}.library-card-action{display:flex;justify-content:space-between;align-items:center;padding:2px 17px 0;color:#3d8a00;font-size:13px;font-weight:900}.library-account-note{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:27px;color:#777;font-size:13px;line-height:1.7}.library-account-note svg{flex-shrink:0;color:#1cb0f6}.library-account-note .link-button{color:#3d8a00;font-weight:900;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{font-size:12px}.practice-outline p{font-size:11px}.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:10px}}.app-shell--practice{--bg: #102a23;--surface: #16382e;--surface-2: #204539;--border: #3c5e50;--text: #eef5eb;--text-muted: #b9cbbd;--text-dim: #a4b9aa;--accent: #b2ed78;--accent-soft: #294d3a;--accent-contrast: #15311c;--cta: #58cc02;--cta-edge: #46a302;--cta-text: #163512;--success: #a1e696;--error: #ffb4aa;--error-bg: #57362f;min-height:100svh;width:100%;background:var(--bg);color:var(--text);color-scheme:dark}.app-shell--practice .app-navbar.app-navbar--playful{position:static;min-height:88px;gap:26px;border:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.app-shell--practice .app-navbar .brand{flex-shrink:0;color:#8de34c}.app-shell--practice .app-navbar .app-navbar-links{margin-left:auto;gap:17px}.app-shell--practice .app-navbar .app-navbar-links a{padding:8px 0;border:0;border-radius:0;background:transparent;color:#cfdfd1}.app-shell--practice .app-navbar .app-navbar-links a:hover,.app-shell--practice .app-navbar .app-navbar-links a[aria-current=page]{background:transparent;color:#b2ed78}.app-shell--practice .app-navbar .app-navbar-links a[aria-current=page]{text-decoration:underline;text-underline-offset:6px}.app-shell--practice .app-navbar .app-navbar-account{margin-left:4px}.app-shell--practice .app-navbar .account .button.account-sign-in,.app-shell--practice .app-navbar .account .account-sign-out{min-height:0;padding:8px 0;border:0;border-radius:0;background:transparent;color:#cfdfd1;box-shadow:none;font-size:12px;font-weight:800;text-decoration:none;transform:none}.app-shell--practice .app-navbar .account .button.account-sign-in:hover,.app-shell--practice .app-navbar .account .account-sign-out:hover{background:transparent;color:#b2ed78;filter:none}.app-shell--practice .app-navbar .account-name{color:#cfdfd1}.app-shell--practice .app-navbar .account-avatar{border-color:#4e7058;background:#294d3a;color:#eef5eb}.app-shell--practice .account-error{color:var(--error)}.app-shell--practice .button,.app-shell--practice .icon-button{border-color:var(--border);background:var(--surface-2);color:var(--text);box-shadow:0 3px #0b2119}.app-shell--practice .button.primary,.app-shell--practice .landing-primary{border-color:#58cc02;background:#58cc02;color:#163512;box-shadow:0 4px #3d9d00}.app-shell--practice .button:hover:not(:disabled),.app-shell--practice .icon-button:hover:not(:disabled){border-color:#769971;background:#2a5140;color:#f2f8ef}.app-shell--practice .button.primary:hover:not(:disabled),.app-shell--practice .landing-primary:hover:not(:disabled){border-color:#6ada15;background:#6ada15;color:#163512}.app-shell--practice .app-main--workspace input,.app-shell--practice .app-main--workspace textarea,.app-shell--practice .app-main--workspace select{accent-color:#a5e96d}.app-shell--practice .app-main--workspace input[type=text],.app-shell--practice .app-main--workspace textarea,.app-shell--practice .app-main--workspace .field select,.app-shell--practice .app-main--workspace .menu-field select,.app-shell--practice .app-main--workspace .menu-input{border-color:var(--border);background:#102a23;color:var(--text)}.app-shell--practice .app-main--workspace input::placeholder,.app-shell--practice .app-main--workspace textarea::placeholder{color:#a4b9aa;opacity:1}.app-shell--practice .app-main--workspace input:focus-visible,.app-shell--practice .app-main--workspace textarea:focus-visible,.app-shell--practice .app-main--workspace select:focus-visible{outline-color:#b2ed78}.app-shell--practice a:focus-visible,.app-shell--practice button:focus-visible{outline-color:#b2ed78}.app-shell--practice .app-main--workspace .error-message{border-color:#86554a;background:#3e2d27;color:#ffb4aa}.app-shell--practice .start-copy h1,.app-shell--practice .practice-outline strong,.app-shell--practice .practice-help h2,.app-shell--practice .form-heading h2{color:var(--text)}.app-shell--practice .start-copy>p,.app-shell--practice .practice-outline p,.app-shell--practice .practice-help,.app-shell--practice .form-heading p,.app-shell--practice .service-note,.app-shell--practice .form-footnote{color:var(--text-muted)}.app-shell--practice .practice-setup .landing-eyebrow,.app-shell--practice .practice-help>svg{color:#b2ed78}.app-shell--practice .practice-outline li>span,.app-shell--practice .form-heading-icon{background:#294d3a;color:#c3ed9c}.app-shell--practice .practice-help,.app-shell--practice .form-heading,.app-shell--practice .landing-form .manual{border-color:var(--border)}.app-shell--practice .landing-form{border-color:var(--border);background:var(--surface);box-shadow:0 5px #0a2119}.app-shell--practice .landing-form .field{color:var(--text)}.app-shell--practice .landing-form summary{color:#d5e6d6}.app-shell--practice .landing-form input[type=file]{color:var(--text-muted)}.app-shell--practice .landing-form input[type=file]::file-selector-button{border-color:var(--border);background:var(--surface-2);color:var(--text)}.app-shell--practice .route-notice,.app-shell--practice .landing-resume{border-color:#426d50;background:#1a3e2f;color:var(--text-muted)}.app-shell--practice .landing-video-preview>span,.app-shell--practice .landing-resume>div>span{color:var(--text-muted)}.app-shell--practice .landing-video-preview strong,.app-shell--practice .landing-resume strong{color:var(--text)}.app-shell--practice .landing-resume button{color:#b2ed78}.app-shell--practice .landing-footer{border-color:#2b4e3f;color:var(--text-muted)}.app-shell--practice .landing-footer>a:last-child{color:#cfdfd1}.app-shell--practice .app-main--workspace .sidebar,.app-shell--practice .app-main--workspace .menu,.app-shell--practice .app-main--workspace .stats,.app-shell--practice .app-main--workspace .summary,.app-shell--practice .app-main--workspace .transcript,.app-shell--practice .app-main--workspace .video-dialog{border-color:var(--border);background:var(--surface);color:var(--text);box-shadow:0 4px #0a2119}.app-shell--practice .app-main--workspace .menu{box-shadow:0 4px #0a2119,0 16px 35px #04170f70}.app-shell--practice .app-main--workspace .sidebar-button{color:var(--text-muted)}.app-shell--practice .app-main--workspace .sidebar-button:hover{background:#294d3a;color:#eef5eb}.app-shell--practice .app-main--workspace .sidebar-button.active,.app-shell--practice .app-main--workspace .menu-option.selected{border-color:#6d9b57;background:#294d3a;color:#b2ed78}.app-shell--practice .app-main--workspace .menu-option,.app-shell--practice .app-main--workspace .video-card{border-color:var(--border);background:#204539;color:var(--text)}.app-shell--practice .app-main--workspace .video-card.current{border-color:#78b45b;background:#294d3a}.app-shell--practice .app-main--workspace .menu-title,.app-shell--practice .app-main--workspace .video-dialog-header h2,.app-shell--practice .app-main--workspace .transcript h2,.app-shell--practice .app-main--workspace .stats dd{color:var(--text)}.app-shell--practice .app-main--workspace .player-frame{border-color:#365346;box-shadow:0 4px #0a2119}.app-shell--practice .app-main--workspace .player-frame:fullscreen{border:0;box-shadow:none}.app-shell--practice .app-main--workspace .typing-input{background:#15362b;border-color:#426d50;color:var(--text);box-shadow:none}.app-shell--practice .app-main--workspace .typing-input:focus{border-color:#a5e96d;box-shadow:0 0 0 3px #a5e96d16}.app-shell--practice .app-main--workspace .transcript-item:hover{background:#204539}.app-shell--practice .app-main--workspace .transcript-item.active{background:#294d3a;box-shadow:inset 4px 0 #a5e96d}.app-shell--practice .app-main--workspace .summary h2{color:#b2ed78}.app-shell--practice .app-main--workspace .video-dialog::backdrop{background:#03160caa}@media (min-width: 769px){.app-shell--practice .app-main--workspace .sidebar,.app-shell--practice .app-main--workspace .transcript{top:20px}.app-shell--practice .app-main--workspace .menu,.app-shell--practice .app-main--workspace .transcript{max-height:calc(100svh - 40px)}}@media (max-width: 640px){.app-shell--practice .app-navbar.app-navbar--playful{min-height:0;padding:17px 18px 12px;gap:10px 18px;flex-wrap:wrap}.app-shell--practice .app-navbar .brand{font-size:24px}.app-shell--practice .app-navbar .app-navbar-account{margin-left:auto;max-width:100%}.app-shell--practice .app-navbar .account{flex-wrap:wrap;justify-content:flex-end;gap:5px 8px}.app-shell--practice .app-navbar .account .button.account-sign-in{padding:6px 0;font-size:10px}.app-shell--practice .app-navbar .account-error{max-width:160px;overflow-wrap:anywhere}.app-shell--practice .app-navbar .app-navbar-links{order:3;width:100%;margin-left:auto;justify-content:flex-end;gap:25px}.app-shell--practice .app-navbar .app-navbar-links a{padding:7px 0;font-size:13px}}
