body.onboarding-active{overflow:hidden}
.ob-root{position:fixed;inset:0;z-index:20;background:var(--paper);overflow:auto;overscroll-behavior:contain;color:var(--ink);padding:env(safe-area-inset-top,0px) 0 env(safe-area-inset-bottom,0px)}
.ob-root *{box-sizing:border-box}
.ob-root button,.ob-root a,.ob-root label{touch-action:manipulation}
.ob-root button:disabled{opacity:.5;cursor:wait}
.ob-root svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.ob-header{max-width:1248px;min-height:80px;margin:auto;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.ob-brand{display:flex;align-items:center;gap:9px;text-decoration:none;font:700 27px/1 'Accent Display',sans-serif;letter-spacing:-.035em;min-height:44px}
.ob-brand img{display:block}.ob-header-right{display:flex;align-items:center;gap:8px}
.ob-icon-button{height:44px;width:44px;border-radius:50%;display:grid;place-items:center;background:transparent;color:var(--muted);padding:10px}
.ob-icon-button:hover,.ob-text-button:hover{background:var(--surface);color:var(--ink)}
.ob-text-button{background:transparent;min-height:44px;padding:10px 12px;border-radius:12px;color:var(--muted);display:inline-flex;gap:8px;align-items:center;justify-content:center;font-size:14px;text-decoration:none}
.ob-progress-wrap{max-width:560px;margin:4px auto 16px;padding:0 24px;display:flex;align-items:center;gap:16px;color:var(--muted);font-size:13px;font-variant-numeric:tabular-nums}
.ob-progress-wrap>.ob-icon-button{margin-left:-12px}.ob-progress{height:5px;flex:1;border-radius:4px;background:var(--line);overflow:hidden}
.ob-progress span{height:100%;background:var(--button);display:block}
.ob-layout{max-width:1120px;margin:0 auto;padding:12px 24px 40px;min-height:calc(100dvh - 160px)}
.ob-content{max-width:510px;margin:auto;width:100%;min-width:0}
.ob-content h1{font:700 clamp(32px,7vw,44px)/1.1 'Accent Display',sans-serif;letter-spacing:-.035em;white-space:pre-line;text-wrap:balance;outline:none;margin:0 0 16px}
.ob-description{font-size:16px;line-height:1.6;color:var(--muted);max-width:46ch;margin:0 0 28px}
.ob-companion{display:none}.ob-options{border:0;display:grid;gap:10px;padding:0;margin:28px 0 0;min-width:0}
.ob-option{display:flex;align-items:center;gap:14px;min-height:84px;padding:16px;border:1px solid var(--line);border-radius:14px;position:relative;cursor:pointer;transition:background .15s,border-color .15s}
.ob-option:hover{border-color:var(--accent);background:var(--surface)}
.ob-option.selected{border-color:var(--accent);background:var(--soft)}
.ob-option input,.ob-language input,.ob-billing input{position:absolute;width:1px;height:1px;opacity:0}
.ob-option:has(input:focus-visible),.ob-language:has(input:focus-visible),.ob-billing label:has(input:focus-visible){outline:3px solid var(--accent);outline-offset:3px}
.ob-option-icon{width:42px;height:42px;background:var(--surface);border-radius:12px;display:grid;place-items:center;color:var(--muted);flex-shrink:0}
.ob-option.selected .ob-option-icon{background:var(--paper);color:var(--accent)}
.ob-option-copy{display:grid;gap:4px;flex:1;min-width:0}.ob-option-copy b{font-size:16px;line-height:1.3;font-weight:600}.ob-option-copy>span{font-size:14px;line-height:1.4;color:var(--muted)}
.ob-radio{width:22px;height:22px;display:grid;place-items:center;border:1px solid var(--muted);border-radius:50%;flex-shrink:0;color:var(--paper)}
.ob-radio svg{width:14px;height:14px;visibility:hidden;stroke-width:2.5}.selected .ob-radio{background:var(--button);border-color:var(--button);color:#fff}.selected .ob-radio svg{visibility:visible}
.ob-actions{margin-top:26px}.ob-primary,.ob-plan-button{border:0;border-radius:14px;min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:15px 20px;font-size:16px;font-weight:600;background:var(--button);color:#fff;transition:filter .15s,transform .15s}
.ob-primary:hover,.ob-plan-button.primary:hover{filter:brightness(1.08)}.ob-primary:active,.ob-plan-button:active{transform:scale(.99)}
.ob-footnote{font-size:13px;line-height:1.55;color:var(--muted);margin-top:14px;text-align:center}
.ob-error{font-size:14px;color:#b3261e;line-height:1.5;margin-bottom:12px}.ob-error:empty{display:none}
.ob-welcome .ob-content{padding-top:16px}.ob-welcome-details{display:grid;gap:14px;margin:32px 0;color:var(--muted);font-size:14px}.ob-welcome-details>span{display:flex;gap:10px;align-items:center}.ob-welcome-details svg{width:19px;height:19px;color:var(--accent)}
.ob-welcome .ob-text-button#ob-explore{width:100%;margin-top:6px}.ob-welcome .ob-companion{display:flex;min-height:230px;justify-content:center;align-items:center;margin-bottom:30px}
.ob-companion-voice{position:relative;width:220px;margin:auto;isolation:isolate}.ob-alex{width:190px;height:190px;display:block;transform:rotate(-5deg);margin:auto}
.ob-speech{position:absolute;bottom:0;left:50%;transform:translateX(-50%) rotate(3deg);white-space:nowrap;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:12px 18px;font:700 18px/1.2 'Accent Display',sans-serif;color:var(--ink)}
.ob-companion>p,.ob-wave{display:none}
.ob-languages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;border:0;padding:0;margin:28px 0 0;min-width:0}.ob-language{position:relative;cursor:pointer}
.ob-language>span{display:flex;align-items:center;justify-content:center;min-height:58px;border:1px solid var(--line);border-radius:12px;padding:14px 8px;font-size:16px}
.ob-language:has(input:checked)>span{background:var(--soft);border-color:var(--accent);color:var(--accent);font-weight:600}.ob-language:hover>span{border-color:var(--accent)}
.ob-summary{border-top:1px solid var(--line);margin:28px 0}.ob-summary>div{padding:16px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;align-items:baseline;font-size:14px}.ob-summary span{color:var(--muted)}.ob-summary b{text-align:right;font-weight:600}
.ob-lesson{background:var(--surface);padding:22px;border-radius:16px}.ob-lesson-label{color:var(--accent);font-size:14px;display:flex;align-items:center;gap:8px}.ob-lesson p{font:700 25px/1.3 'Accent Display',sans-serif;letter-spacing:-.025em;margin:18px 0 12px}.ob-lesson>span:last-child{color:var(--muted);font-size:14px;line-height:1.55;display:block}
.ob-pricing-back{margin:0 12px 12px}.ob-wide .ob-layout{max-width:1176px;padding-top:12px}.ob-wide .ob-content{max-width:none}.ob-pricing-heading{margin:0 auto 30px;text-align:center}.ob-pricing-heading h1{font-size:clamp(34px,5vw,48px)}.ob-pricing-heading .ob-description{margin:0 auto 24px;max-width:50ch}
.ob-billing{display:inline-flex;align-items:center;gap:4px;border:0;padding:5px;background:var(--surface);border-radius:14px;margin:0}.ob-billing label{position:relative;cursor:pointer;border-radius:10px}.ob-billing label>span{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;gap:8px;border-radius:10px;color:var(--muted);font-size:14px}.ob-billing input:checked+span{background:var(--paper);color:var(--ink);box-shadow:0 2px 5px #18244012;font-weight:600}.ob-billing b{color:var(--accent);font-size:12px}
.ob-plans{display:grid;gap:16px}.ob-plan{border:1px solid var(--line);border-radius:16px;padding:24px;position:relative;background:var(--paper)}.ob-plan.recommended{border:2px solid var(--accent);padding:23px;background:var(--soft)}
.ob-plan-top{display:flex;justify-content:space-between;gap:12px;align-items:center}.ob-plan h2{font:700 25px/1.2 'Accent Display',sans-serif;letter-spacing:-.025em}.ob-recommended{font-size:12px;font-weight:600;color:var(--accent);display:inline-block;padding:5px 9px;border-radius:20px;background:var(--paper)}
.ob-plan-description{margin:12px 0 24px;font-size:14px;color:var(--muted);line-height:1.45}.ob-price{display:flex;align-items:baseline;gap:5px;flex-wrap:wrap}.ob-price strong{font:700 48px/1 'Accent Display',sans-serif;letter-spacing:-.035em;font-variant-numeric:tabular-nums}.ob-price>span{color:var(--muted);font-size:14px}.ob-price-detail{margin:10px 0 0;font-size:14px;color:var(--muted)}.ob-savings{color:var(--accent);font-size:13px;margin:9px 0 24px;min-height:20px}
.ob-plan-allowance{display:flex;align-items:center;gap:8px;padding-top:22px;border-top:1px solid var(--line);font-size:14px}.ob-plan-allowance svg{width:18px;height:18px;color:var(--accent)}.ob-plan-allowance b{font-weight:600}
.ob-benefits{list-style:none;padding:0;margin:22px 0 28px;display:grid;gap:13px}.ob-benefits li{display:flex;gap:8px;font-size:14px;align-items:flex-start;line-height:1.45}.ob-benefits svg{width:17px;height:19px;color:var(--accent)}
.ob-plan-button{background:var(--surface);color:var(--ink)}.ob-plan-button:hover{background:var(--soft)}.ob-plan-button.primary{background:var(--button);color:#fff}
.ob-pricing-footer{text-align:center;max-width:680px;margin:24px auto 0}.ob-preview-note{font-size:13px;line-height:1.55;color:var(--muted)}.ob-free{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;color:var(--accent);background:transparent;font-weight:600;padding:12px;border-radius:12px;margin-top:12px}.ob-free:hover{background:var(--surface)}.ob-pricing-footer .ob-footnote{margin:0}.ob-legal{display:flex;justify-content:center;gap:24px;font-size:12px;margin-top:20px;color:var(--muted)}.ob-legal a{min-height:44px;display:flex;align-items:center}
.ob-saved-icon{color:var(--accent);background:var(--soft);width:56px;height:56px;border-radius:50%;display:grid;place-items:center;margin-bottom:24px}.ob-selection-total{padding:22px 0;margin:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.ob-selection-total strong{font-size:21px}.ob-content>#ob-change-plan{width:100%;margin-top:8px}
.ob-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(min-width:960px){.ob-header{padding:22px 40px;min-height:100px}.ob-layout{padding:32px 40px 56px;display:grid;grid-template-columns:minmax(260px,.85fr) minmax(360px,1fr);gap:70px;align-items:center;min-height:calc(100dvh - 192px)}.ob-companion,.ob-welcome .ob-companion{display:flex;flex-direction:column;justify-content:center;align-items:center;background:var(--surface);border-radius:16px;align-self:stretch;min-height:580px;max-height:720px;margin:0;padding:40px 24px;gap:38px}.ob-companion-voice{width:280px;margin:0}.ob-alex{width:260px;height:260px}.ob-speech{bottom:-6px;font-size:21px;padding:14px 22px}.ob-companion>p{display:block;text-align:center;white-space:pre-line;color:var(--muted);font-size:16px;line-height:1.65;margin-top:8px}.ob-wave{display:flex;height:65px;align-items:center;gap:5px}.ob-wave i{width:4px;background:var(--accent);border-radius:4px;opacity:.45}.ob-progress-wrap{margin:0 max(40px,calc((100vw - 1040px)/2)) 0 auto;padding-left:0;max-width:470px}.ob-welcome .ob-layout{min-height:calc(100dvh - 100px);padding-top:16px}.ob-welcome .ob-content{padding:0}.ob-welcome h1{font-size:clamp(40px,4.4vw,56px)}.ob-wide .ob-layout{display:block;min-height:0;padding-top:4px}.ob-plans{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.ob-plan{display:flex;flex-direction:column}.ob-plan-button{margin-top:auto}.ob-pricing-back{margin-left:max(28px,calc((100vw - 1168px)/2))}.ob-pricing-heading{margin-bottom:36px}.ob-pricing-heading .ob-description{max-width:none}.ob-wide .ob-content{padding-top:0}.ob-languages{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1100px){.ob-layout{gap:110px}.ob-plan{padding:30px}.ob-plan.recommended{padding:29px}}
@media(prefers-reduced-motion:no-preference){.ob-welcome .ob-alex{animation:ob-greet .8s cubic-bezier(.16,1,.3,1) both}@keyframes ob-greet{from{transform:translateY(10px) rotate(-9deg)}to{transform:translateY(0) rotate(-5deg)}}}
@media(prefers-reduced-motion:reduce){.ob-root *{transition:none!important;animation:none!important}}
[data-theme=dark] .ob-error{color:#ffb4ab}

.ob-shared-benefits{display:none}
.ob-pricing-heading>.ob-preview-note{margin:18px auto 0;max-width:48ch}
.ob-pricing-heading>.ob-free{margin-top:4px}
@media(max-width:959px){.ob-plan .ob-benefits{display:none}.ob-plan-description{margin:10px 0 18px}.ob-plan-allowance{padding-top:16px;margin-bottom:20px}.ob-savings{margin-bottom:16px}.ob-shared-benefits{display:block;text-align:left;padding:22px 0;border-top:1px solid var(--line)}.ob-shared-benefits h2{font-size:17px}.ob-shared-benefits .ob-benefits{margin-bottom:0}}
