.reader-page{--reader-topbar-height:3.5rem;--reader-sidebar-width:19.25rem;--reader-footer-height:5.125rem;--reader-border:#14142b14;--reader-muted:#6b7280;--reader-faint:#9ca3af;--reader-topbar:#fff;--reader-sidebar:#fff;--reader-stage:#e5e2da;--reader-footer:#fff;--reader-hover:#f7f8fa;--reader-active:#e9f2ee;--reader-accent:#146b54;--reader-accent-strong:#0f5643}:root[data-theme=dark] .reader-page{--reader-border:#ffffff14;--reader-muted:#ffffff9e;--reader-faint:#ffffff61;--reader-topbar:#0d120f;--reader-sidebar:#141a16;--reader-stage:#101512;--reader-footer:#141a16;--reader-hover:#ffffff0d;--reader-active:#5cb59526;--reader-accent:#5cb595;--reader-accent-strong:#74c7a9}body.reader-page{min-height:100vh;overflow:auto}.course-reader,.course-reader *{scrollbar-color:#6b72803d transparent;scrollbar-width:thin}.course-reader{min-height:100vh;padding-top:var(--reader-topbar-height);color:var(--color-text);background:var(--reader-stage)}.course-topbar{z-index:100;height:var(--reader-topbar-height);background:var(--reader-topbar);border-bottom:1px solid var(--reader-border);align-items:center;gap:.75rem;padding:0 1.1rem;display:flex;position:fixed;inset:0 0 auto}.course-topbar__menu{width:2.25rem;height:2.25rem;color:var(--reader-muted);cursor:pointer;background:0 0;border:0;border-radius:.55rem;flex:none;place-items:center;padding:0;display:none}.course-topbar__menu:hover{color:var(--color-text);background:var(--reader-hover)}.course-topbar__brand{width:calc(var(--reader-sidebar-width) - 1.1rem);flex:none}.course-topbar__brand .brand{--brand-image-height:1.2rem}.course-topbar__brand .brand__image{filter:none}.course-topbar__brand .brand__descriptor{font-size:.61rem}.course-topbar__center{flex:40rem;gap:.28rem;min-width:0;max-width:40rem;margin-inline:auto;display:grid}.course-topbar__crumb{min-width:0;color:var(--reader-muted);justify-content:center;align-items:center;gap:.48rem;font-size:.72rem;line-height:1.15;display:flex}.course-topbar__crumb>span,.course-topbar__crumb>strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.course-topbar__crumb>span{color:var(--reader-accent);flex:0 auto;font-weight:750}.course-topbar__crumb>i{color:var(--reader-faint);font-style:normal}.course-topbar__crumb>strong{color:var(--color-text);flex:0 auto;font-weight:720}.course-topbar__crumb>em{color:var(--reader-muted);background:var(--reader-hover);border-radius:999px;flex:none;padding:.13rem .42rem;font-size:.62rem;font-style:normal;font-weight:700}.course-topbar__progress{width:100%;color:var(--reader-faint);font-variant-numeric:tabular-nums;align-items:center;gap:.55rem;font-size:.65rem;font-weight:650;display:flex}.course-topbar__progress>span{background:var(--reader-border);border-radius:99px;flex:1;height:3px;overflow:hidden}.course-topbar__progress i{background:var(--reader-accent);border-radius:inherit;height:100%;transition:width var(--motion-normal) var(--ease-standard);display:block}.course-topbar__progress b{min-width:3.4rem;color:var(--reader-faint);text-align:right}.course-topbar__actions{flex:none;align-items:center;gap:.2rem;display:flex}.course-language{position:relative}.course-language summary{width:2.38rem;height:2.38rem;color:var(--reader-muted);cursor:pointer;border-radius:.75rem;place-items:center;list-style:none;display:grid}.course-language summary::-webkit-details-marker{display:none}.course-language summary:hover,.course-language[open] summary{color:var(--color-text);background:var(--reader-hover)}.course-language__menu{z-index:150;background:var(--reader-sidebar);border:1px solid var(--reader-border);min-width:9rem;box-shadow:var(--shadow-float);border-radius:.72rem;padding:.34rem;position:absolute;top:calc(100% + .45rem);right:0}.course-language__item{color:var(--reader-muted);border-radius:.5rem;align-items:center;gap:.6rem;padding:.52rem .64rem;font-size:.74rem;font-weight:650;text-decoration:none;display:flex}.course-language__item b{width:1.45rem;color:var(--reader-faint);font-family:var(--font-mono);font-size:.61rem}a.course-language__item:hover{color:var(--color-text);background:var(--reader-hover)}.course-language__item.is-current{color:#fff;background:var(--reader-accent)}.course-language__item.is-current b{color:#fff}.course-language__item.is-unavailable{opacity:.35;cursor:not-allowed}.course-reader__workspace{grid-template-columns:var(--reader-sidebar-width) minmax(0, 1fr);min-height:calc(100vh - var(--reader-topbar-height));grid-template-rows:auto auto;display:grid;position:relative;overflow:visible}.course-sidebar{inset:var(--reader-topbar-height) auto 0 0;z-index:40;width:var(--reader-sidebar-width);background:var(--reader-sidebar);border-right:1px solid var(--reader-border);grid-template-rows:auto minmax(0,1fr) auto;min-width:0;display:grid;position:fixed}.course-sidebar__close{width:2.15rem;height:2.15rem;color:var(--reader-muted);cursor:pointer;background:0 0;border:0;border-radius:.52rem;justify-self:end;place-items:center;padding:0;display:none}.course-sidebar__close:hover{color:var(--color-text);background:var(--reader-hover)}.course-sidebar__tools{border-bottom:1px solid var(--reader-border);gap:.6rem;padding:.9rem .85rem .85rem;display:grid}.course-search{height:2.25rem;color:var(--reader-faint);background:color-mix(in srgb, var(--reader-hover) 84%, var(--reader-sidebar));border:1px solid #0000;border-radius:.62rem;align-items:center;gap:.48rem;padding:0 .72rem;display:flex}.course-search:focus-within{color:var(--reader-accent);border-color:color-mix(in srgb, var(--reader-accent) 35%, transparent)}.course-search input{min-width:0;color:var(--color-text);background:0 0;border:0;outline:0;flex:1;padding:0;font-size:.76rem}.course-search input::placeholder{color:var(--reader-faint)}.course-route{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.65rem;display:grid}.course-route>span{color:var(--reader-faint);font-size:.65rem;font-weight:700}.course-route select{width:100%;min-width:0;height:2rem;color:var(--reader-muted);background:var(--reader-sidebar);border:1px solid var(--reader-border);border-radius:.55rem;padding:0 1.7rem 0 .62rem;font-size:.7rem;font-weight:650}.course-tree{overscroll-behavior:contain;padding:.45rem 0 1rem;overflow:auto}.course-part{padding:.2rem .72rem 1rem}.course-part[hidden],.course-topic[hidden],.course-lesson-link[hidden]{display:none!important}.course-group{color:var(--reader-faint);border-top:1px solid var(--reader-border);justify-content:space-between;align-items:baseline;gap:.7rem;padding:.72rem .45rem .55rem;display:flex}.course-part:first-child .course-group{border-top:0}.course-group strong{color:var(--reader-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem}.course-group span{font-size:.61rem}.course-part__heading{grid-template-columns:3.4rem minmax(0,1fr);gap:.35rem;padding:.58rem .42rem .66rem;display:grid}.course-part__heading>span{color:var(--part-color);letter-spacing:.03em;font-size:.62rem;font-weight:820}.course-part__heading strong{color:var(--color-text);font-size:.8rem;line-height:1.35;display:block}.course-part__heading p{color:var(--reader-faint);overflow-wrap:anywhere;margin:.22rem 0 0;font-size:.64rem;line-height:1.45}.course-part--bonus .course-part__heading{background:color-mix(in srgb, var(--color-bonus) 8%, transparent);border-radius:.65rem;margin:.2rem 0}.course-part__topics{gap:.18rem;display:grid}.course-topic__toggle{width:100%;min-height:2.15rem;color:var(--reader-muted);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:.5rem;grid-template-columns:1rem minmax(0,1fr) auto;align-items:center;gap:.4rem;padding:.36rem .48rem;display:grid}.course-topic__toggle:hover{color:var(--color-text);background:var(--reader-hover)}.course-topic__toggle svg{transition:transform var(--motion-fast)}.course-topic.is-collapsed .course-topic__toggle svg{transform:rotate(-90deg)}.course-topic__toggle span{text-overflow:ellipsis;white-space:nowrap;font-size:.73rem;font-weight:750;overflow:hidden}.course-topic__toggle b{min-width:1.45rem;height:1.25rem;color:var(--reader-faint);background:var(--reader-hover);font-variant-numeric:tabular-nums;border-radius:99px;place-items:center;padding-inline:.25rem;font-size:.6rem;display:inline-grid}.course-topic__lessons{gap:.08rem;padding:.08rem 0 .42rem;display:grid}.course-topic.is-collapsed .course-topic__lessons{display:none}.course-lesson-link{min-height:2.35rem;color:var(--reader-muted);transition:color var(--motion-fast), background var(--motion-fast);border-radius:.55rem;grid-template-columns:1.12rem minmax(0,1fr) auto;align-items:center;gap:.45rem;padding:.42rem .48rem .42rem .68rem;text-decoration:none;display:grid}.course-lesson-link:hover{color:var(--color-text);background:var(--reader-hover)}.course-lesson-link.is-current{color:var(--color-text);background:var(--reader-active)}.course-lesson-link.is-filtered-current{box-shadow:inset 2px 0 var(--reader-accent)}.course-lesson-link__state{place-items:center;width:1rem;height:1rem;display:grid;position:relative}.course-lesson-link__state i{background:var(--reader-border);border-radius:50%;width:.42rem;height:.42rem}.course-lesson-link__state svg{color:var(--reader-accent);display:none}.course-lesson-link.is-current .course-lesson-link__state i{background:var(--reader-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--reader-accent) 14%, transparent)}.course-lesson-link.is-completed .course-lesson-link__state i{display:none}.course-lesson-link.is-completed .course-lesson-link__state svg{display:block}.course-lesson-link__copy{gap:.12rem;min-width:0;display:grid}.course-lesson-link__copy strong{color:inherit;text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;font-weight:650;line-height:1.3;overflow:hidden}.course-lesson-link__copy small{color:var(--reader-faint);text-overflow:ellipsis;white-space:nowrap;font-size:.6rem;line-height:1.35;display:none;overflow:hidden}.course-lesson-link em{color:var(--reader-accent);white-space:nowrap;font-size:.56rem;font-style:normal;font-weight:720}.course-tree__empty{color:var(--reader-faint);text-align:center;padding:2rem 1rem;font-size:.75rem}.course-sidebar__foot{min-height:3.45rem;color:var(--reader-faint);border-top:1px solid var(--reader-border);gap:.22rem;padding:.6rem 1rem .68rem;font-size:.62rem;display:grid}.course-sidebar__bookmark{gap:.08rem;min-width:0;display:grid}.course-sidebar__bookmark strong{color:var(--color-text);font-size:.68rem;font-weight:780;line-height:1.25}.course-sidebar__bookmark span{color:var(--reader-muted);line-height:1.3}.course-sidebar__source{flex-wrap:wrap;gap:.55rem;min-width:0;font-size:.58rem;line-height:1.25;display:flex}.course-sidebar__source a{color:var(--reader-faint);text-decoration:none}.course-sidebar__foot a:hover{color:var(--reader-accent)}.course-stage{min-width:0;min-height:calc(100vh - var(--reader-topbar-height));background:var(--reader-stage);grid-column:2;position:relative;overflow:visible}.course-stage__frame{width:100%;height:var(--course-frame-height,calc(100vh - var(--reader-topbar-height)));min-height:calc(100vh - var(--reader-topbar-height));background:var(--reader-stage);border:0;display:block}.course-stage__loading,.course-stage__error{z-index:4;color:var(--reader-muted);background:var(--reader-stage);text-align:center;place-content:center;justify-items:center;padding:2rem;display:grid;position:absolute;inset:0}.course-stage__loading[hidden],.course-stage__error[hidden]{display:none}.course-stage__loading span{border:2px solid var(--reader-border);border-top-color:var(--reader-accent);border-radius:50%;width:2rem;height:2rem;animation:.8s linear infinite reader-spin}.course-stage__loading p{color:var(--reader-muted);margin:.75rem 0 0;font-size:.78rem}.course-stage__error strong{color:var(--color-text);font-size:1rem}.course-stage__error p{max-width:24rem;color:var(--reader-muted);margin:.55rem 0 1rem;font-size:.8rem}.course-stage__error button{color:#fff;background:var(--reader-accent);cursor:pointer;border:0;border-radius:.55rem;padding:.55rem .9rem;font-size:.75rem;font-weight:700}.course-stage__error button:hover{background:var(--reader-accent-strong)}.course-footer-nav{background:var(--reader-footer);border-top:1px solid var(--reader-border);grid-column:2;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.75rem;min-width:0;padding:.7rem 1rem;display:grid}.course-footer-nav__step{min-width:0;color:var(--reader-muted);border-radius:.65rem;align-items:center;gap:.65rem;padding:.52rem .7rem;text-decoration:none;display:flex}a.course-footer-nav__step:hover{color:var(--color-text);background:var(--reader-hover)}.course-footer-nav__step>span:last-child,.course-footer-nav__step--next>span:first-child{gap:.12rem;min-width:0;display:grid}.course-footer-nav__step small{color:var(--reader-faint);font-size:.59rem;font-weight:650}.course-footer-nav__step strong{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;font-weight:700;overflow:hidden}.course-footer-nav__step--next{text-align:right;justify-content:flex-end}.course-footer-nav__step.is-disabled{opacity:.45}.course-footer-nav__complete{min-width:8.9rem;height:3.2rem;color:var(--reader-accent);background:color-mix(in srgb, var(--reader-accent) 9%, var(--reader-footer));border:1px solid color-mix(in srgb, var(--reader-accent) 28%, transparent);cursor:pointer;transition:color var(--motion-fast), background var(--motion-fast), transform var(--motion-fast);border-radius:.8rem;justify-content:center;align-items:center;gap:.6rem;padding:0 1.25rem;font-size:.78rem;display:inline-flex}.course-footer-nav__complete:hover{background:color-mix(in srgb, var(--reader-accent) 15%, var(--reader-footer));transform:translateY(-1px)}.course-footer-nav__complete[aria-pressed=true]{color:#fff;background:var(--reader-accent);border-color:var(--reader-accent)}.course-footer-nav__check{border:1px solid;border-radius:50%;place-items:center;width:1.45rem;height:1.45rem;display:grid}.course-reader__backdrop{inset:var(--reader-topbar-height) 0 0;z-index:30;background:#0000006b;border:0;position:fixed}.course-reader__backdrop[hidden]{display:none}@keyframes reader-spin{to{transform:rotate(360deg)}}@media (width>=72rem){.course-lesson-link__copy small{display:block}}@media (width<=56rem){.course-topbar{gap:.5rem;padding-inline:.7rem}.course-topbar__menu{display:grid}.course-topbar__brand{width:auto}.course-topbar__brand .brand__descriptor{display:none}.course-topbar__center{max-width:none}.course-topbar__crumb>span,.course-topbar__crumb>i,.course-topbar__crumb>em{display:none}.course-topbar__crumb{justify-content:flex-start}.course-topbar__progress{display:none}.course-reader__workspace{grid-template-columns:minmax(0,1fr)}.course-sidebar{inset:var(--reader-topbar-height) auto 0 0;z-index:50;width:min(88vw, var(--reader-sidebar-width));transition:transform var(--motion-normal) var(--ease-standard);transform:translate(-102%)}.course-sidebar[data-open]{transform:translate(0)}.course-sidebar__close{display:grid}.course-stage,.course-footer-nav{grid-column:1}.course-footer-nav__step{padding-inline:.35rem}.course-footer-nav__step small{display:none}.course-footer-nav__complete{min-width:7.8rem;padding-inline:.9rem}.reader-drawer-open{overflow:hidden}}@media (width<=38rem){.course-topbar__brand .brand__descriptor{display:none}.course-language__menu{right:-.5rem}.course-footer-nav{gap:.35rem;padding-inline:.55rem}.course-footer-nav__step>span:last-child,.course-footer-nav__step--next>span:first-child{display:none}.course-footer-nav__step{justify-content:center}.course-footer-nav__complete{min-width:8.6rem}}@media (prefers-reduced-motion:reduce){.course-stage__loading span{animation-duration:1.8s}.course-sidebar,.course-footer-nav__complete,.course-topbar__progress i{transition:none}}
