:root{--hub-ed-max:var(--experience-content-max);--hub-ed-tracking-title:0;--hub-ed-tracking-display:0;--hub-ed-leading-display:1.1;--hub-ed-tap:44px;--hub-ed-focus-w:2px}.page-main:has(.hub-ed){background:var(--color-surface)}.site-page:has(.hub-ed){background:var(--color-surface)}.site-chrome:has(.hub-ed) .site-footer-v2{background:var(--color-surface)}.hub-ed{font-family:var(--font-sans);font-feature-settings:"cv11","ss01";font-optical-sizing:auto;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;width:100%;max-width:var(--hub-ed-max);margin-inline:auto;min-width:0;overflow-x:clip}.hub-ed .topics-page__titlebar{gap:var(--space-3);margin-bottom:0;padding-top:0}.hub-ed .topics-page__titlebar .k-page-header{margin-bottom:0;align-self:stretch}.hub-ed .k-page-header__row{align-items:center}.hub-ed__all-courses{flex:none;margin-right:calc(var(--space-3) * -1)}.hub-ed .hub-ed__map-title,.hub-ed .k-page-header__title{font-weight:var(--fw-semibold);text-wrap:balance;text-align:left;color:var(--color-text-primary)}.hub-ed .k-page-header__title{font-size:var(--fs-h1);line-height:var(--line-height-tight);letter-spacing:var(--hub-ed-tracking-title)}.hub-ed .ed-stepper__num,.hub-ed .hub-ed__counts-line,.hub-ed .hub-ed__section-counts{font-variant-numeric:tabular-nums}.hub-ed__hub{min-width:0}.hub-ed__hub>.ed-step:first-child{padding-top:var(--space-4);padding-bottom:var(--space-6)}.hub-ed__hub>.ed-step+.ed-step{padding-top:var(--space-6);border-top:1px solid var(--color-border-soft)}.hub-ed__start{display:grid;gap:var(--space-4);min-width:0;padding-block:var(--space-5);border-block:1px solid var(--color-border-soft);background:transparent}.hub-ed__start-link{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);min-width:0;max-width:48rem;color:inherit;text-decoration:none}.hub-ed__start-copy{display:grid;gap:var(--space-2);align-content:start;min-width:0}.hub-ed__start-label{margin:0;font-size:var(--fs-caption);font-weight:var(--fw-medium);color:var(--color-text-muted)}.hub-ed__lesson{font-size:var(--fs-h3);font-weight:var(--fw-semibold);line-height:var(--hub-ed-leading-display);letter-spacing:var(--hub-ed-tracking-display);text-wrap:balance;color:var(--color-text-primary);overflow-wrap:anywhere}.hub-ed__start-link:hover .hub-ed__lesson{text-decoration:underline;text-underline-offset:var(--space-1)}.hub-ed__start-link:focus-visible{outline:var(--hub-ed-focus-w) solid var(--color-brand);outline-offset:var(--hub-ed-focus-w)}.hub-ed__lesson-meta{margin:var(--space-1) 0 0;font-size:var(--fs-caption);color:var(--color-text-secondary)}.hub-ed__signin-link{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--hub-ed-tap);color:var(--color-text-muted);font-size:var(--fs-caption);font-weight:var(--fw-medium);text-decoration:none}.hub-ed__signin-link:hover{color:var(--color-brand);text-decoration:underline;text-underline-offset:var(--space-1)}.hub-ed__signin-link:focus-visible{outline:var(--hub-ed-focus-w) solid var(--color-brand);outline-offset:var(--hub-ed-focus-w)}@media (min-width:960px){.hub-ed__start{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-4) var(--space-6);padding-block:var(--space-4)}.hub-ed__start-link{flex:1 1 auto;justify-content:flex-start;gap:var(--space-3)}.hub-ed__signin-link,.hub-ed__summary{flex:none}}.hub-ed__summary{display:grid;gap:var(--space-2);align-content:start;max-width:28rem;min-height:calc(var(--fs-sm) * var(--line-height-body) + var(--space-2) + .3125rem)}.hub-ed__counts-line{margin:0;font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--color-text-primary)}.hub-ed__map{min-width:0}.hub-ed__map-title{margin:0}.hub-ed .ed-stepper__item{grid-template-columns:minmax(0,1fr);column-gap:var(--space-4);row-gap:0;align-items:center;padding-block:var(--space-4);border-top:1px solid var(--color-border)}.hub-ed .ed-stepper__item:before{display:none}.hub-ed__section-head{grid-column:1;display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2) var(--space-4);min-width:0}.hub-ed__section-head .ed-stepper__title{flex:0 1 auto;min-width:0;font-size:var(--fs-body);font-weight:var(--fw-semibold);color:var(--color-text-primary);text-decoration:none}.hub-ed__section-head .ed-stepper__title:focus-visible,.hub-ed__section-head .ed-stepper__title:hover{color:var(--color-brand)}.hub-ed__section-counts{flex:none;margin-left:auto;color:var(--color-text-muted);font-size:var(--fs-caption);line-height:var(--line-height-body);white-space:nowrap}.hub-ed .hub-ed__lessons-toggle{flex:none;width:var(--hub-ed-tap);height:var(--hub-ed-tap);margin:0;padding:0;border:0;border-radius:var(--radius-control);background:transparent;color:var(--color-text-muted);cursor:pointer}.hub-ed .hub-ed__lessons-toggle:hover{color:var(--color-text-primary)}.hub-ed .hub-ed__lessons-toggle:focus-visible{box-shadow:var(--focus-ring)}.hub-ed .ed-stepper__meta{grid-column:1;margin-top:var(--space-2);min-width:0}.hub-ed .ed-stepper__meta .topic-progress-bar{max-width:none}.hub-ed__lessons{grid-column:1;min-width:0}.hub-ed__lessons .topic-file-tree__children{margin-top:var(--space-2)}.hub-ed__lesson-next{flex:none;padding-inline:var(--space-2);border:1px solid var(--color-border-soft);border-radius:var(--radius-chip);color:var(--color-text-muted);font-size:var(--fs-caption);font-weight:var(--fw-medium);line-height:var(--line-height-body);white-space:nowrap}@media (max-width:639px){.hub-ed__section-head{gap:var(--space-2)}.hub-ed__section-counts{margin-left:0;flex-basis:100%;order:2}.hub-ed .hub-ed__lessons-toggle{order:1;margin-left:auto}}@media (min-width:1024px){.hub-ed.topics-page--lesson{display:block;width:auto;max-width:var(--hub-ed-max);margin-inline:auto;padding-inline:0}.hub-ed.topics-page--lesson .topics-content-card,.hub-ed.topics-page--lesson .topics-mobile-bar,.hub-ed.topics-page--lesson .topics-page__titlebar{padding-inline:0;margin-inline:0}}body .page-container.topics-shell:has(>.hub-ed--compact){width:100%;max-width:var(--experience-frame-max);margin-inline:auto;padding-inline:var(--page-gutter);padding-block:var(--space-6) var(--space-10)}.site-chrome .hub-ed--compact .topics-page__titlebar{margin:0;padding:0}.site-chrome .hub-ed--compact .k-page-header__title{font-size:var(--browse-title-size)}.site-chrome .hub-ed--compact .k-page-header__lead{font-size:var(--fs-caption)}.site-chrome .hub-ed--compact .topics-content-card{padding:0}.site-chrome .hub-ed--compact .hub-ed__hub>.ed-step{padding:var(--space-5) 0}.site-chrome .hub-ed--compact .hub-ed__hub>.ed-step+.ed-step{border:0;padding-top:0}.site-chrome .hub-ed--compact .hub-ed__start{gap:var(--space-4);padding-block:var(--space-5);border-bottom:1px solid var(--color-border)}.site-chrome .hub-ed--compact .hub-ed__start-link{min-height:56px;max-width:36rem;gap:var(--space-4)}.hub-ed__start-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:var(--radius-control);background:var(--color-brand-soft)}.hub-ed__start-icon,.site-chrome .hub-ed--compact .hub-ed__start-link>svg{flex:none;color:var(--color-brand)}.site-chrome .hub-ed--compact .hub-ed__start-copy{gap:var(--space-1)}.site-chrome .hub-ed--compact .hub-ed__start-label{color:var(--color-brand)}.site-chrome .hub-ed--compact .hub-ed__lesson{font-size:var(--fs-lead);line-height:1.5}.site-chrome .hub-ed--compact .hub-ed__summary--pending{min-height:44px}.site-chrome .hub-ed--compact .hub-ed__map-title{font-size:var(--fs-lead);padding-bottom:0}.hub-ed__map-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-4);padding-block:var(--space-2) var(--space-4)}.hub-ed__search{display:flex;align-items:center;gap:var(--space-2);width:min(100%,22rem);min-height:44px;padding-inline:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-control);color:var(--color-text-muted);background:var(--color-surface)}.hub-ed__search:focus-within{border-color:var(--color-brand);box-shadow:var(--focus-ring)}.hub-ed__search>svg{flex:none}.hub-ed__search input{flex:1;min-width:0;width:100%;min-height:42px;border:0;outline:none;background:transparent;color:var(--color-text-primary);font:inherit;font-size:var(--fs-caption)}.hub-ed__search input::-webkit-search-cancel-button{display:none}.hub-ed__search button{display:grid;place-items:center;flex:none;width:44px;height:44px;margin-right:calc(-1 * var(--space-3));border:0;border-radius:var(--radius-control);background:transparent;color:inherit;cursor:pointer}.hub-ed__search button:focus-visible{outline:2px solid var(--color-brand);outline-offset:-2px}.hub-ed__empty{margin:0;padding-block:var(--space-6);color:var(--color-text-secondary);font-size:var(--fs-body)}.site-chrome .hub-ed--compact .ed-stepper__item{grid-template-columns:minmax(0,1fr);align-items:start;gap:0 var(--space-3);padding-block:var(--space-2);border-top:1px solid var(--color-border)}.site-chrome .hub-ed--compact .ed-stepper__item:before,.site-chrome .hub-ed--compact .ed-stepper__item[hidden]{display:none}.site-chrome .hub-ed--compact .hub-ed__section-head{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:0 var(--space-3)}.site-chrome .hub-ed--compact .hub-ed__section-head>.ed-stepper__title{display:flex;align-items:center;grid-column:1;grid-row:1;min-height:44px;font-size:var(--fs-body);line-height:1.5;text-wrap:pretty}.site-chrome .hub-ed--compact .hub-ed__section-counts{grid-column:1;grid-row:2;margin:0;white-space:normal}.site-chrome .hub-ed--compact .hub-ed__lessons-toggle{grid-column:2;grid-row:1/3;align-self:center;width:44px;height:44px;color:var(--color-text-muted)}.site-chrome .hub-ed--compact .hub-ed__lessons-toggle svg{width:16px;height:16px;transition:none}.site-chrome .hub-ed--compact .hub-ed__lessons .topic-file-tree__children{margin-left:0;padding-left:0;border-left:0}@media (min-width:960px){.site-chrome .hub-ed--compact .hub-ed__section-head{grid-template-columns:minmax(0,1fr) auto 44px;column-gap:var(--space-6)}.site-chrome .hub-ed--compact .hub-ed__section-counts{grid-column:2;grid-row:1}.site-chrome .hub-ed--compact .hub-ed__lessons-toggle{grid-column:3;grid-row:1}}@media (max-width:639px){.hub-ed__search{width:100%}.site-chrome .hub-ed--compact .hub-ed__start-link{justify-content:flex-start}.site-chrome .hub-ed--compact .hub-ed__start-link>svg{margin-left:auto}.site-chrome .hub-ed--compact .hub-ed__all-courses{display:none}.site-chrome .hub-ed--compact .hub-ed__section-head{gap:0 var(--space-2)}}html body .hub-ed .hub-ed__blurb{max-width:40rem;margin:var(--space-3) 0 0;color:var(--color-text-secondary);font-size:var(--fs-lead);line-height:1.55;text-wrap:pretty}html body .hub-ed .hub-ed__before{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2) var(--space-3);margin:var(--space-3) 0 0;font-size:var(--fs-sm)}html body .hub-ed .hub-ed__before-label{color:var(--color-text-secondary)}html body .hub-ed .hub-ed__before-link{display:inline-flex;align-items:center;gap:var(--space-1);min-height:44px;color:var(--color-brand);font-weight:600;text-decoration:none}html body .hub-ed .hub-ed__before-link:hover{color:var(--color-brand-hover)}html body .hub-ed .hub-ed__before-link:focus-visible{outline:none;border-radius:var(--radius-control);box-shadow:var(--focus-ring)}@media (min-width:1024px){html body .site-chrome .hub-ed .hub-ed__hub{display:grid;grid-template-columns:minmax(0,1fr) 21rem;grid-template-areas:"map start";column-gap:var(--space-8);align-items:start}html body .site-chrome .hub-ed .hub-ed__hub>.ed-step--top{grid-area:start;position:sticky;top:calc(var(--header-height) + var(--space-6));padding:0;border:0}html body .site-chrome .hub-ed .hub-ed__hub>section.ed-step{grid-area:map;padding-top:0;border:0}html body .site-chrome .hub-ed .hub-ed__hub>:not(.ed-step){grid-column:1/-1}}html body .site-chrome .hub-ed .hub-ed__start{display:grid;gap:var(--space-4);padding:var(--space-5);border:1px solid var(--color-brand-muted);border-radius:var(--radius-panel);background:linear-gradient(160deg,var(--color-brand-soft),color-mix(in srgb,var(--color-brand-soft) 35%,var(--surface-card)))}html body .site-chrome .hub-ed .hub-ed__start-link{padding:0;border:0;background:transparent}html body .site-chrome .hub-ed .hub-ed__start-icon{width:3rem;height:3rem;background:var(--surface-card)}html body .site-chrome .hub-ed .hub-ed__start-label{font-weight:700;letter-spacing:.04em;text-transform:uppercase}html body .site-chrome .hub-ed .hub-ed__lesson{font-size:var(--fs-h3);font-weight:700;line-height:1.25}html body .site-chrome .hub-ed .hub-ed__stepper{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-3);align-items:start;counter-reset:hub-section}@media (min-width:768px){html body .site-chrome .hub-ed .hub-ed__stepper{grid-template-columns:repeat(2,minmax(0,1fr))}}html body .site-chrome .hub-ed .ed-stepper__item{position:relative;padding:var(--space-4) var(--space-4) var(--space-4) calc(var(--space-4) + 2.5rem + var(--space-3));border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--surface-card);counter-increment:hub-section;transition:border-color var(--duration-base) ease,box-shadow var(--duration-base) ease}html body .site-chrome .hub-ed .ed-stepper__item:hover{border-color:var(--color-brand-muted);background-image:var(--hover-tint-layer)}html body .site-chrome .hub-ed .ed-stepper__item[hidden]{display:none}html body .site-chrome .hub-ed .ed-stepper__item:before{content:counter(hub-section);position:absolute;top:var(--space-4);left:var(--space-4);display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:var(--radius-panel);background:var(--color-brand-soft);color:var(--color-brand);font-weight:700}html body .site-chrome .hub-ed .ed-stepper__title{font-size:var(--fs-body);font-weight:700}html body .site-chrome .hub-ed .hub-ed__section-head>.hub-ed__lessons-toggle{margin-left:auto}html body .site-chrome .hub-ed .hub-ed__section-stats{display:flex;flex-wrap:wrap;gap:var(--space-4);color:var(--color-text-secondary);font-size:var(--fs-caption)}html body .site-chrome .hub-ed .hub-ed__stat{display:inline-flex;align-items:center;gap:var(--space-1)}html body .site-chrome .hub-ed .hub-ed__stat--done{color:var(--color-green)}html body .site-chrome .hub-ed .hub-ed__starts{margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:var(--fs-caption);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}html body .site-chrome .hub-ed .hub-ed__starts-label{font-size:var(--fs-label);font-weight:700;letter-spacing:.06em;text-transform:uppercase}html body .site-chrome .hub-ed .hub-ed__starts-name{color:var(--color-text-secondary)}@media (prefers-reduced-motion:reduce){html body .site-chrome .hub-ed .ed-stepper__item{transition:none}}@media (max-width:639px){html body .site-chrome .hub-ed .hub-ed__start{gap:var(--space-3);padding:var(--space-3)}html body .site-chrome .hub-ed .hub-ed__start-link{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-control);background:var(--color-brand-solid);color:#fff}html body .site-chrome .hub-ed .hub-ed__start-link .hub-ed__lesson,html body .site-chrome .hub-ed .hub-ed__start-link .hub-ed__lesson-meta,html body .site-chrome .hub-ed .hub-ed__start-link .hub-ed__start-label{color:inherit}html body .site-chrome .hub-ed .hub-ed__blurb{margin-top:var(--space-2);font-size:var(--fs-body)}html body .site-chrome .hub-ed .hub-ed__before{margin-top:var(--space-1)}}@media (min-width:1024px){html body .site-chrome article.hub-ed.hub-ed--compact{display:grid;grid-template-columns:minmax(0,1fr) 21rem;column-gap:var(--space-8);align-items:start}html body .site-chrome article.hub-ed.hub-ed--compact>.topics-page__titlebar{grid-column:1;grid-row:1}html body .site-chrome article.hub-ed.hub-ed--compact .hub-ed__hub,html body .site-chrome article.hub-ed.hub-ed--compact .topics-content-card{display:contents}html body .site-chrome article.hub-ed.hub-ed--compact .hub-ed__hub>.ed-step--top{grid-area:auto;grid-column:2;grid-row:1/span 2;position:sticky;top:calc(var(--header-height) + var(--space-6))}html body .site-chrome article.hub-ed.hub-ed--compact .hub-ed__hub>.ed-step:not(.ed-step--top){grid-area:auto;grid-column:1;grid-row:2}html body .site-chrome article.hub-ed.hub-ed--compact .course-hub-about,html body .site-chrome article.hub-ed.hub-ed--compact>.hub-page-actions{grid-column:1/-1}}:root{--course-hub-about-track:minmax(0,1fr);--course-hub-about-lead-max:40rem;--course-hub-about-measure:62ch;--course-hub-about-dot:0.375rem;--course-hub-about-dot-top:0.65em}.course-hub-about{margin-top:var(--space-16);max-width:var(--hub-ed-max);min-width:0}.course-hub-about.ed-step{margin-top:0;max-width:none;border-top:1px solid var(--color-border-soft)}.course-hub-about__eyebrow{margin:0 0 var(--space-4);font-size:var(--fs-h3);font-weight:var(--fw-semibold);letter-spacing:0;color:var(--color-text-primary)}.course-hub-about__lead{max-width:var(--course-hub-about-lead-max);margin:0 0 var(--space-6)}.course-hub-about__lead p{font-size:var(--fs-lead);line-height:var(--line-height-body);color:var(--color-text-secondary);margin:0}.course-hub-about__lead p+p{margin-top:var(--space-3)}.course-hub-about__grid{display:grid;gap:0 var(--space-10);grid-template-columns:var(--course-hub-about-track);align-items:start;min-width:0}.course-hub-about__card{display:grid;gap:var(--space-3);align-content:start;min-width:0;margin:0;padding:var(--space-5) 0;border-top:1px solid var(--color-border-soft)}.course-hub-about__card--wide{grid-column:auto}.course-hub-about__card>*{min-width:0}.course-hub-about .course-hub-about__grid .course-hub-about__card h2.course-hub-about__title{margin:0;font-size:var(--fs-h3);font-weight:var(--fw-semibold);line-height:var(--line-height-tight);text-wrap:balance;color:var(--color-text-primary)}.course-hub-about .course-hub-about__grid .course-hub-about__card p{margin:0;max-width:var(--course-hub-about-measure);color:var(--color-text-secondary)}.course-hub-about .course-hub-about__grid .course-hub-about__card h3.topic-heading--3{margin:var(--space-4) 0 0;font-size:var(--fs-sm);font-weight:var(--fw-semibold);line-height:var(--line-height-tight);color:var(--color-text-secondary)}.course-hub-about .course-hub-about__card ul.topic-bullet-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2)}.course-hub-about .course-hub-about__card ul.topic-bullet-list>li{position:relative;margin:0;padding-left:var(--space-5);min-width:0;color:var(--color-text-secondary)}.course-hub-about .course-hub-about__card ul.topic-bullet-list>li:before{content:"";position:absolute;left:var(--space-2);top:var(--course-hub-about-dot-top);width:var(--course-hub-about-dot);height:var(--course-hub-about-dot);border-radius:50%;background:var(--color-brand)}.course-hub-about__chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-2)}.course-hub-about__chip{display:inline-flex;align-items:center;padding:var(--space-1) 0;border:0;border-radius:0;background:transparent;color:var(--color-brand);font-size:var(--fs-caption);font-weight:var(--fw-medium);text-decoration:none;overflow-wrap:anywhere;transition:color var(--duration-fast) ease}.course-hub-about__chip:hover{text-decoration:underline;text-underline-offset:var(--space-1)}.course-hub-about__chip:focus-visible{outline:none;box-shadow:var(--focus-ring)}.course-hub-about__details{min-width:0;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface)}.course-hub-about__summary{color:var(--color-brand);font-size:var(--fs-caption);font-weight:var(--fw-medium);cursor:pointer;border-radius:var(--radius-control);transition:border-color var(--duration-base) ease,background-color var(--duration-base) ease,color var(--duration-base) ease,opacity var(--duration-base) ease}.course-hub-about__summary:focus-visible{outline:none;box-shadow:var(--focus-ring)}.course-hub-about__diagram{min-width:0;max-width:100%;margin-top:var(--space-3);overflow-x:auto}@media (min-width:960px){.course-hub-about__grid{grid-template-columns:repeat(2,var(--course-hub-about-track))}}@media (prefers-reduced-motion:reduce){.course-hub-about__chip,.course-hub-about__summary{transition:none}}.course-hub-about .course-hub-about__card p+ol,.course-hub-about .course-hub-about__card p+ul.topic-bullet-list{margin-top:var(--space-3)}.course-hub-about .course-hub-about__card ol+p,.course-hub-about .course-hub-about__card ul.topic-bullet-list+p{margin-top:var(--space-4)}.site-chrome .hub-ed--compact .course-hub-about{padding:var(--space-5) 0}.site-chrome .hub-ed--compact .course-hub-about .ed-step__body{margin-top:0}.site-chrome .hub-ed--compact .course-hub-about__eyebrow{font-size:var(--fs-lead)}.site-chrome .hub-ed--compact .course-hub-about__grid{display:block}.site-chrome .hub-ed--compact .course-hub-about__card{display:block;padding:0}.course-hub-about__section-summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:56px;padding-block:var(--space-3);cursor:pointer;list-style:none}.course-hub-about__section-summary::-webkit-details-marker{display:none}.site-chrome .hub-ed--compact .course-hub-about__card h2.course-hub-about__title{font-size:var(--fs-body);line-height:1.5}.course-hub-about__section-summary>svg{flex:none;color:var(--color-text-muted)}.course-hub-about__disclosure[open]>summary>svg{transform:rotate(180deg)}.course-hub-about__section-summary:focus-visible{outline:none;border-radius:var(--radius-control);box-shadow:var(--focus-ring)}.course-hub-about__section-body{display:grid;gap:var(--space-3);max-width:72ch;padding-bottom:var(--space-5);font-size:var(--fs-body);line-height:1.7}:root{--lesson-bar-h:60px}.topic-lesson-bar{position:sticky;bottom:0;z-index:var(--z-sticky);margin:0;border-top:1px solid var(--color-border);background:var(--color-surface);box-shadow:none;padding:var(--space-2) 0 calc(var(--space-2) + env(safe-area-inset-bottom, 0px))}.topic-lesson-bar__hairline{position:absolute;top:-1px;left:0;right:0;height:2px;background:var(--color-brand);transform:scaleX(var(--lesson-bar-fill,0));transform-origin:left center}.topic-lesson-bar__strip{display:flex;align-items:center;gap:var(--space-3);min-height:2.5rem}.topic-lesson-bar__prev{flex:none;display:inline-flex;align-items:center;gap:var(--space-1);min-height:2.5rem;font-size:var(--fs-caption);font-weight:var(--fw-medium);color:var(--color-text-secondary);text-decoration:none}.topic-lesson-bar__prev:hover{color:var(--color-brand)}.topic-lesson-bar__prev.is-disabled{opacity:.4;pointer-events:none}.topic-lesson-bar__meta{flex:none;display:inline-flex;align-items:center;gap:var(--space-2);min-width:0}.topic-lesson-bar__pos{flex:none;margin:0;font-size:var(--fs-caption);color:var(--color-text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.topic-lesson-bar__check{flex:none;display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:1px solid var(--color-border);border-radius:var(--radius-chip);background:transparent;color:var(--color-text-muted);cursor:pointer}.topic-lesson-bar__check.is-done,.topic-lesson-bar__check:hover{border-color:var(--color-green-muted);color:var(--color-green)}.topic-lesson-bar__check.is-done{background:var(--color-green-soft)}.topic-lesson-bar__goto{flex:0 1 auto;margin-left:auto;margin-right:calc(-1 * var(--space-3));min-width:0;display:inline-flex;align-items:center;justify-content:flex-end;gap:var(--space-2);min-height:2.5rem;padding:var(--space-2) var(--space-3);border:1px solid transparent;border-radius:var(--radius-control);background:transparent;color:var(--color-brand);font-size:var(--fs-caption);font-weight:var(--fw-semibold);text-align:right;text-decoration:none;cursor:pointer}.topic-lesson-bar__goto:hover{border-color:var(--color-brand-muted);background:var(--color-brand-soft)}.topic-lesson-bar__goto-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topic-lesson-bar__goto-arrow{flex:none}.topic-lesson-bar__endcard a:focus-visible,.topic-lesson-bar__endcard button:focus-visible,.topic-lesson-bar__strip a:focus-visible,.topic-lesson-bar__strip button:focus-visible{outline:none;box-shadow:var(--focus-ring)}.topic-lesson-bar__endcard{margin:var(--space-4) 0 0;padding:0}.topic-lesson-bar__card{display:grid;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface)}.topic-lesson-bar__next{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-4);border:1px solid var(--color-brand-muted);border-radius:var(--radius-control);background:var(--color-brand-soft);color:var(--color-text-primary);font:inherit;text-align:left;text-decoration:none;cursor:pointer}.topic-lesson-bar__next:hover{border-color:var(--color-brand)}.topic-lesson-bar__next-copy{flex:1 1 auto;min-width:0;display:grid;gap:2px}.topic-lesson-bar__next-eyebrow{font-size:var(--fs-label);font-weight:var(--fw-bold);letter-spacing:.06em;text-transform:uppercase;color:var(--color-brand)}.topic-lesson-bar__next-title{font-size:var(--fs-body);font-weight:var(--fw-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topic-lesson-bar__next-arrow{flex:none;color:var(--color-brand)}.topic-lesson-bar__end{margin:0;font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--color-green)}.topic-lesson-bar__card .topic-progress-bar{max-width:none}.topic-lesson-bar__done{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:2.5rem;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--color-text-secondary);cursor:pointer}.topic-lesson-bar__done:hover{border-color:var(--color-slate-300);color:var(--color-text-primary)}.topic-lesson-bar__done.is-done{border-color:var(--color-green-muted);background:var(--color-green-soft);color:var(--color-green)}.topic-lesson-bar__signin{margin:0;font-size:var(--fs-caption);color:var(--color-text-muted)}.topic-lesson-bar__signin-link{color:var(--color-brand);text-decoration:none}.topic-lesson-bar__signin-link:hover{text-decoration:underline}.topic-lesson-bar__practice{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--fs-caption);color:var(--color-text-secondary);text-decoration:none}.topic-lesson-bar__practice:hover{color:var(--color-brand)}.topic-lesson-bar__actions{display:flex;flex-wrap:wrap;align-items:center;gap:0 var(--space-5);padding-top:var(--space-2)}.topic-lesson-bar__actions .topic-lesson-bar__signin{margin:0}.topic-lesson-bar__actions :is(.topic-lesson-bar__signin-link,.topic-lesson-bar__practice,.topic-lesson-bar__report){display:inline-flex;align-items:center;gap:var(--space-2);min-height:44px;padding:var(--space-2) 0;font-size:var(--fs-caption);line-height:1.5;text-decoration:none;border-radius:var(--radius-control)}.topic-lesson-bar__actions svg{flex:none}.topic-lesson-bar__report{color:var(--color-text-muted)}.topic-lesson-bar__actions a:hover{color:var(--color-brand);text-decoration:underline;text-underline-offset:3px}@media (max-width:639px){.topic-lesson-bar__actions{align-items:stretch;flex-direction:column;gap:0}.topic-lesson-bar__actions :is(.topic-lesson-bar__signin-link,.topic-lesson-bar__practice,.topic-lesson-bar__report){width:100%}}@media (max-width:639px){.topic-lesson-bar{margin-left:calc(-1 * (50vw - 50%));margin-right:calc(-1 * (50vw - 50%));padding-left:max(var(--space-4),env(safe-area-inset-left,0px));padding-right:max(var(--space-4),env(safe-area-inset-right,0px))}html:not([data-privacy-notice]) body:has(.tutor-bubble) .topic-lesson-bar{padding-right:calc(max(var(--space-4), env(safe-area-inset-right, 0px)) + 2.75rem + var(--space-4))}html body:has(.topic-lesson-bar) .tutor-bubble{right:max(var(--space-4),env(safe-area-inset-right,0px));bottom:calc(env(safe-area-inset-bottom, 0px) + var(--space-2) + (44px - 2.75rem) / 2)}html body:has(.topic-lesson-bar) .tutor-bubble--tucked{transform:none;opacity:1}}@media (max-width:480px){.topic-lesson-bar__prev-text{display:none}.topic-lesson-bar__pos{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.topic-lesson-bar__card{padding:var(--space-3)}}@media (pointer:coarse){:root{--lesson-bar-h:68px}.topic-lesson-bar__check,.topic-lesson-bar__done,.topic-lesson-bar__goto,.topic-lesson-bar__prev,.topic-lesson-bar__strip{min-height:44px}.topic-lesson-bar__check{width:44px;height:44px}}@media (max-width:639px){.topic-lesson-bar__prev{min-width:44px;min-height:44px;justify-content:center}.topic-lesson-bar__goto{min-height:44px}.topic-lesson-bar__practice,.topic-lesson-bar__signin-link{display:inline-flex;align-items:center;min-height:44px}}.topic-lesson-bar__save-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-3);border:1px solid var(--color-red-muted);border-radius:var(--radius-control);background:var(--color-red-soft)}.topic-lesson-bar__save-text{flex:1 1 auto;min-width:0;margin:0;font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--color-red)}.topic-lesson-bar__save-actions{display:inline-flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.topic-lesson-bar__save-chip{flex:none;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--color-red)}@media (prefers-reduced-motion:reduce){.topic-lesson-bar__goto-arrow,.topic-lesson-bar__hairline,.topic-lesson-bar__next-arrow{transition:none}.topic-lesson-bar__next:hover .topic-lesson-bar__next-arrow{transform:none}}.mobile-otp{display:none}@media (max-width:1023px){.mobile-otp{display:block;margin-bottom:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface)}.mobile-otp__summary{display:flex;align-items:center;min-height:44px;padding:var(--space-2) var(--space-4);font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--color-text-secondary);cursor:pointer}.mobile-otp__summary:focus-visible{outline:none;box-shadow:var(--focus-ring)}.mobile-otp__nav{padding:0 var(--space-4) var(--space-3)}.mobile-otp .otp__link{display:flex;align-items:center;min-height:44px}}.lesson-see-also{margin-block:var(--space-6)}.lesson-see-also__title{margin:0 0 var(--space-3);font-size:var(--fs-h3);font-weight:var(--fw-semibold);line-height:1.4;color:var(--color-text-primary)}.lesson-see-also__list{margin:0;padding:0;list-style:none}.lesson-see-also__list>li{border-top:1px solid var(--color-border-soft)}.lesson-see-also__link{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:44px;padding-block:var(--space-3);color:var(--color-text-secondary);font-size:var(--fs-body);line-height:1.6;text-decoration:none}.lesson-see-also__link span{min-width:0;overflow-wrap:anywhere}.lesson-see-also__link svg{flex:none;color:var(--color-text-muted)}.lesson-see-also__link:hover{color:var(--color-brand)}.lesson-see-also__link:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-control)}.lesson-resume{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(var(--lesson-bar-h, 0px) + max(1rem, env(safe-area-inset-bottom, 0px)));z-index:var(--z-drawer);display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-2) var(--space-3);max-width:min(28rem,calc(100vw - 2rem));padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);color:var(--color-text-primary);box-shadow:var(--elev-2);font-size:var(--fs-caption);line-height:var(--line-height-caption)}@media (prefers-reduced-motion:no-preference){.lesson-resume{animation:lesson-resume-in var(--duration-base) ease-out both}}@keyframes lesson-resume-in{0%{opacity:0;transform:translateX(-50%) translateY(8px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.lesson-resume__text{margin:0;color:var(--color-text-secondary);text-align:center}.lesson-resume__text strong{color:var(--color-text-primary);font-variant-numeric:tabular-nums}.lesson-resume__actions{display:flex;align-items:center;gap:var(--space-2)}.lesson-resume__btn{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-text-primary);font:inherit;font-size:var(--fs-caption);font-weight:var(--fw-semibold);line-height:1;white-space:nowrap;cursor:pointer}.lesson-resume__btn:hover{background:var(--color-surface-subtle);border-color:var(--color-brand-muted)}.lesson-resume__btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.lesson-resume__btn--primary{background:var(--color-brand-solid);border-color:transparent;color:#fff}.lesson-resume__btn--primary:hover{background:var(--color-brand-solid-hover)}@media (pointer:coarse){.lesson-resume__btn{min-height:44px;padding:0 var(--space-5)}}.reading-prefs{position:relative;align-self:flex-start}.reading-prefs__trigger{display:inline-flex;align-items:center;justify-content:center;min-width:0;min-height:0;padding:var(--space-3) var(--space-1);margin:calc(var(--space-3) * -1) calc(var(--space-1) * -1);border:0;border-radius:var(--radius-control);background:transparent;color:var(--color-text-secondary);font:inherit;cursor:pointer}.reading-prefs__trigger:hover{color:var(--color-brand)}.reading-prefs__trigger{position:relative;isolation:isolate}.reading-prefs__trigger:before{content:"";position:absolute;top:50%;left:50%;width:2rem;height:2rem;transform:translate(-50%,-50%);border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);pointer-events:none;z-index:-1}.reading-prefs__trigger>svg{position:relative}.reading-prefs__trigger:hover:before,.reading-prefs__trigger[aria-expanded=true]:before{border-color:var(--color-brand-muted);background:var(--color-surface-subtle)}html body .topics-page--lesson:has(>.topics-layout--leaf) .reading-prefs .reading-prefs__trigger:hover,html body .topics-page--reading .reading-prefs .reading-prefs__trigger:hover{background:transparent}.reading-prefs__exit-focus:focus-visible,.reading-prefs__reset:focus-visible,.reading-prefs__seg-btn:focus-visible,.reading-prefs__switch:focus-visible,.reading-prefs__trigger:focus-visible{outline:none;box-shadow:var(--focus-ring)}.reading-prefs__trigger[aria-expanded=true]{border-color:transparent;color:var(--color-brand);background:transparent}.reading-prefs__panel{position:fixed;z-index:var(--z-dialog);display:grid;gap:var(--space-4);width:min(21rem,calc(100vw - 2rem));max-height:calc(100vh - 6rem);overflow-y:auto;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);box-shadow:var(--elev-2)}.reading-prefs__group{margin:0;padding:0;border:0;min-width:0}.reading-prefs__label{padding:0;font-weight:var(--fw-semibold);color:var(--color-text-primary)}.reading-prefs__hint,.reading-prefs__label{margin:0 0 var(--space-2);font-size:var(--fs-caption)}.reading-prefs__hint{color:var(--color-text-secondary)}.reading-prefs__seg{display:flex;flex-wrap:wrap;gap:var(--space-2)}.reading-prefs__seg--single-row{flex-wrap:nowrap}.reading-prefs__seg--single-row .reading-prefs__seg-btn{flex:1 1 0;min-width:0;padding:0 var(--space-2)}.lesson-meta-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);width:100%}.lesson-meta-row .lesson-meta{flex:1 1 auto;min-width:0}.lesson-meta-row .reading-prefs{flex:none;margin-left:0;align-self:center}.topics-page__titlebar.lesson-titlebar .lesson-meta-row .lesson-meta{flex:0 1 auto}.topics-page__titlebar.lesson-titlebar{gap:var(--space-4)}.topics-page__titlebar.lesson-titlebar .k-page-header{gap:var(--space-3)}.lesson-eyebrow{margin:0;font-size:var(--fs-caption);color:var(--color-text-muted);letter-spacing:.04em}.topics-page__titlebar.lesson-titlebar .k-page-header__title{font-size:var(--fs-h1);font-weight:var(--fw-semibold);line-height:var(--line-height-tight)}.topics-page__titlebar.lesson-titlebar .k-page-header__lead{max-width:var(--measure-prose);color:var(--color-text-secondary)}.reading-prefs__seg-btn{flex:1 1 auto;min-height:44px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-chip);background:var(--color-surface);color:var(--color-text-secondary);font:inherit;font-size:var(--fs-caption);font-weight:var(--fw-medium);cursor:pointer;white-space:nowrap}.reading-prefs__seg-btn:hover{border-color:var(--color-brand-muted);color:var(--color-text-primary)}.reading-prefs__seg-btn[aria-pressed=true]{background:var(--color-brand-soft);border-color:var(--color-brand-muted);color:var(--color-brand)}.reading-prefs__switch{display:inline-flex;align-items:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-2);border:0;border-radius:var(--radius-control);background:transparent;color:var(--color-text-primary);font:inherit;font-size:var(--fs-caption);font-weight:var(--fw-semibold);cursor:pointer}.reading-prefs__switch-track{display:inline-flex;align-items:center;width:2.75rem;height:1.5rem;padding:2px;border-radius:999px;border:1px solid var(--color-border);background:var(--color-surface-subtle)}.reading-prefs__switch-thumb{width:1rem;height:1rem;border-radius:999px;background:var(--color-text-muted)}.reading-prefs__switch[aria-checked=true] .reading-prefs__switch-track{border-color:var(--color-brand-muted);background:var(--color-brand-soft);justify-content:flex-end}.reading-prefs__switch[aria-checked=true] .reading-prefs__switch-thumb{background:var(--color-brand)}.reading-prefs__reset{justify-self:start;min-height:44px;padding:0 var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-text-secondary);font:inherit;font-size:var(--fs-caption);font-weight:var(--fw-semibold);cursor:pointer}.reading-prefs__reset:hover:not([disabled]){border-color:var(--color-brand-muted);color:var(--color-text-primary)}.reading-prefs__reset[disabled]{opacity:.5;cursor:not-allowed}.reading-prefs__exit-focus{position:fixed;top:calc(var(--header-height, 3.5rem) + var(--space-2));right:var(--space-4);z-index:var(--z-dialog);min-width:44px;min-height:44px;padding:0 var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-text-primary);font:inherit;font-size:var(--fs-caption);font-weight:var(--fw-semibold);box-shadow:var(--elev-2);cursor:pointer}.reading-prefs__exit-focus:hover{border-color:var(--color-brand-muted)}@media (max-width:639px){.reading-prefs__panel{position:fixed;top:auto;left:0;right:0;bottom:0;z-index:var(--z-dialog);width:100%;max-width:100%;max-height:min(80vh,32rem);overflow-y:auto;border-radius:var(--radius-panel) var(--radius-panel) 0 0;border-left:0;border-right:0;border-bottom:0;padding-bottom:max(var(--space-4),env(safe-area-inset-bottom,0px))}.reading-prefs__reset,.reading-prefs__seg-btn,.reading-prefs__switch{min-height:44px}}html .topics .topics-reader__prose{font-size:calc(17px * var(--reading-scale, 1));line-height:var(--reading-leading,1.7)}@media (max-width:1023px){html .topics .topics-reader__prose{font-size:calc(var(--fs-body) * var(--reading-scale, 1));line-height:var(--reading-leading,1.72)}}html .topics .topic-code-block__pre{font-size:calc(var(--fs-caption) * var(--reading-scale, 1))}@media (min-width:768px){html .topics .topic-code-block__pre{font-size:calc(var(--fs-sm) * var(--reading-scale, 1))}}html .topics-content-card--paper .topics-reader__prose{max-width:var(--reading-measure,var(--lesson-simple-measure,45rem))}@media (min-width:1024px){html .topics-page--lesson .topics-reader__prose{max-width:var(--reading-measure,var(--lesson-simple-measure,45rem))}html .topics-page--lesson .topics-reader__prose :is(p,ul,ol,blockquote){max-width:var(--reading-measure-inner,var(--lesson-simple-inner,70ch))}}html[data-reading-focus=on] .topics-layout--with-tree>.topics-tree-card,html[data-reading-focus=on] .topics-page--lesson>.topics-tree-card,html[data-reading-focus=on] .topics-rail,html[data-reading-focus=on] .topics-tree-drawer--open{display:none}@media (min-width:1024px){html[data-reading-focus=on] .topics-page--lesson{grid-template-columns:minmax(0,1fr)}html[data-reading-focus=on] .topics-page--lesson .topics-mobile-bar{grid-column:1;padding-left:var(--lesson-pad)}html[data-reading-focus=on] .topics-page--lesson .topics-page__titlebar{padding-inline:0}html[data-reading-focus=on] .topics-page--lesson .topics-content-card,html[data-reading-focus=on] .topics-page--lesson .topics-page__titlebar{grid-column:1;width:100%;max-width:var(--reading-measure,45rem);margin-inline:auto}}.copy-lesson-link{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-1);margin:calc(var(--space-3) * -1) calc(var(--space-1) * -1);border:0;background:transparent;color:var(--color-text-secondary);font:inherit;cursor:pointer}.copy-lesson-link:hover{color:var(--color-brand)}.copy-lesson-link:focus-visible{outline:none;box-shadow:var(--focus-ring)}.copy-lesson-link__swap{display:inline-grid}.copy-lesson-link__label{grid-area:1/1;white-space:nowrap}.copy-lesson-link__label.is-hidden{visibility:hidden}@media (max-width:639px){.reading-prefs__trigger{min-width:44px;min-height:44px;padding:var(--space-4);margin:calc(var(--space-4) * -1)}.copy-lesson-link{min-width:44px;min-height:44px;padding:var(--space-4) var(--space-3);margin:calc(var(--space-4) * -1) calc(var(--space-3) * -1)}}