:root{color:#071b19;font-synthesis:none;text-rendering:optimizelegibility;--paper:#fbfaf5;--paper-strong:#fffefa;--ink:#071b19;--muted-ink:#52615f;--forest:#0b654f;--forest-dark:#074738;--pale-green:#eff5e8;--yellow:#ffdc16;--rule:#192c2a;--soft-rule:#192c2a40;--error:#9b2f27;background:#fbfaf5;font-family:Avenir Next,Avenir,Segoe UI,Helvetica,Arial,sans-serif}*{box-sizing:border-box}html{background:var(--paper);min-width:320px;min-height:100%}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{color:inherit;font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #ffdc16e6}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.app-shell{background-color:var(--paper);background-image:linear-gradient(#173b360a 1px,#0000 1px),linear-gradient(90deg,#173b360a 1px,#0000 1px);background-size:24px 24px;flex-direction:column;min-height:100vh;display:flex;overflow:hidden}.app-header{border-bottom:1.5px solid var(--rule);background:#fbfaf5e6;justify-content:space-between;align-items:center;min-height:84px;padding:16px clamp(24px,3.2vw,48px);display:flex}.brand,.header-actions,.privacy-note,.practice-meta,.session-summary,.setup-actions,.speaking-actions,.review-actions,.level-meter,.processing-actions{align-items:center;display:flex}.header-actions{gap:18px}.consent-field{max-width:720px;color:var(--muted-ink);align-items:flex-start;gap:12px;font-size:.9rem;line-height:1.5;display:flex}.consent-field input{width:18px;height:18px;accent-color:var(--forest);margin-top:2px}.app-footer{border-top:1px solid var(--soft-rule);background:var(--paper);justify-content:center;gap:24px;padding:18px 24px 112px;display:flex}.danger-link{color:var(--error)}.legal-card{text-align:left;max-width:720px;max-height:calc(100vh - 48px);overflow:auto}.legal-updated{color:var(--muted-ink);font-size:.88rem}.legal-copy{line-height:1.62}.legal-copy h3{margin:28px 0 6px}.legal-copy p{margin:0}.balance-button,.header-auth-button{color:var(--forest-dark);background:0 0;border:0;font-weight:700}.balance-button{border:1px solid var(--soft-rule);background:var(--pale-green);border-radius:999px;align-items:center;gap:7px;padding:8px 12px;display:inline-flex}.header-auth-button{border-bottom:1.5px solid;padding:7px 0}.checkout-banner{background:var(--pale-green);color:var(--forest-dark);border-bottom:1px solid #07473840;justify-content:center;align-items:center;gap:22px;padding:12px 24px;font-size:.93rem;font-weight:650;display:flex}.checkout-banner .text-button{font-size:.86rem}.brand{letter-spacing:-.025em;gap:14px;font-size:clamp(1.25rem,2vw,1.7rem);font-weight:700}.brand-shield{width:43px;color:var(--forest-dark);filter:drop-shadow(0 3px 2px #0000001a)}.privacy-note{color:#20302e;gap:10px;font-size:.97rem}.screen{flex:1;width:min(100%,1360px);margin:0 auto;padding:clamp(40px,5.2vh,70px) clamp(34px,5.8vw,88px)}.screen-heading h1{letter-spacing:-.055em;max-width:760px;margin:0;font-size:clamp(3rem,4.8vw,4.25rem);font-weight:720;line-height:.98}.screen-heading p{max-width:620px;margin:24px 0 0;font-size:clamp(1.05rem,1.45vw,1.28rem);line-height:1.5}.setup-screen{grid-template-columns:minmax(0,1.7fr) minmax(310px,.85fr);gap:clamp(48px,7vw,110px);padding-top:46px;padding-bottom:28px;display:grid}.setup-content{min-width:0}.setup-heading h1{max-width:650px}.setup-heading p{margin-top:18px}.setup-form{max-width:780px;margin-top:22px}.selector-group{border:0;min-width:0;margin:0 0 18px;padding:0}.selector-group legend,.topic-field>span{margin-bottom:9px;font-size:.96rem;font-style:normal;font-weight:700;display:block}.topic-field em{color:var(--muted-ink);font-style:normal;font-weight:500}.selector-row{gap:14px;display:grid}.selector-row-4{grid-template-columns:repeat(4,minmax(0,1fr))}.selector-row-3{grid-template-columns:repeat(3,minmax(0,1fr));max-width:580px}.selector-button{border:1.35px solid var(--rule);text-align:left;background:#fffefab3;border-radius:9px;justify-content:flex-start;align-items:center;gap:12px;min-height:64px;padding:13px 16px;font-size:.94rem;font-weight:600;line-height:1.2;transition:background-color .16s,box-shadow .16s,transform .16s;display:flex;box-shadow:0 4px #112a260d}.selector-button:hover{transform:translateY(-1px);box-shadow:0 6px #112a2614}.selector-button.is-selected{border:2px solid var(--forest-dark);background:var(--pale-green);color:var(--forest-dark);box-shadow:0 4px #07473821}.topic-field{display:block}.topic-field input{border:1.35px solid var(--rule);background:#fffefac2;border-radius:8px;width:100%;min-height:54px;padding:12px 16px;font-size:1rem}.topic-field input::placeholder{color:#7e8987}.supported-languages{border-left:3px solid var(--forest);color:var(--muted-ink);margin-top:14px;padding-left:12px}.supported-languages strong{color:var(--forest-dark);font-size:.86rem;display:block}.supported-languages p{margin:3px 0 0;font-size:.82rem;line-height:1.55}.balance-card{background:#eff5e8c7;border:1px solid #07473873;border-radius:10px;justify-content:space-between;align-items:center;gap:24px;margin-top:18px;padding:16px 18px;display:flex}.balance-card>div{grid-template-columns:auto auto;align-items:baseline;gap:2px 12px;display:grid}.balance-card span,.balance-card small{color:var(--muted-ink)}.balance-card strong{color:var(--forest-dark);font-size:1.35rem}.balance-card small{grid-column:1/-1;font-size:.78rem}.balance-buy-button{min-width:150px;min-height:44px;padding:8px 18px}.form-error{color:var(--error);margin:11px 0 0;font-size:.92rem;font-weight:600}.setup-actions,.review-actions,.speaking-actions{flex-wrap:wrap;gap:18px;margin-top:22px}.button{border:1.5px solid var(--rule);letter-spacing:-.01em;border-radius:8px;justify-content:center;align-items:center;gap:12px;min-height:58px;padding:14px 30px;font-size:1.02rem;font-weight:700;transition:transform .16s,box-shadow .16s,background-color .16s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-2px)}.button-primary{border-color:var(--forest-dark);background:var(--forest);min-width:260px;box-shadow:0 5px 0 var(--forest-dark);color:#fffefa}.button-primary:hover:not(:disabled){box-shadow:0 7px 0 var(--forest-dark);background:#0b7258}.button-secondary{background:#fffefacc;min-width:210px;box-shadow:0 4px #112a2614}.text-button{color:var(--forest-dark);background:0 0;border:0;border-bottom:1.5px solid;align-items:center;gap:8px;padding:8px 0 5px;font-size:.98rem;font-weight:600;display:inline-flex}.microphone-illustration{min-height:460px;color:var(--forest-dark);justify-content:center;align-items:center;gap:14px;display:flex}.line-microphone{width:138px;height:250px;color:var(--ink);position:relative}.mic-capsule{border:3px solid;border-radius:42px;width:76px;height:165px;position:absolute;top:0;left:31px}.mic-capsule:after{content:"";border:3px solid;border-top:0;border-radius:0 0 66px 66px;height:100px;position:absolute;bottom:-24px;left:-22px;right:-22px}.mic-stand{background:currentColor;width:3px;height:51px;position:absolute;bottom:23px;left:67px}.mic-base{border:3px solid;border-radius:9px 9px 3px 3px;width:66px;height:16px;position:absolute;bottom:10px;left:36px}.illustration-wave,.live-wave{align-items:center;gap:8px;display:flex}.illustration-wave span,.live-wave span{width:4px;height:calc(70px * var(--wave-height));background:currentColor;border-radius:999px;min-height:8px}.progress-rail{border-top:1.5px solid var(--rule);background:#fbfaf5f0;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:24px;min-height:105px;padding:18px clamp(34px,6vw,100px);display:grid}.progress-step-wrap{align-items:center;gap:24px;min-width:0;display:flex}.progress-step{align-items:center;gap:15px;min-width:max-content;display:flex}.step-number{border:1.5px solid var(--rule);background:var(--paper-strong);border-radius:50%;flex:none;place-items:center;width:40px;height:40px;font-size:1rem;font-weight:700;display:grid}.progress-step.is-active .step-number{border-color:var(--yellow);background:var(--yellow)}.step-copy{flex-direction:column;gap:2px;display:flex}.step-copy strong{font-size:.98rem}.step-copy small{color:#30403e;font-size:.77rem;line-height:1.3}.step-line{background:var(--soft-rule);flex:1;height:1px}.speaking-screen{width:min(100%,980px);padding-top:clamp(36px,4.7vh,64px);padding-bottom:clamp(36px,4.7vh,64px);display:block}.speaking-stage{width:min(100%,780px);margin:0 auto}.speaking-heading h1{font-size:clamp(3rem,4.7vw,4rem)}.prompt-block{margin-top:28px}.prompt-block>span{font-size:.98rem;font-weight:700}.prompt-block p{border:1.35px solid var(--rule);background:#fffefaa6;border-radius:8px;max-width:620px;margin:10px 0 0;padding:15px 17px;font-size:1.06rem;line-height:1.45}.practice-meta{color:var(--forest-dark);gap:9px;margin-top:17px;font-size:.95rem;font-weight:600}.listening-orb{border:2px solid var(--rule);background:#fffefa6b;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:30px;width:280px;height:280px;margin:28px auto 20px;display:flex;position:relative}.listening-orb:before,.listening-orb:after{content:"";opacity:0;border:1px solid #0b654f21;border-radius:50%;position:absolute;inset:-18px}.listening-orb:after{inset:-34px}.listening-orb.is-speaking{border-color:var(--forest);box-shadow:0 0 0 8px #0b654f0d}.listening-orb.is-speaking:before,.listening-orb.is-speaking:after{animation:1.25s ease-out infinite voice-pulse}.listening-orb.is-speaking:after{animation-delay:.28s}.listening-orb time,.listening-orb strong{color:var(--forest-dark);font-size:1.25rem;font-weight:720}.live-wave{height:50px;color:var(--forest);gap:6px}.live-wave span{height:calc(52px * var(--wave-height));transition:height 90ms,opacity 90ms}.listening-orb:not(.is-speaking) .live-wave span{opacity:.42}.level-meter{color:var(--forest);justify-content:center;gap:13px}.level-bars{gap:5px;display:flex}.level-bars span{background:#0b654f24;border-radius:3px;width:7px;height:19px}.level-bars span.is-on{background:var(--forest)}.reassurance{text-align:center;margin:14px 0 0}.speaking-error{text-align:center}.speaking-actions{justify-content:center;margin-top:28px}.speaking-utility-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:28px;margin-top:19px;display:flex}.raw-transcript h2,.clean-review>h2,.feedback-list h2{margin:0;font-size:1.05rem}.processing-screen{place-items:center;display:grid}.processing-card{border:1.35px solid var(--rule);text-align:center;background:#fffefab8;border-radius:14px;flex-direction:column;align-items:center;width:min(100%,780px);padding:clamp(42px,7vw,80px);display:flex;box-shadow:0 9px #112a2612}.processing-card:has(.purchase-panel){width:min(100%,960px)}.purchase-panel{text-align:left;width:100%;margin-top:30px}.purchase-heading{text-align:center}.purchase-heading>span{color:var(--forest);letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;font-weight:800}.purchase-heading h2{letter-spacing:-.045em;margin:7px 0 0;font-size:clamp(2rem,4vw,3rem)}.purchase-heading p{color:var(--muted-ink);margin:8px 0 0}.pack-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:24px;display:grid}.pack-card{border:1.35px solid var(--rule);background:var(--paper-strong);border-radius:12px;flex-direction:column;min-width:0;padding:22px;display:flex;box-shadow:0 5px #112a2614}.pack-card.is-featured{border:2px solid var(--forest);background:var(--pale-green)}.pack-badge,.pack-spacer{min-height:24px}.pack-badge{background:var(--yellow);color:var(--ink);border-radius:999px;align-self:flex-start;padding:4px 9px;font-size:.72rem}.pack-card h3{margin:14px 0 0;font-size:1.45rem}.pack-price{color:var(--forest-dark);margin:6px 0 0;font-size:2rem;font-weight:750}.pack-price small{letter-spacing:.08em;font-size:.72rem}.pack-card>p:not(.pack-price){color:var(--muted-ink);margin:6px 0 20px;font-size:.86rem}.pack-card .button{width:100%;min-width:0;min-height:48px;margin-top:auto;padding:10px 14px}.checkout-note,.purchase-policy{color:var(--muted-ink);text-align:center;margin:15px auto 0;font-size:.76rem;line-height:1.45}.purchase-policy{margin-top:4px}.modal-backdrop{z-index:20;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#071b199e;place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow:auto}.modal-card{border:1.5px solid var(--rule);background:var(--paper);border-radius:14px;width:min(100%,880px);padding:clamp(28px,5vw,48px);position:relative;box-shadow:0 12px #0003}.modal-close{background:0 0;border:0;width:38px;height:38px;font-size:2rem;line-height:1;position:absolute;top:14px;right:18px}.purchase-modal .purchase-panel{margin-top:0}.auth-card{flex-direction:column;align-items:flex-start;width:min(100%,500px);display:flex}.auth-card>svg{color:var(--forest)}.auth-card h2{letter-spacing:-.045em;margin:18px 0 0;font-size:2.25rem}.auth-card>p{color:var(--muted-ink);line-height:1.5}.auth-field{gap:7px;width:100%;margin:10px 0 18px;font-weight:700;display:grid}.auth-field input{border:1.35px solid var(--rule);background:var(--paper-strong);border-radius:8px;min-height:52px;padding:10px 13px}.auth-card .button{width:100%}.auth-card .text-button{align-self:center;margin-top:16px}.processing-mark{background:var(--pale-green);width:74px;height:74px;color:var(--forest-dark);border-radius:50%;place-items:center;margin-bottom:28px;display:grid}.processing-mark>span{border:3px solid var(--forest);border-top-color:#0000;border-radius:50%;width:18px;height:18px;animation:.9s linear infinite processing-spin}.processing-mark.has-error{color:var(--error);background:#f8e9e5}.processing-heading h1{max-width:650px;font-size:clamp(2.7rem,5vw,4rem)}.processing-heading p{margin-left:auto;margin-right:auto}.processing-actions{flex-wrap:wrap;justify-content:center;gap:18px;margin-top:30px}.processing-dots{gap:10px;margin-top:34px;display:flex}.processing-dots span{background:var(--forest);border-radius:50%;width:11px;height:11px;animation:1.1s ease-in-out infinite processing-bounce}.processing-dots span:nth-child(2){animation-delay:.15s}.processing-dots span:nth-child(3){animation-delay:.3s}.review-screen{padding-top:clamp(40px,5vh,66px);padding-bottom:clamp(38px,4.5vh,58px)}.review-heading h1{max-width:900px}.review-heading p{margin-top:18px}.review-layout{grid-template-columns:minmax(280px,.7fr) minmax(0,1.55fr);gap:clamp(42px,6vw,74px);margin-top:44px;display:grid}.raw-transcript{border-right:1.5px solid var(--soft-rule);flex-direction:column;min-width:0;padding-right:clamp(34px,4vw,60px);display:flex}.raw-transcript-body{border:1.35px solid var(--rule);color:#30435b;background:#fffefaad;border-radius:8px;min-height:300px;margin-top:15px;padding:20px;font-size:clamp(1.07rem,1.55vw,1.3rem);line-height:1.65;overflow:auto}.session-summary{color:var(--forest-dark);flex-wrap:wrap;gap:12px;margin-top:auto;padding-top:24px;font-size:.9rem;font-weight:600}.session-summary i{background:currentColor;border-radius:50%;width:4px;height:4px}.cleaner-take{color:var(--forest-dark);background:#eff5e8b8;border:1.25px solid #074738bf;border-radius:8px;margin-top:15px;padding:clamp(22px,2.6vw,32px);font-size:clamp(1.4rem,2vw,1.75rem);font-weight:500;line-height:1.45}.feedback-columns{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:32px;display:grid}.feedback-list{min-width:0;padding-right:28px}.feedback-list+.feedback-list{border-left:1px solid var(--soft-rule);padding-left:34px;padding-right:0}.feedback-list ul{gap:17px;margin:17px 0 0;padding:0;list-style:none;display:grid}.feedback-list li{align-items:flex-start;gap:11px;font-size:.94rem;line-height:1.45;display:flex}.feedback-list li svg{color:var(--forest-dark);flex:none}.review-actions{margin-top:32px}.review-actions .button{min-width:0;padding-inline:23px}.copy-button{margin-left:auto}@keyframes voice-pulse{0%,to{opacity:0;transform:scale(.96)}50%{opacity:.8;transform:scale(1.04)}}@keyframes processing-spin{to{transform:rotate(360deg)}}@keyframes processing-bounce{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-7px)}}@media (prefers-reduced-motion:reduce){.listening-orb:before,.listening-orb:after,.processing-mark>span,.processing-dots span{animation:none}.button,.selector-button,.live-wave span{transition:none}}@media (width<=1060px){.setup-screen{grid-template-columns:1fr}.microphone-illustration{display:none}.selector-row-4{grid-template-columns:repeat(2,minmax(0,1fr))}.review-layout{grid-template-columns:1fr}.raw-transcript{border-right:0;border-bottom:1.5px solid var(--soft-rule);padding-bottom:34px;padding-right:0}.raw-transcript-body{min-height:220px}.session-summary{margin-top:0}.progress-step-wrap{gap:12px}.step-line,.step-copy small{display:none}}@media (width<=700px){.app-header{min-height:68px;padding:12px 18px}.brand{gap:9px;font-size:1.08rem}.brand-shield{width:34px}.privacy-note span{display:none}.header-actions{gap:10px}.balance-button{padding:7px 9px;font-size:.78rem}.header-auth-button{font-size:.82rem}.checkout-banner,.balance-card{flex-direction:column;align-items:stretch}.checkout-banner{text-align:center;gap:7px}.balance-buy-button{width:100%}.screen{padding:34px 20px 44px}.screen-heading h1{font-size:clamp(2.65rem,13vw,3.5rem)}.screen-heading p{margin-top:18px;font-size:1rem}.setup-form{margin-top:28px}.selector-row-4,.selector-row-3{grid-template-columns:1fr 1fr}.selector-button{gap:9px;min-height:58px;padding:11px 12px;font-size:.86rem}.setup-actions,.speaking-actions,.review-actions{flex-direction:column;align-items:stretch}.button,.button-primary,.button-secondary{width:100%;min-width:0}.text-button{align-self:center}.progress-rail{gap:8px;min-height:78px;padding:13px 18px}.progress-step-wrap{justify-content:center}.progress-step{gap:8px;min-width:0}.step-number{width:34px;height:34px}.step-copy strong{font-size:.78rem}.listening-orb{width:min(250px,78vw);height:min(250px,78vw)}.level-bars span:nth-child(n+14){display:none}.speaking-actions{max-width:420px;margin-left:auto;margin-right:auto}.speaking-utility-actions{gap:20px}.processing-card{padding:36px 22px}.pack-grid{grid-template-columns:1fr}.modal-backdrop{align-items:start;padding:12px}.modal-card{padding:36px 18px 24px}.processing-actions{flex-direction:column;align-items:stretch;width:100%}.review-layout{gap:32px;margin-top:34px}.cleaner-take{font-size:1.3rem}.feedback-columns{grid-template-columns:1fr;gap:28px}.feedback-list{padding-right:0}.feedback-list+.feedback-list{border-top:1px solid var(--soft-rule);border-left:0;padding-top:28px;padding-left:0}.copy-button{margin-left:0}}
