:root{--scale-sm:.875rem;--scale-nav:1rem;--scale-base:clamp(1.0625rem, 1.0446rem + .0893vw, 1.125rem);--scale-md:1.25rem;--scale-lg:1.5rem;--scale-xl:clamp(1.875rem, 1.45rem + 1.8vw, 2.5rem);--scale-2xl:clamp(2.25rem, 1.6rem + 2.8vw, 3.25rem);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--space-gutter:clamp(1rem, 4vw, 2rem);--space-section:clamp(2.5rem, 5vw, 3.5rem);--line-hairline:1px;--line-rule:2px;--line-box:1.5px;--line-brand:4px;--duration-state:0s;--duration-panel:0s;--color-canvas:#fcfaf6;--color-surface:#fffdfb;--color-surface-sunken:#f6f3ee;--color-border:#e6e2dd;--color-row-stripe:color-mix(in srgb, var(--color-ink) 4%, transparent);--color-border-strong:#94908a;--color-ink:#14110d;--color-text:#3b3732;--color-muted:#5b5752;--color-accent:#f8b233;--color-accent-tint:#feeed7;--color-accent-boundary:#c18500;--color-accent-fill:#f8b233;--color-accent-fill-edge:#c18500;--color-accent-fill-hover:#ffca79;--color-accent-fill-active:#ffdba7;--color-on-accent:#14110d;--color-link:#7f4e00;--color-link-underline:#f8b233;--color-selection:#f5d6a7;--color-focus:#14110d;--color-stage:#14110d;--color-success:#13612e;--color-success-tint:#e4f8e7;--color-warning:#7f4400;--color-warning-tint:#fef0d8;--color-danger:#9d1316;--color-danger-tint:#ffedeb;--color-info:#275582;--color-info-tint:#e8f3ff;--color-success-boundary:#2c8a4a;--color-warning-boundary:#c18500;--color-danger-boundary:#c8323c;--color-info-boundary:#2f6bc4;--font-heading:var(--font-montserrat);--font-heading-weight:700;--font-heading-weight-display:800;--font-heading-tracking:-.015em;--font-heading-tracking-display:-.035em;--font-body:var(--font-inter);--font-body-weight:400;--font-body-weight-strong:600;--font-body-line-height:1.6;--font-body-measure:36em;--font-mono:ui-monospace, "Cascadia Mono", "Segoe UI Mono", Menlo, Consolas, "Liberation Mono", monospace;--radius-s:1px;--radius-m:2px;--radius-l:6px;--header-height:3.5rem;--logo-max-height:1.75rem;--logo-max-width:10rem;--logo-small-height:1.35rem;--header-motion:.2s ease-out;--icon-size:1.25rem;--nav-width:17rem;--measure:var(--font-body-measure);--measure-wide:48em;--exercise-color:var(--color-info-boundary);--exercise-fill:var(--color-info-tint);--exercise-text:var(--color-info);--tip-color:var(--color-warning-boundary);--tip-fill:var(--color-warning-tint);--tip-text:var(--color-warning);--solution-color:var(--color-success-boundary);--solution-fill:var(--color-success-tint);--solution-text:var(--color-success);--video-color:var(--color-danger-boundary);--video-fill:var(--color-danger-tint);--video-text:var(--color-danger);--code-bg:var(--color-surface-sunken);--code-fg:var(--color-ink);--code-keyword:#662d88;--code-string:#0b5d2a;--code-number:#0f4f95;--code-function:#7f3812;--code-comment:var(--color-muted);--error-image-sky:#feeed7;--error-image-sand:#fbd796;--error-image-sand-shadow:#ecbd66;--error-image-cactus:#a9c49c;--error-image-belly:#fffdfb;--error-image-water:#cfe6ff;--error-image-rays:#14110d}@media screen and (prefers-color-scheme:dark){:root:not([data-color-scheme=light]){color-scheme:dark;--color-success:#98e2a8;--color-success-tint:#172c1c;--color-warning:#fdc87e;--color-warning-tint:#32230e;--color-danger:#ffc3bc;--color-danger-tint:#381f1c;--color-info:#aed5ff;--color-info-tint:#1a2836;--color-success-boundary:#5cc77a;--color-warning-boundary:#f8b233;--color-danger-boundary:#f07a80;--color-info-boundary:#6aa8f0;--code-keyword:#e7caff;--code-string:#9ce6ab;--code-number:#bbd9ff;--code-function:#ffcba9;--error-image-sky:#47381f;--error-image-sand:#9a7535;--error-image-sand-shadow:#765a28;--error-image-cactus:#5a7650;--error-image-belly:#f2ede6;--error-image-water:#9cc8f5;--error-image-rays:#f8b233;--color-canvas:#191713;--color-surface:#201e1a;--color-surface-sunken:#13100d;--color-border:#33302c;--color-row-stripe:color-mix(in srgb, var(--color-ink) 7%, transparent);--color-border-strong:#6c6864;--color-ink:#f7f5f2;--color-text:#ebe7e2;--color-muted:#d2cfca;--color-accent:#f8b233;--color-accent-tint:#37270e;--color-accent-boundary:#f8b233;--color-accent-fill:#f8b233;--color-accent-fill-edge:#f8b233;--color-accent-fill-hover:#ffca79;--color-accent-fill-active:#ffdba7;--color-on-accent:#14110d;--color-link:#ffca79;--color-link-underline:#f8b233;--color-selection:#644713;--color-focus:#f7f5f2;--color-stage:#0b0a08}}:root[data-color-scheme=dark]{color-scheme:dark;--color-success:#98e2a8;--color-success-tint:#172c1c;--color-warning:#fdc87e;--color-warning-tint:#32230e;--color-danger:#ffc3bc;--color-danger-tint:#381f1c;--color-info:#aed5ff;--color-info-tint:#1a2836;--color-success-boundary:#5cc77a;--color-warning-boundary:#f8b233;--color-danger-boundary:#f07a80;--color-info-boundary:#6aa8f0;--code-keyword:#e7caff;--code-string:#9ce6ab;--code-number:#bbd9ff;--code-function:#ffcba9;--error-image-sky:#47381f;--error-image-sand:#9a7535;--error-image-sand-shadow:#765a28;--error-image-cactus:#5a7650;--error-image-belly:#f2ede6;--error-image-water:#9cc8f5;--error-image-rays:#f8b233;--color-canvas:#191713;--color-surface:#201e1a;--color-surface-sunken:#13100d;--color-border:#33302c;--color-row-stripe:color-mix(in srgb, var(--color-ink) 7%, transparent);--color-border-strong:#6c6864;--color-ink:#f7f5f2;--color-text:#ebe7e2;--color-muted:#d2cfca;--color-accent:#f8b233;--color-accent-tint:#37270e;--color-accent-boundary:#f8b233;--color-accent-fill:#f8b233;--color-accent-fill-edge:#f8b233;--color-accent-fill-hover:#ffca79;--color-accent-fill-active:#ffdba7;--color-on-accent:#14110d;--color-link:#ffca79;--color-link-underline:#f8b233;--color-selection:#644713;--color-focus:#f7f5f2;--color-stage:#0b0a08}.lms,.lms *,.lms :before,.lms :after{box-sizing:border-box}html{scroll-behavior:auto}@media screen{html{font-size:calc(100% * var(--font-scale,1))}}body.lms{min-height:100vh;margin:0}.lms{background:var(--color-canvas);color:var(--color-text);font-family:var(--font-body);font-weight:var(--font-body-weight);font-size:var(--scale-base);line-height:var(--font-body-line-height);font-kerning:normal;overflow-wrap:break-word;accent-color:var(--color-accent-boundary);position:relative}.lms :is(h1,h2,h3,.note-title,.pager-title,.download-title){-webkit-font-smoothing:antialiased}.lms ::selection{background:var(--color-selection);color:var(--color-ink)}.lms :focus-visible{outline:var(--line-rule) solid var(--color-focus);outline-offset:3px}.lms :focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion:reduce){.lms *,.lms :before,.lms :after{transition-duration:0s!important;animation:none!important}}.label{font-family:var(--font-body);font-weight:var(--font-body-weight-strong);font-size:var(--scale-nav);color:var(--color-muted);margin:0;line-height:1.3}.draft{padding:0 var(--space-1);border-radius:var(--radius-m);background:var(--color-warning-tint);color:var(--color-warning);flex:none}.number{font-variant-numeric:tabular-nums}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{left:var(--space-2);top:var(--space-2);z-index:10;padding:var(--space-2) var(--space-4);background:var(--color-ink);color:var(--color-canvas);font-weight:var(--font-body-weight-strong);text-decoration:none;position:absolute;transform:translateY(-200%)}.skip:focus-visible{transform:none}.site-header{align-items:center;gap:var(--space-4);min-height:var(--header-height);padding-inline:var(--space-gutter);background:var(--color-canvas);border-top:var(--line-brand) solid var(--color-accent);border-bottom:var(--line-hairline) solid var(--color-border);display:flex}.js .site-header{z-index:5;transition:transform var(--header-motion);position:sticky;top:0}:root.js[data-header=hidden] .site-header{transform:translateY(-100%)}:root{--sticky-top:0px}:root.js{--sticky-top:var(--header-height)}:root.js[data-header=hidden]{--sticky-top:0px}.logo{color:var(--color-ink);flex:none;align-items:center;text-decoration:none;display:flex}.logo img{height:var(--logo-max-height);width:auto;max-width:var(--logo-max-width);object-fit:contain;display:block}.header-divider{width:var(--line-hairline);background:var(--color-border);flex:none;height:1.25rem}.header-course{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:var(--scale-sm);letter-spacing:var(--font-heading-tracking);color:var(--color-ink);text-underline-offset:.3em;text-decoration:underline .1em #0000;overflow:hidden}a.header-course:hover{text-decoration-color:var(--color-link-underline)}.nav-toggle,.sidebar-toggle{width:2.75rem;height:2.75rem;color:var(--color-ink);border-radius:var(--radius-m);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:none}:is(.nav-toggle,.sidebar-toggle) svg{width:var(--icon-size);height:var(--icon-size);fill:none;stroke:currentColor;stroke-width:1.5px;display:block}.nav-toggle .icon-close{display:none}:is(.nav-toggle,.sidebar-toggle):hover{background:var(--color-surface-sunken)}:is(.nav-toggle,.sidebar-toggle):active{background:var(--color-border)}.header-tools{align-items:center;gap:var(--space-1);margin-left:auto;margin-right:calc(var(--space-3) * -1);display:flex;position:relative}.sidebar-toggle{top:calc(var(--space-7) - var(--space-3));right:var(--space-2);position:absolute}.display-toggle{width:2.75rem;height:2.75rem;color:var(--color-muted);border-radius:var(--radius-m);font-family:var(--font-body);font-weight:var(--font-body-weight-strong);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:baseline;padding:0 0 .1rem;line-height:2.75rem;display:none}.js .display-toggle{display:inline-flex}.display-toggle-small{font-size:.75rem}.display-toggle-large{font-size:1.0625rem}.display-toggle:hover,.display-toggle[aria-expanded=true]{background:var(--color-surface-sunken);color:var(--color-ink)}.display-toggle:active{background:var(--color-border)}.display-panel{top:calc(100% + var(--space-2));right:var(--space-3);z-index:20;width:min(15.5rem, calc(100vw - 2 * var(--space-gutter)));padding:var(--space-4);background:var(--color-surface);border:var(--line-hairline) solid var(--color-border-strong);border-radius:var(--radius-l);font-size:var(--scale-nav);line-height:1.3;position:absolute}.display-panel[hidden]{display:none}.display-label{margin:0 0 var(--space-2);font-weight:var(--font-body-weight-strong);color:var(--color-ink)}.display-group+.display-label{margin-top:var(--space-4)}.display-group{border:var(--line-hairline) solid var(--color-border-strong);border-radius:var(--radius-m);display:flex;overflow:hidden}.display-group>*{flex:1;justify-content:center;align-items:center;min-height:2.75rem;display:flex}.display-group>*+*{border-left:var(--line-hairline) solid var(--color-border-strong)}.display-group button{color:var(--color-text);font:inherit;cursor:pointer;background:0 0;border-top:0;border-bottom:0;border-right:0;padding:0}.display-group button:first-child{border-left:0}.display-group button:hover:not(:disabled){background:var(--color-surface-sunken)}.display-group button[aria-pressed=true]{background:var(--color-accent-tint);color:var(--color-ink);font-weight:var(--font-body-weight-strong)}.display-group button:disabled{color:var(--color-border-strong);cursor:default}.display-value{font-variant-numeric:tabular-nums;color:var(--color-ink);flex:1.2}.page{grid-template-columns:var(--nav-width) minmax(0, 1fr);align-items:start;display:grid}.page-without-nav{display:block}.content{min-width:0;padding:var(--space-7) clamp(1.25rem, 5vw, 4.5rem) var(--space-8)}.lesson{max-width:var(--measure-wide);font-family:var(--font-body);font-size:var(--scale-base);line-height:var(--font-body-line-height);margin-inline:auto}@media (width>=100rem){.lesson{grid-template-columns:minmax(0, var(--measure-wide)) 13rem;column-gap:var(--space-7);max-width:calc(var(--measure-wide) + 13rem + var(--space-7));grid-template-rows:auto auto auto auto;display:grid}.lesson>*{grid-column:1}.lesson>.toc{top:calc(var(--sticky-top) + var(--space-6));transition:top var(--header-motion);border-bottom:0;grid-area:1/2/-1;align-self:start;margin:0;padding:0;position:sticky}.lesson-header{padding-bottom:var(--space-6);border-bottom:var(--line-hairline) solid var(--color-border)}}@media (width>=80rem){:root[data-reading-mode=on] .page .lesson{grid-template-columns:minmax(0, var(--measure-wide)) 13rem;column-gap:var(--space-7);max-width:calc(var(--measure-wide) + 13rem + var(--space-7));grid-template-rows:auto auto auto auto;display:grid}:root[data-reading-mode=on] .page .lesson>*{grid-column:1}:root[data-reading-mode=on] .page .lesson>.toc{top:calc(var(--sticky-top) + var(--space-6));transition:top var(--header-motion);border-bottom:0;grid-area:1/2/-1;align-self:start;margin:0;padding:0;position:sticky}:root[data-reading-mode=on] .page .lesson-header{padding-bottom:var(--space-6);border-bottom:var(--line-hairline) solid var(--color-border)}}@media (width>=56rem){.js .sidebar-toggle{display:inline-flex}:root[data-reading-mode=on] .page{grid-template-columns:3.5rem minmax(0,1fr)}:root[data-reading-mode=on] .course-nav{padding:calc(var(--space-7) - var(--space-3)) 0 0;border-right:0}:root[data-reading-mode=on] .course-nav-body{display:none}:root[data-reading-mode=on] .sidebar-toggle{margin-inline:auto;display:flex;position:static}}.course-nav{top:var(--sticky-top);height:calc(100vh - var(--sticky-top));height:calc(100dvh - var(--sticky-top));transition:top var(--header-motion), height var(--header-motion);overscroll-behavior:contain;padding:calc(var(--space-7) - var(--space-1)) calc(var(--space-gutter) - var(--space-3)) var(--space-7);border-right:var(--line-hairline) solid var(--color-border);scrollbar-width:thin;scrollbar-color:var(--color-border) transparent;position:sticky;overflow-y:auto}.course-nav-overview{margin:0 0 var(--space-2) var(--space-3);color:var(--color-link);font-size:var(--scale-nav);font-weight:var(--font-body-weight-strong);text-decoration:underline;text-decoration-color:var(--color-link-underline);text-underline-offset:.25em;text-decoration-skip-ink:none;text-decoration-thickness:.1em;display:inline-block}.course-nav-overview:hover{color:var(--color-ink);text-decoration-color:var(--color-ink)}.course-nav-section{margin-top:var(--space-6)}.course-nav-title{margin:0 0 var(--space-1);padding:0 var(--space-3);font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:var(--scale-nav);letter-spacing:var(--font-heading-tracking);color:var(--color-ink);line-height:1.4}.course-nav ol{gap:1px;margin:0;padding:0;list-style:none;display:grid}.course-nav-link{justify-content:space-between;align-items:baseline;gap:var(--space-3);min-height:2.25rem;padding:var(--space-2) var(--space-3);border-radius:var(--radius-m);color:var(--color-muted);font-size:var(--scale-nav);line-height:1.4;text-decoration:none;display:flex}.course-nav-link:hover{background:var(--color-surface-sunken);color:var(--color-ink)}.course-nav-link[aria-current=page]{background:var(--color-accent-tint);color:var(--color-ink);font-weight:var(--font-body-weight-strong);position:relative}.course-nav-link[aria-current=page]:before{content:"";background:var(--color-accent);width:.45rem;height:.8rem;position:absolute;top:50%;left:.15rem;transform:translateY(-50%);mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24.5 50'%3E%3Cpath d='M8.52 0.62Q9.55 0 10.17 1.03L24.48 24.87 10.17 48.7Q9.55 49.73 8.52 49.11L1.03 44.62Q0 44 0.62 42.97L11.48 24.87 0.62 6.76Q0 5.73 1.03 5.11Z'/%3E%3C/svg%3E") 50%/contain no-repeat}.course-nav-duration{font-size:var(--scale-nav);font-weight:var(--font-body-weight);color:var(--color-muted);font-variant-numeric:tabular-nums;flex:none}.logo .logo-on-dark{display:none}@media screen and (prefers-color-scheme:dark){:root:not([data-color-scheme=light]){-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root:not([data-color-scheme=light]) .logo .logo-on-light{display:none}:root:not([data-color-scheme=light]) .logo .logo-on-dark{display:block}:root:not([data-color-scheme=light]) :is(.figure img,.prose img){filter:brightness(.88)}}:root[data-color-scheme=dark]{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root[data-color-scheme=dark] .logo .logo-on-light{display:none}:root[data-color-scheme=dark] .logo .logo-on-dark{display:block}:root[data-color-scheme=dark] :is(.figure img,.prose img){filter:brightness(.88)}.toc{max-width:var(--measure);margin:0 0 var(--space-6);padding-bottom:var(--space-5);border-bottom:var(--line-hairline) solid var(--color-border);container-type:inline-size}.toc .label{margin-bottom:var(--space-2)}.toc ol{gap:.125rem;margin:0;padding:0;list-style:none;display:grid}.toc li{padding-left:1.15rem;position:relative}.toc li:before{content:"";background:var(--color-muted);width:.55rem;height:1px;position:absolute;top:.85em;left:0}@container (width>=28rem){.toc ol{columns:2;column-gap:var(--space-6);display:block}.toc li{break-inside:avoid;padding-bottom:.125rem}}.toc a{color:var(--color-ink);text-underline-offset:.24em;text-decoration-skip-ink:none;font-size:.94em;text-decoration:underline .1em #0000}.toc a:hover{text-decoration-color:var(--color-link-underline)}.toc a[aria-current=true]{font-weight:var(--font-body-weight-strong)}.toc li:has(a[aria-current=true]):before{background:var(--color-accent-boundary);width:.7rem;height:2px;top:.8em}.lesson-end{gap:var(--space-2) var(--space-5);margin-top:var(--space-7);flex-wrap:wrap;font-size:1rem;display:flex}.lesson-end :is(a,button){color:var(--color-link);font:inherit;font-weight:var(--font-body-weight-strong);text-decoration:underline;text-decoration-color:var(--color-link-underline);text-underline-offset:.24em;text-decoration-skip-ink:none;cursor:pointer;background:0 0;border:0;padding:0;text-decoration-thickness:.1em}.lesson-end :is(a,button):hover{color:var(--color-ink);text-decoration-color:var(--color-ink)}.lesson-end+.pager{margin-top:var(--space-5)}.lesson-signoff{align-items:center;gap:var(--space-3);margin:var(--space-7) 0 0;padding-top:var(--space-5);border-top:var(--line-hairline) solid var(--color-border);color:var(--color-muted);font-size:1rem;display:flex}.lesson-signoff .logo img{height:1.1rem}.lesson-signoff+.pager{margin-top:var(--space-7)}.lesson-header{max-width:var(--measure);margin-bottom:var(--space-7)}.lesson-meta{gap:var(--space-1) var(--space-3);margin-bottom:var(--space-4);font-weight:var(--font-body-weight);flex-wrap:wrap;display:flex}.lesson-header h1,.course-header h1,.status-page h1{font-family:var(--font-heading);font-weight:var(--font-heading-weight-display);font-size:var(--scale-xl);letter-spacing:var(--font-heading-tracking-display);color:var(--color-ink);text-wrap:balance;margin:0;line-height:1.08}.lead{max-width:26em;margin:var(--space-4) 0 0;color:var(--color-text);text-wrap:pretty;font-size:1.18em;line-height:1.45}.prose>*{margin-top:0;margin-bottom:0}.prose>*+*{margin-top:var(--space-5)}.prose>p+p{margin-top:1em}.prose p{text-wrap:pretty}.prose>:is(p,ul,ol,blockquote,.note,.download){max-width:var(--measure)}.prose :is(h2,h3){scroll-margin-top:calc(var(--header-height) + var(--space-6))}.prose h2{margin-top:var(--space-section);padding-top:var(--space-5);border-top:var(--line-hairline) solid var(--color-border);font-family:var(--font-heading);font-weight:var(--font-heading-weight);letter-spacing:var(--font-heading-tracking);color:var(--color-ink);text-wrap:balance;font-size:1.32em;line-height:1.2}.prose h3{margin-top:var(--space-6);font-family:var(--font-heading);font-weight:var(--font-heading-weight);letter-spacing:var(--font-heading-tracking);color:var(--color-ink);text-wrap:balance;font-size:1.12em;line-height:1.25}.prose>h2+*,.prose>h3+*{margin-top:var(--space-3)}.prose ul{gap:var(--space-2);padding:0;list-style:none;display:grid}.prose ul>li{padding-left:1.15rem;position:relative}.prose ul>li:before{content:"";background:var(--color-muted);width:.55rem;height:1px;position:absolute;top:.82em;left:0}.prose ol{gap:var(--space-2);padding-left:1.4em;display:grid}.prose ol>li::marker{color:var(--color-muted);font-variant-numeric:tabular-nums}.prose li>:is(ul,ol){margin-top:var(--space-2)}.prose blockquote{padding-left:var(--space-5);border-left:var(--line-rule) solid var(--color-border-strong);margin-inline:0}.prose blockquote>*{margin:0}.prose blockquote>*+*{margin-top:1em}.prose hr{border:0;border-top:var(--line-hairline) solid var(--color-border);height:0}.prose strong{font-weight:var(--font-body-weight-strong);color:var(--color-ink)}.prose em{font-style:normal;font-weight:var(--font-body-weight-strong)}.prose a,.link{color:var(--color-link);text-decoration:underline;text-decoration-color:var(--color-link-underline);text-underline-offset:.24em;text-decoration-skip-ink:none;text-decoration-thickness:.1em}.prose a:hover,.link:hover{color:var(--color-ink);text-decoration-color:var(--color-ink)}.prose :not(pre)>code{background:var(--code-bg);border-radius:var(--radius-s);color:var(--code-fg);font-family:var(--font-mono);padding:.12em .32em;font-size:.86em}.prose kbd{background:var(--color-surface);border:var(--line-hairline) solid var(--color-border-strong);border-radius:var(--radius-s);color:var(--color-ink);font-family:var(--font-mono);white-space:nowrap;border-bottom-width:2px;padding:.15em .45em;font-size:.8em;font-weight:600;line-height:1.2;display:inline-block}.prose sup,.prose sub{font-size:.75em;line-height:0}.lms{--astro-code-foreground:var(--code-fg);--astro-code-background:var(--code-bg);--astro-code-token-keyword:var(--code-keyword);--astro-code-token-string:var(--code-string);--astro-code-token-string-expression:var(--code-string);--astro-code-token-constant:var(--code-number);--astro-code-token-function:var(--code-function);--astro-code-token-comment:var(--code-comment);--astro-code-token-parameter:var(--code-fg);--astro-code-token-punctuation:var(--code-fg);--astro-code-token-link:var(--color-link)}.prose pre{padding:var(--space-4);border-radius:var(--radius-l);color:var(--code-fg);font-family:var(--font-mono);tab-size:4;margin-inline:0;font-size:max(.9375rem,.8em);line-height:1.6;overflow-x:auto;background:var(--code-bg)!important}.prose pre code{font-family:inherit}.code-block{background:var(--code-bg);border-radius:var(--radius-l);margin-inline:0}.code-block-header{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);border-bottom:var(--line-hairline) solid var(--color-border);flex-wrap:wrap;display:flex}.prose .code-block pre{border-radius:0 0 var(--radius-l) var(--radius-l);margin:0}.code-button{width:2rem;height:2rem;color:var(--color-ink);border:var(--line-hairline) solid var(--color-border-strong);border-radius:var(--radius-m);cursor:pointer;background:0 0;place-items:center;padding:0;display:inline-grid}.code-button svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;grid-area:1/1}.code-button:hover{background:var(--color-surface);border-color:var(--color-ink)}.code-button:disabled{color:var(--color-border-strong);border-color:var(--color-border);cursor:default;background:0 0}.copy .icon-copied,.copy[data-status=copied] .icon-copy{visibility:hidden}.copy[data-status=copied] .icon-copied{visibility:visible}.copy[data-status=copied]{color:var(--color-success);border-color:currentColor}.code-note{vertical-align:middle;background:var(--color-surface);width:1.5rem;height:1.5rem;color:var(--color-ink);border:var(--line-hairline) solid var(--color-border-strong);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;margin-left:.5em;padding:0;display:inline-flex}.code-note svg{fill:currentColor}.code-note:hover{border-color:var(--color-ink)}.code-note-box{max-width:min(24rem,100vw - 2rem);padding:var(--space-3) var(--space-4);background:var(--color-surface);color:var(--color-ink);border:var(--line-hairline) solid var(--color-border-strong);border-radius:var(--radius-m);font-family:var(--font-body);font-size:var(--scale-sm);white-space:normal;margin:0;line-height:1.5;position:absolute;inset:auto}.code-note-box code{font-family:var(--font-mono)}.prose pre code{counter-reset:zeile}.prose pre .line:before{counter-increment:zeile;content:counter(zeile);min-width:2ch;margin-right:var(--space-4);color:var(--color-muted);text-align:right;user-select:none;display:inline-block}.prose pre .line[data-highlighted]{min-width:calc(100% + 2 * var(--space-4));margin-inline:calc(-1 * var(--space-4));padding-inline:var(--space-4);background:var(--color-accent-tint);display:inline-block}.code-block[data-steps] .code-block-header{padding-bottom:var(--space-4);border-bottom:0}.prose .code-block[data-steps] pre{border-radius:0}.code-block[data-steps] .line{min-width:calc(100% + 2 * var(--space-4));margin-inline:calc(-1 * var(--space-4));padding-inline:var(--space-4);display:inline-block}.code-block[data-steps] .line:before{min-width:4ch}.line[data-step=line],.line[data-step=return]{background:var(--color-accent-tint)}.code-block[data-steps] .line[data-step=line]:before{content:"▶ " counter(zeile);color:var(--color-accent-boundary)}.code-block[data-steps] .line[data-step=return]:before{content:"↩ " counter(zeile);color:var(--color-accent-boundary)}.line[data-step=error]{background:var(--color-danger-tint)}.code-block[data-steps] .line[data-step=error]:before{content:"✕ " counter(zeile);color:var(--color-danger)}.debugger-controls{align-items:center;gap:var(--space-1);margin-left:auto;margin-right:var(--space-3);display:flex}.debugger-counter{min-width:4.25rem;font-family:var(--font-body);font-size:var(--scale-sm);font-weight:var(--font-body-weight-strong);font-variant-numeric:tabular-nums;text-align:center;color:var(--color-ink)}.debugger-edit{align-items:center;gap:var(--space-1);margin-right:var(--space-3);display:flex}.code-block[data-editing] .debugger-edit{margin-left:auto}.debugger-status{margin-right:var(--space-2);font-family:var(--font-body);font-size:var(--scale-sm);color:var(--color-muted)}.debugger-status:empty{display:none}.code-button-text{gap:var(--space-1);width:auto;padding-inline:var(--space-2) var(--space-3);font-family:var(--font-body);font-size:var(--scale-sm);font-weight:var(--font-body-weight-strong);display:inline-flex}.code-block [data-action=run],.code-block [data-action=reset]{display:none}.code-block[data-editing] [data-action=run]{display:inline-flex}.code-block[data-editing] [data-action=reset]{display:inline-grid}.code-block[data-editing] [data-action=edit],.code-block[data-editing] .debugger-controls,.code-block[data-editing] .debugger-slider,.code-block[data-editing] pre,.code-block[data-editing] .debugger-memory,.code-block[data-editing] .debugger-variables,.code-editor{display:none}.code-block[data-editing] .code-editor{box-sizing:border-box;width:100%;padding:var(--space-4);resize:none;background:var(--code-bg);color:var(--code-fg);border:0;border-top:var(--line-hairline) solid var(--color-border);font-family:var(--font-mono);tab-size:4;white-space:pre;margin:0;font-size:max(.9375rem,.8em);line-height:1.6;display:block;overflow:auto hidden}.code-editor:focus-visible{outline:2px solid var(--color-accent-boundary);outline-offset:-2px}@media (width<=47.99rem){.code-block[data-steps] .code-block-header{gap:var(--space-2)}.debugger-controls,.debugger-edit{margin-right:0}}@media (pointer:coarse){.code-block[data-editing] .code-editor{font-size:1rem}}.debugger-slider{z-index:1;appearance:none;cursor:pointer;background:0 0;width:100%;height:.875rem;margin:-.4375rem 0;display:block;position:relative}.debugger-slider::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--color-accent-boundary) var(--progress,0%), var(--color-border) var(--progress,0%));height:3px}.debugger-slider::-moz-range-track{background:linear-gradient(to right, var(--color-accent-boundary) var(--progress,0%), var(--color-border) var(--progress,0%));height:3px}.debugger-slider::-webkit-slider-thumb{appearance:none;border:2px solid var(--code-bg);background:var(--color-accent-boundary);border-radius:50%;width:.875rem;height:.875rem;margin-top:calc(1.5px - .4375rem)}.debugger-slider::-moz-range-thumb{border:2px solid var(--code-bg);background:var(--color-accent-boundary);border-radius:50%;width:.875rem;height:.875rem}.debugger-value{margin-left:2ch;font-size:.875em}.debugger-value>span+span{margin-left:.5ch}.debugger-value>span,.debugger-scope>span:not(.debugger-function){border-radius:var(--radius-m);background:var(--color-surface);color:var(--color-muted);font-family:var(--font-mono);padding:.0625rem .45em}.debugger-value>span.changed,.debugger-scope>span.changed{background:var(--color-accent-fill);color:var(--color-on-accent)}.debugger-bottom{font-size:.9375rem}.debugger-variables{display:none}.debugger-console{align-items:baseline;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-top:var(--line-hairline) dashed var(--color-border-strong);display:flex}.debugger-console .label{flex:none}.debugger-output{min-height:1.6em;font-family:var(--font-mono);white-space:pre-wrap;overflow-wrap:anywhere;color:var(--color-ink);line-height:1.6}.debugger-output:empty:before{content:"–";color:var(--color-muted)}.debugger-error{color:var(--color-danger)}@media (width<=47.99rem){.debugger-value{display:none}.debugger-variables{gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:var(--line-hairline) dashed var(--color-border-strong);display:grid}.debugger-variables:has(.debugger-scope:only-child:empty){display:none}.debugger-scope{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.debugger-scope+.debugger-scope{padding-left:var(--space-3);border-left:var(--line-rule) solid var(--color-border-strong)}.debugger-function{font-family:var(--font-body);font-size:var(--scale-sm);font-weight:var(--font-body-weight-strong);color:var(--color-ink)}}.code-block[data-memory]{container-type:inline-size}.debugger-main{display:grid}.debugger-memory{justify-content:start;align-items:start;column-gap:var(--space-7);padding:var(--space-4);border-top:var(--line-hairline) dashed var(--color-border-strong);grid-template-columns:auto auto;font-size:.9375rem;display:grid;position:relative}@container (width>=46rem){.debugger-main{grid-template-columns:minmax(0,1fr) auto}.debugger-memory{border-top:0;border-left:var(--line-hairline) dashed var(--color-border-strong)}}.debugger-column{gap:var(--space-3);display:grid}.debugger-frames,.debugger-lists{gap:var(--space-4);display:grid}.debugger-frame{justify-content:start;align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-2) var(--space-3);background:var(--color-surface);border-left:var(--line-rule) solid var(--color-border-strong);grid-template-columns:auto auto;display:grid}.debugger-frame+.debugger-frame{border-left-color:var(--color-accent-boundary)}.debugger-frame .debugger-function{font-family:var(--font-body);font-size:var(--scale-sm);font-weight:var(--font-body-weight-strong);color:var(--color-ink);grid-column:1/-1}.debugger-name{font-family:var(--font-mono);color:var(--color-ink);text-align:right}.debugger-text{border-radius:var(--radius-m);font-family:var(--font-mono);color:var(--color-muted);justify-self:start;padding:.0625rem .45em}.debugger-pointer{background:var(--color-ink);border-radius:50%;justify-self:start;width:.6rem;height:.6rem}.debugger-list{gap:var(--space-1);display:grid}.debugger-list-name{font-family:var(--font-body);font-size:var(--scale-sm);color:var(--color-muted)}.debugger-cells{flex-wrap:wrap;min-height:2rem;display:flex}.debugger-cells:empty:before{content:"leer";font-family:var(--font-body);font-size:var(--scale-sm);color:var(--color-muted);align-self:center}.debugger-cell{text-align:center;display:grid}.debugger-index{font-family:var(--font-mono);color:var(--color-muted);font-size:.75rem}.debugger-item{min-width:2rem;font-family:var(--font-mono);color:var(--color-ink);background:var(--color-surface);border:var(--line-hairline) solid var(--color-border-strong);padding:.2rem .45em}.debugger-cell+.debugger-cell .debugger-item{border-left:0}.debugger-text.changed,.debugger-item.changed{background:var(--color-accent-fill);color:var(--color-on-accent)}.debugger-arrows{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.debugger-arrows path{fill:none;stroke:var(--color-ink);stroke-width:1.5px}.debugger-arrows polygon{fill:var(--color-ink)}.diagram{padding:var(--space-5);background:var(--color-surface);border:var(--line-hairline) solid var(--color-border);border-radius:var(--radius-l);margin-inline:0;overflow-x:auto}.diagram svg{--xychart-color-1:var(--code-number);--xychart-color-2:var(--code-string);--xychart-color-3:var(--code-function);max-width:100%;height:auto;margin-inline:auto;display:block}.zoomable{cursor:zoom-in}.zoom{width:100vw;max-width:none;height:100dvh;max-height:none;padding:var(--space-6) var(--space-4) var(--space-4);background:var(--color-surface);cursor:zoom-out;border:0;margin:0}.zoom::backdrop{background:var(--color-canvas)}.zoom-image{justify-content:center;align-items:center;height:100%;display:flex}.zoom-image :is(svg,img){object-fit:contain;width:100%;max-width:none;height:100%}.zoom-close{top:var(--space-2);right:var(--space-4);padding:var(--space-1) var(--space-2);color:var(--color-link);font:inherit;font-size:1rem;font-weight:var(--font-body-weight-strong);cursor:pointer;background:0 0;border:0;position:absolute}.box-label{font-family:var(--font-body);font-weight:var(--font-body-weight-strong);color:var(--color-muted);align-items:baseline;gap:.4em;font-size:max(1rem,.9em);line-height:1.3;display:inline-flex}.icon{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;align-self:center;width:1.15em;height:1.15em;translate:0 -.08em}.exercise{--box-color:var(--exercise-color);--box-fill:var(--exercise-fill);--box-text:var(--exercise-text)}:is(.note,.details)[data-type=tip]{--box-color:var(--tip-color);--box-fill:var(--tip-fill);--box-text:var(--tip-text)}.details[data-type=solution]{--box-color:var(--solution-color);--box-fill:var(--solution-fill);--box-text:var(--solution-text)}.details[data-type=video]{--box-color:var(--video-color);--box-fill:var(--video-fill);--box-text:var(--video-text)}.exercise,:is(.note,.details):is([data-type=tip],[data-type=solution],[data-type=video]){background:var(--color-canvas);border:var(--line-box) solid var(--box-color);border-radius:var(--radius-l);overflow:clip}.exercise .box-label,:is(.note,.details):is([data-type=tip],[data-type=solution],[data-type=video])>:is(summary,.note-header) .box-label{color:var(--box-text)}.note{padding:var(--space-4) var(--space-5) var(--space-5);background:var(--color-surface-sunken);border-radius:var(--radius-l);margin-inline:0}.note-header{align-items:baseline;gap:var(--space-1) var(--space-3);margin:0 0 var(--space-2);flex-wrap:wrap;display:flex}.note-header>*{min-width:0}.note-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);letter-spacing:var(--font-heading-tracking);color:var(--color-ink);font-size:1em;line-height:1.3}.note-body>*{margin:0}.note-body>*+*{margin-top:var(--space-3)}.note[data-type=note]{border:var(--line-box) solid var(--color-border-strong)}.note[data-type=definition] .note-title{font-size:1.18em}.note[data-type=info]{border:var(--line-hairline) solid var(--color-border);background:0 0}.note[data-type=tip] .note-header{margin:calc(-1 * var(--space-4)) calc(-1 * var(--space-5)) var(--space-3);padding:var(--space-3) var(--space-5);background:var(--box-fill)}:is(.details-body,.exercise-body,.column,.tab-body)>*{margin-top:0;margin-bottom:0}:is(.details-body,.exercise-body,.column,.tab-body)>*+*{margin-top:var(--space-4)}.details{background:var(--color-surface-sunken);border-radius:var(--radius-l)}.details>summary{align-items:baseline;gap:var(--space-1) var(--space-3);padding:var(--space-4) var(--space-5);cursor:pointer;flex-wrap:wrap;list-style:none;display:flex}.details>summary::-webkit-details-marker{display:none}.details-title{min-width:0;font-family:var(--font-heading);font-weight:var(--font-heading-weight);letter-spacing:var(--font-heading-tracking);color:var(--color-ink);line-height:1.3}.details>summary:hover .details-title{text-underline-offset:.2em;text-decoration:underline .08em}.details-arrow{fill:none;stroke:var(--color-ink);stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;flex:none;align-self:center;margin-left:auto;translate:0 -.08em}.details[open]>summary .details-arrow{transform:rotate(180deg)}.details-body{padding:0 var(--space-5) var(--space-5)}.details[data-type=note]{border:var(--line-box) solid var(--color-border-strong)}.details:not([data-type]),.details[data-type=info]{border:var(--line-hairline) solid var(--color-border);background:0 0}.details:is([data-type=tip],[data-type=solution],[data-type=video])>summary{background:var(--box-fill)}.details:is([data-type=tip],[data-type=solution],[data-type=video])>summary .details-arrow{stroke:var(--box-text)}.details:is([data-type=tip],[data-type=solution])[open]>summary{top:var(--sticky-top);transition:top var(--header-motion);z-index:1;margin-bottom:var(--space-4);position:sticky}.exercise-header{align-items:baseline;gap:var(--space-1) var(--space-3);padding:var(--space-4) var(--space-5) var(--space-3);background:var(--box-fill);flex-wrap:wrap;margin:0;display:flex}.exercise-title{min-width:0;font-family:var(--font-heading);font-weight:var(--font-heading-weight);letter-spacing:var(--font-heading-tracking);color:var(--color-ink);font-size:1.18em;line-height:1.3}.exercise-body{padding:var(--space-4) var(--space-5) var(--space-5)}.exercise-body>.details+.details{margin-top:var(--space-3)}.exercise-body>.details>summary{padding:var(--space-3) var(--space-4)}.exercise-body>.details>.details-body{padding:0 var(--space-4) var(--space-4)}.columns{container-type:inline-size}.columns-grid{gap:var(--space-5);display:grid}@container (width>=40rem){.columns-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.column{min-width:0}.column[data-card]{padding:var(--space-4) var(--space-5) var(--space-5);border:var(--line-hairline) solid var(--color-border-strong);border-radius:var(--radius-l)}.column-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);letter-spacing:var(--font-heading-tracking);color:var(--color-ink);font-size:1.18em;line-height:1.3}.tabs-list{gap:0 var(--space-1);margin-bottom:var(--space-4);border-bottom:var(--line-hairline) solid var(--color-border);flex-wrap:wrap;display:flex}.tabs-list button{margin-bottom:calc(-1 * var(--line-hairline));padding:var(--space-2) var(--space-3);border:0;border-bottom:var(--line-rule) solid transparent;color:var(--color-muted);font:inherit;font-size:.94em;font-weight:var(--font-body-weight-strong);cursor:pointer;background:0 0}.tabs-list button:hover{color:var(--color-ink);border-bottom-color:var(--color-border-strong)}.tabs-list button[aria-selected=true]{color:var(--color-ink);border-bottom-color:var(--color-accent-boundary)}.tab-title{margin:0 0 var(--space-2)}.tabs:not([data-tabbed]) .tab+.tab{margin-top:var(--space-5)}.tabs[data-tabbed] .tab-title{display:none}.figure{margin-inline:0}.figure img,.prose>p>img{background:var(--color-surface);border:var(--line-hairline) solid var(--color-border);border-radius:var(--radius-m);max-width:100%;height:auto;display:block}.figure figcaption{max-width:var(--measure);margin-top:var(--space-2);color:var(--color-muted);text-wrap:pretty;font-size:max(1rem,.82em);line-height:1.5}.video[open]>summary{margin-bottom:var(--space-4)}.video-notice{color:var(--color-muted);flex-basis:100%;font-size:max(1rem,.82em);line-height:1.5}.video-stage{aspect-ratio:16/9;background:var(--color-stage);border-radius:var(--radius-m);overflow:hidden}.video-stage iframe{border:0;width:100%;height:100%;display:block}.media-title{color:var(--color-ink);font-weight:var(--font-body-weight-strong)}.download{align-items:center;gap:.125rem var(--space-4);padding:var(--space-4) 0;border-top:var(--line-hairline) solid var(--color-border);border-bottom:var(--line-hairline) solid var(--color-border);color:inherit;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"titel aktion""meta aktion";text-decoration:none;display:grid}.prose a.download{color:inherit;text-decoration:none}.download-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);letter-spacing:var(--font-heading-tracking);color:var(--color-ink);grid-area:titel;font-size:1em;line-height:1.3}.download-meta{grid-area:meta}.download-action{color:var(--color-link);font-size:max(1rem,.82em);font-weight:var(--font-body-weight-strong);text-decoration:underline;text-decoration-color:var(--color-link-underline);text-underline-offset:.25em;text-decoration-skip-ink:none;white-space:nowrap;grid-area:aktion;text-decoration-thickness:.12em}.download:hover .download-action{color:var(--color-ink);text-decoration-color:var(--color-ink)}.table-scroll{overflow-x:auto}.table-scroll table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:max(1rem,.88em);line-height:1.5}.table-scroll th{padding:var(--space-2) var(--space-3);border-bottom:var(--line-rule) solid var(--color-ink);text-align:left;white-space:nowrap;font-weight:var(--font-body-weight-strong);color:var(--color-muted)}.table-scroll td{padding:var(--space-3);vertical-align:top}.table-scroll tbody tr:nth-child(2n){background:var(--color-row-stripe)}.table-scroll td code{white-space:nowrap;background:0 0;padding:0}.table-scroll [align=right]{text-align:right}.pager{gap:var(--space-4);margin-top:var(--space-8);border-top:var(--line-rule) solid var(--color-ink);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.pager-link{gap:var(--space-1);padding-block:var(--space-5);color:var(--color-ink);flex-direction:column;text-decoration:none;display:flex}.pager-next{text-align:right;grid-column:2;align-items:flex-end}.pager-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);letter-spacing:var(--font-heading-tracking);text-underline-offset:.22em;text-decoration-skip-ink:none;align-items:center;gap:.35em;font-size:1.12em;line-height:1.25;text-decoration:underline .1em #0000;display:inline-flex}.pager-link:hover .pager-title{text-decoration-color:var(--color-link-underline)}.pager-arrow{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:.9em;height:.9em}.button{justify-content:center;align-items:center;gap:var(--space-2);max-width:100%;min-height:2.75rem;padding:var(--space-2) 1.125rem;border:var(--line-hairline) solid transparent;border-radius:var(--radius-m);font-family:var(--font-body);font-size:1rem;font-weight:var(--font-body-weight-strong);text-align:center;cursor:pointer;line-height:1.25;text-decoration:none;display:inline-flex}.button-primary{background:var(--color-accent-fill);color:var(--color-on-accent);border-color:var(--color-accent-fill-edge)}.button-primary:hover{background:var(--color-accent-fill-hover)}.button-primary:active{background:var(--color-accent-fill-active)}.button-secondary{background:var(--color-surface);color:var(--color-ink);border-color:var(--color-border-strong)}.button-secondary:hover{background:var(--color-surface-sunken);border-color:var(--color-ink)}.button-secondary:active{background:var(--color-border);border-color:var(--color-ink)}.button-quiet{color:var(--color-ink);padding-inline:var(--space-3);background:0 0}.button-quiet:hover{background:var(--color-surface-sunken)}.button-quiet:active{background:var(--color-border)}.button:disabled,.button[aria-disabled=true]{color:var(--color-muted);border:var(--line-hairline) dashed var(--color-border-strong);cursor:not-allowed;background:0 0}.course{max-width:60rem;margin-inline:auto}.course-header{max-width:var(--measure);margin-bottom:var(--space-7)}.course-header h1{font-size:var(--scale-2xl);margin-top:var(--space-3)}.course-header .button{margin-top:var(--space-6)}.course-meta{margin-top:var(--space-5)}.course-section{padding-top:var(--space-5);padding-bottom:var(--space-6);border-top:var(--line-hairline) solid var(--color-border);grid-template-columns:12rem minmax(0,1fr);column-gap:clamp(1rem,3vw,2.25rem);display:grid}.course-section:first-of-type{border-top:var(--line-rule) solid var(--color-ink)}.course-section h2{margin:var(--space-1) 0 0;font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:var(--scale-md);letter-spacing:var(--font-heading-tracking);color:var(--color-ink);text-wrap:balance;line-height:1.25}.course-lessons{margin:0;padding:0;list-style:none}.course-lesson{justify-content:space-between;align-items:baseline;gap:var(--space-4);padding-block:var(--space-3);border-bottom:var(--line-hairline) solid var(--color-border);color:var(--color-ink);text-decoration:none;display:flex}.course-lesson-title{font-size:var(--scale-base);text-underline-offset:.25em;text-decoration-skip-ink:none;text-decoration:underline .12em #0000}.course-lesson:hover .course-lesson-title{text-decoration-color:var(--color-link-underline)}.status-page{max-width:38rem;padding:clamp(3rem, 9vw, 6rem) var(--space-gutter) var(--space-8)}.content .status-page{padding:0}.status-page h1{margin-top:var(--space-3)}.status-text{margin:var(--space-4) 0 0;max-width:26em;font-size:var(--scale-md);line-height:1.5}.status-step{margin:var(--space-6) 0 0;padding-top:var(--space-4);border-top:var(--line-rule) solid var(--color-ink);color:var(--color-ink);font-weight:var(--font-body-weight-strong)}.error-image{width:100%;max-width:24rem;height:auto;margin-bottom:var(--space-5);display:block}.error-image *{stroke:var(--color-stage);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.error-image .stroke{fill:none}.error-image .thin{stroke-width:2px}.error-image .rays{fill:none;stroke:var(--error-image-rays)}.error-image .sky{fill:var(--error-image-sky);stroke:none}.error-image .sand{fill:var(--error-image-sand)}.error-image .shadow{fill:var(--error-image-sand-shadow);stroke:none}.error-image .cactus{fill:var(--error-image-cactus)}.error-image .torso{fill:var(--color-stage)}.error-image .belly,.error-image .sign{fill:var(--error-image-belly)}.error-image .eye{fill:var(--color-stage);stroke:none}.error-image .shine{fill:var(--error-image-belly);stroke:none}.error-image .yellow{fill:var(--color-accent)}.error-image .water{fill:var(--error-image-water);stroke-width:2.5px}.error-image .rope-edge{fill:none;stroke-width:8px}.error-image .rope{fill:none;stroke:var(--color-accent);stroke-width:3.5px}.error-image .lettering{fill:var(--color-stage);stroke:none;font-family:var(--font-heading);font-weight:var(--font-heading-weight-display);font-size:11px}@media (width<=55.99rem){.js .nav-toggle{display:inline-flex}.nav-toggle[aria-expanded=true]{background:var(--color-surface-sunken)}.nav-toggle[aria-expanded=true] .icon-list{display:none}.nav-toggle[aria-expanded=true] .icon-close,.page{display:block}.course-nav{height:auto;padding:var(--space-4) calc(var(--space-gutter) - var(--space-3)) var(--space-6);background:var(--color-surface);border-right:0;border-bottom:var(--line-hairline) solid var(--color-border);position:static}.js .course-nav:not([data-open]){display:none}.content{padding:var(--space-6) var(--space-gutter) var(--space-7)}}@media (width<=47.99rem){.prose :is(p,li),.note-body p,.lead{-webkit-hyphens:auto;hyphens:auto;hyphenate-limit-chars:10 4 4}}@media (width<=35.99rem){.course-section{row-gap:var(--space-3);grid-template-columns:minmax(0,1fr)}.prose pre{font-size:max(.9375rem,.78em)}}@media (width<=29.99rem){.site-header{gap:var(--space-3)}.site-header .logo img{height:var(--logo-small-height)}.header-divider{display:none}}@page{size:A4;margin:18mm 16mm}@media print{:root,:root[data-color-scheme]{color-scheme:light;--color-canvas:#fff;--color-surface:#fff;--color-surface-sunken:#f2f2f2;--color-border:#ccc;--color-border-strong:#888;--color-ink:#000;--color-text:#000;--color-muted:#333;--color-link:#000;--color-link-underline:#000;--code-keyword:#662d88;--code-string:#0b5d2a;--code-number:#0f4f95;--code-function:#7f3812;--color-success:#13612e;--color-success-tint:#e4f8e7;--color-success-boundary:#2c8a4a;--color-warning:#7f4400;--color-warning-tint:#fef0d8;--color-warning-boundary:#c18500;--color-danger:#9d1316;--color-danger-tint:#ffedeb;--color-danger-boundary:#c8323c;--color-info:#275582;--color-info-tint:#e8f3ff;--color-info-boundary:#2f6bc4}.logo .logo-on-light{display:block!important}.logo .logo-on-dark{display:none!important}.lms{color:#000;background:#fff;font-size:11pt}.site-header,.course-nav,.pager,.skip,.copy,.code-note,.debugger-controls,.debugger-edit,.code-editor,.debugger-slider,.debugger-bottom,.debugger-value,.debugger-memory,.video-stage,.video-notice,.tabs-list,.details-arrow{display:none!important}.tab[hidden]{display:block!important}.tabs[data-tabbed] .tab-title{break-after:avoid;display:block}.tabs[data-tabbed] .tab+.tab{margin-top:var(--space-5)}.page{display:block}.content{padding:0}.lesson{max-width:none;font-size:11pt}.toc,.lesson-end{display:none!important}.lesson{display:block}.prose a[href^=http]:after{content:" (" attr(href) ")";word-break:break-all;font-size:.85em}.video>summary:after{content:attr(data-url);word-break:break-all;flex-basis:100%;font-size:.85em}.prose pre{white-space:pre-wrap;overflow:visible}.code-block,.note,.figure,.diagram,.download,.table-scroll tr,.column[data-card]{break-inside:avoid}.prose h2,.prose h3{break-after:avoid}.note:not([data-type=tip]),.prose pre{border:1px solid #999;background:0 0!important}.details>summary{position:static!important}.table-scroll{overflow:visible}.table-scroll td{border-bottom:var(--line-hairline) solid #ccc}[data-print-blocked] body>*{display:none!important}[data-print-blocked] body:before{content:"Diese Seite lässt sich nicht drucken.";font-size:12pt;display:block}}
