@font-face{font-family:PP Neue Montreal;src:url(/fonts/PPNeueMontrealText-Book.otf)format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:PP Neue Montreal;src:url(/fonts/PPNeueMontreal-Regular.otf)format("opentype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:PP Neue Montreal;src:url(/fonts/PPNeueMontreal-Semibold.otf)format("opentype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:PP Neue Montreal;src:url(/fonts/PPNeueMontreal-Extrabold.otf)format("opentype");font-weight:800;font-style:normal;font-display:swap}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--orange-50:#fff7ed;--orange-100:#ffedd5;--orange-200:#fed7aa;--orange-500:#f97316;--orange-600:#ea580c;--orange-700:#c2410c;--ink-900:#1a1617;--ink-700:#4b4546;--ink-500:#8a7f80;--ink-300:#b5adad;--canvas:#fff;--surface:#fff;--surface-muted:#f5efe6;--border:#1a16171a;--border-strong:#1a16172e;--card-ink:#171714;--poster-inset:#fff9;--poster-line:#17171429;--poster-ink-muted:color-mix(in srgb, var(--card-ink) 75%, transparent);--ink-card:var(--ink-900);--ink-card-line:transparent;--on-ink:var(--canvas);--on-accent:var(--canvas);--on-ink-muted:color-mix(in srgb, var(--canvas) 72%, var(--ink-900));--on-ink-raised:color-mix(in srgb, var(--canvas) 12%, transparent);--on-ink-line:color-mix(in srgb, var(--canvas) 22%, transparent);--role-mint:#bfe6c0;--role-lavender:#c2b7f1;--role-blue:#7aa2ee;--role-lime:#e5f59a;--role-pink:#f4b8f8;--success:#2a7e3b;--success-soft:#ecfccb;--info:#3b5a7c;--info-soft:#dbeafe;--warning:#9e6c00;--warning-soft:#fef3c7;--danger:#ce2c31;--danger-soft:#fee2e2;--cefr-a1:#6f8a64;--cefr-a2:#9cb494;--cefr-b1:#3b5a7c;--cefr-b2:#7da3c4;--cefr-c1:#c58a2c;--cefr-c2:#e4412d;--font-display:"PP Neue Montreal", "Aptos Display", sans-serif;--font-body:"PP Neue Montreal", "Aptos", sans-serif;--font-ipa:"PP Neue Montreal", ui-monospace, monospace;--ease-standard:cubic-bezier(.25, .1, .25, 1);--ease-entrance:cubic-bezier(.16, 1, .3, 1);--ease-emphasis:cubic-bezier(.4, 0, .2, 1);--ease-out:var(--ease-entrance);--duration-fast:.2s;--duration-medium:.3s;--duration-slow:.45s;--duration-entrance:.6s;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-2xl:24px;--radius-pill:999px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 12px #0000000f;--shadow-lg:0 12px 32px #00000014;color:var(--ink-900);background:var(--canvas);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}:root:not([data-theme=light]){--orange-50:#2a1b0e;--orange-100:#3a2410;--orange-200:#5a3612;--orange-600:#fb8b3c;--orange-700:#fdba74;--ink-900:#eae8d5;--ink-700:#b9b6a7;--ink-500:#7c796e;--ink-300:#5f5d54;--canvas:#131312;--surface:#252423;--surface-muted:#1b1b19;--border:#eae8d529;--border-strong:#eae8d547;--card-ink:#131312;--ink-card:#252423;--ink-card-line:#eae8d529;--on-ink:#eae8d5;--on-ink-muted:#b9b6a7;--on-ink-raised:#1b1b19;--on-ink-line:#eae8d529;--role-mint:#9dd5a1;--role-lavender:#a595e3;--role-blue:#4a7ee3;--role-lime:#dbf078;--role-pink:#f79cff;--success:#8dd9a2;--success-soft:#8dd9a229;--info:#7aa2ee;--info-soft:#7aa2ee29;--warning:#e6c768;--warning-soft:#e6c76829;--danger:#e58787;--danger-soft:#e5878729;--cefr-a1:#8fb184;--cefr-a2:#b7cdaf;--cefr-b1:#7aa2ee;--cefr-b2:#a9c6e1;--cefr-c1:#e0ac5a;--cefr-c2:#f06a56;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 12px #00000073;--shadow-lg:0 12px 32px #00000080}}:root[data-theme=dark]{--orange-50:#2a1b0e;--orange-100:#3a2410;--orange-200:#5a3612;--orange-600:#fb8b3c;--orange-700:#fdba74;--ink-900:#eae8d5;--ink-700:#b9b6a7;--ink-500:#7c796e;--ink-300:#5f5d54;--canvas:#131312;--surface:#252423;--surface-muted:#1b1b19;--border:#eae8d529;--border-strong:#eae8d547;--card-ink:#131312;--ink-card:#252423;--ink-card-line:#eae8d529;--on-ink:#eae8d5;--on-ink-muted:#b9b6a7;--on-ink-raised:#1b1b19;--on-ink-line:#eae8d529;--role-mint:#9dd5a1;--role-lavender:#a595e3;--role-blue:#4a7ee3;--role-lime:#dbf078;--role-pink:#f79cff;--success:#8dd9a2;--success-soft:#8dd9a229;--info:#7aa2ee;--info-soft:#7aa2ee29;--warning:#e6c768;--warning-soft:#e6c76829;--danger:#e58787;--danger-soft:#e5878729;--cefr-a1:#8fb184;--cefr-a2:#b7cdaf;--cefr-b1:#7aa2ee;--cefr-b2:#a9c6e1;--cefr-c1:#e0ac5a;--cefr-c2:#f06a56;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 12px #00000073;--shadow-lg:0 12px 32px #00000080}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-corner{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-pill);background-clip:padding-box;border:3px solid #0000}::-webkit-scrollbar-thumb:hover{background:var(--ink-300);background-clip:padding-box}html{background:var(--canvas);min-width:320px}body{min-width:320px;min-height:100vh;margin:0}button,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid var(--orange-100);outline-offset:3px}::selection{color:var(--ink-900);background:var(--orange-100)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}#root{min-height:100vh}.session-loading{align-content:center;justify-items:center;gap:16px;min-height:100vh;padding:24px;display:grid}.session-loading span{color:var(--orange-500);font-family:var(--font-ipa);animation:breathe 1.8s var(--ease-out) infinite;font-size:3rem;font-weight:500}.session-loading p{color:var(--ink-700);margin:0;font-size:.8125rem}.demo-mode-note{color:var(--ink-700);background:var(--surface-muted);border-radius:var(--radius-md);align-items:flex-start;gap:8px;margin:24px 0;padding:12px;display:flex}.demo-mode-note svg{flex:none;margin-top:2px}.demo-mode-note p{flex-direction:column;gap:2px;margin:0;font-size:.75rem;line-height:1.4;display:flex}.forgot-link{color:var(--orange-600);justify-self:end}.demo-button{width:100%;min-height:47px;color:var(--ink-900);background:var(--surface);border:2px solid var(--border-strong);border-radius:var(--radius-md);cursor:pointer;margin-top:12px;font-size:.75rem;font-weight:600}.session-account{border-top:1px solid var(--border);flex-direction:column;align-items:flex-start;gap:16px;margin-top:16px;padding-top:16px;display:flex}.session-account>div{flex-direction:column;gap:4px;display:flex}.session-account strong{font-size:.75rem}.session-account small{color:var(--ink-500);font-size:.75rem}.logout-button{min-height:42px;color:var(--ink-700);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:0 12px;font-size:.75rem;font-weight:600;display:inline-flex}.app-shell{--rail-right:336px}.shell-insights-collapsed{--rail-right:58px}.workspace{min-width:0}.workspace-column{flex-direction:column;min-width:0;display:flex}.mock-session-active .topbar,.mock-session-active .insights{display:none}.topbar{flex-wrap:wrap;align-items:center;gap:8px;padding:16px 20px 0;display:flex}.exam-context{order:-1;justify-content:space-between;width:100%}.topbar-search{min-width:0;height:44px;color:var(--ink-500);background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-pill);transition:border-color .2s var(--ease-out);flex:1;align-items:center;gap:8px;padding:0 16px;display:flex}.topbar-search:focus-within{border-color:var(--border-strong)}.topbar-search input{min-width:0;color:var(--ink-900);background:0 0;border:0;outline:none;flex:1;padding:0;font-size:.8125rem}.topbar-search input::placeholder{color:var(--ink-300)}.topbar-search input::-webkit-search-cancel-button{display:none}.topbar-search-clear{width:24px;height:24px;color:var(--ink-500);background:var(--surface-muted);cursor:pointer;border:0;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.topbar-actions{align-items:center;gap:8px;display:flex}.exam-context{align-items:center;gap:8px;display:flex;position:relative}.exam-context-trigger{height:44px;color:var(--ink-900);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap;align-items:center;gap:8px;padding:0 12px 0 16px;display:inline-flex}.exam-context-trigger svg{color:var(--ink-500)}.exam-context-copy{flex-direction:column;align-items:flex-start;gap:1px;line-height:1.1;display:flex}.exam-context-copy small{color:var(--ink-500);letter-spacing:.09em;text-transform:uppercase;font-size:.75rem;font-weight:600}.exam-context-copy strong{font-size:.75rem}.exam-context-menu{z-index:40;background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-lg);width:288px;box-shadow:var(--shadow-lg);flex-direction:column;gap:4px;padding:12px;display:flex;position:absolute;top:calc(100% + 8px);left:0}.exam-context-warning{color:var(--ink-700);background:var(--surface-muted);border-radius:var(--radius-sm);margin:0 0 8px;padding:8px 12px;font-size:.75rem;line-height:1.45}.exam-context-menu button{color:var(--ink-900);border-radius:var(--radius-sm);cursor:pointer;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;display:flex}.exam-context-menu button span{flex-direction:column;gap:2px;display:flex}.exam-context-menu button strong{font-size:.75rem}.exam-context-menu button small{color:var(--ink-500);font-size:.75rem}.exam-context-menu .exam-option-active{color:var(--orange-600);background:var(--orange-50)}.exam-context-menu .exam-option-active small{color:var(--orange-600)}.topbar-avatar{width:40px;height:40px;color:var(--canvas);background:var(--ink-900);font-family:var(--font-display);border-radius:50%;flex-shrink:0;place-items:center;font-size:.8125rem;text-decoration:none;display:grid}.sprint-page,.courses-page,.course-detail,.learning-page,.skill-detail,.payment-page,.exam-runner,.mock-intro,.mock-summary,.mock-session-error,.placeholder-page{padding:28px 20px 36px}.payment-header{min-height:225px;padding-top:8px;position:relative;overflow:hidden}.payment-header>div{z-index:1;position:relative}.payment-header h1{max-width:14ch;font-family:var(--font-display);letter-spacing:-.06em;margin:8px 0 16px;font-size:clamp(2.5rem,11vw,3.5rem);font-weight:600;line-height:.97}.payment-header>div>p:not(.eyebrow){max-width:56ch;color:var(--ink-700);margin:0;line-height:1.55}.payment-specimen{color:var(--surface-muted);font-family:var(--font-ipa);letter-spacing:-.08em;-webkit-user-select:none;user-select:none;font-size:6.5rem;font-weight:500;line-height:1;position:absolute;top:-10px;right:-22px}.pricing-disclaimer{color:var(--ink-700);background:var(--surface-muted);border-radius:var(--radius-md);align-items:flex-start;gap:12px;margin-bottom:16px;padding:16px;display:flex}.pricing-disclaimer svg{flex:none;margin-top:2px}.pricing-disclaimer p{flex-direction:column;gap:2px;margin:0;font-size:.75rem;line-height:1.45;display:flex}.current-subscription{border-top:1px solid var(--border);border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 0;display:flex}.current-subscription h2,.pricing-heading h2,.checkout-summary h2,.billing-section-heading h2{font-family:var(--font-display);letter-spacing:-.04em;margin:8px 0;font-size:1.5rem;font-weight:600;line-height:1.06}.current-subscription>div>p:not(.eyebrow){color:var(--ink-500);margin:0;font-size:.75rem}.subscription-status{color:var(--success);background:var(--success-soft);border-radius:var(--radius-pill);flex:none;align-items:center;gap:4px;padding:8px;font-size:.75rem;font-weight:600;display:inline-flex}.pricing-section{margin-top:36px}.pricing-heading{gap:16px;margin-bottom:16px;display:grid}.pricing-heading h2{margin-bottom:0;font-size:1.75rem}.billing-cycle{background:var(--surface-muted);border-radius:var(--radius-md);grid-template-columns:1fr 1fr;padding:4px;display:grid}.billing-cycle button{min-height:45px;color:var(--ink-500);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;padding:4px 8px;font-size:.75rem;font-weight:600}.billing-cycle button small{color:var(--orange-600);margin-top:1px;font-size:.75rem;display:block}.billing-cycle .billing-cycle-active{color:var(--ink-900);background:var(--surface);box-shadow:var(--shadow-sm)}.plan-grid{gap:12px;display:grid}.plan-card{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-xl);flex-direction:column;min-height:390px;padding:24px;display:flex}.plan-card-selected{border-color:var(--ink-900)}.plan-card-heading>div{justify-content:space-between;align-items:center;gap:8px;display:flex}.plan-card-heading>div>p{letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:.75rem;font-weight:600}.plan-card-heading>div>span{color:var(--orange-600);align-items:center;gap:4px;font-size:.75rem;font-weight:600;display:inline-flex}.plan-card h3{font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:-.06em;margin:24px 0 8px;font-size:2.5rem;font-weight:600;line-height:1}.plan-card h3 small{color:var(--ink-500);font-family:var(--font-body);letter-spacing:0;margin-left:4px;font-size:.75rem;font-weight:600}.plan-card-heading>p{min-height:58px;color:var(--ink-700);margin:0;font-size:.75rem;line-height:1.45}.plan-card ul{border-top:1px solid var(--border);gap:12px;margin:24px 0;padding:20px 0 0;list-style:none;display:grid}.plan-card li{color:var(--ink-700);align-items:flex-start;gap:8px;font-size:.75rem;line-height:1.35;display:flex}.plan-card li svg{color:var(--success);flex:none}.plan-button,.plan-button-selected{border-radius:var(--radius-md);cursor:pointer;min-height:46px;margin-top:auto;font-size:.75rem;font-weight:600}.plan-button{color:var(--ink-900);background:var(--surface);border:2px solid var(--border-strong)}.plan-button-selected{color:var(--surface);background:var(--ink-900);border:2px solid var(--ink-900)}.checkout-summary{border:2px solid var(--border);border-radius:var(--radius-xl);margin-top:36px;display:grid;overflow:hidden}.checkout-copy,.checkout-action{padding:24px}.checkout-copy{background:var(--surface-muted)}.checkout-copy dl{gap:12px;margin:20px 0 0;display:grid}.checkout-copy dl div{border-top:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:16px;padding-top:8px;display:flex}.checkout-copy dt{color:var(--ink-500);font-size:.75rem}.checkout-copy dd{text-align:right;margin:0;font-size:.75rem;font-weight:600}.checkout-action{align-content:center;gap:12px;display:grid}.secure-payment-mark{width:48px;height:48px;color:var(--success);background:var(--success-soft);border-radius:50%;place-items:center;display:grid}.checkout-action strong{font-size:.8125rem}.checkout-action>div>p{color:var(--ink-500);margin:4px 0 0;font-size:.75rem;line-height:1.45}.provider-notice{color:var(--orange-600);align-items:flex-start;gap:8px;margin:0;font-size:.75rem;line-height:1.4;display:flex}.provider-notice svg{flex:none}.billing-sections{gap:12px;margin-top:36px;display:grid}.payment-method,.invoice-history{border:2px solid var(--border);border-radius:var(--radius-lg);padding:20px}.billing-section-heading{align-items:flex-start;gap:12px;display:flex}.billing-section-heading>svg{color:var(--orange-600);flex:none;margin-top:2px}.billing-section-heading h2{font-size:1.0625rem}.payment-method>p,.invoice-history>p{color:var(--ink-500);margin:16px 0 0;font-size:.75rem;line-height:1.5}.invoice-history>span{color:var(--ink-700);align-items:center;gap:8px;margin-top:16px;font-size:.75rem;font-weight:600;display:inline-flex}.learning-header{min-height:225px;padding-top:8px;position:relative;overflow:hidden}.learning-header>div{z-index:1;position:relative}.learning-header h1,.skill-detail-header h1{max-width:15ch;font-family:var(--font-display);letter-spacing:-.06em;margin:8px 0 16px;font-size:clamp(2.5rem,11vw,3.5rem);font-weight:600;line-height:.97}.learning-header>div>p:not(.eyebrow),.skill-detail-header>div>p:not(.eyebrow){max-width:57ch;color:var(--ink-700);margin:0;line-height:1.55}.learning-specimen,.skill-detail-specimen{color:var(--surface-muted);font-family:var(--font-ipa);letter-spacing:-.08em;-webkit-user-select:none;user-select:none;font-size:7rem;font-weight:500;line-height:1;position:absolute;top:-12px;right:-16px}.learning-exam-selector{border-bottom:1px solid var(--border);grid-template-columns:1fr 1fr;margin-bottom:20px;display:grid}.learning-exam-selector button{min-height:50px;color:var(--ink-500);cursor:pointer;background:0 0;border:0;padding:8px;font-size:.75rem;font-weight:600;position:relative}.learning-exam-selector .learning-exam-active{color:var(--ink-900)}.learning-exam-active:after{background:var(--orange-500);border-radius:var(--radius-sm) var(--radius-sm) 0 0;content:"";height:3px;position:absolute;bottom:-1px;left:12px;right:12px}.attempt-history{margin-bottom:28px}.attempt-history .learning-section-heading{min-height:auto}.attempt-history ol{border-top:1px solid var(--border);margin:0;padding:0;list-style:none}.attempt-history li{border-bottom:1px solid var(--border);grid-template-columns:36px minmax(0,1fr);align-items:center;gap:12px;min-width:0;padding:12px 0;display:grid}.attempt-mark{width:34px;height:34px;color:var(--orange-600);background:var(--orange-50);border-radius:50%;place-items:center;display:grid}.attempt-history li>div{flex-direction:column;gap:4px;min-width:0;display:flex}.attempt-history li strong{text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.attempt-history li>div span{color:var(--ink-500);font-size:.75rem}.attempt-score,.attempt-pending{grid-column:2;justify-self:start;padding:4px 8px;font-size:.75rem;font-weight:600}.attempt-score{color:var(--success);background:var(--success-soft)}.attempt-pending{color:var(--ink-500);background:var(--surface-muted)}.attempt-empty{border-block:1px solid var(--border);color:var(--ink-500);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:16px 0;font-size:.75rem;display:flex}.attempt-empty p{margin:0}.attempt-empty a{color:var(--ink-900);font-weight:600}.focus-skill{border:2px solid var(--border);border-radius:var(--radius-xl);gap:20px;padding:24px;display:grid}.focus-skill-pending{align-items:center}.pending-specimen{width:94px;height:94px;color:var(--ink-500);background:var(--surface-muted);font-family:var(--font-ipa);border-radius:50%;place-items:center;font-size:1.75rem;font-weight:500;display:grid}.focus-score{width:94px;height:94px;color:var(--ink-900);background:var(--surface-muted);font-family:var(--font-display);border-radius:50%;justify-content:center;align-items:baseline;padding-top:28px;display:flex}.focus-score span{letter-spacing:-.06em;font-size:2.125rem;line-height:1}.focus-score small{color:var(--ink-500);font-size:.75rem}.focus-copy h2,.learning-section-heading h2,.diagnostic-heading h2{font-family:var(--font-display);letter-spacing:-.04em;margin:8px 0;font-size:1.5rem;font-weight:600;line-height:1.06}.focus-copy>p:not(.eyebrow){max-width:55ch;color:var(--ink-700);margin:0;font-size:.8125rem;line-height:1.5}.focus-change{color:var(--success);align-items:center;gap:4px;margin-top:12px;font-size:.75rem;font-weight:600;display:inline-flex}.focus-skill .primary-button{align-self:end}.learning-columns{gap:32px;margin-top:36px;display:grid}.learning-section-heading{justify-content:space-between;align-items:flex-end;gap:16px;min-height:58px;margin-bottom:16px;display:flex}.learning-section-heading h2{margin-bottom:0}.learning-section-heading>p{max-width:24ch;color:var(--ink-500);text-align:right;margin:0;font-size:.75rem;display:none}.skill-list{border-top:1px solid var(--border)}.skills-empty{border-block:1px solid var(--border);flex-direction:column;justify-content:center;align-items:flex-start;min-height:180px;padding:24px 0;display:flex}.skills-empty svg{color:var(--orange-600);margin-bottom:16px}.skills-empty strong{font-family:var(--font-display);font-size:1.0625rem}.skills-empty p{max-width:48ch;color:var(--ink-500);margin:8px 0 0;font-size:.75rem;line-height:1.5}.skill-row{text-align:left;border:0;border-bottom:1px solid var(--border);cursor:pointer;background:0 0;grid-template-columns:54px minmax(0,1fr) 48px 18px;align-items:center;gap:12px;width:100%;min-height:88px;padding:12px 0;display:grid}.skill-specimen{width:54px;height:54px;color:var(--ink-900);background:var(--surface-muted);font-family:var(--font-ipa);text-align:center;border-radius:50%;place-items:center;padding:4px;font-size:.8125rem;font-weight:500;display:grid;overflow:hidden}.skill-copy{flex-direction:column;gap:12px;min-width:0;display:flex}.skill-copy>span:first-child{justify-content:space-between;align-items:center;gap:8px;display:flex}.skill-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;overflow:hidden}.skill-copy small{font-size:.75rem;font-weight:600;display:none}.priority-high{color:var(--orange-600)}.priority-medium{color:var(--warning)}.priority-stable{color:var(--success)}.skill-bar{background:var(--surface-muted);border-radius:var(--radius-sm);height:5px;display:block;position:relative}.skill-bar>span{background:var(--ink-700);border-radius:var(--radius-sm);transform-origin:0;width:100%;height:100%;display:block}.skill-bar>i{background:var(--orange-500);border-radius:2px;width:2px;height:11px;position:absolute;top:-3px}.skill-value{font-variant-numeric:tabular-nums;flex-direction:column;align-items:flex-end;gap:4px;display:flex}.skill-value strong{font-family:var(--font-display);font-size:1.25rem}.skill-value small{align-items:center;gap:2px;font-size:.75rem;font-weight:600;display:flex}.change-positive{color:var(--success)}.change-negative{color:var(--orange-600)}.practice-plan{background:var(--surface-muted);border-radius:var(--radius-xl);padding:20px}.practice-plan ol{gap:0;margin:0;padding:0;list-style:none;display:grid}.plan-rationale{color:var(--ink-500);margin:-4px 0 12px;font-size:.75rem;line-height:1.45}.practice-plan li{border-top:1px solid var(--border);grid-template-columns:34px minmax(0,1fr);gap:12px;padding:16px 0;display:grid}.plan-step{width:32px;height:32px;color:var(--ink-700);background:var(--surface);border:2px solid var(--border);cursor:pointer;border-radius:50%;place-items:center;padding:0;font-size:.75rem;font-weight:600;display:grid}.plan-item-completed .plan-step{color:var(--success);background:var(--success-soft);border-color:var(--success-soft)}.plan-item-completed strong{color:var(--ink-500);text-decoration:line-through;text-decoration-thickness:1px}.profile-header{min-height:225px;padding-top:8px;position:relative;overflow:hidden}.profile-header>div{z-index:1;position:relative}.profile-header h1{max-width:14ch;font-family:var(--font-display);letter-spacing:-.06em;margin:8px 0 16px;font-size:clamp(2.5rem,11vw,3.5rem);font-weight:600;line-height:.97}.profile-header>div>p:not(.eyebrow){max-width:57ch;color:var(--ink-700);margin:0;line-height:1.55}.profile-specimen{color:var(--surface-muted);font-family:var(--font-ipa);letter-spacing:-.08em;-webkit-user-select:none;user-select:none;font-size:7rem;font-weight:500;line-height:1;position:absolute;top:-10px;right:-18px}.profile-layout{gap:16px;display:grid}.profile-identity{background:var(--surface-muted);border-radius:var(--radius-xl);grid-template-columns:72px minmax(0,1fr);align-items:center;gap:16px;padding:20px;display:grid}.profile-large-avatar{width:72px;height:72px;color:var(--surface);background:var(--ink-900);font-family:var(--font-display);letter-spacing:-.04em;border-radius:50%;place-items:center;font-size:1.375rem;display:grid}.profile-identity h2,.profile-form-heading h2{font-family:var(--font-display);letter-spacing:-.04em;margin:8px 0 4px;font-size:1.375rem;font-weight:600;line-height:1.08}.profile-identity>div:nth-child(2)>p:not(.eyebrow){color:var(--ink-500);margin:0;font-size:.75rem}.local-status{color:var(--ink-700);grid-column:1/-1;align-items:center;gap:8px;font-size:.75rem;font-weight:600;display:inline-flex}.profile-form,.sync-panel,.appearance-panel{border:2px solid var(--border);border-radius:var(--radius-xl);padding:20px}.theme-choice{background:var(--surface-muted);border-radius:var(--radius-md);grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:4px;display:grid}.theme-choice button{min-height:40px;color:var(--ink-700);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:1px solid #0000;padding:0 8px;font-size:.75rem}.theme-choice .theme-option-active{color:var(--orange-500);background:var(--orange-50);border-color:var(--orange-500)}.profile-form-heading{align-items:flex-start;gap:12px;margin-bottom:24px;display:flex}.profile-form-heading>svg{color:var(--orange-600);flex:none;margin-top:2px}.form-field{flex-direction:column;gap:8px;display:flex}.form-field label,.exam-choice legend{color:var(--ink-700);font-size:.75rem;font-weight:600}.form-field input,.form-field select{width:100%;min-height:48px;color:var(--ink-900);background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-md);outline:none;padding:0 12px}.form-field input:focus,.form-field select:focus{border-color:var(--orange-500);box-shadow:0 0 0 3px var(--orange-100)}.exam-choice{border:0;gap:8px;margin:20px 0;padding:0;display:grid}.exam-choice legend{margin-bottom:8px}.exam-choice label{border:2px solid var(--border);border-radius:var(--radius-md);cursor:pointer;align-items:center;gap:12px;min-height:62px;padding:8px 12px;display:flex;position:relative}.exam-choice label:has(input:checked){border-color:var(--ink-900)}.exam-choice input{width:17px;height:17px;accent-color:var(--orange-500)}.exam-choice label span{flex-direction:column;gap:4px;display:flex}.exam-choice label strong{font-size:.75rem}.exam-choice label small{color:var(--ink-500);font-size:.75rem}.profile-form-grid{gap:16px;display:grid}.profile-form-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:24px;display:flex}.profile-form-actions>span{color:var(--success);align-items:center;gap:4px;font-size:.75rem;font-weight:600;display:inline-flex}.sync-panel{background:var(--surface-muted);border-color:var(--surface-muted)}.sync-panel>p{color:var(--ink-700);margin:0;font-size:.75rem;line-height:1.5}.sync-panel>span{color:var(--ink-500);border-top:1px solid var(--border);align-items:flex-start;gap:8px;margin-top:16px;padding-top:16px;font-size:.75rem;line-height:1.4;display:flex}.sync-panel>span svg{color:var(--success);flex:none}.sync-summary{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-md);flex-direction:column;align-items:flex-start;gap:8px;margin-top:16px;padding:12px;display:flex}.sync-summary>span{color:var(--ink-500);font-size:.75rem}.sync-summary>span strong{color:var(--ink-900);margin-right:4px;font-size:.75rem}.sync-summary button{min-height:36px;color:var(--orange-600);background:var(--orange-50);border-radius:var(--radius-sm);cursor:pointer;border:0;padding:0 12px;font-size:.75rem;font-weight:600}.sync-conflict-note{color:var(--orange-600)!important;margin:8px 0 0!important;font-size:.75rem!important}.practice-plan li>div{flex-direction:column;gap:4px;min-width:0;display:flex}.practice-plan li>div>span{color:var(--ink-500);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:600}.practice-plan li strong{font-size:.8125rem}.practice-plan li small{color:var(--ink-500);align-items:center;gap:4px;font-size:.75rem;display:flex}.skill-detail-header{grid-template-columns:44px minmax(0,1fr);align-items:start;gap:12px;min-height:245px;display:grid;position:relative;overflow:hidden}.skill-detail-header>div{z-index:1;position:relative}.skill-detail-header h1{max-width:15ch;font-size:clamp(2.125rem,9vw,3.5rem)}.skill-score-story{border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:1fr 1fr;gap:16px;padding:24px 0;display:grid}.skill-score-story>div{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.skill-score-story>div>span{color:var(--ink-500);font-size:.75rem}.skill-score-story>div>strong{font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:-.05em;font-size:2.125rem}.skill-score-story>div>small{color:var(--success);align-items:center;gap:4px;font-size:.75rem;font-weight:600;display:inline-flex}.score-journey{background:var(--surface-muted);border-radius:var(--radius-sm);height:5px;display:none;overflow:hidden}.score-journey i{background:var(--orange-500);transform-origin:0;width:100%;height:100%;display:block}.diagnostic-columns{gap:32px;margin-top:36px;display:grid}.diagnostic-heading{align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.diagnostic-heading>svg{color:var(--orange-600);flex:none;margin-top:2px}.diagnostic-heading h2{max-width:19ch;margin-bottom:0}.evidence-section ul,.action-section ol{border-top:1px solid var(--border);gap:0;margin:0;padding:0;list-style:none;display:grid}.evidence-section li,.action-section li{color:var(--ink-700);border-bottom:1px solid var(--border);align-items:flex-start;gap:12px;padding:16px 0;font-size:.8125rem;line-height:1.45;display:flex}.evidence-section li svg{color:var(--success);flex:none;margin-top:2px}.action-section{background:var(--surface-muted);border-radius:var(--radius-xl);padding:20px}.action-section li span{width:24px;height:24px;color:var(--surface);background:var(--ink-900);border-radius:50%;flex:none;place-items:center;font-size:.75rem;font-weight:600;display:grid}.action-section .primary-button{width:100%;margin-top:20px}.lesson-player{background:var(--surface);border:2px solid var(--ink-900);border-radius:var(--radius-xl);margin-top:32px;padding:clamp(20px,4vw,32px);scroll-margin-top:24px}.lesson-player-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.lesson-player-header h2{font-family:var(--font-display);letter-spacing:-.045em;margin:8px 0 0;font-size:clamp(1.5rem,4vw,2.125rem);font-weight:600;line-height:1.05}.lesson-player-header>span{color:var(--ink-500);flex:none;font-size:.75rem}.lesson-stage-track{color:var(--ink-500);border-bottom:1px solid var(--border);white-space:nowrap;gap:16px;margin:24px 0 28px;padding-bottom:8px;font-size:.75rem;font-weight:600;display:flex;overflow-x:auto}.lesson-stage-track span{position:relative}.lesson-stage-track .lesson-stage-active{color:var(--ink-900)}.lesson-stage-track .lesson-stage-active:after{background:var(--orange-500);content:"";height:2px;position:absolute;bottom:-11px;left:0;right:0}.lesson-stage-track .lesson-stage-complete{color:var(--success)}.lesson-learning{gap:24px;display:grid}.lesson-concept>p{color:var(--ink-700);margin:0;font-size:.8125rem;line-height:1.65}.lesson-concept>strong{color:var(--orange-600);letter-spacing:.11em;text-transform:uppercase;margin-top:24px;font-size:.75rem;display:block}.lesson-concept>strong+p{margin-top:8px}.lesson-model{background:var(--surface-muted);border-radius:var(--radius-md);padding:20px}.lesson-model>div{color:var(--ink-700);align-items:center;gap:8px;font-size:.75rem;font-weight:600;display:flex}.lesson-model>div svg{color:var(--orange-600)}.lesson-model blockquote{font-family:var(--font-display);margin:16px 0;font-size:.9375rem;line-height:1.6}.lesson-inline-error{color:var(--ink-500);margin:8px 0 0;font-size:.75rem}.lesson-learning>.primary-button{justify-self:start}.lesson-practice{gap:24px;display:grid}.lesson-practice>div:first-child h3{max-width:34ch;font-family:var(--font-display);letter-spacing:-.035em;margin:8px 0;font-size:clamp(1.25rem,3vw,1.5rem);font-weight:600;line-height:1.2}.lesson-practice>div:first-child>p:not(.section-label){color:var(--ink-500);margin:0;font-size:.75rem}.lesson-recorder{background:var(--surface-muted);border-radius:var(--radius-lg);text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:245px;padding:24px;display:flex}.lesson-mic{width:62px;height:62px;color:var(--ink-700);background:var(--surface);border-radius:50%;place-items:center;margin-bottom:12px;display:grid}.lesson-mic-live{color:var(--on-accent);background:var(--orange-500);animation:breathe 1.8s var(--ease-out) infinite}.lesson-recorder>strong{font-family:var(--font-display);font-variant-numeric:tabular-nums;margin-bottom:12px;font-size:1.375rem}.lesson-recorder .voice-meter{background:var(--surface)}.lesson-recorder-error{max-width:390px;color:var(--orange-600);text-align:left;grid-template-columns:20px minmax(0,1fr);gap:4px 8px;margin-top:16px;display:grid}.lesson-recorder-error p{margin:0;font-size:.75rem;line-height:1.45}.lesson-recorder-error button{color:var(--ink-900);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;grid-column:2;justify-self:start;padding:0;font-size:.75rem;font-weight:600;text-decoration:underline}.lesson-review{gap:24px;display:grid}.lesson-review-audio{min-width:0}.lesson-review-audio audio{width:100%;margin-top:12px}.lesson-review-audio>span{color:var(--ink-500);margin-top:8px;font-size:.75rem;display:block}.lesson-review-audio .lesson-short-attempt{color:var(--orange-600);margin:8px 0 0;font-size:.75rem}.lesson-review-audio>p:not(.section-label){color:var(--ink-700);font-size:.75rem;line-height:1.5}.self-assessment{border:0;gap:8px;margin:0;padding:0;display:grid}.self-assessment legend{font-family:var(--font-display);margin-bottom:12px;font-size:1.0625rem;font-weight:600}.self-assessment label{cursor:pointer;min-height:44px;color:var(--ink-700);grid-template-columns:24px minmax(0,1fr);align-items:center;gap:8px;font-size:.75rem;display:grid}.self-assessment input{opacity:0;pointer-events:none;position:absolute}.self-assessment label>span{color:#0000;background:var(--surface-muted);border:1px solid var(--border-strong);border-radius:50%;place-items:center;width:23px;height:23px;display:grid}.self-assessment input:checked+span{color:var(--surface);background:var(--success);border-color:var(--success)}.self-assessment input:focus-visible+span{outline:3px solid var(--orange-100);outline-offset:2px}.review-confirmation{color:var(--ink-700);cursor:pointer;grid-column:1/-1;align-items:flex-start;gap:8px;font-size:.75rem;line-height:1.45;display:flex}.review-confirmation input{width:17px;height:17px;accent-color:var(--success);flex:none;margin:1px 0 0}.lesson-review-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.page-header{align-items:flex-start;min-height:148px;display:flex;position:relative;overflow:hidden}.page-header>div{z-index:1;position:relative}.page-header p{color:var(--ink-700);margin:0 0 8px;font-size:.9375rem}.page-header h1,.placeholder-page h1,.runner-header h1{max-width:16ch;font-family:var(--font-display);letter-spacing:-.055em;margin:0;font-size:clamp(2.125rem,11vw,3.5rem);font-weight:500;line-height:.98}.language-specimen,.placeholder-glyph{color:var(--surface-muted);font-family:var(--font-ipa);-webkit-user-select:none;user-select:none;font-size:8rem;font-weight:500;line-height:1;position:absolute;top:-32px;right:-18px}.eyebrow,.section-label{color:var(--ink-700);letter-spacing:.13em;text-transform:uppercase;margin:0;font-size:.75rem;font-weight:600;line-height:1.2}.test-selector{background:var(--surface-muted);border:2px solid var(--border);border-radius:var(--radius-md);grid-template-columns:1fr 1fr;padding:4px;display:grid}.test-selector button{border-radius:var(--radius-md);cursor:pointer;background:0 0;border:0;min-height:48px;padding:8px;font-size:.8125rem;font-weight:600;position:relative}.test-selector .test-tab-active{background:var(--surface);box-shadow:var(--shadow-sm)}.test-tab-active:after{background:var(--orange-500);content:"";height:2px;position:absolute;bottom:0;left:18px;right:18px}.sprint-overview{border:2px solid var(--border);border-radius:var(--radius-xl);margin-top:20px;padding:24px}.overview-copy{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.overview-copy h2,.task-section-heading h2,.insights h2{font-family:var(--font-display);letter-spacing:-.035em;margin:4px 0 8px;font-size:1.5rem;font-weight:600}.overview-copy p:not(.eyebrow){max-width:58ch;color:var(--ink-700);margin:0;font-size:.9375rem;line-height:1.5}.score-chip{color:var(--ink-700);background:var(--surface-muted);border-radius:var(--radius-pill);flex:none;padding:8px;font-size:.75rem;font-weight:600;display:none}.overview-action-row{gap:16px;margin-top:24px;display:grid}.mock-launch-row{border-top:1px solid var(--border);flex-direction:column;align-items:flex-start;gap:16px;margin-top:24px;padding-top:16px;display:flex}.mock-launch-row>div{align-items:flex-start;gap:8px;display:flex}.mock-launch-row>div>svg{color:var(--orange-600);flex:none}.mock-launch-row p{color:var(--ink-500);flex-direction:column;gap:4px;margin:0;font-size:.75rem;line-height:1.4;display:flex}.mock-launch-row p strong{color:var(--ink-900);font-size:.75rem}.completion-ring,.score-ring{flex:none;place-items:center;width:92px;height:92px;display:grid;position:relative}.completion-ring svg,.score-ring svg{width:100%;height:100%;position:absolute;inset:0;transform:rotate(-90deg)}.ring-track,.ring-value{fill:none;stroke-width:4px}.ring-track{stroke:var(--surface-muted)}.ring-value{stroke:var(--orange-500);stroke-linecap:round}.completion-ring span,.score-ring span{z-index:1;flex-direction:column;align-items:center;font-size:.75rem;display:flex}.completion-ring strong{font-family:var(--font-display);letter-spacing:-.04em;font-size:1.5rem;font-weight:500}.next-task p{color:var(--ink-500);margin:0 0 4px;font-size:.75rem}.next-task h3{margin:0;font-size:1.0625rem;line-height:1.2}.next-task h3 span{color:var(--ink-500);font-weight:500}.task-meta{color:var(--ink-700);flex-wrap:wrap;gap:8px 16px;margin-top:12px;font-size:.75rem;display:flex}.task-meta span{align-items:center;gap:8px;display:inline-flex}.primary-button,.secondary-button,.secondary-link,.text-link{border-radius:var(--radius-md);cursor:pointer;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:0 16px;font-weight:600;text-decoration:none;display:inline-flex}.primary-button{color:var(--on-accent);background:var(--orange-500);border:2px solid var(--orange-500)}.primary-button:hover{background:var(--orange-600);border-color:var(--orange-600)}.secondary-button,.secondary-link{color:var(--ink-900);background:var(--surface);border:2px solid var(--border-strong)}.task-section-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:16px;display:flex}.task-section-heading h2{margin-bottom:0}.task-section-heading>p{max-width:34ch;color:var(--ink-500);text-align:right;margin:0;font-size:.75rem;display:none}.task-list{gap:8px;display:grid}.task-row{text-align:left;background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;min-height:84px;transition:border-color .18s ease, transform .3s var(--ease-out);grid-template-columns:40px minmax(0,1fr) 20px;align-items:center;gap:12px;padding:12px;display:grid;position:relative}.task-row-current:before{background:var(--orange-500);border-radius:var(--radius-sm);content:"";width:3px;position:absolute;top:14px;bottom:14px;left:-2px}.task-index{background:var(--surface-muted);border:2px solid var(--border);border-radius:50%;place-items:center;width:36px;height:36px;font-weight:600;display:grid}.task-row-current .task-index{color:var(--on-accent);background:var(--orange-500);border-color:var(--orange-500)}.task-row-completed .task-index{color:var(--success);background:var(--success-soft);border-color:var(--success-soft)}.task-main{flex-direction:column;gap:4px;min-width:0;display:flex}.task-main strong{text-overflow:ellipsis;white-space:nowrap;font-size:.9375rem;overflow:hidden}.task-main strong small{color:var(--ink-500);font-size:inherit;font-weight:600}.task-main>span{color:var(--ink-500);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.task-timing,.task-status{display:none}.insights{background:var(--surface);border-top:1px solid var(--border);padding:28px 20px 40px}.insights-header{margin-bottom:24px}.insights h2{margin-top:8px;font-size:1.75rem}.score-section{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:20px;padding-bottom:24px;display:flex}.score-value{font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:-.06em;margin:8px 0 2px;font-size:3rem;line-height:1}.score-value span{letter-spacing:-.03em;margin-left:4px;font-size:1.0625rem}.score-ring{width:102px;height:102px}.score-ring span{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:1.0625rem}.muted-copy{max-width:20ch;color:var(--ink-500);margin:0;font-size:.75rem;line-height:1.4}.activity-section{border-bottom:1px solid var(--border);padding:24px 0}.section-heading-row{justify-content:space-between;align-items:flex-start;display:flex}.activity-total{font-family:var(--font-display);margin:8px 0 0;font-size:1.25rem}.activity-chart{grid-template-columns:repeat(7,1fr);align-items:end;gap:4px;height:112px;margin-top:16px;display:grid}.activity-day{color:var(--ink-500);flex-direction:column;align-items:center;gap:8px;font-size:.75rem;display:flex}.activity-minutes{white-space:nowrap;font-size:.75rem}.activity-bar{width:13px;height:var(--bar-height);background:var(--surface-muted);border-radius:var(--radius-sm) var(--radius-sm) 2px 2px;min-height:4px}.activity-bar-active{background:var(--orange-500)}.recommendations{padding-top:24px}.recommendation-list{gap:8px;margin-top:16px;display:grid}.recommendation-empty{color:var(--ink-500);border-block:1px solid var(--border);align-items:flex-start;gap:8px;padding:16px 0;display:flex}.recommendation-empty svg{color:var(--orange-600);flex:none}.recommendation-empty p{margin:0;font-size:.75rem;line-height:1.45}.recommendation-item{border:2px solid var(--border);border-radius:var(--radius-md);grid-template-columns:42px 1fr 18px;align-items:center;gap:12px;padding:12px;display:grid}.recommendation-icon{width:42px;height:42px;color:var(--orange-600);background:var(--orange-50);border-radius:50%;place-items:center;display:grid}.recommendation-item h3,.recommendation-item p{margin:0}.recommendation-item h3{font-size:.8125rem}.recommendation-item p{color:var(--ink-500);margin-top:4px;font-size:.75rem;line-height:1.35}.recommendation-item small{color:var(--orange-600);background:var(--orange-50);border-radius:var(--radius-sm);margin-top:8px;padding:4px 8px;font-size:.75rem;font-weight:600;display:inline-block}.secondary-link{justify-content:space-between;width:100%;margin-top:16px;font-size:.8125rem}.placeholder-page{align-items:center;min-height:70vh;display:grid;position:relative;overflow:hidden}.placeholder-content{z-index:1;max-width:640px;position:relative}.placeholder-content>svg{color:var(--orange-500);margin-bottom:24px}.placeholder-page h1{max-width:14ch;margin:8px 0 20px}.placeholder-content>p:not(.eyebrow){max-width:55ch;color:var(--ink-700);font-size:.9375rem;line-height:1.55}.text-link{color:var(--orange-600);justify-content:flex-start;margin-top:24px;padding:0}.exam-runner{min-height:100vh}.mock-intro,.mock-summary{max-width:1040px;margin-inline:auto}.mock-intro{align-content:start;gap:24px;display:grid}.mock-intro-copy h1,.mock-summary header h1,.mock-session-error h1{max-width:13ch;font-family:var(--font-display);letter-spacing:-.06em;margin:8px 0 16px;font-size:clamp(2.5rem,9vw,4.5rem);font-weight:600;line-height:.95}.mock-intro-copy>p:not(.eyebrow),.mock-summary header>p:not(.eyebrow){max-width:58ch;color:var(--ink-700);margin:0;line-height:1.55}.mock-facts,.mock-summary-facts{border-block:1px solid var(--border);grid-template-columns:repeat(2,1fr);margin:0;display:grid}.mock-facts div,.mock-summary-facts div{padding:16px 8px 16px 0}.mock-facts dt,.mock-summary-facts dt{color:var(--ink-500);font-size:.75rem}.mock-facts dd,.mock-summary-facts dd{font-family:var(--font-display);margin:4px 0 0;font-size:1.25rem;font-weight:600}.mock-rules{max-width:700px}.mock-rules h2,.session-recordings h2{font-family:var(--font-display);letter-spacing:-.04em;margin:0 0 16px;font-size:1.5rem;font-weight:600}.mock-rules ul{color:var(--ink-700);gap:8px;margin:0;padding-inline-start:20px;font-size:.8125rem;line-height:1.45;display:grid}.mock-intro-action{border-top:1px solid var(--border);flex-direction:column;align-items:flex-start;gap:16px;padding-top:20px;display:flex}.mock-intro-action p{max-width:58ch;color:var(--ink-500);align-items:flex-start;gap:8px;margin:0;font-size:.75rem;line-height:1.45;display:flex}.mock-intro-action p svg{flex:none}.mock-session-band{color:var(--ink-700);background:var(--surface-muted);border-radius:var(--radius-md);grid-template-columns:1fr auto;align-items:center;gap:8px 16px;margin:16px 20px -12px;padding:8px 12px;font-size:.75rem;font-weight:600;display:grid}.mock-session-band>span:first-child{align-items:center;gap:8px;display:flex}.mock-session-band>span:last-child{background:var(--border);border-radius:var(--radius-pill);grid-column:1/-1;height:3px;overflow:hidden}.mock-session-band i{background:var(--orange-500);transform-origin:0;width:100%;height:100%;transition:transform .45s var(--ease-out);display:block}.mock-transition-line{background:var(--surface-muted);width:min(100%,220px);height:3px;margin-top:20px;display:block;overflow:hidden}.mock-transition-line:after{background:var(--orange-500);content:"";transform-origin:0;width:100%;height:100%;animation:1.1s linear forwards mock-transition;display:block}@keyframes mock-transition{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.mock-summary header>svg{color:var(--success);margin-bottom:16px}.mock-summary-facts{grid-template-columns:repeat(2,1fr);margin-top:32px}.session-recordings{margin-top:36px}.session-recordings>div{margin-bottom:16px}.session-recordings h2{margin-top:4px}.session-recordings ol{border-top:1px solid var(--border);margin:0;padding:0;list-style:none}.session-recordings li{border-bottom:1px solid var(--border);grid-template-columns:30px minmax(0,1fr);gap:12px;padding:16px 0;display:grid}.session-recordings li>span{width:28px;height:28px;color:var(--ink-500);background:var(--surface-muted);border-radius:50%;place-items:center;font-size:.75rem;font-weight:600;display:grid}.session-recordings li>div{flex-direction:column;min-width:0;display:flex}.session-recordings strong{font-size:.75rem}.session-recordings small{color:var(--ink-500);margin-top:4px;font-size:.75rem}.session-recordings audio{width:min(100%,460px);margin-top:8px}.session-audio-part{flex-direction:column;min-width:0;display:flex}.session-audio-part>span{color:var(--ink-500);margin-top:8px;font-size:.75rem;font-weight:600}.mock-summary-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:28px;display:flex}.text-button{color:var(--ink-700);cursor:pointer;background:0 0;border:0;padding:8px 4px;font-size:.75rem;font-weight:600}.mock-session-error{align-content:center;justify-items:start;min-height:70vh;display:grid}.mock-session-error>svg{color:var(--orange-600)}.runner-header{grid-template-columns:44px minmax(0,1fr);align-items:start;gap:12px;display:grid}.runner-header h1{max-width:none;margin-top:4px;font-size:2.125rem}.runner-header h1 span{color:var(--ink-500)}.icon-button{background:var(--surface);border:2px solid var(--border);cursor:pointer;border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.runner-position{display:none}.runner-navigation{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;margin:24px 0;display:flex}.question-track{gap:8px;padding-bottom:8px;display:flex}.question-track span{width:26px;height:26px;color:var(--ink-500);background:var(--surface-muted);border-radius:50%;place-items:center;font-size:.75rem;font-weight:600;display:grid}.question-track .question-active{color:var(--surface);background:var(--ink-900)}.question-track .question-complete{color:var(--success);background:var(--success-soft)}.phase-track{color:var(--ink-500);white-space:nowrap;scrollbar-width:none;gap:16px;padding-bottom:8px;font-size:.75rem;display:flex;overflow-x:auto}.phase-track span{position:relative}.phase-track .phase-active{color:var(--ink-900);font-weight:600}.phase-track .phase-active:after{background:var(--orange-500);content:"";height:2px;position:absolute;bottom:-10px;left:0;right:0}.phase-track .phase-complete{color:var(--success)}.runner-layout{gap:16px;display:grid}.prompt-panel,.timer-panel{border:2px solid var(--border);border-radius:var(--radius-xl);min-height:320px;padding:24px}.prompt-panel h2,.timer-panel h2{font-family:var(--font-display);letter-spacing:-.035em;margin:8px 0;font-size:1.75rem;font-weight:600;line-height:1.08}.prompt-content{min-width:0}.prompt-kicker{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.prompt-kicker span{color:var(--ink-700);align-items:center;gap:4px;font-size:.75rem;font-weight:600;display:inline-flex}.prompt-kicker span+span{color:var(--orange-600);border-inline-start:1px solid var(--border-strong);padding-inline-start:8px}.reading-passage{color:var(--ink-900);background:var(--surface-muted);border-radius:var(--radius-md);font-family:var(--font-body);border:0;margin:28px 0 0;padding:clamp(16px,4vw,32px);font-size:clamp(1.0625rem,2.5vw,1.25rem);line-height:1.75}.written-question{border-top:2px solid var(--ink-900);align-items:flex-start;gap:12px;margin-top:24px;padding-top:16px;display:flex}.written-question svg{color:var(--orange-600);flex:none;margin-top:4px}.written-question p{font-family:var(--font-display);margin:0;font-size:clamp(1.0625rem,3vw,1.375rem);line-height:1.35}.audio-question{background:var(--surface-muted);border-radius:var(--radius-md);grid-template-columns:30px minmax(0,1fr);gap:4px 8px;margin-top:24px;padding:16px;display:grid}.audio-question>svg{color:var(--orange-600);grid-row:1/3}.audio-question strong,.audio-question span{font-size:.75rem}.audio-question span{color:var(--ink-500);line-height:1.45}.audio-question p{font-family:var(--font-display);grid-column:2;margin:0;font-size:.9375rem;line-height:1.45}.exam-scene{margin:24px 0 0}.scene-canvas{border:2px solid var(--ink-900);border-radius:var(--radius-sm);background:oklch(91% .035 73);min-height:clamp(250px,34vw,390px);position:relative;overflow:hidden}.scene-canvas span{display:block;position:absolute}.scene-window{border:7px solid var(--surface);background:oklch(85% .06 230);width:34%;height:38%;top:10%;right:7%}.scene-window:before,.scene-window:after{background:var(--surface);content:"";position:absolute}.scene-window:before{width:4px;top:0;bottom:0;left:calc(50% - 2px)}.scene-window:after{height:4px;top:calc(50% - 2px);left:0;right:0}.scene-table{background:oklch(54% .07 65);border-radius:50%;width:66%;height:13%;bottom:15%;right:13%}.scene-person{z-index:2;background:var(--ink-700);border-radius:45% 45% 12px 12px;width:13%;height:29%}.scene-person:before{aspect-ratio:1;content:"";background:oklch(76% .07 55);border-radius:50%;width:56%;position:absolute;top:-30%;left:22%}.scene-person-one{background:var(--orange-500);bottom:25%;left:16%}.scene-person-two{bottom:25%;right:22%}.scene-person-three{background:oklch(47% .08 245);height:36%;bottom:28%;left:44%}.scene-plant{clip-path:polygon(50% 0,70% 35%,100% 18%,76% 60%,90% 100%,50% 75%,12% 100%,25% 57%,0 25%,35% 38%);background:oklch(53% .12 145);width:9%;height:33%;bottom:18%;left:5%}.scene-object{z-index:3;background:var(--surface);border:3px solid var(--ink-900);width:17%;height:10%;bottom:27%;right:31%;transform:skew(-8deg)}.exam-scene-cafe .scene-canvas{background:oklch(92% .05 85)}.exam-scene-cafe .scene-window{border:7px solid var(--surface);background:oklch(82% .05 230);width:88%;height:35%;top:4%;right:6%}.exam-scene-cafe .scene-person-three{height:28%;bottom:41%;left:auto;right:4%;transform:rotate(-8deg)}.exam-scene-cafe .scene-object{background:var(--orange-100);border-width:2px;width:7%;height:7%}.exam-scene figcaption{color:var(--ink-500);margin-top:8px;font-size:.75rem}.role-brief{border-block:1px solid var(--border);margin-top:24px;padding:16px 0}.role-brief span,.objective-list>strong{color:var(--orange-600);text-transform:uppercase;font-size:.75rem;font-weight:600}.role-brief p{margin:8px 0 0;line-height:1.55}.objective-list{margin-top:24px}.objective-list ul{color:var(--ink-700);gap:8px;margin:12px 0 0;padding-inline-start:20px;font-size:.8125rem;line-height:1.45;display:grid}.prompt-panel>p:not(.section-label),.timer-finished>p:not(.eyebrow){color:var(--ink-700);line-height:1.55}.source-document{background:var(--surface-muted);border-radius:var(--radius-md);margin-top:24px;padding:16px}.document-heading{align-items:center;gap:12px;display:flex}.document-heading div{flex-direction:column;gap:4px;display:flex}.document-heading span,.source-document>p{color:var(--ink-500);font-size:.75rem}.source-document dl{grid-template-columns:1fr 1fr;gap:12px;margin:16px 0;display:grid}.source-document dl div{border-top:1px solid var(--border-strong);padding-top:8px}.source-document dt{color:var(--ink-500);font-size:.75rem}.source-document dd{overflow-wrap:anywhere;margin:4px 0 0;font-weight:600;line-height:1.4}.timer-panel{text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.recording-orb{width:74px;height:74px;color:var(--ink-700);background:var(--surface-muted);border-radius:50%;place-items:center;margin-bottom:16px;display:grid}.recording-orb-live{color:var(--on-accent);background:var(--orange-500);animation:breathe 1.8s var(--ease-out) infinite}@keyframes breathe{50%{transform:scale(1.06)}}.timer-phase{min-height:20px;color:var(--ink-700);margin:0;font-size:.8125rem;font-weight:600}.timer-value{font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:-.06em;margin:8px 0 16px;font-size:3.5rem;line-height:1}.runner-progress{background:var(--surface-muted);border-radius:var(--radius-pill);width:min(100%,240px);height:5px;margin-bottom:24px;overflow:hidden}.runner-progress span{background:var(--orange-500);transform-origin:0;width:100%;height:100%;display:block}.recording-status{color:var(--ink-700);justify-content:center;align-items:center;gap:8px;font-size:.75rem;display:flex}.voice-meter{background:var(--surface-muted);border:2px solid var(--border);border-radius:var(--radius-pill);width:min(100%,240px);height:9px;margin:0 0 12px;overflow:hidden}.voice-meter span{background:var(--orange-500);transform-origin:0;width:100%;height:100%;transition:transform 80ms linear;display:block}.recording-dot{background:var(--orange-500);border-radius:50%;width:7px;height:7px}.privacy-note{color:var(--ink-500);align-items:center;gap:8px;margin:16px 0 0;font-size:.75rem;display:flex}.timer-finished{flex-direction:column;align-items:center;width:100%;display:flex}.timer-finished>svg{color:var(--success);margin-bottom:16px}.timer-finished .secondary-button,.timer-finished>.primary-button{margin-top:16px}.interaction-progress{color:var(--ink-500);grid-template-columns:auto minmax(80px,180px);justify-content:end;align-items:center;gap:12px;margin:0 0 16px;font-size:.75rem;font-weight:600;display:grid}.interaction-progress>div{background:var(--surface-muted);border-radius:var(--radius-pill);height:4px;overflow:hidden}.interaction-progress i{background:var(--orange-500);transform-origin:0;width:100%;height:100%;transition:transform .28s var(--ease-out);display:block}.interaction-layout{gap:16px;min-width:0;display:grid}.interaction-context{min-width:0}.conversation-panel{border:2px solid var(--border);border-radius:var(--radius-xl);flex-direction:column;min-width:0;min-height:560px;display:flex}.conversation-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:16px;padding:24px 24px 16px;display:flex}.conversation-heading h2{font-family:var(--font-display);letter-spacing:-.035em;margin:4px 0 0;font-size:clamp(1.375rem,4vw,1.75rem);font-weight:600;line-height:1.08}.conversation-heading>span{color:var(--ink-500);flex:none;align-items:center;gap:4px;font-size:.75rem;font-weight:600;display:inline-flex}.interaction-notice{color:var(--ink-700);background:var(--surface-muted);align-items:flex-start;gap:8px;margin:0;padding:12px 24px;font-size:.75rem;line-height:1.45;display:flex}.interaction-notice svg{color:var(--orange-600);flex:none;margin-top:1px}.conversation-log{min-height:210px;max-height:390px;padding:0 24px;overflow-y:auto}.conversation-empty{max-width:48ch;color:var(--ink-500);margin:28px 0;font-size:.8125rem;line-height:1.55}.conversation-entry{border-bottom:1px solid var(--border);padding:16px 0}.conversation-entry>span,.candidate-response span{color:var(--ink-500);letter-spacing:.015em;text-transform:uppercase;align-items:center;gap:8px;font-size:.75rem;font-weight:600;display:flex}.conversation-entry>p{overflow-wrap:anywhere;max-width:58ch;color:var(--ink-900);margin:8px 0 0;font-size:.8125rem;line-height:1.55}.candidate-response{border-inline-start:2px solid var(--orange-500);margin-top:12px;padding-inline-start:16px}.candidate-response span{color:var(--orange-700)}.interaction-controls{border-top:1px solid var(--border);text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:210px;margin-top:auto;padding:24px;display:flex}.interaction-controls>p:not(.runner-error){max-width:48ch;color:var(--ink-700);font-size:.8125rem;line-height:1.5}.interaction-controls .primary-button{margin-top:12px}.examiner-speaking{flex-direction:column;align-items:center;gap:8px;display:flex}.examiner-speaking svg{color:var(--orange-600);margin-bottom:4px}.examiner-speaking strong{font-family:var(--font-display);font-size:1.25rem}.examiner-speaking span,.response-budget{color:var(--ink-500);font-size:.75rem}.current-turn-goal{overflow-wrap:anywhere;margin:0 0 8px}.interaction-timer{font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:-.06em;line-height:1;color:var(--ink-900)!important;margin:4px 0 16px!important;font-size:clamp(3rem,10vw,3.5rem)!important}.stop-recording-button{color:var(--ink-900);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:0 0;justify-content:center;align-items:center;gap:8px;margin-top:12px;padding:8px 16px;font-weight:600;display:inline-flex}.interaction-finished{flex-direction:column;align-items:center;width:100%;display:flex}.interaction-finished>svg{color:var(--success);margin-bottom:8px}.interaction-finished h2{max-width:25ch;font-family:var(--font-display);letter-spacing:-.035em;margin:4px 0 8px;font-size:1.5rem;font-weight:600}.interaction-finished>p:not(.eyebrow){color:var(--ink-500);margin:0;font-size:.75rem}.interaction-recordings{border-top:1px solid var(--border);width:100%;max-height:260px;margin:16px 0 4px;padding:0;list-style:none;overflow-y:auto}.interaction-recordings li{border-bottom:1px solid var(--border);grid-template-columns:54px minmax(0,1fr);align-items:center;gap:8px;padding:8px 0;display:grid}.interaction-recordings li>span{color:var(--ink-500);text-align:start;font-size:.75rem;font-weight:600}.interaction-recordings audio{width:100%;min-width:0;height:34px}.oral-report>.secondary-button+.secondary-button{margin-inline-start:8px}.audio-playback{background:var(--surface-muted);border-radius:var(--radius-md);align-items:center;gap:8px;width:min(100%,380px);margin:16px 0;padding:8px 16px;display:flex}.audio-playback>svg{color:var(--orange-600);flex:none}.audio-playback audio{width:100%;min-width:0;height:36px}.analysis-unavailable{max-width:390px;color:var(--ink-700);background:var(--surface-muted);border-radius:var(--radius-md);margin:4px 0 0;padding:12px 16px;font-size:.75rem;line-height:1.5}.runner-error{max-width:390px;color:var(--danger);text-align:left;align-items:flex-start;gap:8px;margin:16px 0 0;font-size:.75rem;line-height:1.45;display:flex}.runner-error svg{flex:none;margin-top:1px}.oral-report{text-align:left;width:100%}.oral-report>h2{margin-bottom:20px}.report-score{align-items:baseline;gap:4px;margin-top:8px;display:flex}.report-score strong{font-family:var(--font-display);letter-spacing:-.06em;font-size:3rem}.report-score span{color:var(--ink-500);font-size:.75rem}.metric-list{gap:16px;display:grid}.metric-row{grid-template-columns:1fr auto;gap:8px 12px;font-size:.75rem;display:grid}.metric-row>span,.metric-row>strong{font-weight:600}.metric-row>div{background:var(--surface-muted);border-radius:var(--radius-pill);grid-column:1/-1;height:5px;overflow:hidden}.metric-row>div span{background:var(--orange-500);transform-origin:0;width:100%;height:100%;display:block}.metric-row p{color:var(--ink-500);grid-column:1/-1;margin:0;font-size:.75rem;line-height:1.4}.report-priority{background:var(--surface-muted);border-left:3px solid var(--orange-500);border-radius:0 var(--radius-md) var(--radius-md) 0;margin-top:20px;padding:16px}.report-priority strong{font-size:.75rem}.report-priority p{color:var(--ink-700);margin:4px 0 0;font-size:.75rem;line-height:1.45}.oral-report>.secondary-button{margin-top:16px}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}@media (hover:hover){.task-row:hover{border-color:var(--border-strong);transform:translateY(-2px)}.secondary-link:hover,.secondary-button:hover{border-color:var(--ink-700)}.skill-row:hover .skill-specimen{color:var(--surface);background:var(--ink-900)}.plan-button:hover{border-color:var(--ink-700)}}@media (width>=700px){.session-account{flex-direction:row;justify-content:space-between;align-items:center}.sprint-page,.courses-page,.course-detail,.learning-page,.skill-detail,.payment-page,.exam-runner,.mock-intro,.mock-summary,.mock-session-error,.placeholder-page{padding:36px 32px 48px}.learning-header,.payment-header,.profile-header{min-height:240px}.profile-specimen{font-size:8rem;right:2%}.profile-identity{grid-template-columns:82px minmax(0,1fr) auto;padding:24px}.profile-large-avatar{width:82px;height:82px}.local-status{grid-column:auto}.profile-form,.sync-panel{padding:24px}.exam-choice,.profile-form-grid{grid-template-columns:1fr 1fr}.payment-specimen{font-size:8rem;right:2%}.pricing-heading{grid-template-columns:minmax(0,1fr) 310px;align-items:end}.plan-grid{grid-template-columns:1fr 1fr}.checkout-summary{grid-template-columns:minmax(0,.9fr) minmax(300px,1.1fr)}.checkout-action{padding:28px}.billing-sections{grid-template-columns:1fr 1fr}.learning-specimen{font-size:8rem;right:2%}.learning-exam-selector{width:430px}.focus-skill{grid-template-columns:100px minmax(0,1fr) auto;align-items:center;padding:24px}.attempt-history li{grid-template-columns:36px minmax(0,1fr) auto}.attempt-score,.attempt-pending{grid-area:1/3;justify-self:end}.learning-section-heading>p,.skill-copy small{display:block}.skill-detail-header{min-height:270px}.skill-detail-specimen{font-size:8rem;right:3%}.skill-score-story{grid-template-columns:145px minmax(130px,1fr) 115px 115px;align-items:center}.score-journey{display:block}.courses-header{min-height:230px}.lesson-learning{grid-template-columns:minmax(0,1fr) minmax(280px,.85fr)}.lesson-learning>.primary-button{grid-column:1/-1}.lesson-practice,.lesson-review{grid-template-columns:minmax(0,1fr) minmax(300px,.9fr);align-items:start}.lesson-review-actions{grid-column:1/-1}.page-header{min-height:178px}.test-selector{width:430px}.score-chip,.task-section-heading>p{display:block}.overview-action-row{grid-template-columns:100px minmax(0,1fr) auto;align-items:center}.mock-launch-row,.mock-intro-action{flex-direction:row;justify-content:space-between;align-items:center}.mock-facts{grid-template-columns:repeat(3,1fr)}.mock-summary-facts{grid-template-columns:repeat(4,1fr)}.mock-session-band{margin-inline:32px}.task-row{grid-template-columns:40px minmax(180px,1.5fr) minmax(150px,1fr) 88px 20px;padding:12px 16px}.task-timing,.task-status{display:flex}.task-timing{color:var(--ink-700);align-items:center;gap:8px;font-size:.75rem}.task-timing>span{flex-direction:column;gap:4px;display:flex}.task-timing small{color:var(--ink-500)}.task-status{color:var(--ink-500);flex-direction:column;gap:4px;font-size:.75rem}.task-status-completed{color:var(--success)}.task-status-current{color:var(--orange-600)}.mini-progress{background:var(--surface-muted);border-radius:var(--radius-sm);width:64px;height:4px;overflow:hidden}.mini-progress span{background:var(--orange-500);height:100%;display:block}.runner-header{grid-template-columns:44px minmax(0,1fr) auto}.runner-position{color:var(--ink-500);padding-top:8px;font-size:.75rem;display:block}.runner-layout{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr)}.interaction-layout{grid-template-columns:minmax(280px,.85fr) minmax(390px,1.15fr)}.interaction-layout-document{grid-template-columns:minmax(340px,1fr) minmax(390px,1fr)}}@media (width>=1050px){.mock-session-active .app-shell{grid-template-columns:minmax(0,1fr)}.app-shell{grid-template-columns:minmax(0,1fr);display:grid}.insights{grid-column:2;padding-left:32px;padding-right:32px}}@media (hover:hover){.topbar-search-clear:hover{color:var(--orange-600)}}@media (width>=1050px){.topbar{padding:24px clamp(32px,3.4vw,48px) 0}.topbar-search{max-width:430px}.exam-context{order:0;width:auto}}@media (width>=1320px){body{background:var(--canvas);overflow:hidden}.app-shell{background:var(--canvas);grid-template-columns:minmax(560px, 1fr) var(--rail-right);border:0;border-radius:0;flex:1;min-height:0;margin:0;overflow:hidden}.workspace-column{min-height:0;overflow:hidden}.workspace{flex:1;min-height:0;max-height:none;overflow-y:auto}.sprint-page,.courses-page,.course-detail,.learning-page,.skill-detail,.payment-page,.exam-runner,.mock-intro,.mock-summary,.mock-session-error,.placeholder-page{padding:40px clamp(32px,4vw,56px) 48px}.learning-columns,.diagnostic-columns,.profile-layout{grid-template-columns:minmax(0,1.45fr) minmax(260px,.75fr);align-items:start}.profile-identity{grid-column:1/-1}.insights{border-top:0;border-left:1px solid var(--border);grid-area:1/3;height:100%;min-height:0;padding:32px 28px 40px;position:relative;top:auto;overflow-y:auto}.page-header{min-height:158px}.page-header h1{font-size:clamp(3rem,3.4vw,3.5rem)}}@media (pointer:coarse){.task-row,.primary-button,.secondary-button,.secondary-link{min-height:50px}}.sprint-page{--sprint-line:var(--border)}.sprint-overview-stack{gap:12px;margin-top:8px;display:grid}.prep-carousel-track{overscroll-behavior-inline:contain;scroll-behavior:smooth;scroll-snap-type:inline mandatory;scrollbar-width:none;display:flex;overflow-x:auto}.prep-carousel-track::-webkit-scrollbar{display:none}.prep-carousel-slide{scroll-snap-align:start;scroll-snap-stop:always;flex:0 0 100%;width:100%;min-width:100%;min-height:274px}.prep-carousel-controls{justify-content:space-between;align-items:center;gap:16px;min-height:36px;padding-inline:4px;display:flex}.prep-carousel-dots{align-items:center;gap:8px;display:flex}.prep-carousel-dots button{background:var(--ink-300);border-radius:var(--radius-pill);cursor:pointer;width:8px;height:8px;transition:width var(--duration-fast) var(--ease-out), background var(--duration-fast) ease;border:0;padding:0}.prep-carousel-dots button.is-active{background:var(--orange-500);width:24px}.prep-carousel-next{min-height:36px;color:var(--ink-700);cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:0;font-size:.75rem;font-weight:600;display:inline-flex}.toeic-simulation-card{color:var(--on-ink);background:var(--ink-card);border:2px solid var(--ink-card-line);border-radius:var(--radius-2xl);align-items:center;gap:24px;padding:24px;display:grid}.toeic-simulation-card .eyebrow{color:var(--on-ink-muted)}.simulation-copy{align-items:flex-start;gap:16px;display:flex}.simulation-icon{width:48px;height:48px;color:var(--on-accent);background:var(--orange-500);border-radius:var(--radius-lg);flex:0 0 48px;place-items:center;display:grid}.simulation-copy h2{letter-spacing:-.045em;margin:8px 0;font-size:clamp(1.5rem,3vw,2.125rem);font-weight:600;line-height:1}.simulation-copy>div>p:last-child{max-width:55ch;color:var(--on-ink-muted);margin:0;font-size:.75rem;line-height:1.45}.simulation-meta{flex-wrap:wrap;gap:8px;display:flex}.simulation-meta span{min-height:32px;color:var(--on-ink);background:var(--on-ink-raised);border:1px solid var(--on-ink-line);border-radius:var(--radius-pill);align-items:center;gap:8px;padding:0 12px;font-size:.75rem;display:inline-flex}.toeic-simulation-card>.primary-button{border-radius:var(--radius-pill);white-space:nowrap;min-height:50px}.sprint-hero-header{justify-content:space-between;align-items:center;gap:24px;min-height:310px;padding:16px 0 32px}.sprint-hero-header>div:first-child{max-width:720px}.sprint-hero-header h1{letter-spacing:-.075em;max-width:10.5ch;margin-top:12px;font-size:clamp(3.4rem,7.5vw,6.8rem);font-weight:600;line-height:.86}.sprint-hero-header h1 em{color:var(--orange-500);font-style:normal}.sprint-hero-intro{max-width:55ch;line-height:1.55;color:var(--ink-700)!important;margin:24px 0 0!important;font-size:.9375rem!important}.sprint-hero-visual{background:var(--surface-muted);border-radius:50% 50% 26px 26px;flex:0 0 228px;justify-content:center;align-items:flex-end;width:228px;height:242px;padding:28px 20px 0;display:none;overflow:hidden;position:relative!important}.sprint-hero-visual img{object-fit:contain;width:205px;height:205px}.sprint-hero-visual span{z-index:2;background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-pill);box-shadow:var(--shadow-sm);padding:8px 12px;font-size:.75rem;font-weight:600;position:absolute;top:20px;left:14px;transform:rotate(-5deg)}.sprint-overview{background:var(--ink-card);border:2px solid var(--ink-card-line);border-radius:var(--radius-2xl);color:var(--on-ink);margin-top:0;padding:24px;position:relative;overflow:hidden}.sprint-overview:after{background:var(--on-ink-raised);content:"";border-radius:50%;width:260px;height:260px;position:absolute;top:-90px;right:-80px}.sprint-overview .overview-copy,.sprint-overview .overview-action-row,.sprint-overview .mock-launch-row{z-index:1;position:relative}.sprint-overview .eyebrow,.sprint-overview .next-task p,.sprint-overview .task-meta{color:var(--on-ink-muted)}.overview-copy h2{letter-spacing:-.06em;margin:8px 0 0;font-size:clamp(2.125rem,4vw,3rem);font-weight:600;line-height:.94}.sprint-overview .score-chip{color:var(--ink-900);background:var(--on-ink);align-items:center;gap:8px;display:inline-flex}.sprint-overview .ring-track{stroke:var(--on-ink-raised)}.sprint-overview .completion-ring strong{color:var(--on-ink)}.sprint-overview .next-task h3{font-size:1.25rem}.sprint-overview .primary-button{border-radius:var(--radius-pill);min-height:52px;padding-inline:24px}.sprint-overview .overview-action-row{border-top:1px solid var(--on-ink-line);border-bottom:1px solid var(--on-ink-line);grid-template-columns:minmax(0,1fr) auto;margin-top:32px;padding:24px 0}.sprint-overview .mock-launch-row{border-color:var(--on-ink-line)}.sprint-overview .mock-launch-row p{color:var(--on-ink-muted)}.sprint-overview .mock-launch-row p strong{color:var(--on-ink)}.sprint-overview .secondary-button{color:var(--on-ink);border-color:var(--on-ink-line);border-radius:var(--radius-pill);background:0 0}.task-section{margin-top:56px}.task-section-heading{margin-bottom:20px}.task-section-heading h2{letter-spacing:-.055em;font-size:clamp(2.125rem,4vw,3rem)}.task-list{grid-template-columns:1fr;gap:12px}.task-row{border:1px solid var(--sprint-line);border-radius:var(--radius-xl);grid-template-columns:48px minmax(0,1fr) 20px;align-items:start;min-height:146px;padding:20px}.task-row:nth-child(2),.task-row:nth-child(4){background:var(--surface-muted)}.task-row-current{border-color:var(--orange-500)}.task-row-current:before{display:none}.task-index{background:var(--surface-muted);border-radius:var(--radius-md);border:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.task-index small{color:var(--ink-300);font-size:.75rem;position:absolute;top:17px;right:18px}.task-row-current .task-index,.task-row-completed .task-index{color:var(--surface);background:var(--ink-900);border-color:var(--ink-900)}.task-main{gap:8px}.task-main strong{white-space:normal;padding-right:24px;font-size:1.0625rem}.task-main>span{white-space:normal;font-size:.75rem;line-height:1.4}.task-row>svg{align-self:center}.result-preview{background:var(--role-lavender);background:color-mix(in srgb, var(--role-lavender) 58%, var(--surface));border:1px solid color-mix(in srgb, var(--role-lavender) 72%, var(--ink-900));border-radius:var(--radius-2xl);gap:24px;margin-top:56px;padding:28px;display:grid;position:relative;overflow:hidden}.result-preview-copy{z-index:1;position:relative}.result-preview h2{letter-spacing:-.06em;max-width:11ch;margin:8px 0 16px;font-size:clamp(2.125rem,5vw,3.5rem);font-weight:600;line-height:.95}.result-preview-copy>p:not(.eyebrow){max-width:55ch;color:var(--ink-700);font-size:.75rem;line-height:1.55}.result-preview .secondary-button{border-radius:var(--radius-pill);margin-top:12px}.result-score-card{z-index:1;background:color-mix(in srgb, var(--surface) 78%, var(--role-lavender));border:1px solid color-mix(in srgb, var(--role-lavender) 65%, var(--surface));border-radius:var(--radius-xl);box-shadow:none;flex-direction:column;padding:20px;display:flex;position:relative}.result-score-card>span{color:var(--ink-500);text-transform:uppercase;letter-spacing:.1em;font-size:.75rem}.result-score-card>strong{letter-spacing:-.06em;margin:8px 0 16px;font-size:3rem}.result-score-card>strong small{color:var(--ink-500);margin-left:4px;font-size:.8125rem}.result-metric{border-top:1px solid var(--border);grid-template-columns:22px 1fr auto;align-items:center;gap:8px;padding:8px 0;font-size:.75rem;display:grid}.result-metric svg{color:var(--orange-500)}.result-illustration{object-fit:contain;opacity:.9;width:245px;height:245px;display:none;position:absolute;bottom:-25px;right:-30px}@media (width>=700px){.sprint-hero-visual{display:flex}.sprint-overview{padding:32px}.toeic-simulation-card{grid-template-columns:minmax(0,1fr) auto auto;padding:24px 32px}.task-list{grid-template-columns:repeat(2,minmax(0,1fr))}.task-row{grid-template-columns:48px minmax(0,1fr) 20px}.task-row .task-timing,.task-row .task-status{display:none}.result-preview{grid-template-columns:minmax(0,1.35fr) minmax(210px,.65fr);padding:40px}}@media (width>=1050px){.task-list{grid-template-columns:repeat(6,minmax(0,1fr))}.task-row{grid-column:span 2}.task-row:first-child,.task-row:nth-child(2){grid-column:span 3}.result-preview{padding-right:264px}.result-preview-copy{grid-column:1}.result-score-card{grid-column:2}.result-illustration{display:block}}@media (width<=699px){.sprint-hero-header{min-height:auto;padding-top:8px}.sprint-hero-header h1{font-size:clamp(3rem,15vw,4.5rem)}.sprint-overview .overview-action-row{grid-template-columns:1fr;margin-top:24px}.sprint-overview .overview-action-row .primary-button,.toeic-simulation-card>.primary-button{width:100%}.prep-carousel-slide{min-height:430px}.prep-carousel-controls{align-items:flex-start}.prep-carousel-next{text-align:right;justify-content:flex-end;max-width:190px}}.insights-progress{background:var(--surface-muted);border-radius:var(--radius-xl);margin-bottom:24px;padding:16px}.insights-progress-topline{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.insights-progress-count{align-items:center;gap:8px;margin:12px 0 0;display:flex}.insights-progress-count strong{font-family:var(--font-display);letter-spacing:-.06em;font-size:2.5rem;font-weight:600;line-height:.9}.insights-progress-count span{color:var(--ink-700);font-size:.75rem;line-height:1.25}.insights-progress-percent{color:var(--orange-600);font-size:.8125rem;font-weight:600}.insights-progress-bar{background:var(--surface);border-radius:var(--radius-pill);height:7px;margin:16px 0;overflow:hidden}.insights-progress-bar span{background:var(--orange-500);border-radius:inherit;height:100%;display:block}.insights-progress-score{border-top:1px solid var(--border);grid-template-columns:20px 1fr auto;align-items:center;gap:8px;padding-top:12px;font-size:.75rem;display:grid}.insights-progress-score svg{color:var(--orange-600)}.insights-progress-score span{color:var(--ink-700)}.insights-progress-score strong{font-size:.8125rem}.insights-progress-score small{color:var(--ink-500);margin-left:2px;font-size:.75rem}.exam-countdown-card{color:var(--on-ink);background:var(--ink-card);border:2px solid var(--ink-card-line);border-radius:var(--radius-xl);margin-bottom:24px;padding:16px}.exam-countdown-card.is-urgent{color:var(--ink-900);background:var(--orange-200)}.exam-countdown-topline{align-items:flex-start;gap:12px;display:flex}.exam-countdown-topline>svg{color:var(--orange-500);flex:none}.exam-countdown-topline>div{flex-direction:column;min-width:0;display:flex}.exam-countdown-card .section-label{color:var(--on-ink-muted)}.exam-countdown-card.is-urgent .section-label{color:var(--ink-700)}.exam-countdown-topline strong{font-family:var(--font-display);letter-spacing:-.045em;margin-top:8px;font-size:1.375rem;font-weight:600;line-height:1}.exam-countdown-topline span{color:var(--on-ink-muted);margin-top:4px;font-size:.75rem}.exam-countdown-card.is-urgent .exam-countdown-topline span{color:var(--ink-700)}.exam-date-edit{min-height:30px;color:var(--on-ink);background:var(--on-ink-raised);border:1px solid var(--on-ink-line);border-radius:var(--radius-pill);cursor:pointer;flex:none;align-items:center;gap:4px;margin-left:auto;padding:0 8px;font-size:.75rem;font-weight:600;display:inline-flex}.exam-countdown-card.is-urgent .exam-date-edit{color:var(--ink-900);background:var(--poster-inset);border-color:var(--poster-line)}.exam-date-form{border-top:1px solid var(--on-ink-line);gap:8px;margin-top:16px;padding-top:16px;display:grid}.exam-countdown-card.is-urgent .exam-date-form{border-color:var(--poster-line)}.exam-date-form label{color:var(--on-ink-muted);font-size:.75rem;font-weight:600}.exam-countdown-card.is-urgent .exam-date-form label{color:var(--ink-700)}.exam-date-actions{justify-content:flex-end;display:flex}.exam-date-actions button{min-height:38px;color:var(--on-accent);background:var(--orange-500);border-radius:var(--radius-sm);cursor:pointer;border:0;padding:0 16px;font-size:.75rem;font-weight:600}.exam-date-actions button:disabled{cursor:default;opacity:.42}.oria-calendar{color:var(--ink-900);background:var(--surface);border-radius:var(--radius-lg);padding:12px}.oria-calendar-header{grid-template-columns:30px 1fr 30px;align-items:center;gap:4px;margin-bottom:8px;display:grid}.oria-calendar-header strong{text-align:center;text-transform:capitalize;font-size:.75rem}.oria-calendar-header button{width:30px;height:30px;color:var(--ink-700);background:var(--surface-muted);cursor:pointer;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.oria-calendar-weekdays,.oria-calendar-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.oria-calendar-weekdays{margin-bottom:4px}.oria-calendar-weekdays span{color:var(--ink-500);text-align:center;font-size:.75rem;font-weight:600}.oria-calendar-grid button,.oria-calendar-grid>span{aspect-ratio:1}.oria-calendar-grid button{min-width:0;color:var(--ink-700);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;font-size:.75rem;font-weight:600;display:grid}.oria-calendar-grid button:hover{background:var(--orange-50)}.oria-calendar-grid button.is-today{box-shadow:inset 0 0 0 1px var(--orange-500)}.oria-calendar-grid button.is-selected{color:var(--on-accent);background:var(--orange-500);box-shadow:none}.oria-calendar-grid button:disabled{color:var(--ink-300);cursor:not-allowed;opacity:.45}.insights-dashboard-header{margin-bottom:16px}.insights-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:24px;display:grid}.insights-stat{min-height:108px;color:var(--ink-900);border-radius:var(--radius-lg);align-content:space-between;padding:12px;display:grid}.insights-stat svg{opacity:.72}.insights-stat>span{margin-top:8px;font-size:.75rem;font-weight:600}.insights-stat>strong{letter-spacing:-.05em;margin-top:4px;font-size:1.5rem}.insights-stat>strong small{letter-spacing:0;font-size:.75rem;font-weight:600}.insights-stat-orange{background:var(--orange-200)}.insights-stat-lavender{background:var(--role-lavender)}.insights-stat-lime{background:var(--role-lime)}.insights-stat-blue{background:var(--info-soft)}.insights-skills{border-block:1px solid var(--border);padding:20px 0 24px}.insights-skills-subtitle{color:var(--ink-500);margin:8px 0 0;font-size:.75rem}.insights-skill-list{gap:12px;margin-top:16px;display:grid}.insights-skill{grid-template-columns:1fr auto;align-items:center;gap:8px 12px;font-size:.75rem;display:grid}.insights-skill>span:first-child{color:var(--ink-700);font-weight:600}.insights-skill>strong{font-size:.75rem}.insights-skill-track{background:var(--surface-muted);border-radius:var(--radius-pill);grid-column:1/-1;height:7px;display:block;overflow:hidden}.insights-skill-track span{border-radius:inherit;height:100%;display:block}.insights-skill-lavender .insights-skill-track span{background:var(--role-lavender)}.insights-skill-blue .insights-skill-track span{background:var(--role-blue)}.insights-skill-lime .insights-skill-track span{background:var(--success)}.insights-skill-pink .insights-skill-track span{background:var(--role-pink)}.activity-day:nth-child(3n+1) .activity-bar{background:var(--role-lavender)}.activity-day:nth-child(3n+2) .activity-bar{background:var(--role-blue)}.activity-day:nth-child(3n) .activity-bar{background:var(--role-lime)}.activity-day .activity-bar-active{background:var(--orange-500)}.task-section .task-list{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-flow:row;gap:12px;padding:2px 2px 8px;display:grid;overflow:visible}.task-section .task-row{aspect-ratio:auto;width:100%;min-height:276px;color:var(--ink-900);background:var(--role-lavender);border-radius:var(--radius-2xl);border:0;flex-direction:column;grid-column:span 2;align-items:stretch;gap:8px;padding:16px;display:flex;position:relative;overflow:hidden}.task-section .task-row:first-child{grid-column:span 4}.task-section .task-row:first-child .task-card-hero img{width:min(230px,72%);height:132px}.task-section .task-row:nth-child(2){background:var(--role-blue)}.task-section .task-row:nth-child(3){background:var(--role-lime)}.task-section .task-row:nth-child(4){background:var(--role-pink)}.task-section .task-row:nth-child(5){background:var(--role-mint)}.task-section .task-row-current{box-shadow:inset 0 0 0 2px var(--ink-900)}.task-card-top{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.task-card-status{min-height:24px;color:var(--ink-900);background:var(--poster-inset);border-radius:var(--radius-pill);letter-spacing:.08em;text-transform:uppercase;align-items:center;padding:0 8px;font-size:.75rem;font-weight:600;display:inline-flex}.task-card-status.is-complete{color:var(--surface);background:var(--success)}.task-card-open{background:var(--poster-inset);border-radius:50%;flex:0 0 30px;place-items:center;width:30px;height:30px;display:grid}.task-section .task-main{gap:4px}.task-section .task-main strong{font-family:var(--font-display);letter-spacing:-.035em;padding:0;font-size:1.0625rem;font-weight:600;line-height:1.05}.task-section .task-main strong small{color:var(--ink-500)}.task-section .task-main>span{color:var(--ink-700);font-size:.75rem}.task-card-hero{flex:1;justify-content:center;align-items:center;min-height:88px;display:flex;overflow:hidden}.task-card-hero img{object-fit:contain;mix-blend-mode:multiply;width:min(145px,88%);height:112px}.task-card-foot{color:var(--poster-ink-muted);justify-content:space-between;align-items:flex-end;gap:8px;font-size:.75rem;font-weight:600;display:flex}.task-card-foot span:last-child{text-align:right}.task-card-progress{background:var(--poster-line);height:5px;position:absolute;bottom:0;left:0;right:0}.task-card-progress span{background:var(--ink-900);min-width:3%;height:100%;display:block}@media (width<=699px){.task-section .task-list{grid-template-columns:1fr}.task-section .task-row,.task-section .task-row:first-child{grid-column:1}}@media (hover:hover){.task-section .task-row:hover{border-color:#0000;transform:translateY(-4px)}}.speak-page{padding:32px 20px 56px}.speak-header{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:28px;margin-bottom:28px;display:grid}.speak-header h1{max-width:760px;font-family:var(--font-display);letter-spacing:-.075em;margin:8px 0 16px;font-size:clamp(3.3rem,6vw,6.3rem);font-weight:600;line-height:.82}.speak-header h1 em{color:var(--orange-600);font-style:normal}.speak-header>div:first-child>p:last-child{max-width:570px;color:var(--ink-700);font-size:.9375rem;line-height:1.55}.speak-header-stats{gap:8px;display:grid}.speak-header-stats span{border-radius:var(--radius-lg);background:var(--role-lavender);min-width:170px;color:var(--poster-ink-muted);align-items:baseline;gap:8px;padding:12px 16px;font-size:.75rem;font-weight:600;display:flex}.speak-header-stats span:last-child{background:var(--role-lime)}.speak-header-stats strong{color:var(--ink-900);font-size:1.5rem}.speak-launcher{border:2px solid var(--ink-card-line);border-radius:var(--radius-2xl);background:var(--ink-card);color:var(--on-ink);padding:32px;position:relative;overflow:hidden}.speak-launcher:after{background:var(--on-ink-raised);content:"";border-radius:50%;width:260px;height:260px;position:absolute;top:-120px;right:-100px}.speak-launch-copy{z-index:1;position:relative}.speak-launch-copy .eyebrow{color:var(--on-ink-muted)}.speak-launch-copy h2,.speak-section-heading h2{font-family:var(--font-display);letter-spacing:-.06em;margin:8px 0;font-size:clamp(2.125rem,3.6vw,3rem);font-weight:600;line-height:.95}.speak-launch-copy>p:last-child{color:var(--on-ink-muted);font-size:.75rem}.persona-grid{z-index:1;grid-template-columns:repeat(2,1fr);gap:12px;margin:24px 0 16px;display:grid;position:relative}.persona-card{border:1px solid var(--on-ink-raised);border-radius:var(--radius-xl);background:var(--on-ink-raised);color:var(--on-ink);text-align:left;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:16px;transition:transform .18s,border-color .18s;display:grid}.persona-card-lavender,.persona-card-blue{background:var(--on-ink-raised)}.persona-card.is-selected{border-color:var(--orange-500);background:var(--on-ink-raised);transform:translateY(-2px)}.persona-avatar{border-radius:var(--radius-lg);background:var(--on-ink-raised);place-items:center;width:48px;height:48px;display:grid}.persona-copy{gap:4px;display:grid}.persona-copy strong{font-family:var(--font-display);font-size:1.25rem}.persona-copy span{font-size:.75rem}.persona-copy small{color:var(--on-ink-muted);font-size:.75rem}.persona-select{border-radius:var(--radius-pill);background:var(--on-ink-raised);padding:8px;font-size:.75rem;font-weight:600}.speak-settings-toggle{z-index:1;border:1px solid var(--on-ink-raised);border-radius:var(--radius-pill);background:var(--on-ink-raised);color:var(--on-ink-muted);align-items:center;gap:8px;padding:8px 12px;font-size:.75rem;font-weight:600;display:flex;position:relative}.speak-settings-toggle svg:last-child{margin-left:2px}.speak-settings{z-index:1;grid-template-columns:repeat(2,1fr);gap:8px;margin:8px 0 16px;display:grid;position:relative}.speak-settings button{border:1px solid var(--on-ink-line);border-radius:var(--radius-md);background:var(--on-ink-raised);min-height:64px;color:var(--on-ink);text-align:left;justify-content:space-between;gap:16px;padding:12px 16px;display:flex}.speak-settings button[aria-checked=true]{border-color:var(--orange-500);background:var(--orange-50)}.speak-settings button span{gap:4px;display:grid}.speak-settings strong{color:var(--on-ink);font-size:.75rem;line-height:1.25}.speak-settings small{color:var(--on-ink-muted);font-size:.75rem;line-height:1.35}.speak-settings b{border-radius:var(--radius-pill);background:var(--on-ink-raised);color:var(--on-ink-muted);align-self:center;padding:4px 8px;font-size:.75rem}.speak-settings button[aria-checked=true] b{background:var(--orange-500);color:var(--on-accent)}.speak-start{z-index:1;border-radius:var(--radius-pill);background:var(--orange-500);width:100%;color:var(--on-accent);justify-content:center;gap:8px;margin-top:8px;padding:16px 20px;display:flex;position:relative}.speak-scenarios,.speak-history{margin-top:40px}.speak-section-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:16px;display:flex}.speak-section-heading>span{border-radius:var(--radius-pill);background:var(--surface-muted);padding:8px 12px;font-size:.75rem;font-weight:600}.scenario-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.scenario-card{border-radius:var(--radius-xl);min-height:210px;color:var(--ink-900);text-align:left;grid-template-rows:auto 1fr auto auto;grid-template-columns:1fr auto;gap:8px;padding:20px;transition:transform .18s;display:grid;position:relative;overflow:hidden}.scenario-card-lime{background:var(--role-lime)}.scenario-card-orange{background:var(--orange-100)}.scenario-card-pink{background:var(--role-pink)}.scenario-icon{border-radius:var(--radius-md);background:var(--poster-inset);place-items:center;width:43px;height:43px;display:grid}.scenario-card small{color:var(--poster-ink-muted);justify-self:end;font-size:.75rem;font-weight:600}.scenario-card strong{font-family:var(--font-display);grid-column:1/-1;align-self:end;font-size:1.375rem}.scenario-card>span:last-of-type{color:var(--poster-ink-muted);font-size:.75rem;line-height:1.45}.scenario-card>svg{justify-self:end}.call-history-list{border:1px solid var(--border);border-radius:var(--radius-xl);overflow:hidden}.call-history-row{border-bottom:1px solid var(--border);width:100%;color:var(--ink-900);text-align:left;grid-template-columns:auto minmax(160px,1fr) auto auto auto;align-items:center;gap:16px;padding:16px;display:grid}.call-history-row:last-child{border-bottom:0}.call-history-avatar{border-radius:var(--radius-md);background:var(--role-lavender);place-items:center;width:38px;height:38px;display:grid}.call-history-row>span:nth-child(2){gap:4px;display:grid}.call-history-row strong{font-size:.75rem}.call-history-row small{color:var(--ink-500);font-size:.75rem}.call-history-row>span:nth-child(3){align-items:center;gap:4px;display:flex}.call-history-row>span:nth-child(n+3){color:var(--ink-500);font-size:.75rem;font-weight:600}.speak-call-room{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:calc(100vh - 100px);display:flex}.call-room-status{color:var(--ink-500);align-items:center;gap:8px;margin-bottom:32px;font-size:.75rem;font-weight:600;display:flex}.call-room-status span{background:var(--success);width:8px;height:8px;box-shadow:0 0 0 5px var(--success-soft);border-radius:50%}.call-orb{background:var(--role-lavender);border-radius:50%;place-items:center;width:150px;height:150px;margin-bottom:32px;display:grid;position:relative}.call-orb:before,.call-orb:after{border:1px solid var(--border);content:"";border-radius:50%;animation:2.4s ease-out infinite call-pulse;position:absolute}.call-orb:before{inset:-22px}.call-orb:after{animation-delay:.8s;inset:-45px}.call-orb span{background:var(--ink-900);width:78px;height:78px;color:var(--canvas);border-radius:50%;place-items:center;display:grid}.call-orb.is-muted:before,.call-orb.is-muted:after{opacity:.25;animation-play-state:paused}.speak-call-room h1{font-family:var(--font-display);letter-spacing:-.065em;margin:8px 0 12px;font-size:clamp(2.6rem,6vw,5rem)}.speak-call-room>p:not(.eyebrow){max-width:520px;color:var(--ink-500);font-size:.8125rem;line-height:1.55}.call-room-controls{gap:8px;margin-top:32px;display:flex}.call-control{border-radius:var(--radius-pill);background:var(--surface-muted);align-items:center;gap:8px;padding:12px 16px;font-size:.75rem;font-weight:600;display:flex}.call-control-end{background:var(--orange-500);color:var(--on-accent)}.guided-call-page{background:var(--canvas);min-height:calc(100vh - 70px)}.guided-call-topbar{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);grid-template-columns:auto minmax(140px,1fr) auto;align-items:center;gap:16px;padding:16px;display:grid}.guided-call-topbar .call-room-status{color:var(--ink-900);margin:0}.guided-call-topbar>strong{font-size:.75rem}.guided-call-progress{border-radius:var(--radius-pill);background:var(--surface-muted);height:5px;overflow:hidden}.guided-call-progress span{border-radius:inherit;background:var(--orange-500);height:100%;transition:width .3s;display:block}.guided-call-layout{grid-template-columns:minmax(0,1fr) 220px;gap:16px;margin-top:16px;display:grid}.guided-call-main{border:2px solid var(--ink-card-line);border-radius:var(--radius-2xl);background:var(--ink-card);min-height:650px;color:var(--on-ink);flex-direction:column;padding:28px;display:flex}.coach-line{border-bottom:1px solid var(--on-ink-raised);grid-template-columns:auto 1fr;align-items:start;gap:16px;padding-bottom:24px;display:grid}.coach-avatar{border-radius:var(--radius-md);background:var(--on-ink);width:46px;height:46px;color:var(--ink-card);place-items:center;display:grid}.coach-line small{color:var(--orange-200);text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:600}.coach-line h1{max-width:690px;font-family:var(--font-display);letter-spacing:-.06em;margin:8px 0;font-size:clamp(2.125rem,4vw,3.5rem);font-weight:600;line-height:.97}.coach-line p{color:var(--on-ink-muted);font-size:.75rem}.voice-answer{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:300px;padding:28px;display:flex}.voice-answer .call-orb{background:var(--on-ink-raised);width:118px;height:118px;margin:24px 0 32px}.voice-answer .call-orb:before,.voice-answer .call-orb:after{border-color:var(--on-ink-raised)}.voice-answer .call-orb span{background:var(--orange-500);width:66px;height:66px}.voice-answer>strong{font-family:var(--font-display);font-size:1.5rem}.voice-answer>span{color:var(--on-ink-muted);margin-top:8px;font-size:.75rem}.voice-answer blockquote{max-width:710px;font-family:var(--font-display);letter-spacing:-.025em;margin:12px 0 0;font-size:clamp(1.375rem,2.4vw,2.125rem);font-weight:500;line-height:1.3}.voice-answer.is-answered .call-orb{width:76px;height:76px;margin:4px 0 16px}.voice-answer.is-answered .call-orb:before,.voice-answer.is-answered .call-orb:after{display:none}.instant-feedback{border-radius:var(--radius-lg);background:var(--on-ink-raised);color:var(--orange-200);text-align:left;grid-template-columns:auto 1fr;gap:12px;margin-bottom:16px;padding:16px;display:grid}.instant-feedback div{gap:4px;display:grid}.instant-feedback small{color:var(--on-ink-muted);text-transform:uppercase;letter-spacing:.1em;font-size:.75rem;font-weight:600}.instant-feedback strong{color:var(--on-ink);font-size:.75rem;line-height:1.45}.guided-call-main .call-room-controls{justify-content:center;margin-top:auto}.guided-call-main .call-control{color:var(--ink-900)}.guided-call-main .call-control-primary{background:var(--orange-500);color:var(--on-accent)}.guided-call-main .call-control-primary:disabled{opacity:.42;cursor:not-allowed}.guided-call-main .call-control-end{background:var(--on-ink-raised);color:var(--on-ink)}.call-agenda{border:1px solid var(--border);border-radius:var(--radius-2xl);background:var(--surface);padding:20px 16px}.call-agenda h2{font-family:var(--font-display);letter-spacing:-.045em;margin:8px 0 24px;font-size:1.5rem}.call-agenda>div{border-top:1px solid var(--border);opacity:.42;grid-template-columns:auto 1fr;align-items:center;gap:8px;padding:12px 0;display:grid}.call-agenda>div>span{border:1px solid var(--border);border-radius:50%;place-items:center;width:26px;height:26px;font-size:.75rem;font-weight:600;display:grid}.call-agenda>div p{gap:2px;display:grid}.call-agenda>div strong{font-size:.75rem}.call-agenda>div small{color:var(--ink-500);font-size:.75rem}.call-agenda>div.is-current{opacity:1}.call-agenda>div.is-current>span{border-color:var(--orange-500);color:var(--orange-600)}.call-agenda>div.is-done{opacity:1}.call-agenda>div.is-done>span{border-color:var(--ink-900);background:var(--ink-900);color:var(--canvas)}.call-report{border-radius:var(--radius-2xl);background:var(--role-lavender);color:var(--ink-900);margin-top:16px;padding:32px}.call-report-intro{text-align:center}.call-report-intro>span{background:var(--ink-900);width:58px;height:58px;color:var(--canvas);border-radius:50%;place-items:center;margin:0 auto 16px;display:grid}.call-report-intro h1{max-width:700px;font-family:var(--font-display);letter-spacing:-.07em;margin:8px auto;font-size:clamp(2.6rem,5.4vw,5.2rem);font-weight:600;line-height:.9}.call-report-intro>p:last-child{color:var(--poster-ink-muted);font-size:.75rem}.call-score-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin:32px 0 12px;display:grid}.call-score-grid article{border-radius:var(--radius-lg);background:var(--poster-inset);gap:4px;padding:20px;display:grid}.call-score-grid strong{font-family:var(--font-display);letter-spacing:-.06em;font-size:2.5rem}.call-score-grid span{font-size:.75rem;font-weight:600}.call-score-grid small{color:var(--poster-ink-muted);font-size:.75rem;line-height:1.4}.call-report-focus{border-radius:var(--radius-lg);background:var(--surface);justify-content:space-between;align-items:end;gap:20px;padding:20px;display:flex}.call-report-focus>div{gap:4px;max-width:550px;display:grid}.call-report-focus strong{font-family:var(--font-display);font-size:1.375rem}.call-report-focus span{color:var(--poster-ink-muted);font-size:.75rem;line-height:1.45}.call-report-focus button,.call-report-close{border-radius:var(--radius-pill);background:var(--orange-500);color:var(--on-accent);white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:12px 16px;font-size:.75rem;font-weight:600;display:flex}.call-report-close{color:var(--ink-900);background:0 0;margin:12px auto 0}.live-call-page{background:var(--canvas);min-height:calc(100vh - 70px)}.live-call-shell{border:1px solid var(--border);border-radius:var(--radius-2xl);background:var(--surface);flex-direction:column;min-height:calc(100vh - 138px);display:flex;overflow:hidden}.live-call-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;display:flex}.live-call-identity{align-items:center;gap:8px;display:flex}.live-call-identity>span{border-radius:var(--radius-md);background:var(--orange-100);width:38px;height:38px;color:var(--orange-700);place-items:center;display:grid}.live-call-identity div{gap:2px;display:grid}.live-call-identity strong{font-family:var(--font-display);font-size:.9375rem}.live-call-identity small{color:var(--ink-500);font-size:.75rem}.live-call-header>button{border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--ink-500);align-items:center;gap:8px;padding:8px 12px;font-size:.75rem;font-weight:600;display:flex}.live-call-header>button.is-active{border-color:var(--orange-200);background:var(--orange-100);color:var(--orange-700)}.live-call-stage{flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:235px;padding:24px;transition:min-height .22s;display:flex}.live-call-stage .call-orb{background:var(--orange-100);width:132px;height:132px;margin:0}.live-call-stage .call-orb span{background:var(--orange-500);width:68px;height:68px}.live-call-stage>div:last-child{text-align:center;gap:4px;display:grid}.live-call-stage>div:last-child strong{font-family:var(--font-display);font-size:1.25rem}.live-call-stage>div:last-child small{color:var(--ink-500);font-size:.75rem}.live-call-stage.is-compact{border-bottom:1px solid var(--border);flex-direction:row;justify-content:flex-start;min-height:96px;padding:16px 24px}.live-call-stage.is-compact .call-orb{width:62px;height:62px}.live-call-stage.is-compact .call-orb:before,.live-call-stage.is-compact .call-orb:after{display:none}.live-call-stage.is-compact .call-orb span{width:40px;height:40px}.live-call-stage.is-compact>div:last-child{text-align:left}.live-transcript{background:var(--surface-muted);flex-direction:column;flex:1;gap:8px;max-height:470px;padding:16px 24px 24px;display:flex;overflow-y:auto}.live-transcript-heading{color:var(--ink-500);text-transform:uppercase;letter-spacing:.1em;justify-content:space-between;align-items:center;margin-bottom:2px;font-size:.75rem;font-weight:600;display:flex}.live-turn{display:contents}.message-bubble{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);max-width:min(78%,620px);padding:12px 16px}.message-bubble small{color:var(--ink-500);margin-bottom:4px;font-size:.75rem;font-weight:600;display:block}.message-bubble p{font-size:.75rem;line-height:1.5}.message-bubble>span{color:var(--ink-500);margin-top:8px;font-size:.75rem;display:block}.coach-message{border-bottom-left-radius:5px;align-self:flex-start}.coach-message.is-hidden{min-width:260px;min-height:62px;position:relative;overflow:hidden}.coach-message.is-hidden>*{filter:blur(6px);opacity:.22;-webkit-user-select:none;user-select:none}.coach-message.is-hidden:after{color:var(--ink-500);content:"Activer la transcription pour lire";place-items:center;font-size:.75rem;font-weight:600;display:grid;position:absolute;inset:0}.user-message{border-color:var(--orange-200);background:var(--orange-100);border-bottom-right-radius:5px;align-self:flex-end}.word-scores{flex-wrap:wrap;gap:4px;margin-top:8px;display:flex}.word-scores span{border-radius:var(--radius-pill);background:var(--surface);color:var(--success);padding:4px 8px;font-size:.75rem;font-weight:600}.inline-correction{border-left:3px solid var(--orange-500);border-radius:var(--radius-sm) var(--radius-md) var(--radius-md) var(--radius-sm);background:var(--surface);max-width:min(74%,590px);color:var(--orange-600);grid-template-columns:auto 1fr;align-self:flex-end;gap:8px;padding:8px 12px;display:grid}.inline-correction div{gap:4px;display:grid}.inline-correction small{color:var(--orange-600);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:600}.inline-correction p{color:var(--ink-700);font-size:.75rem;line-height:1.45}.live-call-controls{border-top:1px solid var(--border);background:var(--surface);justify-content:center;align-items:center;gap:8px;padding:12px 16px;display:flex}.live-call-controls .call-control{border:1px solid var(--border);background:var(--surface-muted);color:var(--ink-900)}.live-call-controls .live-turn-action{border-color:var(--orange-500);background:var(--orange-500);min-width:210px;color:var(--on-accent);justify-content:center}.live-call-controls .live-turn-action:disabled{opacity:.4;cursor:not-allowed}.live-call-controls .live-hangup{background:var(--ink-900);color:var(--canvas)}@keyframes call-pulse{0%{opacity:.65;transform:scale(.85)}to{opacity:0;transform:scale(1.18)}}@media (hover:hover){.scenario-card:hover{transform:translateY(-4px)}.call-history-row:hover{background:var(--border)}}@media (width<=840px){.speak-header{grid-template-columns:1fr}.speak-header-stats{grid-template-columns:repeat(2,1fr)}.scenario-grid{grid-template-columns:1fr 1fr}.scenario-card:last-child{grid-column:1/-1}.guided-call-layout{grid-template-columns:1fr}.call-agenda{display:none}}@media (width<=699px){.speak-page{padding:24px 16px 44px}.speak-header h1{font-size:clamp(3rem,15vw,4.5rem)}.speak-launcher{border-radius:var(--radius-xl);padding:24px 16px}.persona-grid,.speak-settings,.scenario-grid{grid-template-columns:1fr}.scenario-card:last-child{grid-column:1}.call-history-row{grid-template-columns:auto 1fr auto}.call-history-row>span:nth-child(3),.call-history-row>span:nth-child(4){display:none}.persona-card{grid-template-columns:auto 1fr}.persona-select{grid-column:2;justify-self:start}.guided-call-topbar{grid-template-columns:1fr auto}.guided-call-progress{grid-area:2/1/auto/-1}.guided-call-main{min-height:620px;padding:20px 16px}.coach-line{grid-template-columns:1fr}.guided-call-main .call-room-controls{flex-wrap:wrap}.call-score-grid{grid-template-columns:1fr}.call-report{padding:24px 16px}.call-report-focus{flex-direction:column;align-items:stretch}.live-call-page{padding:16px 8px 32px}.live-call-shell{border-radius:var(--radius-xl);min-height:calc(100vh - 95px)}.live-call-stage{min-height:190px}.live-transcript{padding:16px}.message-bubble,.inline-correction{max-width:92%}.live-call-controls{flex-wrap:wrap}.live-call-controls .live-turn-action{order:-1;width:100%}}.insights-collapse{width:34px;height:34px;color:var(--ink-500);background:var(--surface-muted);border-radius:var(--radius-md);cursor:pointer;border:0;flex:0 0 34px;place-items:center;display:none}@media (width>=1320px){.mock-session-active .app-shell{grid-template-columns:minmax(0,1fr)}.insights-collapse{z-index:2;display:grid;position:absolute;top:22px;right:12px}.insights{padding-top:68px;position:relative}.shell-insights-collapsed .insights{padding:0;overflow:hidden}.shell-insights-collapsed .insights>:not(.insights-collapse){display:none}.shell-insights-collapsed .insights-collapse{top:22px;right:12px}}@media (hover:hover){.insights-collapse:hover{color:var(--ink-900)}}.course-skin-lavender{--course-tone:var(--role-lavender)}.course-skin-blue{--course-tone:var(--role-blue)}.course-skin-lime{--course-tone:var(--role-lime)}.course-skin-pink{--course-tone:var(--role-pink)}.course-skin-mint{--course-tone:var(--role-mint)}@keyframes course-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.course-catalog>*,.course-detail>*{animation:course-rise .55s var(--ease-out) both}.course-catalog>:nth-child(2){animation-delay:70ms}.course-catalog>:nth-child(3){animation-delay:.14s}.course-detail>:nth-child(2){animation-delay:70ms}.course-detail>:nth-child(3){animation-delay:.14s}.course-back{min-height:34px;color:var(--ink-700);cursor:pointer;background:0 0;border:0;align-self:flex-start;align-items:center;gap:8px;padding:0;font-size:.75rem;font-weight:600;display:inline-flex}.course-catalog{flex-direction:column;gap:32px;display:flex}.course-catalog-hero{padding:8px 0 4px}.course-catalog-hero h1{max-width:13ch;font-family:var(--font-display);letter-spacing:-.07em;margin:16px 0 0;font-size:clamp(2.9rem,7vw,5.8rem);font-weight:600;line-height:.88}.course-catalog-hero h1 em{color:var(--orange-500);font-style:normal}.course-catalog-intro{max-width:56ch;color:var(--ink-700);margin:24px 0 0;font-size:.8125rem;line-height:1.55}.course-catalog-calibration{color:var(--ink-500);flex-wrap:wrap;align-items:center;gap:8px;margin:16px 0 0;font-size:.75rem;display:flex}.course-catalog-calibration svg{color:var(--orange-500)}.course-catalog-calibration a{color:var(--orange-600);text-underline-offset:3px;font-weight:600}.course-resume{color:var(--on-ink);background:var(--ink-card);border:2px solid var(--ink-card-line);border-radius:var(--radius-2xl);gap:24px;padding:28px;display:grid;position:relative;overflow:hidden}.course-resume:after{background:var(--on-ink-raised);content:"";border-radius:50%;width:250px;height:250px;position:absolute;top:-95px;right:-85px}.course-resume>*{z-index:1;position:relative}.course-resume .eyebrow{color:var(--on-ink-muted)}.course-resume h2{max-width:18ch;font-family:var(--font-display);letter-spacing:-.055em;margin:12px 0 0;font-size:clamp(1.75rem,3.6vw,2.5rem);font-weight:600;line-height:1}.course-resume-meta{color:var(--on-ink-muted);margin:16px 0 24px;font-size:.75rem}.course-resume .primary-button{border-radius:var(--radius-pill);min-height:52px;padding-inline:24px}.course-resume-gauge{border-top:1px solid var(--on-ink-line);flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:8px;padding-top:20px;display:flex}.course-resume-percent{font-family:var(--font-display);letter-spacing:-.06em;font-size:2.5rem;font-weight:600;line-height:.9}.course-resume-track{background:var(--on-ink-raised);border-radius:var(--radius-pill);width:100%;height:6px;display:block;overflow:hidden}.course-resume-track span{background:var(--orange-500);border-radius:inherit;height:100%;transition:width var(--duration-medium) var(--ease-out);display:block}.course-resume-count{color:var(--on-ink-muted);font-size:.75rem}.course-grid-section{flex-direction:column;gap:20px;display:flex}.course-grid-heading h2{font-family:var(--font-display);letter-spacing:-.055em;margin:0;font-size:clamp(1.75rem,4vw,2.5rem);font-weight:600;line-height:1}.course-grid-heading p{color:var(--ink-500);flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0 0;font-size:.75rem;display:flex}.course-grid-heading p button{color:var(--orange-600);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:0;font-size:.75rem;font-weight:600;text-decoration:underline}.course-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;padding:2px 2px 8px;display:grid}.course-card{width:100%;min-height:288px;color:var(--ink-900);background:var(--course-tone,var(--role-lavender));border-radius:var(--radius-2xl);cursor:pointer;text-align:left;transition:transform var(--duration-fast) var(--ease-out);border:0;flex-direction:column;grid-column:span 3;gap:8px;padding:16px;display:flex;position:relative;overflow:hidden}.course-card-lavender{--course-tone:var(--role-lavender)}.course-card-blue{--course-tone:var(--role-blue)}.course-card-lime{--course-tone:var(--role-lime)}.course-card-pink{--course-tone:var(--role-pink)}.course-card-mint{--course-tone:var(--role-mint)}.course-card:first-child,.course-grid>:first-child .course-card{grid-column:span 6}.course-card-top{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.course-card-tags{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.course-card-status,.course-card-priority{min-height:24px;color:var(--ink-900);background:var(--poster-inset);border-radius:var(--radius-pill);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;align-items:center;padding:0 8px;font-size:.75rem;font-weight:600;display:inline-flex}.course-card-status.is-complete{color:var(--surface);background:var(--success)}.course-card-priority{color:var(--surface);background:var(--ink-900)}.course-card-priority.score-weak{background:var(--danger)}.course-card-priority.score-strong{background:var(--success)}.course-card-priority.score-fair{color:var(--ink-900);background:var(--warning)}.course-card-open{background:var(--poster-inset);border-radius:50%;flex:0 0 30px;place-items:center;width:30px;height:30px;display:grid}.course-card-main{flex-direction:column;gap:4px;display:flex}.course-card-main strong{max-width:24ch;font-family:var(--font-display);letter-spacing:-.035em;font-size:1.25rem;font-weight:600;line-height:1.05}.course-card-main>span{max-width:46ch;color:var(--poster-ink-muted);font-size:.75rem;line-height:1.4}.course-card-hero{flex:1;justify-content:center;align-items:center;min-height:92px;display:flex;overflow:hidden}.course-card-hero img{object-fit:contain;mix-blend-mode:multiply;width:min(150px,90%);height:118px}.course-card:first-child .course-card-hero img,.course-grid>:first-child .course-card .course-card-hero img{width:min(220px,60%);height:138px}.course-card-foot{color:var(--poster-ink-muted);justify-content:space-between;align-items:flex-end;gap:8px;font-size:.75rem;font-weight:600;display:flex}.course-card-foot span:last-child{text-align:right}.course-card-progress{background:var(--poster-line);height:5px;position:absolute;bottom:0;left:0;right:0}.course-card-progress span{background:var(--ink-900);height:100%;transition:width var(--duration-medium) var(--ease-out);display:block}.course-empty{background:var(--surface-muted);border-radius:var(--radius-2xl);text-align:center;place-items:center;gap:16px;padding:28px;display:grid}.course-empty img{object-fit:contain;mix-blend-mode:multiply;width:132px;height:132px}.course-empty h3{font-family:var(--font-display);letter-spacing:-.03em;margin:0 0 8px;font-size:1.25rem;font-weight:600}.course-empty p{max-width:42ch;color:var(--ink-700);margin:0 0 16px;font-size:.75rem;line-height:1.5}.course-detail{flex-direction:column;gap:24px;display:flex}.course-hero{background:var(--course-tone,var(--role-lavender));border-radius:var(--radius-2xl);gap:20px;padding:28px;display:grid;position:relative;overflow:hidden}.course-hero-copy{min-width:0}.course-hero .eyebrow{color:var(--poster-ink-muted)}.course-hero h1{max-width:16ch;font-family:var(--font-display);letter-spacing:-.06em;margin:12px 0 0;font-size:clamp(2.125rem,4.6vw,3.5rem);font-weight:600;line-height:.94}.course-hero-summary{max-width:52ch;color:var(--poster-ink-muted);margin:16px 0 0;font-size:.8125rem;line-height:1.55}.course-hero-reason{max-width:52ch;color:var(--poster-ink-muted);align-items:flex-start;gap:8px;margin:12px 0 0;font-size:.75rem;line-height:1.45;display:flex}.course-hero-reason svg{flex:none;margin-top:2px}.course-hero-gauge{grid-template-columns:auto auto;justify-content:space-between;align-items:center;gap:8px 16px;margin-top:24px;display:grid}.course-hero-track{background:var(--poster-inset);border-radius:var(--radius-pill);grid-column:1/-1;width:100%;height:6px;display:block;overflow:hidden}.course-hero-track span{background:var(--ink-900);border-radius:inherit;height:100%;transition:width var(--duration-medium) var(--ease-out);display:block}.course-hero-count{color:var(--poster-ink-muted);align-items:baseline;gap:8px;font-size:.75rem;font-weight:600;display:inline-flex}.course-hero-count strong{font-family:var(--font-display);letter-spacing:-.04em;font-size:1.5rem;font-weight:600}.course-hero-remaining{color:var(--poster-ink-muted);align-items:center;gap:8px;font-size:.75rem;font-weight:600;display:inline-flex}.course-hero-visual{justify-content:center;align-items:flex-end;display:flex}.course-hero-visual img{object-fit:contain;mix-blend-mode:multiply;width:min(190px,62%);height:190px}.course-celebration{background:var(--success-soft);border-radius:var(--radius-2xl);animation:course-rise .5s var(--ease-out) both;align-items:center;gap:16px;padding:24px;display:grid}.course-celebration.is-final{background:var(--orange-50)}.course-celebration img{object-fit:contain;mix-blend-mode:multiply;justify-self:center;width:116px;height:116px}.course-celebration .eyebrow{color:var(--ink-700)}.course-celebration h2{max-width:22ch;font-family:var(--font-display);letter-spacing:-.05em;margin:8px 0 0;font-size:clamp(1.375rem,3.2vw,2.125rem);font-weight:600;line-height:1.02}.course-celebration p:not(.eyebrow){max-width:52ch;color:var(--ink-700);margin:8px 0 0;font-size:.75rem;line-height:1.5}.course-celebration .primary-button{border-radius:var(--radius-pill);margin-top:16px}.course-programme{flex-direction:column;gap:16px;display:flex}.course-programme-heading h2{font-family:var(--font-display);letter-spacing:-.05em;margin:0;font-size:clamp(1.5rem,3.4vw,2.125rem);font-weight:600;line-height:1}.course-programme-heading p{color:var(--ink-500);margin:8px 0 0;font-size:.75rem}.course-modules{counter-reset:module;gap:8px;margin:0;padding:0;list-style:none;display:grid}.course-module{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-lg);grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:8px 16px;padding:16px;display:grid}.course-module.is-current{background:var(--course-tone,var(--role-lavender));border-color:#0000}.course-module.is-locked{background:0 0;border-style:dashed}.course-module-mark{width:38px;height:38px;color:var(--ink-700);background:var(--surface-muted);border-radius:var(--radius-md);place-items:center;display:grid}.course-module.is-done .course-module-mark{color:var(--surface);background:var(--success)}.course-module.is-current .course-module-mark{color:var(--surface);background:var(--ink-900)}.course-module.is-locked .course-module-mark{color:var(--ink-300);box-shadow:inset 0 0 0 1px var(--border);background:0 0}.course-module-copy{flex-direction:column;gap:4px;min-width:0;display:flex}.course-module-copy small{color:var(--ink-500);letter-spacing:.1em;text-transform:uppercase;font-size:.75rem;font-weight:600}.course-module.is-current .course-module-copy small{color:var(--poster-ink-muted)}.course-module-copy strong{font-size:.8125rem;font-weight:600;line-height:1.3}.course-module.is-locked .course-module-copy strong{color:var(--ink-500)}.course-module-duration{color:var(--ink-500);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.75rem;font-weight:600}.course-module.is-current .course-module-duration{color:var(--poster-ink-muted)}.course-module-hint{color:var(--ink-300);grid-column:2/-1;font-size:.75rem}.course-module-open{min-height:38px;color:var(--ink-900);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap;grid-column:2/-1;justify-self:start;align-items:center;gap:8px;padding:0 16px;font-size:.75rem;font-weight:600;display:inline-flex}.course-module-open.is-primary{color:var(--surface);background:var(--ink-900);border-color:var(--ink-900)}.course-player-page{flex-direction:column;gap:16px;display:flex}.course-player-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.course-player-position{color:var(--ink-500);letter-spacing:.1em;text-transform:uppercase;font-size:.75rem;font-weight:600}.course-player-page .lesson-player{border-color:var(--border-strong);margin-top:0}.course-missing{border:2px dashed var(--border);border-radius:var(--radius-xl);padding:24px}.course-missing p{color:var(--ink-700);margin:0 0 16px;font-size:.8125rem}.lesson-stage-track{border-bottom:1px solid var(--border);scrollbar-width:none;gap:0;margin:24px 0 28px;padding:0 0 16px;list-style:none;display:flex;overflow-x:auto}.lesson-stage-track::-webkit-scrollbar{display:none}.lesson-stage{color:var(--ink-300);white-space:nowrap;align-items:center;gap:8px;padding-right:24px;font-size:.75rem;font-weight:600;display:inline-flex;position:relative}.lesson-stage+.lesson-stage{padding-left:24px}.lesson-stage+.lesson-stage:before{background:var(--border-strong);content:"";width:18px;height:1px;position:absolute;top:50%;left:0;transform:translate(-4px,-50%)}.lesson-stage-mark{width:24px;height:24px;color:var(--ink-500);background:var(--surface-muted);border-radius:50%;flex:0 0 24px;place-items:center;font-size:.75rem;font-weight:600;display:grid}.lesson-stage.is-active{color:var(--ink-900)}.lesson-stage.is-active .lesson-stage-mark{color:var(--on-accent);background:var(--orange-500)}.lesson-stage.is-complete{color:var(--ink-700)}.lesson-stage.is-complete .lesson-stage-mark{color:var(--surface);background:var(--success)}.lesson-model blockquote{font-family:var(--font-display);letter-spacing:-.025em;font-size:clamp(1.0625rem,2.6vw,1.375rem);font-weight:500;line-height:1.35}.lesson-blocking-hint{width:100%;color:var(--ink-500);margin:0;font-size:.75rem}@media (width>=700px){.course-resume{grid-template-columns:minmax(0,1fr) minmax(190px,.42fr);padding:32px}.course-resume-gauge{border-top:0;border-left:1px solid var(--on-ink-line);padding-top:0;padding-left:24px}.course-hero{grid-template-columns:minmax(0,1fr) minmax(180px,.4fr);padding:32px}.course-celebration{grid-template-columns:132px minmax(0,1fr);padding:28px 32px}.course-empty{text-align:left;grid-template-columns:150px minmax(0,1fr);justify-items:start}.course-module{grid-template-columns:38px minmax(0,1fr) 70px 130px}.course-module-open,.course-module-hint{grid-column:auto;justify-self:end}.course-module-hint{text-align:right}}@media (width<=699px){.course-grid{grid-template-columns:1fr}.course-card,.course-card:first-child,.course-grid>:first-child .course-card{grid-column:1}.course-card:first-child .course-card-hero img,.course-grid>:first-child .course-card .course-card-hero img{width:min(150px,90%);height:118px}.course-catalog-hero h1{font-size:clamp(2.5rem,12vw,3.5rem)}.course-resume .primary-button{width:100%}}@media (hover:hover){.course-card:hover{transform:translateY(-4px)}.course-back:hover{color:var(--orange-600)}.course-module-open:hover{border-color:var(--ink-900)}.course-module-open.is-primary:hover{background:var(--ink-700)}}@media (pointer:coarse){.course-module-open,.course-back{min-height:46px}}:root{--header-h:64px}.app-frame{flex-direction:column;min-height:100vh;display:flex}.app-header{z-index:30;height:var(--header-h);padding:0 max(12px, env(safe-area-inset-right)) 0 max(12px, env(safe-area-inset-left));background:var(--canvas);border-bottom:1px solid var(--border);flex:none;align-items:center;gap:8px;display:flex;position:sticky;top:0}.mock-session-active .app-header{display:none}.app-brand{color:var(--ink-900);border-radius:var(--radius-sm);flex-shrink:0;align-items:flex-end;gap:8px;padding:4px;text-decoration:none;display:inline-flex}.app-brand-word{display:none}.app-tabs{align-items:center;gap:4px;margin-left:4px;display:flex}.app-tab{height:38px;color:var(--ink-500);border-radius:var(--radius-pill);white-space:nowrap;transition:color var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out);border:1.5px solid #0000;align-items:center;gap:6px;padding:0 12px;font-size:.875rem;font-weight:600;text-decoration:none;display:inline-flex}.app-tab-active{color:var(--orange-500);background:var(--orange-50);border-color:var(--orange-500)}.room-switch{align-items:center;gap:4px;display:flex}.room-tab{height:36px;color:var(--ink-500);border-radius:var(--radius-pill);cursor:pointer;transition:color var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out);background:0 0;border:1px solid #0000;padding:0 16px;font-size:.8125rem}.room-tab-active{color:var(--orange-500);background:var(--orange-50);border-color:var(--orange-500)}.header-search{min-width:0;max-width:360px;height:38px;color:var(--ink-500);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-pill);transition:border-color var(--duration-fast) var(--ease-out);flex:1;align-items:center;gap:8px;margin-left:auto;padding:0 16px;display:none}.header-search:focus-within{border-color:var(--border-strong)}.header-search input{min-width:0;color:var(--ink-900);background:0 0;border:0;outline:none;flex:1;padding:0;font-size:.8125rem}.header-search input::placeholder{color:var(--ink-300)}.header-search input::-webkit-search-cancel-button{display:none}.header-search-clear{width:22px;height:22px;color:var(--ink-500);background:var(--surface-muted);cursor:pointer;border:0;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.header-search-toggle{width:38px;height:38px;color:var(--ink-700);border-radius:var(--radius-pill);cursor:pointer;background:0 0;border:0;flex:0 0 38px;place-items:center;margin-left:auto;display:grid}.app-header-searching .app-brand,.app-header-searching .app-tabs,.app-header-searching .room-switch{display:none}.app-header-searching .header-search{max-width:none;display:flex}.app-header-searching .header-search-toggle{margin-left:0}.account{flex-shrink:0;position:relative}.account-button{cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:38px;height:38px;padding:0;display:grid}.account-avatar{width:34px;height:34px;color:var(--canvas);background:var(--ink-900);font-family:var(--font-display);border-radius:50%;flex-shrink:0;place-items:center;font-size:.875rem;font-weight:600;display:grid}.account-button[aria-expanded=true] .account-avatar{box-shadow:0 0 0 2px var(--canvas), 0 0 0 4px var(--orange-500)}.account-avatar-large{width:40px;height:40px;font-size:1rem}.account-menu{z-index:40;width:min(300px,100vw - 24px);color:var(--ink-900);background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:8px;position:absolute;top:calc(100% + 10px);right:0}.account-identity{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:8px 8px 14px;display:flex}.account-identity-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.account-identity-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:.9375rem;overflow:hidden}.account-identity-copy small{color:var(--ink-500);font-size:.75rem}.account-section{padding:12px 8px 2px}.account-label{color:var(--ink-500);letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px;font-size:.6875rem;font-weight:600}.account-segments{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;display:grid}.account-segment{min-width:0;height:34px;color:var(--ink-700);background:var(--surface-muted);border-radius:var(--radius-sm);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;border:1.5px solid #0000;padding:0 6px;font-size:.8125rem;overflow:hidden}.account-segment-active{color:var(--orange-500);background:var(--orange-50);border-color:var(--orange-500)}.account-rows{border-top:1px solid var(--border);flex-direction:column;margin-top:12px;padding-top:6px;display:flex}.account-row{width:100%;min-height:42px;color:var(--ink-900);border-radius:var(--radius-md);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:12px;padding:0 8px;font-size:.875rem;text-decoration:none;display:flex}.account-row-label{flex:1;min-width:0}.account-row>.app-icon{color:var(--ink-500)}.account-version{color:var(--ink-500);margin:0;padding:8px 8px 4px;font-size:.75rem}@media (width>=560px){.app-brand-word{display:inline-flex}.app-tabs{margin-left:16px}.app-tab{padding:0 14px}}@media (width>=700px){.app-header{gap:12px;padding:0 clamp(16px,3vw,32px)}.header-search{display:flex}.header-search-toggle{display:none}}@media (width>=1320px){.app-frame{height:100vh;min-height:640px;overflow:hidden}.app-shell.shell-insights-hidden{grid-template-columns:minmax(0,1fr)}}@media (hover:hover){.app-tab:hover{color:var(--ink-900);background:var(--surface-muted)}.app-tab-active:hover{color:var(--orange-600);background:var(--orange-100)}.room-tab:hover{color:var(--ink-900);background:var(--surface-muted)}.room-tab-active:hover{color:var(--orange-600);background:var(--orange-100)}.header-search-toggle:hover,.account-row:hover{background:var(--surface-muted)}.account-segment:not(.account-segment-active):hover{color:var(--ink-900)}.header-search-clear:hover{color:var(--orange-600)}}.app-icon{flex:none;justify-content:center;align-items:center;display:inline-flex}.app-icon svg{width:100%;height:100%;display:block}@keyframes leezio-enter{0%{opacity:0;transform:translateY(10px)}}.extend-page>*,.sprint-page>*,.courses-page>*,.learning-page>*{animation:leezio-enter var(--duration-entrance) var(--ease-entrance) both}.extend-page>:nth-child(2),.sprint-page>:nth-child(2),.courses-page>:nth-child(2),.learning-page>:nth-child(2){animation-delay:80ms}.extend-page>:nth-child(3),.sprint-page>:nth-child(3),.courses-page>:nth-child(3),.learning-page>:nth-child(3){animation-delay:.16s}.extend-page>:nth-child(n+4),.sprint-page>:nth-child(n+4),.courses-page>:nth-child(n+4),.learning-page>:nth-child(n+4){animation-delay:.24s}.extend-page{padding:28px 20px 36px}.extend-page [data-accent=mint],.extend-page[data-accent=mint]{--accent:var(--role-mint)}.extend-page [data-accent=lavender],.extend-page[data-accent=lavender]{--accent:var(--role-lavender)}.extend-page [data-accent=blue],.extend-page[data-accent=blue]{--accent:var(--role-blue)}.extend-page [data-accent=lime],.extend-page[data-accent=lime]{--accent:var(--role-lime)}.extend-page [data-accent=pink],.extend-page[data-accent=pink]{--accent:var(--role-pink)}.extend-empty{color:var(--ink-500);background:var(--surface-muted);border-radius:var(--radius-lg);margin:0;padding:28px 24px;font-size:.8125rem;line-height:1.55}.extend-specimen{min-width:74px;color:var(--ink-900);background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-lg);font-family:var(--font-ipa);place-items:center;padding:8px 16px;font-size:1.375rem;font-weight:500;display:inline-grid}.extend-resume .extend-specimen{color:var(--card-ink);background:var(--poster-inset);border-color:#0000}.extend-ipa{color:var(--ink-500);font-family:var(--font-ipa);font-size:.8125rem;font-weight:500}.extend-resume .eyebrow{color:var(--poster-ink-muted)}.extend-resume-copy p:not(.eyebrow){color:var(--poster-ink-muted);margin:0 0 16px;font-size:.9375rem;line-height:1.5}.extend-card-note{color:var(--ink-500);margin:0;font-size:.75rem;line-height:1.5}.extend-phase-head .eyebrow{color:var(--poster-ink-muted)}.extend-fiche{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-2xl);flex-direction:column;gap:16px;padding:24px;display:flex}.extend-fiche-head{border-bottom:1px solid var(--border);align-items:center;gap:16px;padding-bottom:16px;display:flex}.extend-fiche-head .extend-specimen{color:var(--card-ink);background:var(--accent,var(--surface-muted));border-color:#0000}.extend-fiche-head h2{font-family:var(--font-display);letter-spacing:-.035em;margin:4px 0 0;font-size:1.5rem;font-weight:600;line-height:1.1}.extend-fiche-subtitle{color:var(--ink-500);margin:4px 0 0;font-size:.875rem;line-height:1.4}.extend-fiche-intuition{color:var(--ink-900);margin:0;font-size:.9375rem;line-height:1.55}.extend-fiche-block{flex-direction:column;gap:8px;display:flex}.extend-fiche-block>p:not(.eyebrow){color:var(--ink-700);margin:0;font-size:.9375rem;line-height:1.55}.extend-fiche-trap{background:var(--warning-soft);border-radius:var(--radius-md);padding:16px}.extend-fiche-trap>p:not(.eyebrow){color:var(--ink-900)}.extend-example-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.extend-example-list li{background:var(--surface-muted);border-radius:var(--radius-md);align-items:baseline;gap:8px;padding:8px 16px;display:flex}.extend-example-list strong{font-size:.9375rem}.extend-example-list small{color:var(--ink-500);margin-left:auto;font-size:.75rem}.extend-pair-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.extend-pair-list li{border:1px solid var(--border);border-radius:var(--radius-md);justify-content:space-between;align-items:baseline;gap:16px;padding:8px 16px;font-size:.8125rem;display:flex}.extend-pair-list small{color:var(--ink-500);text-align:right;font-size:.75rem}.extend-word-chips{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.extend-word-chips li{background:var(--surface-muted);border-radius:var(--radius-pill);padding:8px 12px;font-size:.8125rem}.extend-fiche-footer{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px;padding-top:16px;display:flex}.extend-search-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.extend-result-list{flex-direction:column;gap:8px;margin:0 0 16px;padding:0;list-style:none;display:flex}.extend-result-list button{width:100%;color:var(--ink-900);text-align:left;background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;align-items:center;gap:16px;padding:12px 16px;display:flex}.extend-result-ipa{min-width:58px;color:var(--card-ink);background:var(--accent,var(--surface-muted));border-radius:var(--radius-md);font-family:var(--font-ipa);place-items:center;padding:8px;font-size:.9375rem;font-weight:500;display:grid}.extend-result-copy{flex-direction:column;flex:1;min-width:0;display:flex}.extend-result-copy small{color:var(--ink-500);font-size:.75rem}.extend-dialog-head p:not(.eyebrow){color:var(--ink-700);margin:0;font-size:.9375rem;line-height:1.5}@media (width>=1320px){.extend-page{padding:40px clamp(32px,4vw,56px) 48px}}@media (hover:hover){.extend-result-list button:hover{border-color:var(--border-strong)}}.extend-page .eyebrow{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.state-loading{flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:24px 32px;display:flex}.state-loading-full{background:var(--canvas);flex:1;min-height:40vh}.state-spinner{border:3px solid color-mix(in srgb, var(--orange-500) 25%, transparent);border-top-color:var(--orange-500);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}.state-loading-caption{color:var(--ink-500);text-align:center;margin:0;font-size:.875rem}.state-error{color:var(--ink-500);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px 32px;display:flex}.state-error-full{background:var(--canvas);flex:1;min-height:40vh}.state-error-text{color:var(--ink-700);margin:0;font-size:.9375rem;font-weight:500}.state-error-hint{color:var(--ink-500);margin:0;font-size:.8125rem}.state-cta{color:var(--orange-600);background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-pill);cursor:pointer;margin-top:4px;padding:8px 20px;font-size:.875rem;font-weight:600;transition:transform .12s}.state-cta:active{transform:scale(.97)}.state-empty{border-radius:var(--radius-xl);text-align:center;flex-direction:column;align-self:stretch;align-items:center;gap:8px;padding:24px 20px;animation:.22s both state-fade;display:flex}.state-empty[data-tone=mint]{background:var(--role-mint)}.state-empty[data-tone=lavender]{background:var(--role-lavender)}.state-empty[data-tone=blue]{background:var(--role-blue)}.state-empty[data-tone=lime]{background:var(--role-lime)}.state-empty[data-tone=pink]{background:var(--role-pink)}.state-empty-title{color:var(--card-ink);margin:8px 0 0;font-size:.9375rem;font-weight:600}.state-empty-hint{max-width:280px;color:var(--card-ink);opacity:.8;margin:0;font-size:.8125rem;line-height:1.45}.state-empty .state-cta{margin-top:8px}@keyframes state-fade{0%{opacity:0}to{opacity:1}}.mic-spinner{border:3px solid color-mix(in srgb, currentcolor 35%, transparent);border-radius:var(--radius-pill);border-top-color:currentColor;width:18px;height:18px;animation:.8s linear infinite mic-spin}@keyframes mic-spin{to{transform:rotate(360deg)}}.reveal{cursor:pointer;flex-direction:column;align-items:center;gap:6px;display:flex}.reveal-ipa{color:var(--ink-900);font-family:var(--font-ipa);justify-content:center;align-items:flex-start;gap:2px;margin:0;font-size:1.375rem;font-weight:500;line-height:1.2;display:flex}.reveal-slash{color:var(--ink-500)}.reveal-glyph{opacity:.3;transition:opacity var(--duration-fast) var(--ease-out);flex-direction:column;align-items:center;gap:4px;display:flex}.reveal-glyph-lit{opacity:1}.reveal-mark{background:var(--border);border-radius:var(--radius-pill);width:18px;height:3px;display:block;overflow:hidden}.reveal-mark-fill{border-radius:var(--radius-pill);height:100%;transition:width var(--duration-medium) var(--ease-out), opacity var(--duration-fast) var(--ease-out);display:block}.reveal-score-line{align-items:baseline;gap:10px;margin:0;display:flex}.reveal-score{font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin:0;font-size:1.875rem;font-weight:600}.reveal-verdict{color:var(--ink-900);transition:opacity var(--duration-medium) var(--ease-out);margin:0;font-size:.9375rem;font-weight:600}.reveal-tip{max-width:34ch;color:var(--ink-700);text-align:center;margin:2px 0 0;font-size:.875rem;line-height:1.45}.reveal-heard{align-items:baseline;gap:8px;margin:2px 0 0;display:flex}.reveal-heard span{color:var(--ink-500);font-size:.75rem}.reveal-heard strong{color:var(--ink-900);font-family:var(--font-ipa);font-size:.9375rem;font-weight:500}.reveal-simulated{color:var(--ink-500);letter-spacing:.01em;text-align:center;margin:2px 0 0;font-size:.6875rem}.reveal-detail{color:var(--orange-500);cursor:pointer;background:0 0;border:0;padding:4px 2px;font-size:.8125rem;font-weight:600}@media (hover:hover){.reveal-detail:hover{color:var(--orange-600)}}@media (prefers-reduced-motion:reduce){.reveal-glyph,.reveal-mark-fill{transition:none}}.learn-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.learn-header h1{font-family:var(--font-display);letter-spacing:-.045em;margin:0;font-size:clamp(2rem,4vw,2.5rem);font-weight:600;line-height:1.1}.learn-header p{color:var(--ink-500);margin:4px 0 0;font-size:.9375rem}.learn-filter{width:44px;height:44px;color:var(--ink-700);background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-pill);cursor:pointer;flex:0 0 44px;place-items:center;display:grid}.learn-filter-active{color:var(--orange-500);background:var(--orange-100);border-color:var(--orange-500)}.learn-columns{gap:24px;display:grid}.learn-catalogue{flex-direction:column;gap:32px;min-width:0;display:flex}.phase-section-head{align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.phase-section-title{min-width:0;font-family:var(--font-display);letter-spacing:-.03em;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1.375rem;font-weight:600;overflow:hidden}.phase-section-count{color:var(--ink-500);font-variant-numeric:tabular-nums;font-size:.8125rem}.phase-section-head .see-all{cursor:pointer;background:0 0;border:0}.lesson-peek,.lesson-grid{margin:0;padding:0;list-style:none}.lesson-peek{scrollbar-width:none;gap:12px;padding-bottom:8px;display:flex;overflow-x:auto}.lesson-peek::-webkit-scrollbar{display:none}.lesson-peek>li{flex:none;width:200px}.lesson-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.extend-search-group{color:var(--ink-500);letter-spacing:.12em;text-transform:uppercase;margin:20px 0 10px;font-size:.6875rem;font-weight:700}.lesson-card{aspect-ratio:.85;width:100%;color:var(--card-ink);text-align:left;background:var(--accent,var(--surface));border-radius:var(--radius-2xl);cursor:pointer;border:2px solid #0000;flex-direction:column;padding:16px;display:flex;position:relative;overflow:hidden}.lesson-card-locked{color:var(--ink-500);background:var(--surface);border-color:var(--border);cursor:not-allowed}.lesson-card-current{border-color:var(--orange-500)}.lesson-card-top{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.lesson-card-titles{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.lesson-card-title{font-family:var(--font-display);letter-spacing:-.02em;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:1.0625rem;font-weight:600;line-height:1.2;display:-webkit-box;overflow:hidden}.lesson-card-meta{font-family:var(--font-ipa);opacity:.75;font-size:.8125rem;font-weight:500}.lesson-card-btn{background:var(--poster-inset);border-radius:var(--radius-pill);flex:0 0 28px;place-items:center;width:28px;height:28px;display:grid}.lesson-card-locked .lesson-card-btn{color:var(--ink-500);background:var(--surface-muted)}.lesson-card-hero{flex:1;place-items:center;min-height:0;margin:8px 0;display:grid;overflow:hidden}.lesson-card-hero img{opacity:.92;width:46%;max-height:100%}.lesson-card-locked .lesson-card-hero img{opacity:.32}.lesson-card-foot{letter-spacing:.02em;opacity:.7;align-self:flex-end;font-size:.75rem;font-weight:600}.lesson-card-progress{background:var(--poster-line);height:4px;position:absolute;bottom:0;left:0;right:0}.lesson-card-progress-fill{background:var(--card-ink);height:100%;display:block}.lesson-card-progress-done{background:var(--success)}@media (hover:hover){.lesson-card:not(:disabled):hover{border-color:var(--card-ink)}.learn-filter:hover{border-color:var(--border-strong)}}.reading-screen{max-width:860px;margin-inline:auto}.reading-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.reading-header h1{font-family:var(--font-display);letter-spacing:-.045em;margin:0;font-size:clamp(2rem,4vw,2.5rem);font-weight:600;line-height:1.1}.reading-header p{color:var(--ink-500);margin:4px 0 0;font-size:.9375rem}.reading-count{color:var(--ink-500);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.8125rem}.reading-tabs{scrollbar-width:none;gap:8px;margin-bottom:20px;padding-bottom:4px;display:flex;overflow-x:auto}.reading-tabs::-webkit-scrollbar{display:none}.reading-tab{color:var(--ink-700);border:1px solid var(--border);border-radius:var(--radius-pill);cursor:pointer;background:0 0;flex:none;padding:8px 16px;font-size:.8125rem;font-weight:600;position:relative}.reading-tab-active{color:var(--canvas);background:var(--ink-900);border-color:#0000}.reading-tab-dot{background:var(--orange-500);border-radius:var(--radius-pill);width:4px;height:4px;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)}.reading-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.reading-featured{width:100%;color:var(--card-ink);text-align:left;background:var(--accent,var(--surface-muted));border-radius:var(--radius-2xl);cursor:pointer;border:0;flex-direction:column;gap:20px;margin-bottom:8px;padding:24px;display:flex}.featured-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.featured-kicker{letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:8px;font-size:.75rem;font-weight:600;display:inline-flex}.featured-kicker-dot{background:var(--card-ink);border-radius:var(--radius-pill);width:8px;height:8px}.featured-arrow{background:var(--poster-inset);border-radius:var(--radius-pill);place-items:center;width:32px;height:32px;display:grid}.featured-body{flex-direction:column;gap:8px;display:flex}.featured-title{max-width:20ch;font-family:var(--font-display);letter-spacing:-.035em;font-size:clamp(1.5rem,3vw,2.125rem);font-weight:600;line-height:1.1}.featured-meta{opacity:.75;font-size:.8125rem}.featured-progress{flex:1;align-items:center;gap:8px;display:flex}.featured-progress-value{letter-spacing:-.02em;font-size:.6875rem;font-weight:700}.featured-foot{align-items:center;gap:16px;display:flex}.featured-foot .reading-progress{background:var(--poster-line);flex:1;height:5px;margin-top:0}.featured-foot .reading-progress-fill:not(.reading-progress-done){background:var(--card-ink)}.reading-row{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-lg);width:100%;transition:border-color var(--duration-fast) var(--ease-standard);align-items:center;display:flex}.reading-row-open{min-width:0;color:var(--ink-900);text-align:left;cursor:pointer;font:inherit;background:0 0;border:0;flex:1;align-items:center;gap:16px;padding:12px 16px;display:flex}.row-fav{width:40px;height:40px;color:var(--ink-300);border-radius:var(--radius-md);cursor:pointer;background:0 0;border:0;flex-shrink:0;place-items:center;margin-right:8px;display:grid}.row-fav[aria-pressed=true]{color:var(--orange-500)}.row-index{width:44px;height:44px;color:var(--card-ink);background:var(--accent,var(--surface-muted));border-radius:var(--radius-md);flex:0 0 44px;place-items:center;font-size:.8125rem;font-weight:600;display:grid}.row-body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.row-title{text-overflow:ellipsis;white-space:nowrap;font-size:.9375rem;font-weight:600;overflow:hidden}.row-meta{color:var(--ink-500);font-size:.75rem}.reading-progress{background:var(--surface-muted);border-radius:var(--radius-pill);height:4px;margin-top:4px;display:block;overflow:hidden}.reading-progress-fill{background:var(--orange-500);border-radius:inherit;height:100%;display:block}.reading-progress-done{background:var(--success)}.reading-arc{flex-shrink:0;place-items:center;width:36px;height:36px;display:grid;position:relative}.reading-arc svg{position:absolute;inset:0}.reading-arc-track{fill:none;stroke:var(--border)}.reading-arc-fill{fill:none;stroke:var(--orange-500);stroke-linecap:round}.reading-arc-value{color:var(--orange-700);letter-spacing:-.02em;font-size:.5625rem;font-weight:700;position:relative}.reading-arc-done .reading-arc-fill{stroke:var(--success)}.reading-arc-done .reading-arc-value{color:var(--success)}.reading-row-chevron{width:36px;color:var(--ink-500);flex-shrink:0;place-items:center;display:grid}.reader{flex-direction:column;gap:20px;display:flex}.reader-head{align-items:center;gap:12px;display:flex}.reader-back{width:44px;height:44px;color:var(--ink-700);background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-pill);cursor:pointer;flex:0 0 44px;place-items:center;display:grid}.reader-meta{color:var(--ink-500);align-items:center;gap:8px;margin-left:auto;font-size:.8125rem;display:inline-flex}.reader-title{font-family:var(--font-display);letter-spacing:-.045em;margin:20px 0 40px;font-size:clamp(2rem,4vw,2.5rem);font-weight:600;line-height:1.1}.reader-body p{max-width:62ch;margin:0 0 20px;font-size:1.0625rem;line-height:1.75}.reader-body p:last-child{margin-bottom:0}.reader-focus{border-top:1px solid var(--border);flex-direction:column;gap:12px;padding-top:20px;display:flex}.reader-foot{gap:12px;display:flex}@media (hover:hover){.reading-row:hover,.reading-tab:not(.reading-tab-active):hover{border-color:var(--border-strong)}}.reader-full{max-width:720px;margin-inline:auto}.reader-modes{background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius-pill);gap:3px;margin-left:auto;padding:3px;display:flex}.reader-modes button{color:var(--ink-700);border-radius:var(--radius-pill);cursor:pointer;background:0 0;border:1.5px solid #0000;padding:7px 15px;font-size:.8125rem;font-weight:600}.reader-modes .reader-mode-on{color:var(--orange-500);background:var(--orange-50);border-color:var(--orange-500)}.reader-karaoke p{font-family:var(--font-display);margin:0 0 16px;font-size:1.1875rem;font-weight:500;line-height:1.7}.reader-word{cursor:pointer;border-radius:4px;padding:0 1px}.reader-word-spoken{background:color-mix(in srgb, var(--orange-500) 35%, transparent)}.reader-word-selected{background:color-mix(in srgb, var(--orange-500) 22%, transparent);box-shadow:.3em 0 0 color-mix(in srgb, var(--orange-500) 22%, transparent);border-radius:0}.reader-word-selected.reader-word-first{border-radius:4px 0 0 4px}.reader-word-selected.reader-word-last{box-shadow:none;border-radius:0 4px 4px 0}.reader-word-selected.reader-word-first.reader-word-last{border-radius:4px}.reader-word-selected.reader-word-spoken{background:color-mix(in srgb, var(--orange-500) 45%, transparent)}.reader-karaoke ::selection{background:color-mix(in srgb, var(--orange-500) 22%, transparent)}.reader-full .reader-head{z-index:5;top:var(--header-h);background:var(--canvas);border-bottom:1px solid var(--border);margin:-12px -20px 0;padding:12px 20px;position:sticky}@media (width>=1320px){.reader-full .reader-head{top:0}}.reader-full .reader-dock{z-index:5;background:var(--canvas);margin-inline:-20px;position:sticky;bottom:0}.reader-full .reader-dock .cread-player{padding:12px 20px calc(12px + env(safe-area-inset-bottom))}.phrase-bar{background:var(--surface);border:3px solid var(--border-strong);border-radius:var(--radius-2xl);box-shadow:var(--shadow-md);flex-direction:column;gap:8px;margin:0 20px 4px;padding:16px 20px;display:flex}.phrase-bar-head{justify-content:space-between;align-items:center;display:flex}.phrase-bar-kicker{color:var(--ink-500);letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:.625rem;font-weight:600}.phrase-bar-close{width:32px;height:32px;color:var(--ink-700);border-radius:var(--radius-pill);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.phrase-bar-phrase{font-family:var(--font-display);letter-spacing:-.02em;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:1.5rem;line-height:1.2;display:-webkit-box;overflow:hidden}.phrase-bar-ipa{color:var(--orange-500);font-family:var(--font-ipa);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.875rem;overflow:hidden}.phrase-bar-hint{color:var(--ink-500);margin:0;font-size:.75rem}.phrase-bar-actions{gap:12px;padding-top:4px;display:flex}.phrase-bar-listen,.phrase-bar-save{border-radius:var(--radius-pill);cursor:pointer;flex:1;justify-content:center;align-items:center;gap:8px;height:48px;font-size:.9375rem;font-weight:600;display:inline-flex}.phrase-bar-listen{color:var(--ink-900);border:2px solid var(--border);background:0 0}.phrase-bar-listen .app-icon{color:var(--orange-500)}.phrase-bar-listen small{color:var(--ink-500);font-size:.75rem;font-weight:400}.phrase-bar-save{color:var(--card-ink);background:var(--orange-500);border:0}.phrase-bar-save-done{cursor:default;background:var(--success)}@media (hover:hover){.phrase-bar-close:hover,.phrase-bar-listen:hover{background:var(--surface-muted)}.phrase-bar-save:not(:disabled):hover{background:var(--orange-600)}}.word-sheet{gap:16px}.word-sheet-head{justify-content:space-between;align-items:center;display:flex}.word-sheet-close{width:38px;height:38px;color:var(--ink-700);border-radius:var(--radius-pill);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.word-sheet-save{width:38px;height:38px;color:var(--ink-700);border:2px solid var(--border);border-radius:var(--radius-pill);cursor:pointer;background:0 0;place-items:center;display:grid}.word-sheet-save:disabled{cursor:default;opacity:.4}.word-sheet-save-on{color:var(--card-ink);background:var(--orange-500);border-color:var(--orange-500)}.word-sheet-specimen{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.word-sheet-word{font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-size:2.5rem;font-weight:600;line-height:1.1}.word-sheet-ipa{color:var(--ink-700);font-family:var(--font-ipa);margin:0;font-size:1.25rem;font-weight:600}.word-sheet-hint{color:var(--ink-500);margin:0;font-size:.8125rem}.word-sheet-aid{padding-top:0}.word-sheet-listen{min-height:50px;color:var(--ink-900);background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-pill);cursor:pointer;justify-content:center;align-items:center;gap:8px;font-size:.875rem;font-weight:600;display:flex}.word-sheet-listen .app-icon{color:var(--orange-500)}@media (hover:hover){.word-sheet-close:hover,.word-sheet-listen:hover{background:var(--surface-muted)}.word-sheet-save:not(:disabled):not(.word-sheet-save-on):hover{border-color:var(--orange-500)}}.reader-speak{min-height:calc(100dvh - var(--header-h) - 160px);flex-direction:column;align-items:center;padding:24px 0 48px;display:flex}.speak-overlay{width:100%;max-width:560px;margin-block:auto}.speak-stage{text-align:center;flex-direction:column;align-items:center;width:100%;animation:.32s cubic-bezier(.22,1,.36,1) speak-stage-in;display:flex}.speak-stage-out{animation:.22s ease-in forwards speak-stage-out}@keyframes speak-stage-in{0%{opacity:0;transform:translate(36px)}}@keyframes speak-stage-out{to{opacity:0;transform:translate(-36px)}}.speak-stage-label{color:var(--ink-500);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:8px;margin:0 0 12px;font-size:.6875rem;font-weight:700;display:flex}.speak-stage-dot{background:var(--orange-500);border-radius:var(--radius-pill);width:6px;height:6px}.speak-sentence{width:100%;margin-bottom:24px}.speak-words{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:4px 10px;display:flex}.speak-word{flex-direction:column;align-items:center;margin-bottom:4px;display:flex}.speak-word-text,.speak-sentence-text{color:var(--ink-900);font-family:var(--font-display);font-size:1.375rem;font-weight:500;line-height:1.3}.speak-sentence-text{margin:0;line-height:1.45}.speak-word-ipa{color:var(--orange-500);font-family:var(--font-ipa);margin-top:1px;font-size:.75rem;font-weight:600}.speak-word-text[data-tone=success]{color:var(--success);font-weight:700}.speak-word-text[data-tone=warning]{color:var(--warning);font-weight:600}.speak-word-text[data-tone=orange],.speak-word-text[data-tone=omission]{color:var(--orange-500);font-weight:600}.speak-word-text[data-tone=omission]{text-decoration:underline}.speak-score[data-tone=success]{--tone:var(--success)}.speak-score[data-tone=warning]{--tone:var(--warning)}.speak-score[data-tone=orange]{--tone:var(--orange-500)}.speak-score{background:color-mix(in srgb, var(--tone) 8%, transparent);border:2px solid var(--border);border-radius:var(--radius-pill);align-items:center;gap:8px;margin-bottom:16px;padding:6px 20px;display:inline-flex}.speak-score strong{color:var(--tone);font-family:var(--font-display);font-size:2.625rem;font-weight:600;line-height:1.1}.speak-score span{color:var(--ink-700);font-size:.875rem;font-weight:500}.speak-tips{gap:8px;width:100%;margin-bottom:12px;display:grid}.speak-tips-track{scroll-snap-type:x mandatory;scrollbar-width:none;display:flex;overflow-x:auto}.speak-tips-track::-webkit-scrollbar{display:none}.speak-tip{scroll-snap-align:start;flex:0 0 100%}.speak-dots{justify-content:center;gap:4px;display:flex}.speak-dot{box-sizing:content-box;background:var(--border-strong);border-radius:var(--radius-pill);cursor:pointer;background-clip:content-box;border:0;width:6px;height:6px;padding:4px}.speak-dot-on{background-color:var(--ink-700)}.speak-bar{border-radius:var(--radius-md);text-align:left;align-items:center;gap:8px;width:100%;margin:0 0 12px;padding:12px 16px;font-size:.8125rem;font-weight:500;line-height:1.4;display:flex}.speak-bar>span:last-child{flex:1}.speak-tip .speak-bar{margin:0}.speak-bar[data-tone=success]{color:var(--success);background:var(--success-soft)}.speak-bar[data-tone=warning]{color:var(--warning);background:var(--warning-soft)}.speak-bar[data-tone=danger]{color:var(--danger);background:var(--danger-soft)}.speak-rec-dot{background:var(--danger);border-radius:var(--radius-pill);flex:0 0 10px;width:10px;height:10px;animation:.6s ease-in-out infinite alternate speak-rec}@keyframes speak-rec{to{opacity:.3}}.speak-actions{flex-direction:column;align-items:stretch;width:100%;margin-top:4px;display:flex}.speak-row{align-items:center;gap:12px;width:100%;margin-bottom:12px;display:flex}.speak-btn{border-radius:var(--radius-pill);cursor:pointer;border:0;flex:1;justify-content:center;align-items:center;gap:8px;min-height:52px;padding:0 16px;font-size:.875rem;font-weight:600;display:inline-flex}.speak-btn-soft{color:var(--orange-700);background:var(--surface);border:2px solid var(--border)}.speak-btn-soft .app-icon{color:var(--orange-500)}.speak-btn-muted,.speak-btn-muted .app-icon{color:var(--ink-700)}.speak-btn-ink,.speak-btn-ink .app-icon{color:var(--ink-900)}.speak-btn-playing,.speak-btn-playing .app-icon{color:var(--card-ink)}.speak-btn-playing{background:var(--role-lime);border-color:#0000}.speak-btn-record{color:var(--card-ink);background:var(--orange-500)}.speak-btn-recording{color:var(--canvas);background:var(--ink-900)}.speak-btn-processing{color:var(--ink-700);background:var(--surface-muted);cursor:default}.speak-btn-record:disabled:not(.speak-btn-processing){color:var(--ink-500);background:var(--surface-muted);cursor:not-allowed}.speak-stop{background:var(--canvas);border-radius:6px;width:20px;height:20px}.speak-spinner{box-sizing:border-box;border:2.5px solid var(--ink-700);border-radius:var(--radius-pill);border-top-color:#0000;width:20px;height:20px;animation:.9s linear infinite speak-spin}@keyframes speak-spin{to{transform:rotate(360deg)}}.speak-btn-continue{color:var(--canvas);background:var(--ink-900)}.speak-hint{color:var(--ink-700);text-align:center;margin:0 0 12px;font-size:.8125rem}.speak-detail-link{color:var(--ink-700);cursor:pointer;background:0 0;border:0;align-self:center;margin-bottom:8px;padding:8px 16px;font-size:.8125rem;font-weight:600;text-decoration:underline}@media (hover:hover){.speak-btn-soft:not(.speak-btn-playing):hover{background:var(--surface-muted)}.speak-btn-record:not(:disabled):not(.speak-btn-recording):hover{background:var(--orange-600)}.speak-detail-link:hover{color:var(--ink-900)}}@media (prefers-reduced-motion:reduce){.speak-stage,.speak-stage-out,.speak-rec-dot{animation:none}}.sentence-sheet{gap:20px;max-height:82dvh;overflow-y:auto}.sentence-sheet [data-tone=success]{--tone:var(--success)}.sentence-sheet [data-tone=warning]{--tone:var(--warning)}.sentence-sheet [data-tone=danger]{--tone:var(--danger)}.sentence-sheet-head{justify-content:center;display:flex;position:relative}.sentence-sheet-head .word-sheet-close{position:absolute;top:0;right:0}.sentence-sheet-score{color:var(--tone);font-family:var(--font-display);letter-spacing:-.025em;margin:0;font-size:2.5rem;font-weight:600}.sentence-sheet-compare{justify-content:center;gap:12px;display:flex}.sentence-sheet-compare-btn{color:var(--ink-900);background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-pill);cursor:pointer;align-items:center;gap:8px;padding:10px 16px;font-size:.875rem;font-weight:600;display:inline-flex}.sentence-sheet-compare-on{color:var(--canvas);background:var(--ink-900);border-color:var(--ink-900)}.sentence-sheet-segment{background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius-pill);padding:4px;display:flex}.sentence-sheet-segment button{color:var(--ink-500);border-radius:var(--radius-pill);cursor:pointer;background:0 0;border:0;flex:1;padding:12px;font-size:.8125rem;font-weight:600}.sentence-sheet-segment .sentence-sheet-tab-on{color:var(--card-ink);background:var(--role-lime)}.sentence-sheet-section{gap:16px;display:grid}.sentence-sheet-bar{grid-template-columns:92px 1fr 30px;align-items:center;gap:12px;display:grid}.sentence-sheet-bar-label{color:var(--ink-700);font-size:.8125rem}.sentence-sheet-bar-track{background:var(--surface-muted);border-radius:3px;height:6px;overflow:hidden}.sentence-sheet-bar-fill{background:var(--tone);transform-origin:0;border-radius:3px;height:100%;display:block}.sentence-sheet-bar-value{color:var(--ink-900);text-align:right;font-size:.8125rem;font-weight:600}.sentence-sheet-heard{gap:4px;padding-top:8px;display:grid}.sentence-sheet-label{color:var(--ink-500);letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:.625rem;font-weight:600}.sentence-sheet-heard-text{color:var(--ink-900);margin:0;font-size:.9375rem;line-height:1.4}.sentence-sheet-word{gap:8px;display:grid}.sentence-sheet-word-head{color:var(--ink-900);align-items:center;gap:12px;margin:0;font-size:1rem;font-weight:600;display:flex}.sentence-sheet-badge{color:var(--canvas);background:var(--tone);border-radius:var(--radius-pill);padding:2px 8px;font-size:.6875rem;font-weight:700}.sentence-sheet-phonemes{flex-wrap:wrap;gap:8px;margin:0;display:flex}.sentence-sheet-phoneme{background:var(--surface-muted);border-radius:var(--radius-sm);align-items:baseline;gap:4px;padding:3px 8px;display:inline-flex}.sentence-sheet-phoneme>span{color:var(--tone);font-family:var(--font-ipa);font-size:.875rem;font-weight:600}.sentence-sheet-phoneme small{color:var(--ink-500);font-size:.625rem;font-weight:600}@media (hover:hover){.sentence-sheet-compare-btn:not(.sentence-sheet-compare-on):hover{background:var(--surface-muted)}}.create-screen{flex-direction:column;max-width:640px;min-height:calc(100vh - 200px);margin-inline:auto;display:flex}.create-subtitle{color:var(--ink-700);text-align:center;margin:-4px 0 20px;font-size:.9375rem}.create-form{flex-direction:column;gap:12px;display:flex}.create-ideas-label{color:var(--ink-500);margin:8px 0 0;font-size:.8125rem;font-weight:600}.create-cta{justify-content:center;align-self:stretch;margin-top:12px}.create-waiting{text-align:center;justify-content:center;gap:12px}.create-waiting h1{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:clamp(1.5rem,4vw,1.875rem);font-weight:600}.create-progress{gap:10px;width:min(360px,100%);margin-inline:auto;display:grid}.create-progress p{color:var(--ink-700);margin:0;font-size:.875rem;font-weight:600}.create-hint{color:var(--ink-500);margin:0;font-size:.8125rem}.reading-levels{flex-direction:column;align-items:flex-start;gap:8px;margin-top:-6px;margin-bottom:16px;display:flex}.reading-level-toggle{min-height:30px;color:var(--ink-700);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-pill);cursor:pointer;align-items:center;gap:6px;padding:4px 12px;font-size:.75rem;font-weight:600;display:inline-flex}.reading-level-chips{flex-wrap:wrap;gap:6px;display:flex}.level-chip{min-height:30px;color:var(--ink-700);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-pill);cursor:pointer;padding:4px 12px;font-size:.75rem;font-weight:600}.level-chip-active{color:var(--canvas);background:var(--ink-900);border-color:var(--ink-900)}@media (width>=1100px){.reader-full{max-width:880px}.reading-screen:not(.reader-full){max-width:960px}.reader-title{font-size:3.25rem}.reader-body p{font-size:1.3125rem}.reader-karaoke p{margin-bottom:20px;font-size:1.5rem;line-height:1.65}.speak-word-text,.speak-sentence-text{font-size:1.75rem}}.speak-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.speak-header h1{font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-size:clamp(1.75rem,4vw,2rem);font-weight:600}.speak-header p{color:var(--ink-700);margin:2px 0 0;font-size:.8125rem}.speak-header-actions{flex-shrink:0;gap:8px;display:flex}.speak-history{width:40px;height:40px;color:var(--ink-700);background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-pill);cursor:pointer;place-items:center;display:grid}.persona-card{color:var(--card-ink);text-align:left;background:var(--role-lavender);border-radius:var(--radius-xl);cursor:pointer;font:inherit;border:0;align-items:center;gap:14px;padding:16px 20px;display:flex}.persona-card[data-accent=blue]{background:var(--role-blue)}.persona-card[data-accent=pink]{background:var(--role-pink)}.persona-card:active{opacity:.9;transform:scale(.985)}.persona-copy{flex:1;gap:2px;min-width:0;display:grid}.persona-copy strong{letter-spacing:-.01em;font-size:1.0625rem;font-weight:600}.persona-copy small{opacity:.8;font-size:.8125rem;line-height:1.35}.call-orb{background:var(--role-lavender);border-radius:var(--radius-pill);width:156px;height:156px;transition:transform .12s ease-out}.call-orb[data-accent=blue]{background:var(--role-blue)}.call-orb[data-accent=pink]{background:var(--role-pink)}.settings-choices{border-top:1px solid var(--border);flex-wrap:wrap;gap:8px;padding:4px 20px 16px;display:flex}.settings-chip{color:var(--ink-700);background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-pill);cursor:pointer;padding:8px 14px;font-size:.8125rem;font-weight:600}.settings-choices-flat{border-top:0;padding-inline:0}.report-sheet{flex-direction:column;gap:12px;display:flex}.report-subtitle{color:var(--ink-500);margin:-6px 0 0;font-size:.8125rem}.report-chips{flex-wrap:wrap;gap:8px;display:flex}.report-chip{color:var(--ink-700);background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-pill);cursor:pointer;padding:8px 14px;font-size:.8125rem;font-weight:600}.report-chip-on{color:var(--orange-700);background:var(--orange-50);border-color:var(--orange-500)}.report-input{min-height:88px;color:var(--ink-900);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);font:inherit;resize:vertical;padding:12px;font-size:.875rem}.report-note{color:var(--ink-500);margin:0;font-size:.75rem}.report-note-error{color:var(--danger)}.report-send{justify-content:center}.report-cancel{color:var(--ink-700);cursor:pointer;background:0 0;border:none;padding:8px;font-size:.9375rem;font-weight:600}.report-thanks{color:var(--success);text-align:center;flex-direction:column;align-items:center;gap:6px;padding:16px 0 8px;display:flex}.report-thanks-body{color:var(--ink-500);margin:0;font-size:.875rem}.runner-brief{animation:brief-rise .45s var(--ease-out) both;gap:16px;display:grid}@keyframes brief-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.runner-brief-main,.runner-brief-side{border:2px solid var(--border);border-radius:var(--radius-xl);padding:24px}.runner-brief-main h2{max-width:42ch;font-family:var(--font-display);letter-spacing:-.04em;margin:12px 0 0;font-size:clamp(1.375rem,3.2vw,2.125rem);font-weight:600;line-height:1.15}.runner-brief-steps{gap:8px;margin:24px 0 0;padding:0;list-style:none;display:grid}.runner-brief-steps li{background:var(--surface-muted);border-radius:var(--radius-lg);grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:4px 12px;padding:16px;display:grid}.runner-brief-steps li.is-spoken{background:var(--orange-50);box-shadow:inset 0 0 0 1px var(--orange-200)}.runner-brief-step-mark{width:34px;height:34px;color:var(--ink-500);background:var(--surface);border-radius:var(--radius-md);place-items:center;display:grid}.runner-brief-steps li.is-spoken .runner-brief-step-mark{color:var(--on-accent);background:var(--orange-500)}.runner-brief-step-head{flex-wrap:wrap;align-items:baseline;gap:8px;min-width:0;display:flex}.runner-brief-step-head strong{font-size:.9375rem;font-weight:600}.runner-brief-step-head>span{color:var(--ink-500);font-variant-numeric:tabular-nums;font-size:.75rem;font-weight:600}.runner-brief-step-mic{color:var(--ink-500);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;font-size:.75rem;font-weight:600}.runner-brief-steps li.is-spoken .runner-brief-step-mic{color:var(--orange-700)}.runner-brief-steps li p{color:var(--ink-700);grid-column:2/-1;margin:2px 0 0;font-size:.75rem;line-height:1.5}.runner-brief-side{flex-direction:column;gap:12px;display:flex}.runner-brief-scored{flex-wrap:wrap;gap:8px;margin:0 0 8px;padding:0;list-style:none;display:flex}.runner-brief-scored li{color:var(--ink-900);background:var(--surface-muted);border-radius:var(--radius-pill);padding:8px 12px;font-size:.75rem;font-weight:600}.runner-brief-mic-note{color:var(--ink-700);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);grid-template-columns:17px minmax(0,1fr);align-items:start;gap:8px;margin:0;padding:16px;font-size:.75rem;line-height:1.5;display:grid}.runner-brief-mic-note svg{color:var(--ink-500);margin-top:2px}.runner-brief-side .primary-button{border-radius:var(--radius-pill);min-height:52px;margin-top:auto}.runner-brief-side .privacy-note{margin:0}.prepare-mark{width:74px;height:74px;color:var(--ink-700);background:var(--surface-muted);border-radius:50%;place-items:center;margin-bottom:16px;display:grid}.prepare-advice{max-width:40ch;color:var(--ink-700);margin:0 0 16px;font-size:.75rem;line-height:1.55}.mic-off-note{color:var(--ink-700);background:var(--surface-muted);border-radius:var(--radius-pill);align-items:center;gap:8px;padding:8px 12px;font-size:.75rem;font-weight:600;display:inline-flex}.mic-off-note svg{color:var(--ink-500)}.timer-panel .text-button{color:var(--ink-500);margin-top:12px;font-size:.75rem}@media (width>=900px){.runner-brief{grid-template-columns:minmax(0,1.5fr) minmax(280px,.72fr);align-items:start}.runner-brief-main,.runner-brief-side{padding:28px}}.auth-screen{background:var(--canvas);justify-content:center;min-height:100vh;padding:24px;display:flex}.auth-title{font-family:var(--font-display);letter-spacing:-.03em;text-align:center;margin:0 0 8px;font-size:clamp(1.5rem,3.2vw,1.75rem);font-weight:600;line-height:1.25}.auth-subtitle{color:var(--ink-500);letter-spacing:.1px;text-align:center;margin:0;font-size:14px;line-height:20px}.auth-form{flex-direction:column;gap:12px;margin-top:24px;display:flex}.auth-form[data-shake]{animation:.2s linear auth-shake}@keyframes auth-shake{25%{transform:translate(10px)}50%{transform:translate(-10px)}75%{transform:translate(10px)}}.auth-error{color:var(--danger);background:var(--danger-soft);border:1px solid var(--danger);border-radius:var(--radius-md);align-items:center;gap:8px;margin:0;padding:10px 12px;font-size:.8125rem;line-height:18px;display:flex}.auth-error-text{flex:1}.auth-social-btn{min-height:52px;color:var(--ink-900);background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-pill);cursor:pointer;transition:background var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);place-items:center;display:grid}.auth-social-btn:active{background:var(--surface-muted);transform:scale(.98)}.auth-divider{align-items:center;gap:12px;margin:4px 0;display:flex}.auth-divider span{background:var(--border);flex:1;height:1px}.auth-divider small{color:var(--ink-500);letter-spacing:.2px;font-size:13px}.auth-input{width:100%;min-height:52px;color:var(--ink-900);background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-md);caret-color:var(--orange-500);font:inherit;padding:14px 12px;font-size:16px}.auth-input::placeholder{color:var(--ink-300)}.auth-input:focus{border-color:var(--orange-500);outline:none}.auth-password{position:relative}.auth-password .auth-input{padding-right:52px}.auth-password button{width:40px;height:40px;color:var(--ink-500);cursor:pointer;background:0 0;border:0;place-items:center;display:grid;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.auth-forgot{color:var(--orange-700);cursor:pointer;font:inherit;letter-spacing:.1px;background:0 0;border:0;align-self:flex-end;margin-top:-4px;padding:4px;font-size:13px;font-weight:600}.auth-cta{min-height:56px;color:var(--on-accent);background:var(--orange-500);border-radius:var(--radius-pill);box-shadow:var(--shadow-md);cursor:pointer;letter-spacing:.2px;border:0;place-items:center;padding:16px 24px;font-family:inherit;font-size:16px;font-weight:600;display:grid}.auth-cta:hover:not(:disabled){background:var(--orange-600)}.auth-cta:disabled{cursor:default;opacity:.7}.auth-demo{color:var(--ink-500);cursor:pointer;background:0 0;border:0;margin-top:16px;padding:12px;font-size:.8125rem;font-weight:600;text-decoration:underline}.auth-legal{color:var(--ink-500);letter-spacing:.1px;text-align:center;margin:auto 0 0;padding:16px;font-size:12px;line-height:16px}.auth-legal a{color:var(--ink-700);text-decoration:underline}.auth-google-loading{color:var(--ink-500);flex-direction:column;align-items:center;gap:16px;margin:auto;font-size:.9375rem;display:flex}.auth-google-loading p{margin:0}.auth-spinner{border:3px solid var(--border);border-top-color:var(--orange-500);border-radius:var(--radius-pill);width:24px;height:24px;animation:.8s linear infinite auth-spin}.auth-spinner-on-accent{border-color:color-mix(in srgb, var(--on-accent) 35%, transparent);border-top-color:var(--on-accent);width:18px;height:18px}@keyframes auth-spin{to{transform:rotate(360deg)}}.auth-lockup{align-items:flex-end;gap:8px;padding-bottom:1px;display:inline-flex}.auth-page .auth-top-spacer{flex:.6;min-height:20px}.auth-page .auth-bottom-spacer{flex:1;min-height:20px}.auth-page .auth-title{letter-spacing:-.5px;white-space:pre-line;margin:0 0 24px;font-size:26px;line-height:32px}.auth-page .auth-form{margin-top:0}.auth-page-recovery .auth-top-spacer{flex:.4}.auth-headline{text-align:center;gap:8px;margin-bottom:24px;display:grid}.auth-page .auth-headline .auth-title,.auth-page .auth-success .auth-title{margin:0}.auth-cta-wrap{flex-direction:column;padding-top:12px;display:flex}.auth-success{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:0 16px;display:flex}.auth-success-icon{width:80px;height:80px;color:var(--success);background:var(--success-soft);border-radius:50%;place-items:center;margin-bottom:12px;display:grid}.auth-resend{color:var(--orange-500);cursor:pointer;font:inherit;letter-spacing:.1px;background:0 0;border:0;margin-top:12px;padding:8px 12px;font-size:15px;font-weight:600}.auth-resend:disabled{color:var(--ink-500);cursor:default}.auth-page .auth-legal{margin:0}@media (hover:hover){.auth-social-btn:hover{background:var(--surface-muted)}}@media (width>=860px){.auth-page .auth-top-spacer,.auth-page .auth-bottom-spacer{display:none}.auth-page .auth-title{letter-spacing:-.025em;text-align:left;margin-bottom:32px;font-size:clamp(2rem,3.2vw,2.5rem);line-height:1.12}.auth-page .auth-form,.auth-page .auth-demo{width:100%;max-width:440px}.auth-page .auth-legal{text-align:left;max-width:440px;margin-top:24px;padding:0}.auth-headline{text-align:left;max-width:440px;margin-bottom:32px}.auth-page .auth-subtitle{text-align:left;font-size:1rem;line-height:1.5}.auth-success{text-align:left;align-items:flex-start;max-width:440px;padding:0}.auth-resend{margin-left:-12px}.auth-cta-wrap{width:100%;max-width:440px;margin-top:24px;padding-top:0}}@media (prefers-reduced-motion:reduce){.auth-form[data-shake],.auth-social-btn{transition:none;animation:none}}.notes-screen{flex-direction:column;max-width:720px;min-height:calc(100vh - 160px);margin-inline:auto;display:flex}.notes-header{align-items:center;gap:12px;margin-bottom:12px;display:flex}.notes-header h2{text-align:center;flex:1;margin:0;font-size:1.0625rem;font-weight:600}.notes-header-spacer{width:40px}.notes-rail{gap:6px;margin-bottom:16px;display:flex}.notes-rail-segment{background:var(--border);border-radius:var(--radius-pill);flex:1;height:3px}.notes-rail-done{background:var(--orange-500)}.notes-pager{border-radius:var(--radius-2xl);scroll-snap-type:x mandatory;scrollbar-width:none;flex:1;display:flex;overflow-x:auto}.notes-pager::-webkit-scrollbar{display:none}.notes-page{scroll-snap-align:start;flex:0 0 100%;display:flex;overflow:hidden auto}.notes-page-inner{flex-direction:column;justify-content:center;gap:16px;width:100%;margin:auto 0;padding:8px 4px 24px;display:flex}.notes-rich{margin:0;font-size:1.0625rem;line-height:1.65}.notes-rich-emphasis{font-style:normal;font-weight:600}.notes-rich-word{color:inherit;cursor:pointer;font:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--ink-300);text-decoration-color:var(--ink-300);text-underline-offset:3px;background:0 0;border:0;padding:0;font-weight:600}.notes-cover{flex-direction:column;gap:16px;display:flex}.notes-poster{background:var(--role-blue);border-radius:var(--radius-2xl);color:var(--card-ink);padding:24px;position:relative;overflow:hidden}.notes-cover[data-accent=lavender] .notes-poster{background:var(--role-lavender)}.notes-cover[data-accent=mint] .notes-poster{background:var(--role-mint)}.notes-cover[data-accent=blue] .notes-poster{background:var(--role-blue)}.notes-cover[data-accent=lime] .notes-poster{background:var(--role-lime)}.notes-cover[data-accent=pink] .notes-poster{background:var(--role-pink)}.notes-poster-ipa{font-family:var(--font-ipa);font-size:2.75rem;font-weight:600;line-height:1.1}.notes-poster h1{max-width:70%;font-family:var(--font-display);letter-spacing:-.02em;margin:8px 0 0;font-size:1.375rem;font-weight:600;line-height:1.2}.notes-poster-subtitle{opacity:.75;max-width:70%;margin:8px 0 0;font-size:.875rem;line-height:1.4}.notes-doodle{opacity:.92;pointer-events:none;width:96px;height:96px;position:absolute;bottom:12px;right:16px}.notes-anchor{animation:poster-label-in var(--duration-medium) var(--ease-standard);flex-direction:column;gap:8px;display:flex}.notes-pairs{flex-direction:column;gap:8px;display:flex}.notes-pair-head{color:var(--ink-500);letter-spacing:.1em;text-align:center;text-transform:uppercase;grid-template-columns:1fr 1fr 34px;gap:8px;font-size:.6875rem;font-weight:600;display:grid}.notes-pair-head-on{color:var(--ink-900);font-family:var(--font-ipa);letter-spacing:0;text-transform:none}.notes-pair-row{grid-template-columns:1fr 1fr 34px;align-items:stretch;gap:8px;display:grid}.notes-pair-cell{color:var(--ink-900);background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-md);cursor:pointer;font:inherit;place-items:center;gap:2px;padding:12px 8px;display:grid}.notes-pair-cell-on[data-accent=lavender]{background:color-mix(in srgb, var(--role-lavender) 24%, var(--surface))}.notes-pair-cell-on[data-accent=mint]{background:color-mix(in srgb, var(--role-mint) 24%, var(--surface))}.notes-pair-cell-on[data-accent=blue]{background:color-mix(in srgb, var(--role-blue) 24%, var(--surface))}.notes-pair-cell-on[data-accent=lime]{background:color-mix(in srgb, var(--role-lime) 24%, var(--surface))}.notes-pair-cell-on[data-accent=pink]{background:color-mix(in srgb, var(--role-pink) 24%, var(--surface))}.notes-pair-word{font-family:var(--font-display);align-items:center;gap:6px;font-size:1.1875rem;font-weight:600;display:inline-flex}.notes-pair-ipa{color:var(--ink-500);font-family:var(--font-ipa);font-size:.75rem}.notes-pair-swap{width:34px;height:34px;color:var(--orange-500);border:2px solid var(--border);border-radius:var(--radius-md);cursor:pointer;background:0 0;align-self:center;place-items:center;display:grid}.notes-footer{justify-content:space-between;align-items:center;gap:12px;padding-top:16px;display:flex}.notes-save{width:50px;height:50px;color:var(--ink-700);border:2px solid var(--border);border-radius:var(--radius-pill);cursor:pointer;background:0 0;place-items:center;display:grid}.notes-save-on{color:var(--card-ink);background:var(--orange-500);border-color:var(--orange-500)}@media (width>=1100px){.notes-screen{max-width:900px}.notes-header h2{font-size:1.25rem}.notes-rail{margin-bottom:24px}.notes-page-inner{gap:24px;padding:16px 8px 32px}.notes-rich{max-width:40em;font-size:1.3125rem;line-height:1.6}.notes-poster{padding:40px}.notes-poster-ipa{font-size:4rem}.notes-poster h1{font-size:2rem}.notes-poster-subtitle{font-size:1.0625rem}.notes-doodle{width:150px;height:150px;bottom:24px;right:32px}.notes-pair-head,.notes-pair-row{grid-template-columns:1fr 1fr 44px;gap:12px}.notes-pair-head{font-size:.75rem}.notes-pair-cell{padding:18px 12px}.notes-pair-word{font-size:1.5rem}.notes-pair-ipa{font-size:.9375rem}.notes-pair-swap{width:44px;height:44px}}.imm-screen{flex-direction:column;max-width:560px;min-height:calc(100vh - 160px);margin-inline:auto;display:flex}.imm-header{align-items:center;gap:12px;margin-bottom:12px;display:flex}.imm-header-center{text-align:center;flex:1;gap:2px;display:grid}.imm-header-center p{color:var(--ink-700);margin:0;font-size:.875rem;font-weight:600}.imm-sound{font-family:var(--font-ipa)}.imm-header-center small{color:var(--ink-500);font-size:.75rem}.imm-settings{width:40px;height:40px;color:var(--ink-700);background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-pill);cursor:pointer;place-items:center;display:grid}.imm-settings-active{border-color:var(--orange-500);color:var(--orange-500)}.imm-modes{background:var(--surface-muted);border-radius:var(--radius-pill);gap:4px;padding:4px;display:flex}.imm-mode{color:var(--ink-700);border-radius:var(--radius-pill);cursor:pointer;background:0 0;border:0;flex:1;justify-content:center;align-items:center;gap:8px;padding:10px;font-size:.875rem;font-weight:600;display:inline-flex}.imm-mode-active{background:var(--role-lime);color:var(--card-ink)}.imm-hint{color:var(--ink-500);text-align:center;margin:12px 0 8px;font-size:.8125rem}.imm-progress{background:var(--surface-muted);border-radius:var(--radius-pill);height:3px;margin-bottom:16px;overflow:hidden}.imm-progress span{background:var(--orange-500);height:100%;transition:width var(--duration-medium) var(--ease-standard);display:block}.imm-card{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:24px 0;display:flex}.imm-word{font-family:var(--font-display);letter-spacing:-.01em;text-align:center;margin:0;font-size:clamp(2rem,8vw,2.5rem);font-weight:700}.imm-ipa{color:var(--orange-600);font-family:var(--font-ipa);margin:0;font-size:1.375rem;font-weight:600}.poster-aid{gap:4px;width:100%;margin:0;padding-top:8px;display:grid}.poster-aid>div{align-items:baseline;gap:12px;display:flex}.poster-aid dt{width:92px;color:var(--ink-500);letter-spacing:.14em;text-align:right;text-transform:uppercase;font-size:.625rem;font-weight:600}.poster-aid dd{text-overflow:ellipsis;margin:0;font-size:.875rem;overflow:hidden}.poster-aid-respelling{letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;font-weight:600}.imm-aid{max-width:360px}.imm-status{align-items:center;gap:8px;margin:0;font-size:.8125rem;font-weight:600;display:inline-flex}.imm-status-error{color:var(--danger)}.imm-status-live{color:var(--ink-700)}.imm-dot{background:var(--danger);border-radius:var(--radius-pill);width:8px;height:8px;animation:1s ease-in-out infinite imm-blink}@keyframes imm-blink{50%{opacity:.3}}.imm-transport{align-items:center;gap:32px;margin-top:12px;display:flex}.imm-side{width:44px;height:44px;color:var(--ink-700);border-radius:var(--radius-pill);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.imm-side:disabled{cursor:default;opacity:.3}.imm-center{width:64px;height:64px;color:var(--orange-500);background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-pill);cursor:pointer;place-items:center;display:grid}.imm-center-recording{color:var(--danger);background:var(--danger-soft);border-color:var(--danger)}.imm-center-busy{color:var(--orange-500);background:var(--surface);cursor:default}.imm-center-paused{color:var(--card-ink);background:var(--orange-500);border-color:var(--orange-500)}.imm-sheet-scrim{z-index:40;background:#00000059;place-items:end center;display:grid;position:fixed;inset:0}.imm-sheet{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-2xl);flex-direction:column;gap:8px;width:min(480px,100%);margin-bottom:16px;padding:20px;display:flex}.imm-sheet-title{font-family:var(--font-display);margin:0 0 4px;font-size:1.0625rem;font-weight:600}.imm-sheet-question{color:var(--ink-500);margin:0 0 4px;font-size:.875rem}.imm-sheet-row{color:var(--ink-900);text-align:left;background:var(--surface-muted);border-radius:var(--radius-md);cursor:pointer;font:inherit;border:0;align-items:center;gap:12px;padding:12px;font-weight:600;display:flex}.imm-sheet-row small{color:var(--ink-500);margin-left:auto;font-weight:400}.imm-scope{color:var(--ink-900);text-align:left;background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-md);cursor:pointer;font:inherit;align-items:center;gap:12px;padding:12px;display:flex}.imm-scope-active{background:var(--role-lime);color:var(--card-ink);border-color:#0000}.imm-scope-copy{flex:1;gap:2px;display:grid}.imm-scope-copy strong{font-size:.9375rem}.imm-scope-copy small{opacity:.75;font-size:.75rem}.cad-screen{flex-direction:column;max-width:640px;min-height:calc(100vh - 160px);margin-inline:auto;display:flex}.cad-header{align-items:center;gap:16px;margin-bottom:24px;display:flex}.cad-dashes{flex:1;gap:6px;display:flex}.cad-dash{background:var(--border);border-radius:var(--radius-pill);flex:1;height:3px}.cad-dash-done{background:var(--ink-700)}.cad-dash-current{background:var(--orange-500)}.cad-bar{flex:1;margin:0}.cad-stage{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:20px;display:flex}.cad-line{font-family:var(--font-display);letter-spacing:-.01em;text-align:center;margin:0;font-size:clamp(1.375rem,4vw,1.625rem);font-weight:600;line-height:1.4}.cad-token-focus{font-weight:700}.cad-token-ok{color:var(--success)}.cad-token-almost{color:var(--warning)}.cad-token-miss{color:var(--orange-500)}.cad-compare{gap:12px;display:flex}.cad-compare-btn{color:var(--ink-900);background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-pill);cursor:pointer;align-items:center;gap:8px;padding:10px 16px;font-size:.875rem;font-weight:600;display:inline-flex}.cad-compare-on{background:var(--ink-900);border-color:var(--ink-900);color:var(--canvas)}.cad-footer{flex-direction:column;align-items:center;gap:12px;padding-top:16px;display:flex}.cad-instruction{min-height:1.2em;color:var(--ink-500);margin:0;font-size:.875rem}.cad-mic{width:76px;height:76px;color:var(--card-ink);background:var(--orange-500);border-radius:var(--radius-pill);cursor:pointer;border:0;place-items:center;display:grid}.cad-mic-recording{background:var(--danger);color:var(--on-accent)}.cad-mic-busy{background:var(--surface-muted);color:var(--orange-500);cursor:default}.cad-actions{gap:12px;display:flex}.cad-done{text-align:center;justify-content:flex-start;gap:8px;padding-top:96px}.cad-done h1{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:clamp(1.5rem,4vw,2rem);font-weight:600}.cad-time{margin-top:16px}.cad-seconds{font-family:var(--font-display);margin:0;font-size:2.5rem;font-weight:600}.cad-time-caption,.cad-best{color:var(--ink-500);margin:4px 0 0;font-size:.8125rem}.cad-record{color:var(--ink-900);margin:4px 0 0;font-size:.8125rem;font-weight:600}.cad-done-actions{flex-direction:column;align-items:center;gap:12px;margin-top:24px;display:flex}.cread-screen{flex-direction:column;max-width:680px;min-height:calc(100vh - 160px);margin-inline:auto;display:flex}.cread-meta{color:var(--ink-500);letter-spacing:.08em;text-transform:uppercase;margin:0 0 4px;font-size:.75rem;font-weight:600}.cread-invite{color:var(--ink-700);margin:0 0 16px;font-size:.875rem;line-height:1.5}.cread-body{flex:1;padding-bottom:16px;overflow-y:auto}.cread-text{font-family:var(--font-display);margin:0;font-size:1.25rem;font-weight:500;line-height:1.7}.cread-token-focus{color:var(--orange-500);font-weight:700}.cread-token-spoken{background:color-mix(in srgb, var(--orange-500) 35%, transparent);border-radius:4px}.cread-player{border-top:1px solid var(--border);align-items:center;gap:12px;padding:12px 0 4px;display:flex}.cread-play{width:48px;height:48px;color:var(--card-ink);background:var(--orange-500);border-radius:var(--radius-pill);cursor:pointer;border:0;flex-shrink:0;place-items:center;display:grid}.cread-time{min-width:40px;color:var(--ink-500);font-variant-numeric:tabular-nums;text-align:center;font-size:.75rem}.cread-track{background:var(--surface-muted);border-radius:var(--radius-pill);cursor:pointer;flex:1;height:6px;position:relative;overflow:hidden}.cread-track-fill{background:var(--orange-500);border-radius:var(--radius-pill);position:absolute;inset:0 auto 0 0}.cread-rate{color:var(--ink-700);border:2px solid var(--border);border-radius:var(--radius-pill);cursor:pointer;background:0 0;flex-shrink:0;padding:8px 12px;font-size:.75rem;font-weight:700}.cread-rate-on{background:color-mix(in srgb, var(--orange-500) 10%, transparent);border-color:var(--orange-500);color:var(--orange-600)}.cread-noaudio{border-top:1px solid var(--border);color:var(--ink-500);align-items:center;gap:8px;margin:0;padding:12px 0 4px;font-size:.875rem;display:inline-flex}@media (width>=1100px){.cread-screen{max-width:880px}.cread-invite{font-size:1rem}.cread-text{font-size:1.625rem;line-height:1.65}}.course-screen{flex-direction:column;max-width:640px;margin-inline:auto;display:flex}.course-kicker{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.course-kicker p{color:var(--ink-500);letter-spacing:.18em;text-transform:uppercase;margin:0;font-size:.625rem;font-weight:600}.course-change{color:var(--ink-700);background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-pill);cursor:pointer;align-items:center;gap:6px;padding:8px 14px;font-size:.8125rem;font-weight:600;display:inline-flex}.course-poster{background:var(--role-blue);border-radius:var(--radius-2xl);color:var(--card-ink);padding:24px;position:relative;overflow:hidden}.course-poster[data-accent=lavender]{background:var(--role-lavender)}.course-poster[data-accent=mint]{background:var(--role-mint)}.course-poster[data-accent=blue]{background:var(--role-blue)}.course-poster[data-accent=lime]{background:var(--role-lime)}.course-poster[data-accent=pink]{background:var(--role-pink)}.course-state-pill{border:2px solid var(--card-ink);border-radius:var(--radius-pill);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:6px;margin-bottom:8px;padding:4px 10px;font-size:.625rem;font-weight:700;display:inline-flex}.course-poster-ipa{font-family:var(--font-ipa);margin:0;font-size:2.75rem;font-weight:600;line-height:1.15}.course-poster h1{max-width:68%;font-family:var(--font-display);letter-spacing:-.02em;margin:8px 0 0;font-size:1.375rem;font-weight:600;line-height:1.2}.course-poster-subtitle{opacity:.75;max-width:68%;margin:8px 0 0;font-size:.875rem;line-height:1.4}.course-poster-doodle{opacity:.92;pointer-events:none;width:104px;height:104px;position:absolute;bottom:44px;right:16px}.course-progress{margin-top:16px}.course-progress-track{background:color-mix(in srgb, var(--card-ink) 18%, transparent);border-radius:var(--radius-pill);height:4px;display:block;overflow:hidden}.course-progress-track span{background:var(--card-ink);border-radius:var(--radius-pill);height:100%;transition:width var(--duration-medium) var(--ease-standard);display:block}.course-progress p{margin:8px 0 0;font-size:.8125rem;font-weight:600}.course-today{margin:24px 0 12px}.course-actions{flex-direction:column;gap:8px;display:flex}.course-action{color:var(--ink-900);text-align:left;background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-xl);cursor:pointer;font:inherit;align-items:center;gap:14px;padding:14px 16px;display:flex}.course-action-glyph{width:46px;height:46px;color:var(--ink-700);background:var(--surface-muted);border-radius:var(--radius-pill);flex-shrink:0;place-items:center;display:grid}.course-action-primary{background:var(--orange-500);border-color:var(--orange-500);color:var(--card-ink)}.course-action-primary .course-action-glyph{background:var(--canvas);color:var(--orange-600)}.course-action-copy{flex:1;gap:2px;min-width:0;display:grid}.course-action-copy strong{font-size:.9375rem;font-weight:600}.course-action-copy small{opacity:.75;text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;overflow:hidden}.course-neighbours{flex-direction:column;gap:8px;margin-bottom:24px;display:flex}.course-neighbour{color:var(--ink-900);text-align:left;background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;font:inherit;align-items:center;gap:12px;padding:10px 12px;display:flex}.course-neighbour-chip{width:44px;height:44px;color:var(--card-ink);background:var(--role-blue);border-radius:var(--radius-md);font-family:var(--font-ipa);flex-shrink:0;place-items:center;font-size:.8125rem;font-weight:600;display:grid}.course-neighbour-chip[data-accent=lavender]{background:var(--role-lavender)}.course-neighbour-chip[data-accent=mint]{background:var(--role-mint)}.course-neighbour-chip[data-accent=blue]{background:var(--role-blue)}.course-neighbour-chip[data-accent=lime]{background:var(--role-lime)}.course-neighbour-chip[data-accent=pink]{background:var(--role-pink)}.course-neighbour-copy{flex:1;gap:2px;min-width:0;display:grid}.course-neighbour-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:600;overflow:hidden}.course-neighbour-copy small{color:var(--ink-500);font-size:.75rem}.course-neighbour-due{color:var(--warning);font-style:normal;font-weight:600}@media (hover:hover){.course-action:hover:not(.course-action-primary),.course-neighbour:hover{border-color:var(--border-strong)}}.app-tools{align-items:center;gap:2px;display:flex;position:relative}.app-tool{height:36px;color:var(--ink-700);border-radius:var(--radius-pill);cursor:pointer;font:inherit;transition:background var(--duration-fast) var(--ease-out);background:0 0;border:0;justify-content:center;align-items:center;gap:4px;display:inline-flex}.app-tool-language{padding:0 8px}.app-tool-theme{width:36px}.app-tool-code{letter-spacing:.5px;font-size:13px;font-weight:600}@media (width<=419px){.app-tool-language>.app-icon:last-child{display:none}}.app-tools-menu{z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);min-width:168px;box-shadow:var(--shadow-md);animation:app-tools-fade var(--duration-fast) var(--ease-standard) both;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);right:0}.app-tools-option{color:var(--ink-900);border-radius:var(--radius-sm);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;font-size:15px;display:flex}.app-tools-option-current{font-weight:600}.app-tools-option .app-icon{color:var(--orange-500)}@keyframes app-tools-fade{0%{opacity:0;transform:translateY(-4px)}}@media (hover:hover){.app-tool:hover,.app-tools-option:hover{background:var(--surface-muted)}}@media (prefers-reduced-motion:reduce){.app-tools-menu{animation:none}}.ob-screen{min-height:100dvh;color:var(--ink-900);background:var(--canvas);display:flex;overflow-x:clip}.ob-stage{min-width:0;animation:ob-page-in .22s var(--ease-standard) both;flex-direction:column;flex:1;display:flex}@keyframes ob-page-in{0%{opacity:0;transform:translate(20px)}}.ob-notice{z-index:20;max-width:420px;color:var(--ink-900);background:var(--surface);border:2px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:ob-notice-in .24s var(--ease-standard) both;align-items:flex-start;gap:10px;margin-inline:auto;padding:12px 14px;display:flex;position:fixed;top:16px;left:16px;right:16px}.ob-notice>svg{color:var(--orange-500);flex:none;margin-top:1px}.ob-notice-text{flex-direction:column;flex:1;gap:2px;min-width:0;font-size:.8125rem;line-height:1.45;display:flex}.ob-notice-text strong{font-weight:600}.ob-notice-text span{color:var(--ink-700)}.ob-notice-close{width:26px;height:26px;color:var(--ink-500);border-radius:var(--radius-pill);cursor:pointer;background:0 0;border:none;flex:none;place-items:center;display:grid}.ob-notice-close:hover{color:var(--ink-900);background:var(--surface-muted)}@keyframes ob-notice-in{0%{opacity:0;transform:translateY(-10px)}}@keyframes ob-enter{0%{opacity:0;transform:translateY(10px)}}@keyframes ob-fade{0%{opacity:0}}.ob-enter{animation:ob-enter var(--duration-medium) var(--ease-entrance) both}.ob-fade-in{animation:ob-fade var(--duration-medium) var(--ease-standard) both}.ob-page{flex-direction:column;width:min(520px,100%);min-height:min(100dvh,920px);margin:auto;padding:8px 24px 16px;display:flex}.ob-main{flex-direction:column;flex:1;min-width:0;display:flex}.ob-aside{display:none}.ob-side-character{aspect-ratio:1;width:100%;position:relative}.ob-spacer{flex:1;min-height:16px}.ob-scroll{flex-direction:column;flex:1;display:flex}.ob-center{flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.ob-topbar{justify-content:center;align-items:center;min-height:40px;display:flex;position:relative}.ob-back{width:40px;height:40px;color:var(--ink-900);border-radius:var(--radius-pill);cursor:pointer;background:0 0;border:0;place-items:center;display:grid;position:absolute;left:-12px}.ob-wordmark{color:var(--orange-500);letter-spacing:3px;font-size:16px;font-weight:700}.app-tools.ob-tools-float{position:absolute;right:-8px}.ob-progress{background:var(--surface-muted);border-radius:3px;height:6px;margin-top:16px;overflow:hidden}.ob-progress span{background:var(--orange-500);border-radius:3px;height:100%;display:block}.question-bubble{animation:ob-fade var(--duration-medium) var(--ease-standard) both;align-items:center;margin:24px 0;display:flex}.question-character{flex:0 0 124px;width:124px;height:124px;position:relative}.character-ground{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.character-ground ellipse{fill:var(--role-lavender);opacity:.18}.hello-hero{width:100%;height:100%;display:block;position:relative}.question-bubble-wrap{flex:1;align-items:center;min-width:0;display:flex}.question-bubble-tail{z-index:1;background:var(--surface);border-bottom:1px solid var(--border);border-left:1px solid var(--border);flex:0 0 12px;width:12px;height:12px;margin-right:-6px;position:relative;transform:rotate(45deg)}.question-bubble-body{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);min-width:0;box-shadow:var(--shadow-md);flex:1;padding:16px}.question-bubble-text{color:var(--ink-900);font-family:var(--font-display);letter-spacing:-.2px;margin:0;font-size:19px;font-weight:600;line-height:25px}.question-bubble-ipa{color:var(--orange-700);font-family:var(--font-ipa);letter-spacing:.2px;margin:4px 0 0;font-size:14px;line-height:20px}.ob-question-hint{color:var(--ink-500);margin:-16px 0 16px;font-size:14px;line-height:20px}.ob-options{flex-direction:column;gap:12px;display:flex}.ob-option{min-height:60px;color:var(--ink-900);background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;font:inherit;text-align:left;animation:ob-enter var(--duration-medium) var(--ease-entrance) both;align-items:center;gap:12px;padding:12px 16px;display:flex}.ob-option-selected{background:var(--orange-50);border-color:var(--orange-500)}.ob-option-label{letter-spacing:-.1px;flex:1;font-size:15px;line-height:20px}.ob-option-selected .ob-option-label{font-weight:600}.ob-option .app-icon,.ob-chip .app-icon{color:var(--orange-500)}.ob-language-name{letter-spacing:-.1px;flex:1;font-size:16px;font-weight:600}.ob-other-lang-row{margin-top:12px;animation-delay:.38s}.ob-other-lang-row>.app-icon{color:var(--ink-500)}.ob-other-lang-text{flex:1;gap:2px;display:grid}.ob-other-lang-title{letter-spacing:-.1px;font-size:14px;font-weight:600;line-height:20px}.ob-other-lang-hint{color:var(--ink-500);font-size:13px;line-height:18px}.ob-chips{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.ob-chip{color:var(--ink-900);background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-pill);cursor:pointer;font:inherit;letter-spacing:-.1px;white-space:nowrap;animation:ob-enter var(--duration-medium) var(--ease-entrance) both;align-items:center;gap:12px;padding:12px 16px;font-size:15px;display:inline-flex}.ob-chip-selected{background:var(--orange-50);border-color:var(--orange-500)}.ob-chip-selected .ob-chip-label{font-weight:600}.ob-chip-recommended{color:var(--orange-700);background:var(--orange-100);border-radius:var(--radius-pill);letter-spacing:.4px;text-transform:uppercase;padding:2px 8px;font-size:10px;font-weight:600}.ob-field{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-md);padding:0 12px;display:block}.ob-field:focus-within{border-color:var(--orange-500)}.ob-field-enter{animation:ob-enter var(--duration-medium) var(--ease-entrance) .16s both}.ob-input{width:100%;min-height:56px;color:var(--ink-900);caret-color:var(--orange-500);font:inherit;background:0 0;border:0;outline:none;padding:14px 0;font-size:17px}.ob-input::placeholder{color:var(--ink-300)}.ob-input::selection{background:var(--orange-200)}.ob-input-detail{min-height:52px;padding:12px 0}.ob-input-hint{color:var(--ink-500);margin:12px 0 0;padding:0 4px;font-size:13px;line-height:18px}.ob-detail{margin-top:24px;display:block}.ob-detail-label{color:var(--ink-500);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:600;display:block}.ob-detail-hint{color:var(--ink-500);margin-top:8px;padding:0 4px;font-size:13px;line-height:18px;display:block}.ob-section-label{color:var(--ink-500);letter-spacing:1.8px;text-transform:uppercase;margin:0 0 8px;font-size:11px;font-weight:600}.ob-scenes{min-height:76px;margin-top:24px}.ob-scenes-text{color:var(--ink-700);white-space:pre-wrap;margin:0;font-size:15px;line-height:22px}.ob-scene{white-space:nowrap}.ob-cta-wrap{flex-direction:column;padding-top:16px;display:flex}.ob-cta{width:100%;min-height:56px;color:var(--on-accent);background:var(--orange-500);border-radius:var(--radius-pill);box-shadow:var(--shadow-md);cursor:pointer;font:inherit;letter-spacing:.2px;transition:transform var(--duration-fast) var(--ease-standard);border:0;justify-content:center;align-items:center;padding:16px;font-size:16px;font-weight:600;display:flex}.ob-cta:active:not(:disabled){transform:scale(.98)}.ob-cta:disabled{color:var(--ink-300);background:var(--surface-muted);box-shadow:none;cursor:default}.ob-cta-compact{min-height:50px;padding:12px}.ob-skip{color:var(--ink-500);cursor:pointer;font:inherit;background:0 0;border:0;align-self:center;margin-top:4px;padding:8px;font-size:14px}.ob-mascot-stack{flex-direction:column;flex:1;align-items:center;padding-top:32px;display:flex}.ob-mascot-hero{align-self:stretch;height:300px;margin:0 -24px;position:relative}.ob-mascot-figure{aspect-ratio:1;width:58%;position:absolute;bottom:0;left:21%}.ob-hello-bubble-wrap{animation:ob-enter var(--duration-medium) var(--ease-entrance) .48s both;position:absolute;top:24px;left:56%;right:24px}.ob-hello-bubble-tilt{flex-direction:column;align-items:flex-start;display:flex;transform:rotate(3deg)}.ob-hello-bubble{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);gap:2px;padding:10px 14px;display:grid}.ob-hello-word{color:var(--success);font-family:var(--font-display);letter-spacing:-.3px;font-size:22px;font-weight:600}.ob-hello-foot{align-items:center;gap:8px;display:flex}.ob-hello-ipa{color:var(--success);font-family:var(--font-ipa);letter-spacing:.2px;font-size:13px}.ob-hello-score{color:var(--success);letter-spacing:.3px;font-size:11px;font-weight:600}.ob-hello-tail{background:var(--surface);border-right:1px solid var(--border);border-bottom:1px solid var(--border);width:14px;height:14px;margin:-7px 0 0 16px;transform:rotate(45deg)}.ob-mascot-message{color:var(--ink-900);font-family:var(--font-display);letter-spacing:-.2px;text-align:center;margin:24px 0 0;padding:0 16px;font-size:18px;font-weight:600;line-height:25px}.ob-steps{color:var(--ink-500);text-align:center;margin:0 0 12px;font-size:12px}.ob-encourage{text-align:center;gap:16px}.ob-encourage-prefix{font-family:var(--font-display);letter-spacing:-.8px;white-space:pre-line;margin:0;font-size:38px;font-weight:600;line-height:44px}.ob-encourage-word{color:var(--orange-500);font-family:var(--font-display);letter-spacing:-1.2px;margin:0;font-size:46px;font-weight:600;line-height:54px}.ob-encourage-tagline{color:var(--ink-500);letter-spacing:.1px;margin:16px 0 0;font-size:17px;line-height:24px}.ob-recap{flex-direction:column;align-items:center;margin-top:24px;display:flex}.ob-recap .ob-section-label{margin-bottom:12px}.ob-recap-line{color:var(--ink-700);margin:0;font-size:15px;line-height:24px}.ob-wishlist-header{text-align:center;gap:12px;padding:16px 0 20px;display:grid}.ob-wishlist-title{font-family:var(--font-display);letter-spacing:-.3px;text-align:center;margin:0;padding:0 16px;font-size:28px;font-weight:600;line-height:1.25}.ob-wishlist-intro{color:var(--ink-500);text-align:center;margin:4px 0 0;padding:0 12px;font-size:17px;line-height:1.45}.ob-wishlist-section{margin-top:16px}.ob-wishlist-section .ob-section-label{letter-spacing:1.5px;font-size:12px;font-weight:400}.ob-wish-chips{flex-wrap:wrap;gap:8px;display:flex}.ob-wish-chip{color:var(--ink-900);background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-pill);cursor:pointer;font:inherit;align-items:center;padding:10px 12px;font-size:14px;display:inline-flex}.ob-wish-chip-selected{color:var(--orange-700);background:var(--orange-50);border-color:var(--orange-500)}.ob-wishlist-chosen{align-items:center;gap:16px;display:flex}.ob-change-link{color:var(--ink-500);cursor:pointer;font:inherit;background:0 0;border:0;padding:0;font-size:14px;text-decoration:underline}.ob-wishlist-error{color:var(--danger);background:var(--danger-soft);border:1px solid var(--danger);border-radius:var(--radius-md);align-items:center;gap:8px;margin:16px 0 0;padding:10px 12px;font-size:13px;display:flex}.ob-shake{animation:.15s linear ob-shake}@keyframes ob-shake{33%{transform:translate(8px)}66%{transform:translate(-8px)}}.ob-wishlist-success{gap:12px}.ob-wishlist-email{align-self:stretch;margin-top:24px}.ob-wishlist-confirm{color:var(--ink-700);text-align:left;align-items:flex-start;gap:12px;margin:0;padding:0 4px;font-size:15px;line-height:21px;display:flex}.ob-wishlist-confirm .app-icon{color:var(--success);flex-shrink:0}.ob-intro{text-align:center;grid-template-rows:auto auto auto 1fr auto;grid-template-areas:"brand""headline""sub""hero""actions";justify-items:center;width:100%;min-height:100dvh;padding:16px 24px;display:grid;position:relative}.ob-intro>.app-tools{top:10px;right:16px}.ob-intro-brand{flex-direction:column;grid-area:brand;align-items:center;gap:8px;padding:4px 0;display:flex}.ob-intro-brand-tilt{display:inline-flex;transform:rotate(-2deg)}.ob-intro-headline{color:var(--ink-900);font-family:var(--font-display);letter-spacing:-.032em;flex-direction:column;grid-area:headline;align-items:center;margin:clamp(16px,4vh,40px) 0 0;font-size:56px;font-weight:600;line-height:1.07;display:flex}.ob-intro-line{align-items:flex-start;gap:.143em;display:inline-flex}.ob-intro-wave{align-items:center;gap:.054em;margin-top:.4286em;display:inline-flex}.ob-intro-wave i{background:var(--orange-500);border-radius:.036em;width:.054em;display:block}.ob-intro-sub{max-width:34ch;color:var(--ink-700);grid-area:sub;margin:20px 0 0;padding:0 16px;font-size:17px;line-height:24px}.ob-intro-hero{grid-area:hero;width:calc(100% + 48px);min-height:380px;margin:-16px -24px 0;position:relative}.ob-intro-figure{object-fit:contain;object-position:center bottom;width:100%;height:100%;position:absolute;inset:0}.ob-intro-word-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);text-align:left;gap:2px;padding:7px 10px;display:grid;position:absolute;top:4%;right:12px;transform:rotate(3deg)}.ob-intro-word{color:var(--ink-900);font-family:var(--font-display);letter-spacing:-.3px;font-size:18px;font-weight:600}.ob-intro-word-foot{align-items:center;gap:6px;display:flex}.ob-intro-word-ipa{color:var(--orange-700);font-family:var(--font-ipa);letter-spacing:.2px;font-size:13px}.ob-intro-word-mic{width:20px;height:20px;color:var(--orange-500);background:var(--orange-100);border-radius:50%;place-items:center;display:grid}.ob-intro-actions{flex-direction:column;grid-area:actions;gap:12px;width:100%;padding-bottom:12px;display:flex}.ob-cta-intro{min-height:52px;padding:14px}.ob-signin{color:var(--ink-500);cursor:pointer;font:inherit;letter-spacing:.1px;background:0 0;border:0;align-self:center;padding:8px;font-size:14px}.ob-signin-link{color:var(--ink-900);font-weight:600;text-decoration:underline}.ob-first-impression .ob-intro-brand{animation:ob-fade var(--duration-medium) var(--ease-standard) both}.ob-first-impression .ob-intro-headline{animation:ob-enter var(--duration-entrance) var(--ease-entrance) .15s both}.ob-first-impression .ob-intro-wave{animation:ob-fade var(--duration-medium) var(--ease-standard) .52s both}.ob-first-impression .ob-intro-wave i{animation:.212s ease-in-out both ob-wave-crest}@keyframes ob-wave-crest{50%{transform:scaleY(1.5)}}.ob-first-impression .ob-intro-sub{animation:ob-fade var(--duration-medium) var(--ease-standard) .62s both}.ob-first-impression .ob-intro-figure{animation:ob-enter .45s var(--ease-entrance) .7s both}.ob-first-impression .ob-intro-word-card{animation:ob-card-in var(--duration-medium) var(--ease-entrance) 1.1s both}@keyframes ob-card-in{0%{opacity:0;transform:translateY(10px)rotate(3deg)}}.ob-first-impression .ob-intro-actions{animation:ob-enter .45s var(--ease-entrance) .9s both}@media (width>=860px){.ob-intro{text-align:left;grid-template:"brand hero""headline hero""sub hero""actions hero"/minmax(0,1fr) minmax(0,420px);align-content:center;place-items:center start;column-gap:48px;width:min(1040px,100%);margin:0 auto;padding:24px}.ob-intro-brand{align-items:flex-start;margin-bottom:clamp(40px,8vh,64px)}.ob-intro-headline{align-items:flex-start;margin:0;font-size:clamp(3rem,min(11vh,9.2vw),6.5rem)}.ob-intro-headline:lang(es){font-size:clamp(2.5rem,min(9.2vh,7.6vw),5.4rem)}.ob-intro-sub{margin-top:clamp(16px,3vh,28px);padding:0;font-size:1.125rem}.ob-intro-hero{aspect-ratio:1;width:100%;min-height:0;margin:0}.ob-intro-actions{align-items:flex-start;width:auto;min-width:260px;margin-top:clamp(32px,6vh,56px)}.ob-signin{align-self:flex-start;padding:8px 0}.ob-intro>.app-tools{top:26px}.ob-page{grid-template:"header header""main aside"1fr/minmax(0,1fr) minmax(0,420px);column-gap:48px;width:min(1040px,100%);padding:24px;display:grid}.ob-header{grid-area:header}.ob-main{grid-area:main;align-self:center;padding:clamp(16px,3vh,40px) 0}.ob-aside{grid-area:aside;align-self:center;display:block}.ob-aside .ob-side-character{width:76%;margin:24% 0 0 6%}.ob-spacer{display:none}.ob-center{text-align:left;align-items:flex-start}.question-bubble{margin:0 0 24px}.question-character{display:none}.question-bubble-wrap{flex-direction:row-reverse;align-items:flex-end}.question-bubble-tail{border:0;border-top:1px solid var(--border);border-right:1px solid var(--border);margin:0 0 24px -6px}.question-bubble-body{padding:20px 24px}.question-bubble-text{letter-spacing:-.02em;font-size:clamp(1.5rem,2.6vw,2rem);line-height:1.2}.question-bubble-ipa{margin-top:8px;font-size:1rem;line-height:1.4}.ob-question-hint{margin:-12px 0 24px;font-size:15px;line-height:22px}.ob-chips{justify-content:flex-start}.ob-page .ob-cta-wrap{align-self:flex-start;margin-top:clamp(24px,4vh,40px);padding-top:0}.ob-page .ob-cta{width:auto;min-width:260px;min-height:52px;padding:14px 32px}.ob-main .ob-mascot-hero{display:none}.ob-mascot-stack{flex:none;align-items:flex-start;padding-top:0}.ob-mascot-message{letter-spacing:-.025em;text-align:left;text-wrap:balance;margin:0;padding:0;font-size:clamp(2rem,3.6vw,2.75rem);line-height:1.1}.ob-steps{margin:0 0 12px;font-size:14px}.ob-aside .ob-mascot-hero{aspect-ratio:1;height:auto;margin:0}.ob-aside .ob-mascot-figure{width:76%;left:6%}.ob-aside .ob-hello-bubble-wrap{top:8%;left:60%;right:0}.ob-encourage{gap:0}.ob-encourage-prefix{letter-spacing:-.03em;font-size:clamp(2.5rem,4.6vw,3.75rem);line-height:1.08}.ob-encourage-word{letter-spacing:-.035em;margin-top:8px;font-size:clamp(3rem,5.6vw,4.5rem);line-height:1.05}.ob-encourage-tagline{margin-top:24px;font-size:1.125rem}.ob-recap{align-items:flex-start;margin-top:32px}.ob-wishlist-header{text-align:left;padding:0 0 12px}.ob-wishlist-title{letter-spacing:-.025em;text-align:left;text-wrap:balance;padding:0;font-size:clamp(2rem,3.6vw,2.75rem);line-height:1.1}.ob-wishlist-intro{text-align:left;padding:0}.ob-wishlist-email .question-bubble{margin-bottom:16px}.ob-wishlist-email .question-bubble-text{letter-spacing:-.01em;font-size:1.375rem;line-height:1.3}.ob-wishlist-email .question-bubble-ipa{margin-top:4px;font-size:14px}}@media (hover:hover){.ob-back:hover,.ob-skip:hover,.ob-signin:hover{color:var(--ink-900)}.ob-option:hover:not(.ob-option-selected),.ob-chip:hover:not(.ob-chip-selected),.ob-wish-chip:hover:not(.ob-wish-chip-selected){border-color:var(--border-strong)}}@media (prefers-reduced-motion:reduce){.ob-stage,.ob-enter,.ob-fade-in,.ob-option,.ob-chip,.ob-field-enter,.question-bubble,.ob-hello-bubble-wrap,.ob-shake,.ob-intro *,.ob-first-impression *{animation:none}}.landing{background:var(--canvas);min-height:100dvh;color:var(--ink-900);flex-direction:column;display:flex}.landing-top{z-index:10;background:var(--canvas);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 24px;display:flex;position:sticky;top:0}.landing-brand{color:var(--ink-900);align-items:center;gap:10px;text-decoration:none;display:inline-flex}.landing-nav{align-items:center;gap:20px;display:flex}.landing-nav a{color:var(--ink-700);font-size:.9375rem;font-weight:600;text-decoration:none}.landing-nav a:hover{color:var(--ink-900)}.landing-login{white-space:nowrap;color:var(--ink-900);border:2px solid var(--border-strong);border-radius:var(--radius-pill);cursor:pointer;background:0 0;padding:10px 18px;font-size:.875rem;font-weight:600}.landing-login:hover{border-color:var(--ink-900)}.landing-wordmark{display:inline-flex}@media (width<=640px){.landing-top{padding:12px 16px}.landing-nav{gap:12px}.landing-wordmark,.landing-nav-faq{display:none}.landing-login{padding:8px 14px}}.landing-hero{--landing-device-w:560px;align-items:center;gap:48px;width:100%;max-width:1120px;margin-inline:auto;padding:64px 24px 96px;display:grid;position:relative}@media (width>=1080px){.landing-hero{grid-template-columns:var(--landing-device-w) minmax(0, 1fr);min-height:calc(100dvh - 65px);padding-block:32px}}.landing-pitch{order:-1}.landing-pitch h1{font-family:var(--font-display);letter-spacing:-.045em;margin:0 0 16px;font-size:clamp(2.75rem,6vw,4rem);font-weight:600;line-height:1.02}.landing-pitch h1 span,.landing-pitch h1 em{animation:landing-rise var(--duration-entrance) var(--ease-entrance) both;display:inline-block}.landing-pitch h1 span:nth-child(2){animation-delay:.1s}.landing-pitch h1 em{color:var(--orange-500);font-style:normal;animation-delay:.2s}@keyframes landing-rise{0%{opacity:0;transform:translateY(14px)}}.landing-sub{max-width:40ch;color:var(--ink-700);margin:0 0 28px;font-size:1.1875rem;line-height:1.5}.landing-ctas{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.landing-try{border-radius:var(--radius-pill);min-height:56px;box-shadow:var(--shadow-md);transition:background var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);gap:10px;padding:0 26px;font-size:1rem}.landing-try .app-icon{animation:landing-breathe 2s var(--ease-standard) infinite}.landing-try:hover .app-icon,.landing-try:focus-visible .app-icon{animation:none}.landing-try:active{transform:scale(.98)}@keyframes landing-breathe{50%{transform:scale(1.12)}}.landing-store{border-radius:var(--radius-pill)}.landing-store-note{color:var(--ink-500);margin:18px 0 0;font-size:.8125rem}.landing-scroll{width:46px;height:46px;color:var(--ink-700);border:2px solid var(--border-strong);border-radius:var(--radius-pill);place-items:center;display:grid;position:absolute;bottom:24px;right:24px}.landing-scroll:hover{border-color:var(--ink-900);color:var(--ink-900)}@media (width<=899px){.landing-scroll{display:none}}.landing-devices{--landing-device-w:560px;width:min(100%, var(--landing-device-w));aspect-ratio:100/70;margin-inline:auto;position:relative}.landing-device{position:absolute}.landing-macbook{aspect-ratio:3778/2287;width:90%;top:0;left:0}.landing-iphone{aspect-ratio:880/1832;filter:drop-shadow(0 18px 32px #00000047);width:30%;bottom:0;right:0}.landing-frame{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.landing-screen{position:absolute;overflow:hidden}.landing-macbook .landing-screen{width:79.6718%;height:82.3787%;top:6.1653%;left:10.1641%}.landing-iphone .landing-screen{border-radius:7.0896%/3.2609%;width:91.3636%;height:95.4148%;top:2.2926%;left:4.3182%}.landing-loop img{object-fit:cover;opacity:0;width:100%;height:100%;animation:12s linear infinite landing-loop;position:absolute;inset:0}.landing-loop img:nth-child(2){animation-delay:4s}.landing-loop img:nth-child(3){animation-delay:8s}@keyframes landing-loop{0%,30%{opacity:1}36%,94%{opacity:0}to{opacity:1}}.landing-features{width:100%;max-width:1120px;margin-inline:auto;padding:32px 24px 64px}.landing-features h2,.landing-faq h2{font-family:var(--font-display);letter-spacing:-.03em;margin:0 0 24px;font-size:clamp(1.5rem,3.4vw,2rem);font-weight:600}.landing-feature-grid{gap:16px;display:grid}@media (width>=760px){.landing-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.landing-feature[data-accent=lavender]{--accent:var(--role-lavender)}.landing-feature[data-accent=lime]{--accent:var(--role-lime)}.landing-feature[data-accent=pink]{--accent:var(--role-pink)}.landing-feature{color:var(--card-ink);background:var(--accent,var(--surface));border-radius:var(--radius-2xl);padding:24px}.landing-feature img{margin-bottom:12px}.landing-feature h3{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 8px;font-size:1.1875rem;font-weight:600}.landing-feature p{opacity:.85;margin:0;font-size:.9375rem;line-height:1.5}.landing-faq{width:100%;max-width:720px;margin-inline:auto;padding:16px 24px 80px}.landing-faq-item{border-bottom:1px solid var(--border)}.landing-faq-item summary{cursor:pointer;padding:18px 0;font-size:1.0625rem;font-weight:600;list-style:none}.landing-faq-item summary::-webkit-details-marker{display:none}.landing-faq-item summary:after{content:"+";float:right;color:var(--ink-500)}.landing-faq-item[open] summary:after{content:"–"}.landing-faq-item p{color:var(--ink-700);margin:0 0 18px;font-size:.9375rem;line-height:1.6}.landing-foot{color:var(--ink-500);border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding:20px 24px;font-size:.8125rem;display:flex}.landing-foot nav{align-items:center;gap:20px;display:flex}.landing-socials{gap:10px;display:flex}.landing-foot .landing-social{width:40px;height:40px;color:var(--ink-700);border:2px solid var(--border-strong);border-radius:var(--radius-pill);transition:color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard);place-items:center;display:grid}.landing-foot .landing-social:hover,.landing-foot .landing-social:focus-visible{color:var(--ink-900);border-color:var(--ink-900)}.landing-foot a{color:var(--ink-700);text-decoration:none}.landing-foot a:hover{color:var(--ink-900)}@media (width>=1080px){.landing-pitch{order:0}}@media (prefers-reduced-motion:reduce){.landing-pitch h1 span,.landing-pitch h1 em,.landing-try .app-icon,.landing-loop img{animation:none}.landing-loop img:first-child{opacity:1}}.blog{flex:1;width:100%;max-width:760px;margin-inline:auto;padding:56px 24px 96px}.blog-head{margin-bottom:40px}.blog-head h1{font-family:var(--font-display);letter-spacing:-.035em;margin:0 0 12px;font-size:clamp(2rem,5vw,2.75rem);font-weight:600;line-height:1.08}.blog-head p{max-width:52ch;color:var(--ink-700);margin:0;font-size:1.0625rem;line-height:1.55}.blog-empty{color:var(--ink-500);margin:0}.blog-list{gap:28px;margin:0;padding:0;list-style:none;display:grid}.blog-item{border-top:1px solid var(--border);padding-top:28px}.blog-list>li:first-child .blog-item{border-top:0;padding-top:0}.blog-meta{color:var(--ink-500);letter-spacing:.08em;text-transform:uppercase;flex-wrap:wrap;gap:8px;margin:0 0 8px;font-size:.75rem;font-weight:600;display:flex}.blog-item h2{font-family:var(--font-display);letter-spacing:-.025em;margin:0 0 8px;font-size:1.5rem;font-weight:600;line-height:1.2}.blog-item h2 a{color:var(--ink-900);text-decoration:none}.blog-item h2 a:hover{color:var(--orange-500)}.blog-excerpt{max-width:62ch;color:var(--ink-700);margin:0;font-size:1rem;line-height:1.55}.blog-back{color:var(--ink-700);align-items:center;gap:4px;margin-bottom:28px;font-size:.875rem;font-weight:600;text-decoration:none;display:inline-flex}.blog-back:hover{color:var(--ink-900)}.blog-article{max-width:66ch}.blog-article h1{font-family:var(--font-display);letter-spacing:-.035em;margin:0 0 12px;font-size:clamp(2rem,5vw,2.75rem);font-weight:600;line-height:1.1}.blog-lede{color:var(--ink-700);margin:0 0 36px;font-size:1.1875rem;line-height:1.5}.blog-article h2{font-family:var(--font-display);letter-spacing:-.02em;margin:40px 0 12px;font-size:1.375rem;font-weight:600}.blog-article p{margin:0 0 20px;font-size:1.1875rem;line-height:1.65}.blog-article ul{margin:0 0 20px;padding-left:20px}.blog-article li{margin-bottom:10px;font-size:1.1875rem;line-height:1.6}.blog-article blockquote{border-left:3px solid var(--orange-500);font-family:var(--font-display);letter-spacing:-.015em;margin:32px 0;padding-left:20px;font-size:1.25rem;font-weight:600;line-height:1.4}@media (width<=560px){.blog{padding:32px 20px 64px}.blog-article p,.blog-article li,.blog-lede{font-size:1.0625rem}}
