.progressive-page{max-width:620px;margin-inline:auto;padding-bottom:36px}
.onboarding-progress{display:flex;gap:12px;margin:26px 0;color:var(--muted);font-size:.875rem}
.onboarding-progress>span{flex:1;display:flex;align-items:center;gap:8px;border-top:3px solid var(--line);padding-top:12px}
.onboarding-progress>span.active{border-color:var(--violet);color:var(--ink)}
.onboarding-progress b{font-size:.875rem;font-variant-numeric:tabular-nums}
.onboarding-goals{display:grid;gap:12px;margin:24px 0}
.onboarding-goal{display:flex;align-items:center;gap:14px;text-align:start;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:20px;padding:20px;cursor:pointer;transition:border-color .18s,background .18s;width:100%}
.onboarding-goal.selected{border-color:var(--violet);background:color-mix(in srgb,var(--violet) 12%,var(--surface))}
.onboarding-goal b{display:block;font-size:1.1rem;line-height:1.6}
.onboarding-goal small{display:block;color:var(--muted);font-size:.9rem;line-height:1.7;margin-top:4px}
.goal-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;border-radius:14px;background:color-mix(in srgb,var(--violet) 14%,transparent);color:var(--violet)}
.goal-check{margin-inline-start:auto;flex-shrink:0;color:var(--muted)}
.selected .goal-check{color:var(--violet)}
.progressive-page .auth-primary{width:100%;margin-top:22px}
.progressive-page>.text-btn{margin-block:14px;min-height:44px}
.progressive-page .identity-role{min-height:92px}
.progressive-page .genre-chips{display:flex;flex-wrap:wrap;gap:10px}
.progressive-page .genre-chips .chip{min-height:44px}
.progressive-page .auth-heading h1{font-size:clamp(1.8rem,5vw,2.6rem);line-height:1.4}
.progressive-page .auth-heading p{font-size:1rem;line-height:1.8}
.progressive-page :is(button,input):focus-visible,.profile-optional summary:focus-visible{outline:3px solid var(--violet);outline-offset:4px}
.listener-space{margin:24px 0;padding:28px;border:1px solid var(--line);border-radius:24px;background:var(--surface)}
.listener-space h2{font-size:1.3rem;margin:16px 0 8px}
.listener-space p,.profile-next-step p{color:var(--muted);line-height:1.8;margin-bottom:16px}
.profile-next-step{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px;margin:20px 0;border:1px solid var(--line);border-radius:18px}
.profile-next-step p{margin:0;font-size:.9rem}
.profile-next-step button{flex-shrink:0}
.profile-optional summary{cursor:pointer;min-height:44px;padding-block:10px}
html[dir=ltr] .auth-main :is(.icon-arrow,.icon-back){scale:-1 1}
@media(max-width:420px){.onboarding-goal{padding:15px;gap:10px}.onboarding-goal b{font-size:1rem}.onboarding-progress{gap:8px}.profile-next-step{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){.onboarding-goal{transition:none}}
