@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:400;font-display:swap;src:url(/_astro/source-serif-4-italic-400.0j97Jm6B.woff2) format("woff2")}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(/_astro/source-serif-4-400.DJ5YJwmz.woff2) format("woff2")}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url(/_astro/source-serif-4-600.DouSKlru.woff2) format("woff2")}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:700;font-display:swap;src:url(/_astro/source-serif-4-700.CGGdTIBe.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_astro/inter-400.C38fXH4l.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_astro/inter-600.LgqL8muc.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/_astro/inter-700.Yt3aPRUw.woff2) format("woff2")}@font-face{font-family:Anton;font-style:normal;font-weight:400;font-display:swap;src:url(/_astro/anton-400.Byf51wtH.woff2) format("woff2")}:root{--color-bg-canvas: #1a1d22;--color-bg-elevated: #23272e;--color-figure-dim: rgba(255,255,255,.15);--color-figure-fill: rgba(255,255,255,.7);--color-figure-stroke: rgba(255,255,255,.85);--color-nav-active: #7fa6ff;--color-nav-idle: rgba(255,255,255,.4);--color-progress: #2f6bff;--color-surface-caption: #121417;--color-surface-textbox: #0b2461;--color-surface-textbox-border: #2f6bff;--color-text-muted: rgba(255,255,255,.4);--color-text-on-textbox: #ffffff;--color-text-primary: rgba(255,255,255,.85);--accent-orange: #ff8a3d;--accent-orange-soft: rgba(255, 138, 61, .25);--accent-orange-glow: rgba(255, 138, 61, .5);--accent-teal: #39d0c6;--accent-teal-soft: rgba(57, 208, 198, .25);--accent-teal-glow: rgba(57, 208, 198, .5);--accent-violet: #b48cff;--accent-violet-soft: rgba(180, 140, 255, .25);--accent-violet-glow: rgba(180, 140, 255, .5);--accent-yellow: #ffd166;--accent-yellow-soft: rgba(255, 209, 102, .25);--accent-yellow-glow: rgba(255, 209, 102, .5);--font-body: "Source Serif 4", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display: "Source Serif 4", system-ui, -apple-system, "Segoe UI", sans-serif;--font-ui: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-title: "Impact", "Anton", "Haettenschweiler", "Arial Narrow Bold", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, Menlo, monospace;--font-size-base: 22px;--font-size-step: 1.2;--font-size-m1: 18.3326px ;--font-size-0: 22px ;--font-size-1: 26.4px ;--font-size-2: 31.68px ;--font-size-3: 38.016px ;--font-size-4: 45.6192px ;--font-size-5: 54.7426px ;--font-line-height: 1.55;--space-mobile-figure-height: 45dvh;--space-nav-width: 15rem;--space-scene-figure-height: 78dvh;--space-scene-max-width: 64rem;--space-section-gap: 6vh;--space-text-max-width: 42rem;--space-unit: 8px;--radius-box: 12px;--radius-pill: 999px;--figure-dim-opacity: .18;--figure-glow-blur: 6px;--figure-label-size: 36px;--figure-label-size-small: 28px;--figure-stroke-width: 2;--motion-ease: power2.out;--motion-fade: .4s;--motion-mobile-zoom-factor: .6;--motion-scrub: .3;--breakpoint-mobile: 768px;--breakpoint-wide: 1280px;--slide-padding: 48px;--slide-scale: 1.25}[data-cat=orange]{--cat: var(--accent-orange);--cat-soft: var(--accent-orange-soft);--cat-glow: var(--accent-orange-glow)}[data-cat=teal]{--cat: var(--accent-teal);--cat-soft: var(--accent-teal-soft);--cat-glow: var(--accent-teal-glow)}[data-cat=violet]{--cat: var(--accent-violet);--cat-soft: var(--accent-violet-soft);--cat-glow: var(--accent-violet-glow)}[data-cat=yellow]{--cat: var(--accent-yellow);--cat-soft: var(--accent-yellow-soft);--cat-glow: var(--accent-yellow-glow)}*,*:before,*:after{box-sizing:border-box}html{background:var(--color-bg-canvas);color-scheme:dark;-webkit-text-size-adjust:100%}body{margin:0;background:var(--color-bg-canvas);color:var(--color-text-primary);font-family:var(--font-body);font-size:var(--font-size-base);line-height:var(--font-line-height);--pad: calc(var(--space-unit) * 4)}h1,h2,h3,h4{font-family:var(--font-display);line-height:1.15;text-wrap:balance;color:var(--color-text-on-textbox);font-weight:700}h1{font-family:var(--font-title, var(--font-display));font-weight:400;letter-spacing:.01em;font-size:calc(var(--font-size-5) * 1.5);margin:0}h2{font-size:var(--font-size-4);margin:0 0 calc(var(--space-unit) * 3)}h3{font-size:var(--font-size-2);margin:calc(var(--space-unit) * 5) auto calc(var(--space-unit) * 2)}a{color:var(--color-nav-active)}code{font-family:var(--font-mono);font-size:.9em}:focus-visible{outline:2px solid var(--color-nav-active);outline-offset:3px;border-radius:4px}.skip-link{position:absolute;left:-9999px;top:0;z-index:100;padding:var(--space-unit) calc(var(--space-unit) * 2);background:var(--color-bg-elevated);color:var(--color-text-on-textbox)}.skip-link:focus{left:var(--space-unit);top:var(--space-unit)}.site-nav{position:fixed;top:0;bottom:0;left:0;z-index:20;width:var(--space-nav-width);display:flex;flex-direction:column;gap:calc(var(--space-unit) * 3);padding:calc(var(--space-unit) * 4) calc(var(--space-unit) * 3);border-right:1px solid var(--color-figure-dim);background:var(--color-bg-canvas);overflow-y:auto}html[data-nav=right] .site-nav{left:auto;right:0;border-right:0;border-left:1px solid var(--color-figure-dim)}.nav-title{color:var(--color-text-on-textbox);text-decoration:none;font-weight:600;font-size:var(--font-size-m1);line-height:1.3}.depth-toggle{display:inline-grid;grid-template-columns:1fr 1fr;align-self:start;padding:3px;border:1px solid var(--color-figure-dim);border-radius:var(--radius-pill);background:var(--color-bg-elevated);color:var(--color-nav-idle);font:inherit;font-size:var(--font-size-m1);cursor:pointer}.depth-toggle span{padding:2px calc(var(--space-unit) * 1.5);border-radius:var(--radius-pill);transition:background var(--motion-fade),color var(--motion-fade)}html[data-depth=core] .depth-toggle [data-l=core],html[data-depth=full] .depth-toggle [data-l=full]{background:var(--color-surface-textbox);color:var(--color-text-on-textbox)}.nav-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.nav-list a{display:flex;align-items:center;gap:var(--space-unit);padding:calc(var(--space-unit) * .75) var(--space-unit);border-radius:6px;color:var(--color-nav-idle);text-decoration:none;font-size:var(--font-size-m1);line-height:1.3;transition:color var(--motion-fade)}.nav-list a:hover{color:var(--color-text-primary)}.nav-list a[aria-current=true]{color:var(--color-nav-active)}.nav-dash{flex:none;width:14px;height:2px;border-radius:1px;background:var(--color-figure-dim);transition:width var(--motion-fade),background var(--motion-fade)}.nav-list a[aria-current=true] .nav-dash{width:24px;background:var(--color-nav-active)}.nav-divided{margin-top:calc(var(--space-unit) * 1.5);padding-top:calc(var(--space-unit) * 1.5);border-top:1px solid var(--color-figure-dim)}.section[data-depth=core]+.section[data-depth=deep]{margin-top:var(--space-section-gap);border-top:1px solid var(--color-figure-dim)}.nav-plus{margin-left:auto;color:var(--color-text-muted)}.nav-download{margin-top:auto;color:var(--color-nav-active);font-size:var(--font-size-m1);text-decoration:none}html[data-depth=core] [data-depth=deep]{display:none!important}main{margin-left:var(--space-nav-width)}html[data-nav=right] main{margin-left:0;margin-right:var(--space-nav-width)}.deck-header{min-height:28dvh;display:grid;align-content:end;padding:var(--pad);max-width:calc(var(--space-text-max-width) + 2 * var(--pad));margin-inline:auto}.section{padding:var(--space-section-gap) var(--pad) 0;scroll-margin-top:0}.section-body>*,.section>h2{max-width:var(--space-text-max-width);margin-inline:auto}.section-body>:is(.scene,.columns,.block-raw:has(.figure)){max-width:none}.section-body p,.section-body ul,.section-body ol{margin:0 auto calc(var(--space-unit) * 3)}.slide-break,.block-raw:has(.slide-break){display:none}.site-footer{padding:var(--space-section-gap) var(--pad) calc(var(--space-unit) * 6);text-align:center;color:var(--color-text-muted);font-size:var(--font-size-m1)}.textbox{margin:calc(var(--space-unit) * 4) auto;padding:calc(var(--space-unit) * 3);background:var(--color-surface-textbox);color:var(--color-text-on-textbox);border-radius:var(--radius-box);border-left:4px solid var(--cat, var(--color-surface-textbox-border))}.textbox>:last-child{margin-bottom:0}.textbox-title{font-weight:600;margin-bottom:var(--space-unit)!important}.expand{margin:calc(var(--space-unit) * 3) auto;border:1px solid var(--color-figure-dim);border-radius:var(--radius-box);padding:0 calc(var(--space-unit) * 2.5)}.expand summary{cursor:pointer;padding:calc(var(--space-unit) * 1.5) 0;color:var(--color-text-on-textbox);font-weight:600}.expand-body{padding-bottom:calc(var(--space-unit) * 1.5)}.columns{display:grid;gap:calc(var(--space-unit) * 3);grid-template-columns:repeat(var(--n, 2),minmax(0,1fr));max-width:var(--space-text-max-width)!important;margin-inline:auto}.columns[data-n="3"]{--n: 3}.figure{margin:calc(var(--space-unit) * 5) auto;max-width:var(--space-text-max-width)}.figure img{display:block;margin-inline:auto;border-radius:var(--radius-box)}.figure img{max-width:100%;height:auto}.figure figcaption{margin-top:var(--space-unit);color:var(--color-text-muted);font-size:var(--font-size-m1);text-align:center}.fig-svg{display:block;width:100%;height:auto;overflow:visible}.fig{--fig-stroke: var(--color-figure-stroke);--fig-tint: var(--color-figure-dim);--hl-color: var(--cat, var(--color-nav-active));--hl-glow: var(--cat-glow, var(--color-nav-active))}.fig [data-cat]{--fig-stroke: var(--cat);--fig-tint: var(--cat-soft);--hl-color: var(--cat);--hl-glow: var(--cat-glow)}.fig [data-part]{--hl: 0}.fig :is(rect,circle,ellipse,path,line,polyline,polygon){fill:none;stroke:color-mix(in srgb,var(--hl-color) calc(var(--hl, 0) * 100%),var(--fig-stroke));stroke-width:var(--figure-stroke-width);vector-effect:non-scaling-stroke}.fig .tint{fill:var(--fig-tint)}.fig .solid{fill:var(--fig-stroke);stroke:none}.fig text{fill:var(--color-text-primary);stroke:none;font-family:var(--font-ui, var(--font-body));font-size:var(--figure-label-size);font-weight:600}.fig text.small{font-size:var(--figure-label-size-small);font-weight:400}.scene-fig [data-part]{filter:drop-shadow(0 0 calc(var(--hl, 0) * var(--figure-glow-blur)) color-mix(in srgb,var(--hl-glow) calc(var(--hl, 0) * 100%),transparent))}.scene{display:block;margin:0 auto;max-width:none!important}.scene-figure{position:sticky;top:0;height:100dvh;display:flex;align-items:center;justify-content:center;padding:0}.scene{margin-top:-6dvh!important;margin-bottom:-8dvh!important}.scene-fig{flex:none;height:var(--space-scene-figure-height);aspect-ratio:16 / 10;max-width:100%}.scene-fig .fig-svg{height:100%;width:100%;overflow:hidden}.scene-steps{position:relative;z-index:2;padding:0}.step{min-height:85dvh;display:flex;align-items:center;justify-content:center}.step:first-child{margin-top:-38dvh}.step:last-child{min-height:50dvh;align-items:flex-start}.step-body{width:100%;max-width:var(--space-text-max-width);padding:calc(var(--space-unit) * 3.5) calc(var(--space-unit) * 4.5);background:var(--color-surface-caption);color:var(--color-text-on-textbox);font-size:var(--font-size-2);line-height:1.35;box-shadow:0 0 0 1px var(--color-figure-dim)}.step-body>:last-child{margin-bottom:0}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{transition-duration:0s!important;animation-duration:0s!important}}.fig [data-part]{--cm: 0}.fig [data-part] :is(rect,circle,ellipse,path,line,polyline,polygon),.fig :is(rect,circle,ellipse,path,line,polyline,polygon)[data-part]{stroke:color-mix(in srgb,var(--hl-color) calc(var(--hl, 0) * 100%),color-mix(in srgb,var(--cc, var(--fig-stroke)) calc(var(--cm, 0) * 100%),var(--fig-stroke)))}.fig [data-part] .tint,.fig .tint[data-part]{fill:color-mix(in srgb,var(--cc-soft, var(--fig-tint)) calc(var(--cm, 0) * 100%),var(--fig-tint))}.fig [data-part] .solid,.fig .solid[data-part]{fill:color-mix(in srgb,var(--cc, var(--fig-stroke)) calc(var(--cm, 0) * 100%),var(--fig-stroke))}.fig .ph-dash{stroke-dasharray:10 8}.placeholder-box{aspect-ratio:16 / 10;display:grid;place-content:center;gap:var(--space-unit);text-align:center;padding:calc(var(--space-unit) * 3);border:var(--figure-stroke-width) dashed var(--cat, var(--color-figure-stroke));border-radius:var(--radius-box);background:var(--color-bg-elevated)}.placeholder-kind{color:var(--color-text-muted);font-size:var(--font-size-m1);text-transform:uppercase;letter-spacing:.08em}.placeholder-caption{color:var(--color-text-primary)}.placeholder-file{color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--font-size-m1)}.figure video{display:block;width:100%;border-radius:var(--radius-box);background:var(--color-bg-elevated)}.deck-subtitle{margin:calc(var(--space-unit) * 2) 0 0;font-size:var(--font-size-1);color:var(--color-text-primary)}.deck-author{margin:var(--space-unit) 0 0;color:var(--color-text-muted)}.fig [data-draw] :is(path,line,polyline,polygon,circle,rect,ellipse):not(.solid){vector-effect:none;stroke-width:calc(var(--figure-stroke-width) * 2);stroke-dasharray:var(--len, none);stroke-dashoffset:calc(var(--len, 0) * (1 - var(--dr, 1)))}.section-body table{width:100%;border-collapse:collapse;margin:calc(var(--space-unit) * 3) auto}.section-body th,.section-body td{text-align:left;vertical-align:top;padding:calc(var(--space-unit) * 1.25) calc(var(--space-unit) * 1.5);border-bottom:1px solid var(--color-figure-dim)}.section-body th{color:var(--color-text-muted);font-weight:600;font-size:var(--font-size-m1)}.section-body td:first-child{white-space:nowrap;color:var(--color-text-on-textbox)}html[data-nav=none] main{margin:0}.site-nav,.figure figcaption,.site-footer{font-family:var(--font-ui, var(--font-body))}.hl{color:var(--cat, var(--color-nav-active))}.section-body blockquote{margin:0 auto calc(var(--space-unit) * 4);padding:0;font-size:var(--font-size-2);line-height:1.35;color:var(--color-text-on-textbox)}.section-body blockquote p{margin-bottom:var(--space-unit)}.section-body blockquote p:last-child{font-family:var(--font-ui, var(--font-body));font-size:var(--font-size-m1);color:var(--color-text-muted)}.section-body .lead{font-size:var(--font-size-2)}.figure-side{float:right;width:13rem;max-width:none;margin:calc(var(--space-unit) * .75) max(calc((100% - var(--space-text-max-width)) / 2),0px) var(--space-unit) calc(var(--space-unit) * 4)}.figure-left{float:left;margin:calc(var(--space-unit) * .75) calc(var(--space-unit) * 4) var(--space-unit) max(calc((100% - var(--space-text-max-width)) / 2),0px)}.section-body:after{content:"";display:block;clear:both}.columns>p{margin:0}.fig [data-part]{transform:translate(calc(var(--mx, 0) * 1px),calc(var(--my, 0) * 1px))}.figure.framed img{border:1px solid var(--color-figure-dim);box-shadow:0 calc(var(--space-unit) * 1.5) calc(var(--space-unit) * 5) var(--color-surface-caption)}.columns>.block-raw,.columns>.figure,.columns .figure{margin:0}.section-body ul{padding-left:1.2em}.section-body li{margin-bottom:calc(var(--space-unit) * .75)}.columns:has(.framed){max-width:calc(var(--space-text-max-width) * 1.5)!important}@media(max-width:767.98px){.site-nav{display:none}main,html[data-nav=right] main{margin:0}body{--pad: calc(var(--space-unit) * 2.5)}h1{font-size:var(--font-size-4)}h2{font-size:var(--font-size-3)}.scene-fig{height:auto;width:100%;max-height:var(--space-mobile-figure-height)}.step-body{font-size:var(--font-size-1);padding:calc(var(--space-unit) * 2.5) calc(var(--space-unit) * 3)}.figure-side{float:none;width:60%;margin:0 0 calc(var(--space-unit) * 3)}.columns{grid-template-columns:1fr}}html[data-view=slides] .site,html[data-view=slides] .skip-link{display:none!important}html[data-view=slides],html[data-view=slides] body{background:var(--color-bg-canvas)}html[data-view=slides] body{margin:0}.slide-frame{zoom:var(--slide-scale);width:calc(var(--slide-w) / var(--slide-scale));height:calc(var(--slide-h) / var(--slide-scale));position:relative;display:flex;flex-direction:column;padding:var(--slide-padding) calc(var(--slide-padding) * 1.25) calc(var(--slide-padding) * 1.25);background:var(--color-bg-canvas);overflow:hidden;break-after:page;page-break-after:always}.slide-frame:last-child{break-after:auto;page-break-after:auto}.slide-title{margin:0 0 calc(var(--space-unit) * 2);font-size:var(--font-size-3)}.slide-frame:not([data-type=cover]) .slide-title{border-left:4px solid var(--cat, var(--color-surface-textbox-border));padding-left:calc(var(--space-unit) * 1.5)}.slide-body{flex:1;min-height:0;overflow:hidden}.slide-body>*{max-width:none}.slide-body p{margin:0 0 calc(var(--space-unit) * 2)}.slide-body .figure{margin:var(--space-unit) auto;max-width:70%}.slide-body .figure .fig-svg{max-height:calc(var(--slide-h) / var(--slide-scale) * .26);width:auto;max-width:100%;margin:0 auto}.slide-body .textbox{margin:calc(var(--space-unit) * 2) 0}.slide-body .slide-fig .fig-svg{max-height:calc(var(--slide-h) / var(--slide-scale) - 6 * var(--slide-padding));width:auto;max-width:100%;margin:0 auto}.slide-foot{position:absolute;left:calc(var(--slide-padding) * 1.25);right:calc(var(--slide-padding) * 1.25);bottom:calc(var(--slide-padding) * .5);display:flex;justify-content:space-between;color:var(--color-text-muted);font-size:var(--font-size-m1)}.slide-frame[data-type=cover] .slide-body,.slide-frame[data-type=divider] .slide-body{display:flex;flex-direction:column;justify-content:center}.slide-cover-title{font-size:calc(var(--font-size-5) * 1.5);max-width:80%}.slide-stamp{color:var(--color-text-muted);margin-top:calc(var(--space-unit) * 3)}.slide-divider{font-size:var(--font-size-4);color:var(--color-text-muted)}.slide-step .slide-body{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:calc(var(--space-unit) * 4);align-items:center}.slide-step-right .slide-body .slide-fig{order:2}.slide-step .slide-fig .fig-svg{max-height:calc(var(--slide-h) / var(--slide-scale) - 5 * var(--slide-padding));width:100%}.slide-step .step-body{padding:calc(var(--space-unit) * 3);background:var(--color-surface-textbox);color:var(--color-text-on-textbox);border-radius:var(--radius-box);border-left:4px solid var(--cat, var(--color-surface-textbox-border))}.slide-step .step-body>:last-child{margin-bottom:0}.slide-body>:last-child{margin-bottom:0}html[data-view=slides] .fig [data-part]{filter:none}.slide-cover-subtitle{font-size:var(--font-size-1);max-width:75%;margin:calc(var(--space-unit) * 2) 0 0}.slide-cover-author{color:var(--color-text-muted);margin:var(--space-unit) 0 0}.slide-body .placeholder{max-width:28%;margin-left:0}.slide-body .placeholder-box{padding:var(--space-unit);font-size:var(--font-size-m1)}
