.article-header.svelte-12huwt0{justify-items:center;gap:var(--s-4);max-width:calc(var(--measure) + 2 * var(--gutter));padding:var(--s-7) var(--gutter) var(--s-5);text-align:center;margin-inline:auto;display:grid}.course-banner.svelte-12huwt0{gap:var(--s-3);width:100%;margin-bottom:var(--s-3);padding:var(--s-4);border-radius:var(--r);background:var(--surface);text-align:left;transition:box-shadow var(--dur) ease;text-decoration:none;display:grid}.course-banner.svelte-12huwt0:hover{box-shadow:var(--shadow-1)}.cb-top.svelte-12huwt0{align-items:center;gap:var(--s-2);font-size:var(--fs-small);flex-wrap:wrap;display:flex}.cb-top.svelte-12huwt0 .chip:where(.svelte-12huwt0){background:var(--page)}.cb-title.svelte-12huwt0{font-weight:500}.cb-n.svelte-12huwt0{font-family:var(--font-sans);font-variant-numeric:tabular-nums;color:var(--ink-2);margin-left:auto;font-size:11px}.cb-track.svelte-12huwt0{gap:3px;display:flex}.cb-track.svelte-12huwt0 i:where(.svelte-12huwt0){background:#0d0c131a;border-radius:3px;flex:1;height:6px}.cb-track.svelte-12huwt0 i.is-done:where(.svelte-12huwt0){background:var(--ink)}.cb-track.svelte-12huwt0 i.is-here:where(.svelte-12huwt0){background:var(--subject);transform:scaleY(1.5)}.cb-module.svelte-12huwt0{font-size:var(--fs-xs);color:var(--ink-2)}.meta.svelte-12huwt0{justify-content:center;gap:var(--s-1) var(--s-4);font-size:var(--fs-small);color:var(--ink-3);flex-wrap:wrap;font-weight:500;display:flex}.meta.svelte-12huwt0 a:where(.svelte-12huwt0){color:var(--ink-3);text-decoration:none}.meta.svelte-12huwt0 a:where(.svelte-12huwt0):hover{color:var(--ink)}h1.svelte-12huwt0{font-size:var(--fs-h1);letter-spacing:-.03em;max-width:20ch;line-height:1.12}.dek.svelte-12huwt0{max-width:36rem;font-size:var(--fs-lead);color:var(--ink-2);line-height:1.5}.byline.svelte-12huwt0{justify-content:center;align-items:center;gap:var(--s-2) var(--s-4);width:100%;margin-top:var(--s-3);padding-top:var(--s-4);border-top:1px solid var(--line);font-size:var(--fs-small);color:var(--ink-3);flex-wrap:wrap;display:flex}.who.svelte-12huwt0{color:var(--ink);font-weight:500}.who.svelte-12huwt0 a:where(.svelte-12huwt0){color:inherit;text-decoration:none}.who.svelte-12huwt0 a:where(.svelte-12huwt0):hover{text-decoration:underline}.share.svelte-12huwt0{border-radius:var(--r-pill);background:var(--surface);min-height:36px;font-size:var(--fs-small);border:0;align-items:center;gap:6px;padding:6px 12px;font-weight:500;display:inline-flex}.share.svelte-12huwt0 svg:where(.svelte-12huwt0){width:15px;height:15px}.share.svelte-12huwt0:hover{background:var(--surface-2)}.toc.svelte-elyf91{max-width:var(--measure);margin:var(--s-2) auto var(--s-6);padding:var(--s-4) var(--s-5) var(--s-3);border-radius:var(--r);background:var(--surface)}.eyebrow.svelte-elyf91{margin-bottom:var(--s-3);color:var(--subject-ink,var(--pink-ink))}ol.svelte-elyf91{margin:0;padding:0;list-style:none}li.svelte-elyf91{grid-template-columns:2.1em 1fr;align-items:baseline;padding-block:5px;font-size:.9375rem;line-height:1.4;display:grid}.n.svelte-elyf91{font:600 .75rem var(--font-sans);font-variant-numeric:tabular-nums;color:var(--subject-ink,var(--pink-ink))}a.svelte-elyf91{color:var(--ink);transition:background var(--dur-fast) ease;border-radius:3px;text-decoration:none}a.svelte-elyf91:hover{background:var(--page)}li.is-current.svelte-elyf91 a:where(.svelte-elyf91){font-weight:600}.is-collapsed.svelte-elyf91 li.is-extra:where(.svelte-elyf91){display:none}.more.svelte-elyf91{margin-top:var(--s-2);min-height:var(--tap);font-size:var(--fs-small);color:var(--ink-2);text-underline-offset:3px;background:0 0;border:0;padding:0;font-weight:500;text-decoration:underline}@media (width>=900px){ol.svelte-elyf91{columns:2;column-gap:var(--s-6)}li.svelte-elyf91{break-inside:avoid}.is-collapsed.svelte-elyf91 li.is-extra:where(.svelte-elyf91){display:grid}.more.svelte-elyf91{display:none}}.vine.svelte-12lyw5e{top:calc(var(--topbar-h) - 9px);z-index:51;pointer-events:none;height:18px;position:fixed;left:0;right:0}.stem.svelte-12lyw5e,.stem-fill.svelte-12lyw5e{height:2px;position:absolute;top:8px;left:0}.stem.svelte-12lyw5e{background:repeating-linear-gradient(90deg, var(--line-strong) 0 6px, transparent 6px 11px);opacity:.7;right:0}.stem-fill.svelte-12lyw5e{width:calc(var(--p) * 100%);background:var(--gradient-brand);border-radius:2px}.mark.svelte-12lyw5e{position:absolute;top:2px;transform:translate(-50%)}.bud.svelte-12lyw5e{transition:left 90ms linear;position:absolute;top:0}@media (prefers-reduced-motion:reduce){.bud.svelte-12lyw5e{transition:none;transform:none!important}}.pill.svelte-1pfbyof{left:50%;bottom:calc(14px + env(safe-area-inset-bottom));z-index:40;width:min(420px, calc(100vw - 2 * var(--gutter)));opacity:0;transition:transform var(--dur-slow) var(--ease-out), opacity var(--dur) ease;pointer-events:none;position:fixed;transform:translate(-50%,calc(100% + 32px))}.pill.is-visible.svelte-1pfbyof{opacity:1;pointer-events:auto;transform:translate(-50%)}.next.svelte-1pfbyof{align-items:center;gap:var(--s-3);border-radius:var(--r-pill);-webkit-backdrop-filter:blur(12px);width:100%;box-shadow:inset 0 0 0 1px var(--line), 0 12px 32px -12px #0d0c1340;color:var(--ink);text-align:left;background:#fffffff0;border:0;padding:10px 10px 10px 18px;text-decoration:none;display:flex}.txt.svelte-1pfbyof{flex:1;gap:1px;min-width:0;display:grid}.eyebrow.svelte-1pfbyof{font-size:11px}.t.svelte-1pfbyof{text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-small);font-weight:500;overflow:hidden}.go.svelte-1pfbyof{background:var(--subject,var(--purple));width:40px;height:40px;color:var(--subject-on,#fff);transition:transform var(--dur) var(--ease-out);border-radius:50%;flex:none;place-items:center;font-weight:600;display:grid}.next.svelte-1pfbyof:hover .go:where(.svelte-1pfbyof){transform:translate(3px)}.rail.svelte-kvp1jo{display:none}@media (width>=1180px){.rail.svelte-kvp1jo{z-index:5;top:calc(var(--topbar-h) + 48px);left:calc(50% + var(--measure) / 2 + 48px);width:min(250px, calc(50vw - var(--measure) / 2 - 72px));gap:var(--s-3);animation:svelte-kvp1jo-rail-in var(--dur) var(--ease-out);display:grid;position:fixed}ol.svelte-kvp1jo{max-height:calc(100vh - var(--topbar-h) - 190px);scrollbar-width:none;margin:0;padding:0 0 0 2px;list-style:none;position:relative;overflow-y:auto}ol.svelte-kvp1jo::-webkit-scrollbar{display:none}li.svelte-kvp1jo{position:relative}a.svelte-kvp1jo{border-left:2px solid var(--line);color:var(--ink-3);transition:color var(--dur-fast) ease, border-color var(--dur-fast) ease;grid-template-columns:24px minmax(0,1fr);align-items:baseline;gap:6px;padding:7px 0 7px 14px;font-size:13px;line-height:1.35;text-decoration:none;display:grid}a.svelte-kvp1jo:hover{color:var(--ink)}.n.svelte-kvp1jo{font:500 10.5px/1.6 var(--font-mono);font-variant-numeric:tabular-nums}li.is-done.svelte-kvp1jo a:where(.svelte-kvp1jo){border-left-color:var(--line-strong)}li.is-current.svelte-kvp1jo a:where(.svelte-kvp1jo){border-left-color:var(--subject-ink,var(--purple-ink));color:var(--ink);font-weight:600}li.is-current.svelte-kvp1jo .n:where(.svelte-kvp1jo){color:var(--subject-ink,var(--purple-ink))}.pct.svelte-kvp1jo{font:500 11.5px/1 var(--font-mono);letter-spacing:.04em;color:var(--ink-3);font-variant-numeric:tabular-nums;padding-left:16px}}@keyframes svelte-kvp1jo-rail-in{0%{opacity:0;transform:translate(8px)}}.lesson-nav.svelte-1ce31ee{gap:var(--s-4);max-width:calc(var(--measure) + 2 * var(--gutter));margin:var(--s-7) auto 0;padding-inline:var(--gutter);display:grid}.done-row.svelte-1ce31ee{gap:var(--s-4);padding:var(--s-5);border-radius:var(--r-lg);background:var(--surface);display:grid}.done-row.svelte-1ce31ee .eyebrow:where(.svelte-1ce31ee){color:var(--subject-ink)}.done-row.svelte-1ce31ee p:where(.svelte-1ce31ee){font-size:var(--fs-small);color:var(--ink-2);margin-top:6px}.pn.svelte-1ce31ee{gap:var(--s-3);display:grid}.pn-card.svelte-1ce31ee{padding:var(--s-4) var(--s-5);gap:6px;display:grid}.pn-card.svelte-1ce31ee .t:where(.svelte-1ce31ee){font-weight:500;line-height:1.3}.pn-next.svelte-1ce31ee{box-shadow:inset 0 0 0 1.5px var(--subject)}a.pn-next.svelte-1ce31ee:hover{box-shadow:inset 0 0 0 1.5px var(--subject), var(--shadow-1)}.pn-card.svelte-1ce31ee .eyebrow:where(.svelte-1ce31ee){color:var(--ink-3)}.pn-next.svelte-1ce31ee .eyebrow:where(.svelte-1ce31ee){color:var(--subject-ink)}.roadmap-link.svelte-1ce31ee{padding-block:var(--s-3);font-size:var(--fs-small);color:var(--ink-2);text-underline-offset:3px;justify-self:center}@media (width>=640px){.done-row.svelte-1ce31ee{grid-template-columns:1fr auto;align-items:center}.pn.svelte-1ce31ee{grid-template-columns:1fr 1fr}.pn-next.svelte-1ce31ee:only-child{grid-column:2}.pn-next.svelte-1ce31ee{text-align:right}}.pb.svelte-1nfjukh{max-width:var(--measure);margin:var(--s-5) auto 0;padding:var(--s-4) var(--s-5) var(--s-5);border-radius:var(--r-lg);box-shadow:inset 0 0 0 1px var(--line)}.pb--shelf.svelte-1nfjukh{gap:var(--s-3);justify-items:start;display:grid}.lead.svelte-1nfjukh{margin:0;font-weight:500}ul.svelte-1nfjukh{margin:var(--s-3) 0 0;gap:var(--s-4);padding:0;list-style:none;display:grid}li.svelte-1nfjukh{gap:var(--s-2) var(--s-4);grid-template-columns:64px minmax(0,1fr) auto;align-items:center;display:grid}.cv.svelte-1nfjukh img:where(.svelte-1nfjukh){width:64px;height:auto;box-shadow:0 0 0 1px var(--line), 0 6px 12px -6px var(--shade);border-radius:3px;display:block}.txt.svelte-1nfjukh{gap:2px;min-width:0;display:grid}.t.svelte-1nfjukh{color:var(--ink);text-wrap:balance;font-weight:500;text-decoration:none}.m.svelte-1nfjukh{font:500 11.5px/1.4 var(--font-mono);letter-spacing:.04em;color:var(--ink-3)}.btns.svelte-1nfjukh{gap:var(--s-2);display:flex}@media (width<=640px){.pb.svelte-1nfjukh{padding-inline:var(--s-4)}li.svelte-1nfjukh{grid-template-columns:64px minmax(0,1fr)}.btns.svelte-1nfjukh{grid-column:1/-1}.btns.svelte-1nfjukh .btn:where(.svelte-1nfjukh){padding-inline:var(--s-3);flex:1 1 0}}.comments.svelte-i7sy9m{max-width:var(--reading-w);margin:48px auto}.prose .sch.is-on{-webkit-text-decoration:underline dotted var(--subject,var(--purple));text-decoration:underline dotted var(--subject,var(--purple));text-underline-offset:4px;cursor:pointer;border-radius:3px;text-decoration-thickness:2px}.prose .sch.is-on:hover,.prose .sch.is-on:focus-visible{color:var(--subject-ink,var(--purple-ink));outline:none}.sch-card.svelte-nkolbk{z-index:91;border-radius:var(--r);background:var(--page);width:min(340px,100vw - 32px);box-shadow:0 0 0 1px var(--line-strong);animation:svelte-nkolbk-pop var(--dur-fast) ease;position:fixed;overflow:hidden}.sch-card.is-sheet.svelte-nkolbk{border-radius:var(--r) var(--r) 0 0;width:auto;max-height:75vh;box-shadow:0 0 0 1px var(--line-strong);padding-bottom:env(safe-area-inset-bottom);animation-name:svelte-nkolbk-rise;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.head.svelte-nkolbk{justify-content:space-between;align-items:flex-start;gap:var(--s-3);padding:var(--s-3) var(--s-4);background:var(--subject,var(--purple));color:var(--on-colour);display:flex}.when.svelte-nkolbk{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;font-size:11px;display:block}strong.svelte-nkolbk{font-size:1.0625rem;font-weight:600;line-height:1.3;display:block}.close.svelte-nkolbk{width:36px;height:36px;color:var(--on-colour);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;margin:-4px -8px 0 0;font-size:1.5rem;line-height:1}.body.svelte-nkolbk{gap:var(--s-2);padding:var(--s-3) var(--s-4) var(--s-4);font-size:.9375rem;line-height:1.5;display:grid}.line.svelte-nkolbk{color:var(--ink-2);margin:0}.label.svelte-nkolbk{margin-top:var(--s-1);color:var(--subject-ink,var(--purple-ink));font-size:.75rem;font-weight:600}ul.svelte-nkolbk{margin:0;padding-left:1.1em}.links.svelte-nkolbk a:where(.svelte-nkolbk){color:var(--ink)}@keyframes svelte-nkolbk-pop{0%{opacity:0;transform:translateY(-4px)}}@keyframes svelte-nkolbk-rise{0%{transform:translateY(100%)}}@media (prefers-reduced-motion:reduce){.sch-card.svelte-nkolbk{animation:none}}.choice.svelte-aim449{align-items:center;gap:var(--s-3) var(--s-4);margin:var(--s-5) 0;font-size:var(--fs-small);color:var(--ink-2);flex-wrap:wrap;display:flex}.page-header.svelte-jot9ci{padding-block:var(--s-7) var(--s-5);text-align:center}.page-header.svelte-jot9ci h1:where(.svelte-jot9ci){font-size:var(--fs-h1);letter-spacing:-.03em}.fix.svelte-jot9ci{max-width:var(--measure);margin:var(--s-7) auto 0;padding-top:var(--s-4);border-top:1px solid var(--line);font-size:var(--fs-small);color:var(--ink-3)}.fix.svelte-jot9ci a:where(.svelte-jot9ci){color:var(--ink-2);text-underline-offset:3px}.keep.svelte-jot9ci{margin-top:var(--s-8)}.keep-list.svelte-jot9ci{margin-top:var(--s-3);border-bottom:1px solid var(--line)}.after.svelte-jot9ci{gap:var(--s-6);margin-top:var(--s-7);display:grid}.news.svelte-jot9ci{gap:var(--s-2);text-align:center;justify-items:center;display:grid}.news.svelte-jot9ci p:where(.svelte-jot9ci){font-size:var(--fs-h3);font-weight:500}
