:root{--background:#fff;--foreground:#171717;--muted:#5f5f66;--border:#e7e7eb;--auth-purple:#3f3a70;--auth-purple-soft:#f3f1fb;--auth-success:#197448}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--background);color:var(--foreground);font-family:Arial,Helvetica,sans-serif}button,input{font:inherit}a{color:inherit}.auth-page{background:#fff;place-items:center;min-height:100vh;padding:40px 24px;display:grid}.card{background:#fff;border:1px solid #ebeaf2;border-radius:28px;width:min(100%,500px);box-shadow:0 18px 60px #3f3a7017}.auth-card{padding:42px 36px 34px}.login-logo{width:min(260px,78%);height:auto;margin:0 auto 52px;display:block}.auth-card h1{color:var(--auth-purple);margin:0;font-size:clamp(1.8rem,4vw,2.4rem);line-height:1.1}.eyebrow{color:var(--auth-purple);letter-spacing:.12em;text-transform:uppercase;margin:0 0 10px;font-size:.78rem;font-weight:800}.description{color:var(--muted);margin:14px 0 0;line-height:1.55}.auth-form{gap:22px;margin-top:0;display:grid}.field,.auth-field{gap:10px;display:grid}.field>span:first-child,.auth-field label{color:var(--auth-purple);font-size:1rem;font-weight:500}.input,.auth-field input{color:#18181b;background:#fff;border:2px solid #c9c8de;border-radius:18px;outline:none;width:100%;min-height:58px;padding:0 18px;font-size:1rem;transition:border-color .15s,box-shadow .15s}.input:focus,.auth-field input:focus{border-color:var(--auth-purple);box-shadow:0 0 0 4px #3f3a701a}.password-input-wrap{display:block;position:relative}.password-input{padding-right:58px}.password-toggle{width:40px;height:40px;color:var(--auth-purple);cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;padding:0;display:grid;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.password-toggle:hover,.password-toggle:focus-visible{background:var(--auth-purple-soft);outline:none}.button{background:var(--auth-purple);color:#fff;cursor:pointer;width:100%;min-height:58px;font:inherit;border:0;border-radius:18px;padding:14px 18px;font-size:1.08rem;font-weight:700;transition:background .15s,transform .15s}.auth-card .button:hover:not(:disabled){background:#332f5d;transform:translateY(-1px)}.button:disabled{cursor:wait;opacity:.6}.error-message{color:#b42318;margin:0;font-size:.9rem;line-height:1.4}.success-message{color:var(--auth-success);margin:16px 0 0;font-size:.9rem;line-height:1.4}.auth-card .auth-link{color:var(--auth-purple);text-align:center;text-underline-offset:4px;font-size:.98rem;font-weight:700;text-decoration:underline}.auth-link:hover{color:var(--muted)}.back-link{margin-top:24px;display:block}.profile-details{gap:16px;margin:32px 0;display:grid}.profile-details div{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:16px;padding-bottom:12px;display:flex}.profile-details dt{color:var(--muted);font-size:.9rem}.profile-details dd{text-align:right;margin:0;font-weight:700}.app-shell{--app-background:#fafaf8;--app-lavender:#b6b8d6;--app-purple:#3e3a6f;background:var(--app-background);min-height:100vh;color:var(--app-purple);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif}.app-header{border-bottom:1px solid #3e3a6f1f}.app-header-inner{justify-content:space-between;align-items:center;width:min(100%,1160px);min-height:96px;margin:0 auto;padding:20px 32px;display:flex}.app-brand{flex-shrink:0;align-items:center;display:inline-flex}.app-logo{width:164px;height:auto;display:block}.app-custom-logo{object-fit:contain;object-position:left center;width:164px;height:56px;display:block}.app-custom-brand-name{width:164px;min-height:56px;color:var(--app-purple);text-overflow:ellipsis;align-items:center;font-size:1.15rem;font-weight:700;line-height:1.15;display:flex;overflow:hidden}.app-nav{align-items:center;gap:28px;display:flex}.app-nav-link,.app-logout{color:var(--app-purple);font:inherit;white-space:nowrap;font-size:.92rem;font-weight:600}.app-nav-link{text-decoration:none}.app-nav-link-active{text-underline-offset:5px;text-decoration:underline;text-decoration-thickness:1px}.app-nav-link-disabled{cursor:default;opacity:.62}.app-logout{cursor:pointer;background:0 0;border:0;padding:0}.app-nav-link:not(.app-nav-link-disabled):hover,.app-nav-link:not(.app-nav-link-disabled):focus-visible,.app-logout:hover,.app-logout:focus-visible{color:#29264f}.app-nav-link:focus-visible,.app-logout:focus-visible,.app-brand:focus-visible,.program-option:focus-visible,.week-option:focus-visible,.lesson-option-link:focus-visible,.lesson-option-button:focus-visible{outline:2px solid var(--app-lavender);outline-offset:4px}.app-main{padding:76px 32px 96px}.app-main-inner{width:min(100%,840px);margin:0 auto}.app-main h1{color:var(--app-purple);letter-spacing:-.045em;margin:0 0 44px;font-size:clamp(2rem,4vw,3rem);font-weight:600;line-height:1.05}.program-list{border-top:1px solid var(--app-lavender)}.program-option{border-bottom:1px solid var(--app-lavender);min-height:96px;color:var(--app-purple);letter-spacing:-.02em;justify-content:space-between;align-items:center;padding:22px 4px;font-size:clamp(1.25rem,2.3vw,1.6rem);font-weight:500;display:flex}.program-option-link{text-decoration:none}.program-option-link:hover{background:#b6b8d61a}.program-option-disabled{opacity:.58}.program-status{color:var(--muted);letter-spacing:0;font-size:.82rem;font-weight:600}.program-arrow{color:var(--app-lavender);padding-left:24px;font-size:1.75rem;font-weight:400;line-height:1}.app-breadcrumb{color:var(--muted);margin:0 0 18px;font-size:.88rem}.app-breadcrumb a{color:var(--app-purple);text-underline-offset:3px}.course-intro{max-width:680px;color:var(--muted);margin:-24px 0 40px;font-size:1rem;line-height:1.6}.practice-repeat-target{color:var(--app-purple);margin:10px 0 18px;font-size:clamp(1.15rem,3vw,1.4rem);font-weight:700;line-height:1.4}.oxxo-voucher-summary{background:#fff;border:1px solid #3e3a6f2e;border-radius:24px;margin:28px 0 0;padding:24px;box-shadow:0 12px 36px #3e3a6f14}.oxxo-voucher-amount{color:var(--app-purple);letter-spacing:-.04em;margin:8px 0 22px;font-size:clamp(2rem,8vw,3rem);font-weight:700}.oxxo-voucher-label{color:var(--muted);margin:0 0 8px;font-size:.9rem;font-weight:700}.oxxo-voucher-reference{overflow-wrap:anywhere;color:var(--app-purple);letter-spacing:.05em;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:clamp(1rem,4.5vw,1.35rem);font-weight:700;line-height:1.5}.oxxo-voucher-meta,.oxxo-voucher-note{color:var(--muted);line-height:1.5}.oxxo-voucher-meta{margin:14px 0 0}.oxxo-voucher-note{margin:18px 0 0;font-size:.92rem}.membership-oxxo-name{gap:10px;display:grid}.membership-oxxo-name label{color:var(--app-purple);font-size:.95rem;font-weight:700}.membership-oxxo-name input{width:100%;min-height:54px;color:var(--foreground);background:#fff;border:1px solid #3e3a6f59;border-radius:16px;outline:none;padding:0 16px}.membership-oxxo-name input:focus{border-color:var(--app-purple);box-shadow:0 0 0 3px #3e3a6f1a}.week-list,.lesson-list{border-top:1px solid var(--app-lavender)}.week-option,.lesson-option{border-bottom:1px solid var(--app-lavender);min-height:92px;color:var(--app-purple);justify-content:space-between;align-items:center;gap:24px;padding:20px 4px;display:flex}.week-option-link,.lesson-option-link{text-decoration:none}.week-option-link:hover,.lesson-option-link:hover,.lesson-option-start:hover,.lesson-option-continue:hover{background:#b6b8d61a}.week-option-disabled,.lesson-option-blocked{opacity:.5}.lesson-option-completed{opacity:1}.lesson-option-start,.lesson-option-continue{background:#b6b8d612}.lesson-option-button{width:100%;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:24px;padding:0;display:flex}.week-kicker,.lesson-kicker{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:5px;font-size:.78rem;font-weight:700;display:block}.week-name,.lesson-name{font-size:1.12rem;font-weight:600;display:block}.teacher-lesson-objective{max-width:620px;color:var(--muted);margin-top:7px;font-size:.9rem;line-height:1.45;display:block}.week-status,.lesson-status{border:1px solid #3e3a6f2e;border-radius:999px;flex-shrink:0;padding:6px 10px;font-size:.76rem;font-weight:700}.week-status-active{background:#f1f0fa}.week-status-passed,.lesson-status-completed{color:#4e6f58;background:#eef7f0}.week-status-blocked,.lesson-status-blocked{color:var(--muted)}.lesson-status-start,.lesson-status-continue{border-color:var(--app-purple);background:var(--app-purple);color:#fff;padding:8px 14px}@media (max-width:520px){.auth-page{place-items:start center;padding:54px 24px 40px}.card{width:100%;box-shadow:none;border:0;border-radius:0}.auth-card{padding:0}.login-logo{width:min(280px,76%);margin-bottom:66px}.auth-form{gap:24px}.field,.auth-field{gap:12px}.field>span:first-child,.auth-field label{font-size:1.28rem}.input,.auth-field input{border-radius:20px;min-height:72px;padding:0 20px;font-size:1.08rem}.password-input{padding-right:64px}.password-toggle{width:44px;height:44px;right:14px}.button{border-radius:20px;min-height:72px;font-size:1.35rem}.auth-card .auth-link{font-size:1.05rem}.profile-details div{flex-direction:column;align-items:flex-start;gap:4px}.profile-details dd{text-align:left}.app-header-inner{align-items:flex-start;min-height:0;padding:22px 20px 20px}.app-header-inner,.app-nav{flex-wrap:wrap}.app-logo,.app-custom-logo,.app-custom-brand-name{width:148px}.app-custom-logo{height:50px}.app-custom-brand-name{min-height:50px}.app-nav{justify-content:flex-start;gap:18px 22px;width:100%;padding-top:22px}.app-nav-link,.app-logout{font-size:.86rem}.app-main{padding:52px 20px 72px}.app-main h1{margin-bottom:32px}.program-option{min-height:80px;padding:18px 2px}.course-intro{margin-top:-14px}.week-option,.lesson-option,.lesson-option-button{flex-direction:column;align-items:flex-start;gap:12px}}.oxxo-voucher-summary .oxxo-voucher-action,.payment-status-actions .payment-status-home-action{text-align:center;white-space:normal;border-radius:14px;justify-content:center;align-items:center;width:min(100%,320px);min-height:52px;padding:12px 16px;font-size:1rem;line-height:1.3;text-decoration:none;display:inline-flex}.oxxo-voucher-summary .oxxo-voucher-action{margin:20px auto 0}.payment-status-actions{justify-content:center;width:100%;margin-top:24px;display:flex}
.lesson-option:has(.lesson-option-link){padding:0}.lesson-option-link{width:100%;min-height:92px;color:inherit;justify-content:space-between;align-items:center;gap:24px;padding:20px 4px;text-decoration:none;display:flex}.lesson-option-link:hover{background:#b6b8d61a}.lesson-option-link:focus-visible{outline:2px solid var(--app-lavender);outline-offset:4px}.practice-inner{width:min(100%,720px)}.practice-page .app-main-inner>h1{max-width:680px;margin-bottom:20px}.practice-kicker{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 12px;font-size:.78rem;font-weight:750}.practice-intro{max-width:620px;color:var(--muted);margin:0 0 36px;font-size:1.02rem;line-height:1.65}.practice-card{background:#fff;border:1px solid #3e3a6f21;border-radius:24px;padding:clamp(24px,5vw,42px);box-shadow:0 18px 55px #302b5012}.practice-card-spaced{margin-top:24px}.practice-card h2,.practice-recovery-heading h2{max-width:610px;color:var(--app-purple);letter-spacing:-.035em;margin:0 0 30px;font-size:clamp(1.45rem,3vw,2rem);font-weight:620;line-height:1.18}.practice-progress{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;margin:0 0 14px;font-size:.8rem;font-weight:750}.practice-field{color:var(--app-purple);gap:9px;margin-bottom:22px;font-size:.9rem;font-weight:650;display:grid}.practice-field input{border:1px solid var(--app-lavender);color:#26233f;width:100%;font:inherit;background:#fff;border-radius:13px;outline:none;padding:15px 16px;font-size:1rem;font-weight:450;transition:border-color .15s,box-shadow .15s}.practice-field input:focus{border-color:var(--app-purple);box-shadow:0 0 0 3px #b6b8d64d}.practice-button{border:1px solid var(--app-purple);background:var(--app-purple);color:#fff;cursor:pointer;min-width:132px;font:inherit;border-radius:12px;padding:13px 20px;font-weight:700;text-decoration:none}.practice-button:hover:not(:disabled){background:#302d59}.practice-button:focus-visible{outline:3px solid var(--app-lavender);outline-offset:3px}.practice-button:disabled{cursor:not-allowed;opacity:.45}.practice-button-secondary{color:var(--app-purple);background:0 0}.practice-button-secondary:hover:not(:disabled){background:#b6b8d624}.hold-to-speak{gap:8px;width:min(100%,360px);display:grid}.hold-to-speak-status{min-height:20px;color:var(--muted);margin:0;font-size:.84rem;font-weight:700;line-height:1.35}.hold-to-speak-status.is-recording{color:#b42318}.hold-to-speak-button{border:1px solid var(--app-purple);background:var(--app-purple);color:#fff;cursor:pointer;min-height:64px;font:inherit;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:0 24px;font-size:1rem;font-weight:800;line-height:1;transition:background .12s,border-color .12s,box-shadow .12s,transform .12s;display:inline-flex}.hold-to-speak-button:hover:not(:disabled):not(.is-recording){background:#302d59}.hold-to-speak-button:focus-visible{outline:3px solid var(--app-lavender);outline-offset:3px}.hold-to-speak-button.is-starting{transform:scale(.985)}.hold-to-speak-button.is-recording{background:#b42318;border-color:#b42318;transform:scale(.985);box-shadow:0 0 0 6px #b4231821}.hold-to-speak-button.is-processing,.hold-to-speak-button:disabled{cursor:wait;opacity:.72}.hold-to-speak-rec-dot{background:currentColor;border-radius:50%;width:12px;height:12px;box-shadow:0 0 0 3px #ffffff2e}.hold-to-speak-mic{font-size:1.2rem;line-height:1}.practice-actions{justify-content:space-between;gap:12px;display:flex}.practice-actions>.practice-button-secondary{order:-1}.practice-actions>span{order:0}.practice-actions>.practice-button:not(.practice-button-secondary){order:1}.practice-intervention{border-left:3px solid var(--app-purple);color:#302d59;background:#f3f1fb;border-radius:0 12px 12px 0;margin:0 0 28px;padding:18px 20px;line-height:1.55}.practice-intervention p,.practice-complete p{margin:0}.practice-recheck-label{color:var(--muted);margin:0 0 10px;font-size:.92rem}.practice-prompt{color:var(--app-purple);margin:0 0 24px;font-size:clamp(1.2rem,2.4vw,1.5rem);font-weight:650;line-height:1.35}.practice-complete p:not(.practice-progress){max-width:560px;color:var(--muted);line-height:1.6}.practice-link{color:var(--app-purple);text-underline-offset:4px;margin-top:24px;font-weight:700;display:inline-block}.practice-feedback-summary{margin-bottom:28px}.practice-feedback-list{gap:0;display:grid}.practice-feedback-item{border-top:1px solid #3e3a6f1f;padding:26px 0}.practice-feedback-item:first-child{border-top:0;padding-top:8px}.practice-feedback-item:last-child{padding-bottom:0}.practice-feedback-question{color:var(--app-purple);margin:0 0 8px;font-size:1.05rem;font-weight:700;line-height:1.4}.practice-feedback-response{color:var(--muted);margin:0 0 16px;line-height:1.5}.practice-feedback-stack{gap:14px;margin-bottom:24px;display:grid}.practice-feedback-block{border-left:3px solid var(--app-lavender);color:#302d59;background:#f8f7fc;border-radius:0 12px 12px 0;padding:16px 18px;line-height:1.55}.practice-feedback-adjust{border-left-color:var(--app-purple);background:#f3f1fb}.practice-feedback-block p{margin:0}.practice-feedback-label{color:var(--app-purple);letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;font-weight:800;margin-bottom:5px!important}.practice-feedback-expected{margin-top:9px!important}.practice-feedback-focus,.practice-correction-focus{color:var(--app-purple);letter-spacing:.01em;background:#fff;border-radius:8px;padding:2px 7px;font-weight:900;line-height:1.35;display:inline-block}.practice-correction-card{gap:0;padding:18px 20px;display:grid}.practice-correction-card>.practice-feedback-label{margin-bottom:14px!important}.practice-correction-comparison{display:grid}.practice-correction-row{border-bottom:1px solid #3e3a6f21;padding:12px 0 15px;display:block}.practice-correction-row:last-child{border-bottom:0}.practice-correction-row-label,.practice-correction-guidance-label{color:#6f6b80;letter-spacing:.03em;text-transform:uppercase;margin:0 0 6px;font-size:.78rem;font-weight:800;display:block}.practice-correction-answer{justify-content:flex-start;align-items:center;gap:12px;min-width:0;font-size:1.18rem;line-height:1.35;display:flex}.practice-correction-answer>span:first-child{overflow-wrap:anywhere;min-width:0}.practice-correction-mark{flex-shrink:0;font-size:1.16rem;font-weight:850;line-height:1}.practice-correction-wrong .practice-correction-mark{color:#a13d3d}.practice-correction-right .practice-correction-mark{color:#2f6f52}.practice-correction-value{color:#555163;font-weight:650}.practice-correction-target{color:var(--app-purple);font-size:1.18rem;font-weight:850}.practice-correction-guidance{border-top:1px solid #3e3a6f21;gap:6px;padding:13px 0 0;display:grid}.practice-correction-guidance-text{color:#302d59;font-size:.96rem;line-height:1.45}.practice-correction-example{color:#5f5b70;font-size:.92rem;font-weight:700}.practice-correction-count{color:var(--muted);font-size:.88rem;font-weight:700;margin:0!important}.practice-correction-spoken{text-align:left;gap:8px}.practice-correction-spoken .practice-feedback-label{margin-bottom:4px!important}.practice-correction-spoken-word{color:var(--app-purple);overflow-wrap:anywhere;text-align:center;font-size:clamp(1.35rem,4.6vw,1.7rem);font-weight:850;line-height:1.25;margin:0!important}.practice-correction-spoken .practice-correction-guidance-text{margin-top:5px}.practice-correction-recognized{color:#5f5b70;font-size:.88rem;line-height:1.4}.practice-recovery-heading{margin:42px 0 22px}.practice-recovery-heading h2{margin-bottom:18px}.practice-recovery-goal,.practice-session-note{color:var(--muted);line-height:1.6}.practice-recovery-goal{margin:0 0 24px}.practice-session-note{margin:24px 0}.practice-inline-error{color:var(--muted);margin:18px 0 0;font-size:.9rem;line-height:1.5}.learning-explanation{color:var(--app-purple)}.learning-explanation-intro{margin:0 0 18px;line-height:1.6}.learning-explanation-list{border-top:1px solid #3e3a6f1f;gap:0;max-width:520px;margin:0 0 26px;display:grid}.learning-explanation-row{border-bottom:1px solid #3e3a6f1f;grid-template-columns:minmax(72px,.8fr) minmax(0,2fr);gap:18px;padding:11px 4px;display:grid}.learning-explanation-row dt,.learning-explanation-row dd{margin:0;line-height:1.45}.learning-explanation-row dt{font-weight:750}.learning-explanation-row dd{color:var(--muted)}.learning-explanation-examples{border-left:3px solid var(--app-purple);background:#f3f1fb;border-radius:0 12px 12px 0;margin:0 0 24px;padding:16px 18px}.learning-explanation-label{letter-spacing:.04em;text-transform:uppercase;margin:0 0 10px;font-size:.78rem;font-weight:800}.learning-explanation-examples ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.learning-explanation-examples li{line-height:1.5}.learning-explanation-note{margin:0;line-height:1.6}@media (max-width:520px){.lesson-option-link{flex-direction:column;align-items:flex-start;gap:12px;padding:18px 2px}.practice-card{border-radius:18px}.practice-actions{flex-direction:column}.practice-button,.hold-to-speak{width:100%}.hold-to-speak-button{width:100%;min-height:68px}.learning-explanation-row{grid-template-columns:minmax(64px,.7fr) minmax(0,1.6fr);gap:14px}}.student-lesson-header{z-index:40;padding-top:env(safe-area-inset-top,0px);background:#fafaf8;position:sticky;top:0}.student-lesson-header .app-header-inner{min-height:66px;padding:8px 24px}.student-lesson-header .app-logo{width:148px}.student-logout-icon{width:44px;height:44px;color:var(--app-purple);cursor:pointer;background:0 0;border:0;border-radius:12px;place-items:center;display:grid}.student-logout-icon:hover,.student-logout-icon:focus-visible{outline:2px solid var(--app-lavender);background:#f1eef9}.student-lesson-page{padding:26px 20px calc(64px + env(safe-area-inset-bottom,0px))}.student-lesson-breadcrumb{color:#797985;flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:20px;font-size:.84rem;line-height:1.5;display:flex}.student-lesson-breadcrumb a{color:#797985;text-decoration:none}.student-lesson-breadcrumb a:hover,.student-lesson-breadcrumb a:focus-visible{color:var(--app-purple);text-decoration:none}.student-lesson-breadcrumb [aria-current=page]{color:var(--app-purple);font-weight:650}.lesson-journey-status{margin:12px 0 26px}.lesson-journey-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;display:grid;position:relative}.lesson-journey-steps:before{content:"";background:#e2d9ec;height:2px;position:absolute;top:26px;left:16.6667%;right:16.6667%}.lesson-journey-step{color:#777483;cursor:pointer;min-width:0;font:inherit;text-align:center;background:0 0;border:0;flex-direction:column;align-items:center;gap:8px;padding:0 2px;font-size:.88rem;line-height:1.3;display:flex;position:relative}.lesson-journey-step:disabled{cursor:default}.lesson-journey-marker{z-index:1;width:52px;height:52px;color:var(--app-purple);background:#efeaf8;border:0;border-radius:50%;place-items:center;display:grid;position:relative}.lesson-journey-step-current .lesson-journey-marker{background:var(--app-purple);color:#fff}.lesson-journey-current-label{color:var(--app-purple);font-weight:750}.lesson-journey-step-copy{color:#777483;font-weight:500}.lesson-journey-video-gate{color:#6f6978;text-align:right;margin:14px 0 0;font-size:.83rem;line-height:1.5}.lesson-journey-actions{justify-content:space-between;gap:16px;margin-top:22px;padding-bottom:2px;display:flex}.student-journey-back,.student-journey-forward{border:1.5px solid var(--app-purple);cursor:pointer;border-radius:14px;flex:0 0 50px;place-items:center;width:50px;height:50px;font-family:inherit;font-size:1.7rem;font-weight:400;line-height:1;text-decoration:none;display:inline-grid}.student-journey-back{color:var(--app-purple);background:#fff}.student-journey-forward{background:var(--app-purple);color:#fff;margin-left:auto}.student-journey-back:disabled,.student-journey-forward:disabled{cursor:default;opacity:.42}.student-journey-back:focus-visible,.student-journey-forward:focus-visible{outline-offset:2px;outline:3px solid #aba4d8}.student-lesson-materials h2{color:var(--app-purple);margin:0 0 20px;font-size:1.2rem;font-weight:700}.student-material-list{gap:12px;display:grid}.student-material-group{background:#fff;border:1px solid #e4dfed;border-radius:18px;gap:16px;min-width:0;padding:18px;display:flex}.student-material-link-card{min-height:82px;color:inherit;cursor:pointer;align-items:center;text-decoration:none}.student-material-link-card .student-material-content h3{margin:0}.student-material-link-card:hover{background:#faf9fe;border-color:#b6b8d6}.student-material-link-card:focus-visible{outline-offset:3px;outline:3px solid #aba4d8}.student-material-icon{width:44px;height:44px;color:var(--app-purple);background:#f1edf8;border-radius:12px;flex:0 0 44px;place-items:center;display:grid}.student-material-content{flex:1;min-width:0}.student-material-content h3{color:var(--app-purple);margin:3px 0 10px;font-size:1.02rem}.student-material-content p{color:#76737e;margin:0;font-size:.88rem;line-height:1.4}.student-material-links{flex-wrap:wrap;gap:10px;display:flex}.student-material-links a{color:var(--app-purple);font-weight:650;text-decoration:none}.student-material-links a:hover{text-decoration:underline}.student-material-audios{gap:14px;display:grid}.student-material-audios p{color:var(--app-purple);margin:0 0 6px;font-weight:600}.student-material-audios audio,.student-listening-audio audio{width:100%;max-width:100%;display:block}.student-listening-audio{gap:10px;margin-top:14px;display:grid}@media (max-width:520px){.student-lesson-header .app-header-inner{flex-wrap:nowrap;align-items:center;min-height:60px;padding:6px 18px}.student-lesson-header .app-logo{width:134px}.student-lesson-page{padding:22px 16px calc(54px + env(safe-area-inset-bottom,0px))}.lesson-journey-marker{width:48px;height:48px}.lesson-journey-steps:before{top:24px}.lesson-journey-step{font-size:.8rem}}.membership-offer-shell{width:min(100%,920px)}.membership-offer-hero{background:radial-gradient(circle at 100% 0,#b6b8d657,#0000 34%),linear-gradient(135deg,#fff 0%,#f7f6fb 100%);border:1px solid #3e3a6f1f;border-radius:28px;margin-bottom:28px;padding:clamp(26px,5vw,42px);box-shadow:0 18px 55px #302b5014}.membership-offer-hero h1{max-width:720px;margin-bottom:14px}.membership-offer-hero>p:not(.practice-kicker){max-width:640px;color:var(--muted);margin:0;font-size:1.05rem;line-height:1.65}.membership-offer-benefits{color:var(--app-purple);flex-wrap:wrap;gap:10px 18px;margin-top:24px;font-size:.92rem;font-weight:700;display:flex}.membership-options{gap:18px;display:grid}.membership-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.membership-plan-card{background:#fff;border:1px solid #3e3a6f24;border-radius:24px;padding:clamp(24px,4vw,34px);position:relative;box-shadow:0 16px 45px #302b5012}.membership-plan-card-featured{background:linear-gradient(#b6b8d624 0%,#fff 32%);border-color:#3e3a6f6b;box-shadow:0 22px 60px #302b5021}.membership-saving-badge{background:var(--app-purple);color:#fff;border-radius:999px;padding:7px 11px;font-size:.78rem;font-weight:800;position:absolute;top:18px;right:18px}.membership-plan-card h2{color:var(--app-purple);margin:0 0 16px;font-size:clamp(1.55rem,3vw,2rem);line-height:1.1}.membership-plan-price{color:var(--app-purple);margin:0 0 8px}.membership-plan-price strong{letter-spacing:-.04em;font-size:clamp(2rem,4vw,2.65rem)}.membership-plan-price span{color:var(--muted);font-weight:650}.membership-plan-equivalent{color:var(--app-purple);margin:-2px 0 14px;font-weight:800}.membership-plan-lead{color:var(--muted);margin:0 0 18px;line-height:1.55}.membership-plan-list{color:#34314f;gap:10px;margin:0;padding:0;list-style:none;display:grid}.membership-plan-list li{padding-left:24px;line-height:1.45;position:relative}.membership-plan-list li:before{content:"✓";color:#2f6f52;font-weight:800;position:absolute;left:0}.membership-plan-card .button{border-radius:13px;width:100%;min-height:48px}.membership-plan-direct-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:24px;display:grid}.membership-plan-direct-actions .practice-button{width:100%}@media (max-width:720px){.membership-plan-grid,.membership-plan-direct-actions{grid-template-columns:1fr}.membership-saving-badge{margin-bottom:16px;display:inline-block;position:static}}.membership-plan-choice{width:100%;min-height:100%;color:inherit;cursor:pointer;font:inherit;text-align:left;flex-direction:column;justify-content:space-between;gap:24px;display:flex}.membership-plan-choice:hover,.membership-plan-choice:focus-visible{border-color:#3e3a6f85;transform:translateY(-2px)}.membership-plan-choice:focus-visible{outline:3px solid var(--app-lavender);outline-offset:3px}.membership-plan-cta{background:var(--app-purple);color:#fff;border-radius:13px;justify-content:center;align-items:center;min-height:48px;padding:0 18px;font-weight:800;display:inline-flex}.membership-payment-step{max-width:720px;margin:0 auto}.membership-back-button{color:var(--app-purple);cursor:pointer;font:inherit;background:0 0;border:0;margin:0 0 18px;padding:0;font-weight:750}.membership-payment-summary{background:#fff;border:1px solid #3e3a6f24;border-radius:24px;margin-bottom:22px;padding:clamp(24px,4vw,34px);box-shadow:0 16px 45px #302b5012}.membership-payment-summary h2{color:var(--app-purple);margin:0 0 10px;font-size:clamp(1.6rem,3vw,2rem)}.membership-payment-question{color:var(--app-purple);margin:22px 0 0;font-size:1.05rem;font-weight:800}.membership-payment-methods{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.membership-payment-method{color:#34314f;cursor:pointer;min-height:180px;font:inherit;text-align:left;background:#fff;border:1px solid #3e3a6f2e;border-radius:20px;gap:9px;padding:24px;display:grid}.membership-payment-method:hover:not(:disabled),.membership-payment-method:focus-visible{border-color:#3e3a6f8c;box-shadow:0 14px 36px #302b5017}.membership-payment-method:focus-visible{outline:3px solid var(--app-lavender);outline-offset:3px}.membership-payment-method:disabled{cursor:not-allowed;opacity:.55}.membership-payment-method strong{color:var(--app-purple);font-size:1.25rem}.membership-payment-method span{color:var(--muted);line-height:1.5}.membership-payment-method b{color:var(--app-purple);align-self:end}@media (max-width:720px){.membership-payment-methods{grid-template-columns:1fr}}.practice-correction-card .practice-correction-target{margin:0;line-height:1.35}.practice-correction-card .practice-correction-recognized,.practice-correction-card .practice-correction-guidance-text,.practice-correction-status{color:#5f5b70;margin:0;font-size:.94rem;line-height:1.45}.practice-correction-status{margin-top:12px}.student-audio-status{color:var(--muted);margin:8px 0 0;font-size:.84rem}.student-lesson-trial-status{box-shadow:none;margin:18px 0;padding:16px 20px}.student-lesson-trial-title{color:var(--app-purple);margin:0;font-size:1.05rem;font-weight:750}.student-lesson-trial-days{color:var(--muted);margin:4px 0 0;font-size:.9rem;line-height:1.35}.lesson-journey-current{scroll-margin-top:78px}.practice-repeat-instruction{color:var(--muted);margin:12px 0 14px;font-size:.96rem;line-height:1.45}.practice-repeat-target{color:var(--app-purple);overflow-wrap:anywhere;text-align:center;margin:12px 0 16px;font-size:clamp(1.25rem,4.5vw,1.6rem);font-weight:800;line-height:1.3}.practice-pronunciation-success{color:#2f6f52;align-items:center;gap:8px;margin:10px 0 0;font-size:.95rem;font-weight:750;display:inline-flex}.lesson-journey-scroll-reserve{pointer-events:none;height:0}
.practice-prompt-heading{margin-bottom:24px}.practice-prompt-heading .practice-progress{margin-bottom:12px}.practice-prompt-instruction{color:var(--muted);margin:0 0 6px;font-size:1rem;font-weight:650;line-height:1.4}.practice-card .practice-prompt-stimulus,.practice-prompt-stimulus{color:var(--app-purple);letter-spacing:-.025em;margin:0;font-size:clamp(1.35rem,3vw,1.75rem);font-weight:700;line-height:1.3}.practice-pair,.practice-pair-feedback-list{gap:22px;margin-bottom:26px;display:grid}.practice-pair-item,.practice-pair-feedback{border-top:1px solid #3e3a6f1f;padding-top:20px}.practice-pair-item:first-child,.practice-pair-feedback:first-child{border-top:0;padding-top:0}.practice-pair-item .practice-prompt-stimulus{margin-bottom:14px;font-size:1.2rem}.practice-pair-item .practice-field{margin-bottom:0}.practice-pair-feedback .practice-feedback-block+.practice-feedback-block{margin-top:12px}.practice-feedback-list{gap:22px}.practice-feedback-item,.practice-feedback-item:first-child,.practice-feedback-item:last-child{background:#fff;border:1px solid #3e3a6f21;border-radius:18px;padding:clamp(20px,4vw,28px)}.practice-feedback-question-number{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin:0 0 12px;font-size:.78rem;font-weight:800}.practice-feedback-instruction{color:var(--muted);margin:0 0 5px;font-size:1rem;font-weight:650;line-height:1.4}.practice-feedback-stimulus{color:var(--app-purple);margin:0 0 14px;font-size:1.2rem;font-weight:700;line-height:1.4}.practice-feedback-response,.practice-feedback-block,.practice-complete p:not(.practice-progress),.practice-session-note,.practice-recovery-goal{font-size:1rem}.practice-complete .practice-actions{margin-top:24px}@media (max-width:520px){.practice-feedback-list,.practice-pair,.practice-pair-feedback-list{gap:16px}.practice-feedback-item,.practice-feedback-item:first-child,.practice-feedback-item:last-child{border-radius:16px;padding:20px}.practice-prompt-instruction,.practice-feedback-instruction,.practice-feedback-response,.practice-feedback-block,.practice-complete p:not(.practice-progress),.practice-session-note,.practice-recovery-goal{font-size:1rem}}
.placement-page{color:#29263e;background:#faf9fc;min-height:100vh;padding:32px 18px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif}.placement-shell{width:min(100%,720px);margin:0 auto}.placement-logo{width:min(210px,60%);height:auto;margin:0 0 44px;display:block}.placement-eyebrow{color:#3f3a70;letter-spacing:.12em;text-transform:uppercase;margin:0 0 10px;font-size:.78rem;font-weight:800}.placement-shell>h1{color:#3f3a70;margin:0;font-size:clamp(2rem,6vw,3.5rem);line-height:1.05}.placement-intro{color:#62616b;max-width:650px;margin:18px 0 28px;line-height:1.6}.placement-card{background:#fff;border:1px solid #e7e4ee;border-radius:22px;padding:26px;box-shadow:0 18px 55px #322a5214}.placement-progress{color:#666272;align-items:center;gap:14px;font-size:.9rem;font-weight:700;display:flex}.placement-progress>div{background:#eeeaf4;border-radius:99px;flex:1;height:7px;overflow:hidden}.placement-progress i{background:#3f3a70;border-radius:99px;height:100%;display:block}.placement-listen{color:#fff;cursor:pointer;background:#3f3a70;border:0;border-radius:999px;width:min(100%,260px);margin:38px auto 26px;padding:17px 22px;font-weight:800;display:block}.placement-listen:disabled{color:#6d6977;cursor:default;background:#ece9f1}.placement-question{text-align:center;color:#65616d;margin:0 0 18px}.placement-options{gap:12px;display:grid}.placement-options button{color:#302d43;cursor:pointer;background:#fff;border:1px solid #d9d6e2;border-radius:13px;padding:15px;font-weight:750}.placement-options button:hover{background:#f7f5fb;border-color:#3f3a70}.placement-result h2{color:#3f3a70;margin:4px 0 12px;font-size:1.8rem}.placement-result>p{color:#5f5c68;line-height:1.55}.placement-score{font-weight:800;color:#3f3a70!important;font-size:.9rem!important}.placement-errors{background:#f7f5fb;border-radius:14px;margin:22px 0;padding:18px}.placement-errors ul{margin:10px 0 0;padding-left:20px;line-height:1.55}.placement-result-video{aspect-ratio:9/16;background:#111;border-radius:20px;width:min(100%,360px);margin:26px auto 0;position:relative;overflow:hidden;box-shadow:0 18px 45px #322a521f}.placement-result-video iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.placement-trial-note{background:#fbfafc;border:1px solid #e7e4ee;border-radius:14px;margin:24px 0 18px;padding:18px;line-height:1.55}.placement-start-trial{width:100%;margin-top:4px}.placement-start-trial:disabled{opacity:.7;cursor:wait}.placement-signup{gap:15px;margin-top:24px;display:grid}.placement-signup h3{color:#3f3a70;margin:0 0 4px}.placement-signup label{color:#46434e;gap:7px;font-size:.9rem;font-weight:700;display:grid}.placement-signup input{border:1px solid #d9d6df;border-radius:11px;outline:none;width:100%;padding:13px 14px}.placement-signup input:focus{border-color:#3f3a70;box-shadow:0 0 0 3px #3f3a701a}.placement-activation{padding-top:15vh}.placement-activation .button{width:auto;margin-top:24px;text-decoration:none;display:inline-block}.trial-reminder-shell{width:min(100%,640px)}.trial-reminder-card{background:#fff;border:1px solid #e7e4ee;border-radius:22px;padding:28px;box-shadow:0 18px 55px #322a5214}.trial-reminder-card h1{color:#3f3a70;margin:0;font-size:clamp(1.8rem,5vw,2.7rem);line-height:1.08}.trial-reminder-card>p:not(.placement-eyebrow):not(.error-message):not(.trial-reminder-icon){color:#5f5c68;line-height:1.55}.trial-reminder-actions{gap:10px;margin-top:24px;display:grid}.trial-reminder-secondary{color:#4f4b5b;cursor:pointer;background:0 0;border:0;width:100%;min-height:52px;font-weight:700}.trial-reminder-secondary:hover{text-underline-offset:4px;text-decoration:underline}.trial-phone-row{grid-template-columns:160px 1fr;gap:12px;margin:24px 0 14px;display:grid}.trial-country-picker{position:relative}.trial-country-picker summary{cursor:pointer;background:#fff;border:2px solid #c9c8de;border-radius:18px;align-items:center;gap:9px;min-height:58px;padding:0 14px;font-weight:700;list-style:none;display:flex}.trial-country-picker summary::-webkit-details-marker{display:none}.trial-country-chevron{margin-left:auto}.trial-country-popover{z-index:20;background:#fff;border:1px solid #ddd9e8;border-radius:16px;width:min(360px,85vw);padding:10px;position:absolute;top:66px;left:0;box-shadow:0 18px 45px #322a5229}.trial-country-popover>input{border:1px solid #d9d6df;border-radius:10px;width:100%;min-height:46px;padding:0 12px;font-size:16px}.trial-country-list{max-height:260px;margin-top:8px;overflow:auto}.trial-country-list button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;grid-template-columns:28px 1fr auto;gap:9px;width:100%;padding:10px;display:grid}.trial-country-list button:hover{background:#f6f4fa}.trial-phone-number input{border:2px solid #c9c8de;border-radius:18px;outline:none;width:100%;min-height:58px;padding:0 16px;font-size:16px}.trial-phone-number input:focus,.trial-country-picker summary:focus-visible{border-color:#3f3a70;box-shadow:0 0 0 4px #3f3a701a}.trial-reminder-consent{margin:10px 0 18px;font-size:.9rem}.trial-reminder-icon{color:#197448;background:#edf7f1;border-radius:50%;place-items:center;width:48px;height:48px;margin:0 0 18px;font-size:1.4rem;font-weight:900;display:grid}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:600px){.placement-page{padding:24px 14px}.placement-logo{margin-bottom:34px}.placement-card{padding:20px}.placement-listen{width:100%}.placement-result-video{border-radius:16px;width:min(100%,300px)}.trial-reminder-card{padding:22px}.trial-phone-row{grid-template-columns:132px 1fr}.trial-country-picker summary{padding:0 12px}}
.app-nav .app-nav-link{display:none}.app-nav{margin-left:auto}.app-nav form{display:flex}.app-logout{border-radius:10px;place-items:center;width:40px;height:40px;font-size:0;display:grid}.app-logout:before{content:"";background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233e3a6f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 4H5.8A1.8 1.8 0 0 0 4 5.8v12.4A1.8 1.8 0 0 0 5.8 20H10M14 8l4 4-4 4M18 12H9'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:contain;width:22px;height:22px}.app-logout:hover,.app-logout:focus-visible{background:#b6b8d624}@media (max-width:520px){.app-header-inner{flex-wrap:nowrap;align-items:center}.app-nav{justify-content:flex-end;gap:0;width:auto;padding-top:0}}
