.onboarding-page{height:100dvh;height:var(--onboarding-vh,100dvh);overscroll-behavior:none;padding:var(--spacing-xl) var(--spacing-lg) var(--spacing-lg);flex-direction:column;align-items:center;display:flex;overflow:hidden}html.onboarding-scroll-lock,body.onboarding-scroll-lock{overscroll-behavior:none;height:100%;overflow:hidden}.onboarding-progress{margin-bottom:var(--spacing-3xl);gap:8px;display:flex}.onboarding-intent-banner{background:color-mix(in srgb, var(--color-success) 10%, var(--color-surface));border:1px solid color-mix(in srgb, var(--color-success) 28%, var(--color-border));width:100%;max-width:480px;color:var(--color-text-primary);text-align:center;border-radius:10px;margin:0 auto 16px;padding:8px 14px;font-size:12.5px;line-height:1.4}.onboarding-dot{background-color:var(--color-border);width:8px;height:8px;transition:all var(--transition-normal);border-radius:50%}.onboarding-dot.active{background-color:var(--color-primary);transform:scale(1.3)}.onboarding-dot.completed{background-color:var(--color-primary);opacity:.4}.onboarding-stage{flex-direction:column;flex:1;width:100%;min-height:0;display:flex}.onboarding-content{overscroll-behavior:contain;width:100%;max-width:560px;min-height:0;padding-bottom:var(--spacing-md);flex:1;overflow-y:auto}.onboarding-nav{width:100%;max-width:560px;margin-top:var(--spacing-2xl);padding-top:var(--spacing-lg);align-items:center;display:flex}.onboarding-topbar,.onboarding-herocopy,.onboarding-btn-label-desktop,.onboarding-btn-arrow{display:none}.step-heading{font-family:var(--font-display);margin-bottom:var(--spacing-lg);font-size:26px;font-style:italic;font-weight:400;line-height:1.3}.step-subtext{color:var(--color-text-secondary);margin-bottom:var(--spacing-xl);font-size:15px;line-height:1.6}.language-grid{gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(140px,1fr));display:grid}.language-card{align-items:center;gap:var(--spacing-sm);flex-direction:column;display:flex}.language-card.language-card{padding:var(--spacing-xl) var(--spacing-md)}.language-card .emoji{font-size:36px;line-height:1}.language-card .name{font-size:15px;font-weight:500}.level-grid{gap:var(--spacing-md);flex-direction:column;display:flex}.level-card{text-align:left}.level-card.level-card{padding:var(--spacing-md)}.level-card .level-name{margin-bottom:6px;font-size:14px;font-weight:600;display:none}.level-card .level-desc{color:var(--color-text-secondary);font-size:12.5px;line-height:1.45}.level-card .level-features{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.level-feature-chip{color:var(--color-text-secondary);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-pill);white-space:nowrap;padding:3px 9px;font-size:11px;font-weight:500}.card-selected .level-feature-chip{color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 8%, transparent);border-color:color-mix(in srgb, var(--color-primary) 30%, transparent)}.pill-grid{gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.step-context-line{color:var(--color-text-secondary);margin:0 0 6px;font-size:13px}.checklist-grid{gap:var(--spacing-sm);flex-direction:column;display:flex}.checklist-row{border:1.5px solid var(--color-border);border-radius:var(--radius-input);background:var(--color-surface);width:100%;font-family:var(--font-family);color:var(--color-text-primary);text-align:left;cursor:pointer;transition:border-color var(--transition-fast), background-color var(--transition-fast);align-items:flex-start;gap:10px;padding:12px 14px;font-size:14px;line-height:1.4;display:flex}.checklist-row:hover{border-color:var(--color-text-secondary)}.checklist-row-selected{border-color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 6%, transparent);box-shadow:0 0 0 2px color-mix(in srgb, var(--color-primary) 12%, transparent)}.checklist-checkbox{border:1.5px solid var(--color-border);background:var(--color-surface);color:#fff;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;margin-top:1px;display:flex}.checklist-row-selected .checklist-checkbox{background:var(--color-primary);border-color:var(--color-primary)}.checklist-row-sub{color:var(--color-text-secondary);margin-top:2px;font-size:12.5px;display:block}.why-swap-note{color:#7a5c16;background:#fbf3e2;border-radius:10px;margin:10px 0 0;padding:8px 12px;font-size:12.5px;line-height:1.45}.why-minor-label{color:var(--color-text-secondary);margin:20px 0 10px;font-size:13px}.goal-grid{gap:var(--spacing-md);flex-direction:column;display:flex}.goal-card{text-align:left}.goal-card .goal-title{margin-bottom:4px;font-size:16px;font-weight:600}.goal-card .goal-desc{color:var(--color-text-secondary);font-size:14px;line-height:1.5}.persona-grid{gap:var(--spacing-md);grid-template-columns:repeat(2,1fr);display:grid}.persona-card{text-align:left}.persona-card .persona-header{align-items:center;gap:12px;margin-bottom:10px;display:flex}.persona-card .persona-header-text{flex:1;min-width:0}.persona-card .persona-name{font-size:16px;font-weight:600}.persona-card .persona-meta{color:var(--color-text-secondary);margin-top:2px;font-size:13px}.persona-preview-btn{border:1.5px solid var(--color-primary);width:30px;height:30px;color:var(--color-primary);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;transition:background .15s,color .15s,opacity .15s;display:flex}.persona-preview-btn:hover:not(:disabled),.persona-preview-btn.playing{background:var(--color-primary);color:#fff}.persona-preview-btn.unavailable{border-color:var(--color-text-secondary);color:var(--color-text-secondary);opacity:.35;cursor:default}.persona-preview-wrap{flex-direction:column;align-items:center;gap:4px;display:flex}.persona-preview-label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary);opacity:.7;-webkit-user-select:none;user-select:none;font-size:10px;font-weight:500}.persona-select-hint{text-align:center;margin-top:10px}.persona-select-cta{color:var(--color-text-secondary);opacity:.55;font-size:12px}.persona-selected-badge{color:var(--color-primary);font-size:12px;font-weight:600}.persona-card .persona-bio{color:var(--color-text-secondary);margin-bottom:10px;font-size:14px;line-height:1.5}.persona-card .persona-traits{flex-wrap:wrap;gap:6px;display:flex}.persona-card .trait-pill{border-radius:var(--radius-pill);background-color:var(--color-bg);color:var(--color-text-secondary);padding:4px 10px;font-size:12px;font-weight:500}.subcategory-group{margin-bottom:var(--spacing-xl)}.subcategory-group .group-label{margin-bottom:var(--spacing-sm);color:var(--color-text-primary);font-size:15px;font-weight:600}.subcategory-freetext{margin-top:var(--spacing-sm);border-radius:var(--radius-input);border:1px solid var(--color-border);background:var(--color-surface);width:100%;color:var(--color-text-primary);transition:border-color var(--transition-fast);outline:none;padding:8px 12px;font-size:13px}.subcategory-freetext:focus{border-color:var(--color-primary)}.subcategory-freetext::placeholder{color:var(--color-text-secondary)}.subcategory-loading{justify-content:center;align-items:center;gap:var(--spacing-md);padding:var(--spacing-4xl) 0;text-align:center;flex-direction:column;display:flex}.subcategory-loading-bar-track{background:var(--color-border);border-radius:999px;width:280px;height:4px;overflow:hidden}.subcategory-loading-bar-fill{background:var(--color-primary);border-radius:999px;width:0%;height:100%;animation:10s ease-out forwards loadingBar}@keyframes loadingBar{0%{width:0%}60%{width:75%}85%{width:88%}to{width:93%}}.subcategory-loading-text{color:var(--color-text-primary);margin:0;font-size:16px;font-weight:600}.subcategory-loading-sub{color:var(--color-text-secondary);max-width:320px;margin:0;font-size:14px}@media (width>=1100px){.onboarding-page{align-items:stretch;padding:0}.onboarding-topbar{background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 32px;display:flex}.onboarding-topbar-logo{width:90px;height:auto}.onboarding-topbar-dots{align-items:center;gap:12px;display:flex}.onboarding-topbar-dots .onboarding-dot{width:10px;height:10px}.onboarding-topbar-dots .onboarding-dot.active{transform:scale(1.4)}.onboarding-topbar-counter{color:var(--color-text-secondary);text-align:right;min-width:90px;font-size:13px;font-weight:700}.onboarding-progress{display:none}.onboarding-stage{flex:1;grid-template-rows:1fr;grid-template-columns:minmax(260px,320px) 1fr;align-items:center;gap:40px;width:100%;max-width:1100px;min-height:0;margin:0 auto;padding:48px 40px;display:grid}.onboarding-herocopy{flex-direction:column;justify-content:center;max-width:320px;display:flex}.onboarding-hero-eyebrow{letter-spacing:1px;text-transform:uppercase;color:var(--color-primary);margin:0 0 14px;font-size:12px;font-weight:700}.onboarding-hero-headline{font-family:var(--font-display);color:var(--color-text-primary);text-wrap:balance;margin:0;font-size:32px;font-style:italic;font-weight:400;line-height:1.22}.onboarding-hero-sub{color:var(--color-text-secondary);max-width:42ch;margin:18px 0 0;font-size:15.5px;line-height:1.7}.onboarding-chiprow{flex-direction:column;gap:8px;margin-top:26px;display:flex}.onboarding-chip{color:var(--color-text-secondary);align-items:center;gap:8px;font-size:12px;font-weight:600;display:flex}.onboarding-chip:before{content:"";background:var(--color-primary);border-radius:50%;flex-shrink:0;width:5px;height:5px}.onboarding-content{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);flex-direction:column;justify-content:safe center;width:auto;max-width:660px;max-height:100%;padding:38px 42px;display:flex;box-shadow:0 1px 2px #2a211d0d,0 10px 24px -14px #2a211d26}.onboarding-nav{background:var(--color-surface);border-top:1px solid var(--color-border);flex-shrink:0;width:100%;max-width:none;margin-top:0;padding:20px 40px}.onboarding-btn-label-mobile{display:none}.onboarding-btn-label-desktop{display:inline}.onboarding-btn-arrow{display:inline-block}.onboarding-nav .onboarding-next-btn{border-radius:14px;padding:18px 40px;font-size:17px;font-weight:600}.language-grid{grid-template-columns:repeat(5,1fr)}.level-grid{grid-template-columns:repeat(3,1fr);align-items:start;display:grid}.level-card .level-name{display:block}.checklist-grid{grid-template-columns:repeat(2,1fr);display:grid}.subcategory-groups{grid-template-columns:repeat(2,1fr);gap:24px 30px;display:grid}.subcategory-groups .subcategory-group{margin-bottom:0}}@media (width<=480px){.onboarding-page{padding:var(--spacing-lg) var(--spacing-md) var(--spacing-sm)}.onboarding-progress{margin-bottom:var(--spacing-lg)}.onboarding-nav{margin-top:var(--spacing-md);padding-top:var(--spacing-md)}.language-grid{grid-template-columns:repeat(auto-fill,minmax(108px,1fr))}.persona-grid{grid-template-columns:1fr}.persona-preview-btn{width:44px;height:44px}}
