: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:radial-gradient(circle at 0 0,#745fa01f,#0000 32%),linear-gradient(#fff,#faf9fc);place-items:center;min-height:100vh;padding:32px 20px;display:grid}.card{border:1px solid var(--border);background:#fff;border-radius:24px;width:min(100%,460px);box-shadow:0 18px 70px #26223d1a}.auth-card{padding:28px}.login-logo{width:min(220px,75%);height:auto;margin:0 auto 54px;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:18px;margin-top:28px;display:grid}.auth-field{gap:8px;display:grid}.auth-field label{color:#3f3f46;font-size:.9rem;font-weight:700}.auth-field input{color:#18181b;background:#fff;border:1px solid #d9d9df;border-radius:12px;outline:none;width:100%;padding:13px 14px;transition:border-color .15s,box-shadow .15s}.auth-field input:focus{border-color:var(--auth-purple);box-shadow:0 0 0 3px #3f3a701f}.button{background:var(--auth-purple);color:#fff;cursor:pointer;width:100%;font:inherit;border:0;border-radius:12px;padding:13px 16px;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:3px;font-size:.9rem;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-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}.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}.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{padding:20px 16px}.auth-card{border-radius:20px;padding:20px 16px}.login-logo{width:min(190px,78%);margin-bottom:44px}.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{width:148px}.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}}
.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}.practice-actions{justify-content:space-between;gap:12px;display:flex}.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-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-reverse}.practice-button{width:100%}.learning-explanation-row{grid-template-columns:minmax(64px,.7fr) minmax(0,1.6fr);gap:14px}}
.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-trial-note{border:1px solid #e7e4ee;border-radius:14px;margin:22px 0;padding:18px;line-height:1.5}.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}@media (max-width:600px){.placement-page{padding:24px 14px}.placement-logo{margin-bottom:34px}.placement-card{padding:20px}.placement-listen{width:100%}}
