@layer reset{*,:before,:after{box-sizing:border-box}body,h1,h2,h3,p,figure{margin:0}img{block-size:auto;max-inline-size:100%;display:block}}@layer tokens{:root{--font-body:var(--font-comic-code);--font-ui:var(--font-comic-code);--font-code:var(--font-comic-code);--text-body:clamp(1.125rem, 1.0625rem + .3125vi, 1.25rem);--text-small:clamp(.875rem, .825rem + .25vi, 1rem);--text-heading:clamp(2.25rem, 1.5rem + 3vi, 4rem);--text-subheading:clamp(1.5rem, 1.25rem + 1vi, 2rem);--space-content:clamp(1rem, .875rem + .5vi, 1.5rem);--space-layout:clamp(1.5rem, 1rem + 2vi, 3rem);--page-gutter:clamp(1rem, .5rem + 2vi, 3rem);--page-size:64rem;--measure:60ch}}@layer theme{:root,:root[data-palette=neutral]{--palette-canvas:var(--lightningcss-light,oklch(99% 0 0))var(--lightningcss-dark,oklch(18% 0 0));--palette-ink:var(--lightningcss-light,oklch(24% 0 0))var(--lightningcss-dark,oklch(92% 0 0));--palette-link:var(--lightningcss-light,oklch(43% .13 255))var(--lightningcss-dark,oklch(79% .1 255))}:root[data-palette=paper]{--palette-canvas:var(--lightningcss-light,oklch(97% .005 78))var(--lightningcss-dark,oklch(20.5% 0 0));--palette-ink:var(--lightningcss-light,oklch(28% .008 59))var(--lightningcss-dark,oklch(91.1% .014 68));--palette-link:var(--lightningcss-light,oklch(45% .06 72))var(--lightningcss-dark,oklch(75.4% .085 67))}:root[data-palette=graphite]{--palette-canvas:var(--lightningcss-light,oklch(97% 0 0))var(--lightningcss-dark,oklch(20% 0 0));--palette-ink:var(--lightningcss-light,oklch(25% 0 0))var(--lightningcss-dark,oklch(91% 0 0));--palette-link:var(--lightningcss-light,oklch(34% 0 0))var(--lightningcss-dark,oklch(82% 0 0))}:root[data-palette=bright]{--palette-canvas:var(--lightningcss-light,oklch(100% 0 0))var(--lightningcss-dark,oklch(0% 0 0));--palette-ink:var(--lightningcss-light,oklch(22% 0 0))var(--lightningcss-dark,oklch(96% 0 0));--palette-link:var(--lightningcss-light,oklch(47% .16 257))var(--lightningcss-dark,oklch(75% .12 257))}:root[data-palette=ocean]{--palette-canvas:var(--lightningcss-light,oklch(98% .005 197))var(--lightningcss-dark,oklch(19% .015 211));--palette-ink:var(--lightningcss-light,oklch(28% .024 196))var(--lightningcss-dark,oklch(94% .025 197));--palette-link:var(--lightningcss-light,oklch(43% .07 195))var(--lightningcss-dark,oklch(76% .09 185))}:root[data-palette=dusk]{--palette-canvas:var(--lightningcss-light,oklch(98% .007 304))var(--lightningcss-dark,oklch(20% .016 296));--palette-ink:var(--lightningcss-light,oklch(22% .026 298))var(--lightningcss-dark,oklch(90% .034 301));--palette-link:var(--lightningcss-light,oklch(46% .12 298))var(--lightningcss-dark,oklch(78% .1 300))}:root[data-palette=tha]{--palette-canvas:var(--lightningcss-light,oklch(98% .006 15))var(--lightningcss-dark,oklch(20% 0 0));--palette-ink:var(--lightningcss-light,oklch(28% .012 15))var(--lightningcss-dark,oklch(91% .022 15));--palette-link:var(--lightningcss-light,oklch(46% .17 17))var(--lightningcss-dark,oklch(78% .12 17))}:root[data-palette=midnight]{--palette-canvas:var(--lightningcss-light,oklch(100% 0 0))var(--lightningcss-dark,oklch(0% 0 0));--palette-ink:var(--lightningcss-light,oklch(20% 0 0))var(--lightningcss-dark,oklch(92% 0 0));--palette-link:var(--lightningcss-light,oklch(20% 0 0))var(--lightningcss-dark,oklch(100% 0 0))}:root[data-palette=gruvbox]{--palette-canvas:var(--lightningcss-light,oklch(98.545% .0179 89.35))var(--lightningcss-dark,oklch(24.081% .00486 219.67));--palette-ink:var(--lightningcss-light,oklch(34.407% .0066 48.52))var(--lightningcss-dark,oklch(89.415% .05659 89.24));--palette-link:var(--lightningcss-light,oklch(46% .085 78))var(--lightningcss-dark,oklch(80% .14 78))}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--color-background:var(--palette-canvas);--color-surface:color-mix(in oklch, var(--palette-canvas), var(--palette-ink) 6%);--color-text:var(--palette-ink);--color-link:var(--palette-link);--color-text-muted:color-mix(in oklch, var(--palette-ink), var(--palette-canvas) 25%);--color-border:color-mix(in oklch, var(--palette-ink), var(--palette-canvas) 45%);--color-icon-person:var(--lightningcss-light,oklch(52% .09 25))var(--lightningcss-dark,oklch(80% .09 25));--color-icon-blog:var(--lightningcss-light,oklch(47% .09 260))var(--lightningcss-dark,oklch(79% .09 260));--color-icon-notes:var(--lightningcss-light,oklch(46% .09 165))var(--lightningcss-dark,oklch(80% .09 165));--color-scene-far:color-mix(in oklch, var(--palette-canvas), var(--palette-ink) 8%);--color-scene-mid:color-mix(in oklch, var(--palette-canvas), var(--palette-ink) 16%);--color-scene-near:color-mix(in oklch, var(--palette-canvas), var(--palette-ink) 26%);--color-scene-shadow:var(--lightningcss-light,oklch(0% 0 0/.18))var(--lightningcss-dark,oklch(0% 0 0/.55))}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-contrast:more){:root{--color-text-muted:var(--color-text);--color-border:var(--color-text)}}}@layer base{:root{--page-shift:0}:root:active-view-transition-type(deeper){--page-shift:1}:root:active-view-transition-type(up){--page-shift:-1}::view-transition-group(*){animation-duration:.3s;animation-timing-function:cubic-bezier(.2,0,0,1)}::view-transition-old(page-content){animation:.15s ease-in both page-leave}::view-transition-new(page-content){animation:.3s cubic-bezier(.2,0,0,1) 50ms both page-enter}html{font-family:var(--font-body);background:var(--color-background);color:var(--color-text);scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--color-link) var(--color-background);font-size:100%}body{min-block-size:100svb;font-size:var(--text-body);letter-spacing:-.02em;overflow-wrap:break-word;line-height:1.75}h1,h2,h3{text-wrap:balance;font-weight:400;line-height:1.15}h1{font-size:var(--text-heading);letter-spacing:-.055em}h2{font-size:var(--text-subheading);letter-spacing:-.045em}h3{font-size:var(--text-body);font-weight:700}nav{font-family:var(--font-ui);font-size:var(--text-small)}code{font-family:var(--font-code);overflow-wrap:anywhere}:not(pre)>code{background:var(--color-surface);border-radius:.25em;padding:.1em .3em}p{max-inline-size:var(--measure);text-wrap:pretty}a{color:var(--color-link);overflow-wrap:anywhere;text-underline-offset:.18em;-webkit-text-decoration-skip-ink:auto;text-decoration-skip-ink:auto;text-decoration-line:underline;text-decoration-thickness:.06em}a:is(:hover,:focus-visible){text-underline-offset:.25em;text-decoration-thickness:.1em}@media (prefers-reduced-motion:no-preference){a{transition:text-underline-offset .16s ease-out}}:is(a[href^="https://bsky.app/"],a[href^="https://github.com/"],a[href^="https://codeberg.org/"]):before{content:"" / "";vertical-align:baseline;forced-color-adjust:none;background-color:currentColor;block-size:1cap;inline-size:1cap;margin-inline-end:.35ch;display:inline-block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}a[href^="https://bsky.app/"]:before{-webkit-mask-image:url("data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M5.202 2.857C7.954 4.922 10.913 9.11 12 11.358c1.087-2.247 4.046-6.436 6.798-8.501C20.783 1.366 24 .213 24 3.883c0 .732-.42 6.156-.667 7.037-.856 3.061-3.978 3.842-6.755 3.37 4.854.826 6.089 3.562 3.422 6.299-5.065 5.196-7.28-1.304-7.847-2.97-.104-.305-.152-.448-.153-.327 0-.121-.05.022-.153.327-.568 1.666-2.782 8.166-7.847 2.97-2.667-2.737-1.432-5.473 3.422-6.3-2.777.473-5.899-.308-6.755-3.369C.42 10.04 0 4.615 0 3.883c0-3.67 3.217-2.517 5.202-1.026\"/></svg>");mask-image:url("data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M5.202 2.857C7.954 4.922 10.913 9.11 12 11.358c1.087-2.247 4.046-6.436 6.798-8.501C20.783 1.366 24 .213 24 3.883c0 .732-.42 6.156-.667 7.037-.856 3.061-3.978 3.842-6.755 3.37 4.854.826 6.089 3.562 3.422 6.299-5.065 5.196-7.28-1.304-7.847-2.97-.104-.305-.152-.448-.153-.327 0-.121-.05.022-.153.327-.568 1.666-2.782 8.166-7.847 2.97-2.667-2.737-1.432-5.473 3.422-6.3-2.777.473-5.899-.308-6.755-3.369C.42 10.04 0 4.615 0 3.883c0-3.67 3.217-2.517 5.202-1.026\"/></svg>")}a[href^="https://github.com/"]:before{-webkit-mask-image:url("data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12\"/></svg>");mask-image:url("data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12\"/></svg>")}a[href^="https://codeberg.org/"]:before{-webkit-mask-image:url("data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M11.999.747A11.974 11.974 0 0 0 0 12.75c0 2.254.635 4.465 1.833 6.376L11.837 6.19c.072-.092.251-.092.323 0l4.178 5.402h-2.992l.065.239h3.113l.882 1.138h-3.674l.103.374h3.86l.777 1.003h-4.358l.135.483h4.593l.695.894h-5.038l.165.589h5.326l.609.785h-5.717l.182.65h6.038l.562.727h-6.397l.183.65h6.717A12.003 12.003 0 0 0 24 12.75 11.977 11.977 0 0 0 11.999.747zm3.654 19.104.182.65h5.326c.173-.204.353-.433.513-.65zm.385 1.377.18.65h3.563c.233-.198.485-.428.712-.65zm.383 1.377.182.648h1.203c.356-.204.685-.412 1.042-.648zz\"/></svg>");mask-image:url("data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M11.999.747A11.974 11.974 0 0 0 0 12.75c0 2.254.635 4.465 1.833 6.376L11.837 6.19c.072-.092.251-.092.323 0l4.178 5.402h-2.992l.065.239h3.113l.882 1.138h-3.674l.103.374h3.86l.777 1.003h-4.358l.135.483h4.593l.695.894h-5.038l.165.589h5.326l.609.785h-5.717l.182.65h6.038l.562.727h-6.397l.183.65h6.717A12.003 12.003 0 0 0 24 12.75 11.977 11.977 0 0 0 11.999.747zm3.654 19.104.182.65h5.326c.173-.204.353-.433.513-.65zm.385 1.377.18.65h3.563c.233-.198.485-.428.712-.65zm.383 1.377.182.648h1.203c.356-.204.685-.412 1.042-.648zz\"/></svg>")}:focus-visible{outline-offset:.2em;outline:.15em solid}}@layer patterns{.reading-column,.reading-page{gap:var(--space-layout);inline-size:min(100%, var(--measure));grid-template-columns:minmax(0,1fr);margin-inline:auto;display:grid}.reading-page>header{gap:var(--space-content);display:grid}.reading-page>div{gap:var(--space-layout);grid-template-columns:minmax(0,1fr);display:grid}.reading-section{gap:var(--space-content);grid-template-columns:minmax(0,1fr);display:grid}.icon-heading{align-items:start;gap:.25em;display:flex}.icon-heading>span:first-child{flex:none;block-size:.8em;inline-size:.8em;margin-block-start:calc(.5lh - .4em);display:inline-flex}.icon-heading>span:first-child>svg{block-size:100%;inline-size:100%}.icon-heading--person>span:first-child{color:var(--color-icon-person);view-transition-name:whoami-icon}.icon-heading--person>span:last-child{view-transition-name:whoami-label}.icon-heading--blog>span:first-child{color:var(--color-icon-blog);view-transition-name:blog-icon}.icon-heading--blog>span:last-child{view-transition-name:blog-label}.icon-heading--notes>span:first-child{color:var(--color-icon-notes);view-transition-name:notes-icon}.icon-heading--notes>span:last-child{view-transition-name:notes-label}.reading-article{gap:var(--space-layout);grid-template-columns:minmax(0,1fr);display:grid}.reading-article>header{gap:var(--space-content);border-block-end:1px solid var(--color-border);padding-block-end:var(--space-layout);display:grid}.meta{color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-small)}.dated-list{gap:var(--space-layout);grid-template-columns:minmax(0,1fr);margin:0;padding:0;list-style:none;display:grid}.prose{letter-spacing:0;grid-template-columns:minmax(0,1fr);gap:.75lh;font-size:clamp(1.0625rem,1rem + .25vi,1.125rem);line-height:1.8;display:grid}.prose :where(p){max-inline-size:none}.prose>:is(h2,h3,h4,h5,h6):not(:first-child){padding-block-start:1lh}.prose :where(blockquote,li)>*+*{margin-block-start:.75lh}.prose>blockquote{border-inline-start:2px solid var(--color-border);margin:0;padding-inline-start:var(--space-content);font-style:italic}@media screen and (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){.prose>blockquote{background:linear-gradient(var(--color-border), var(--color-border)) no-repeat border-box;background-size:2px 100%;border-inline-start-color:#0000;animation-name:quote-rule;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:view();animation-range:entry}}}.prose>pre{padding:var(--space-content);border-block:1px solid var(--color-border);font-size:inherit;tab-size:2;margin:0;line-height:1.6}.prose>:is(ul,ol){gap:.4em;margin:0;padding-inline-start:1.25em;display:grid}.prose>hr{border:0;border-block-start:1px solid var(--color-border);inline-size:100%;margin:0}}@view-transition{navigation:auto}@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}}@keyframes page-leave{to{opacity:0;translate:0 calc(var(--page-shift) * -.5rem)}}@keyframes page-enter{0%{opacity:0;translate:0 calc(var(--page-shift) * 1rem)}}@keyframes quote-rule{0%{background-size:2px 0%}}@media print{@page{margin:2cm 2cm 2.5cm;@bottom-center{content:counter(page) " / " counter(pages);font-size:9pt}}:root{--text-body:11pt;--text-small:9pt;--text-heading:22pt;--text-subheading:15pt;--space-content:.5rem;--space-layout:1.25rem;--page-gutter:0;--lightningcss-light:initial!important;--lightningcss-dark: !important;color-scheme:light!important}html{background:0 0}body{min-block-size:0;line-height:1.5}.prose{font-size:10.5pt;line-height:1.55}[data-lcars-frame],.breadcrumb,footer>nav,.diorama,.contents,like-button,.back-to-top,.reading-progress{display:none!important}main.page,main.page>div{padding-block:0!important}footer{padding-block:var(--space-layout) 0!important;font-size:8pt!important}:is(.prose,.reading-page,.reading-column) a:is([href^=http],[href^=\/]):not(:has(img)):after{content:" (" attr(href) ")";color:var(--color-text-muted);overflow-wrap:anywhere;font-size:.85em}:is(.prose,.reading-page,.reading-column) a[href^=\/]:not(:has(img)):after{content:" (joknoll.de" attr(href) ")"}pre{overflow-wrap:anywhere;white-space:pre-wrap!important;overflow:visible!important}h1,h2,h3,h4,hgroup,dt{break-after:avoid}pre,blockquote,figure,img,svg,tr,dl>div{break-inside:avoid}p,li{orphans:3;widows:3}}.diorama[data-astro-cid-2xii2mpu]{perspective:60rem;perspective-origin:50% 0;--paper-cut:var(--color-background);--paper-light:color-mix(in oklch, var(--color-text-muted), var(--color-background) 45%);block-size:clamp(14rem,9rem + 20vi,26rem);position:relative;overflow:clip;container-type:size}.defs[data-astro-cid-2xii2mpu]{block-size:0;inline-size:0;position:absolute}svg[data-astro-cid-2xii2mpu]{display:block;overflow:visible}path[data-astro-cid-2xii2mpu],circle[data-astro-cid-2xii2mpu],ellipse[data-astro-cid-2xii2mpu],rect[data-astro-cid-2xii2mpu]{stroke:var(--paper-cut);stroke-width:1.5px;stroke-linejoin:round}.layer[data-astro-cid-2xii2mpu]{transform-origin:50% 100%;pointer-events:none;--depth:0;position:absolute;inset:0}.sky[data-astro-cid-2xii2mpu]{--depth:.1}.sky[data-astro-cid-2xii2mpu] svg{block-size:100%;inline-size:100%}.star[data-astro-cid-2xii2mpu]{fill:var(--color-scene-near);stroke:none}.star[data-astro-cid-2xii2mpu].blog{fill:var(--color-icon-blog)}.star[data-astro-cid-2xii2mpu].person{fill:var(--color-icon-person)}.star[data-astro-cid-2xii2mpu].notes{fill:var(--color-icon-notes)}.far[data-astro-cid-2xii2mpu],.mid[data-astro-cid-2xii2mpu],.near[data-astro-cid-2xii2mpu]{inset-block-start:auto;inset-inline:-2rem}.far[data-astro-cid-2xii2mpu]{--depth:.35;block-size:70%}.mid[data-astro-cid-2xii2mpu]{--depth:.6;block-size:48%}.near[data-astro-cid-2xii2mpu]{--depth:1;--rocket:clamp(1.75rem, 4.5cqi, 3.75rem);block-size:28%}.terrain[data-astro-cid-2xii2mpu]{block-size:100%;inline-size:100%;position:absolute;inset:0}.terrain[data-astro-cid-2xii2mpu] path,.terrain[data-astro-cid-2xii2mpu] ellipse{vector-effect:non-scaling-stroke}.terrain[data-astro-cid-2xii2mpu] .grain{fill:url(#diorama-grain);stroke:none;opacity:.16}.far[data-astro-cid-2xii2mpu] .terrain[data-astro-cid-2xii2mpu]{fill:var(--color-scene-far);filter:drop-shadow(0 -.1rem .3rem var(--color-scene-shadow))}.crater[data-astro-cid-2xii2mpu]{fill:var(--color-scene-mid);stroke:none}.mid[data-astro-cid-2xii2mpu] .crater[data-astro-cid-2xii2mpu]{fill:color-mix(in oklch, var(--color-scene-mid), var(--color-scene-near))}.near[data-astro-cid-2xii2mpu] .crater[data-astro-cid-2xii2mpu]{fill:color-mix(in oklch, var(--color-scene-near), var(--color-text-muted) 25%)}.mid[data-astro-cid-2xii2mpu] .terrain[data-astro-cid-2xii2mpu]{fill:var(--color-scene-mid);filter:drop-shadow(0 -.15rem .45rem var(--color-scene-shadow))}.near[data-astro-cid-2xii2mpu] .terrain[data-astro-cid-2xii2mpu]{fill:var(--color-scene-near);filter:drop-shadow(0 -.2rem .6rem var(--color-scene-shadow))}button[data-astro-cid-2xii2mpu]{color:inherit;cursor:pointer;pointer-events:auto;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:.5rem;padding:0;display:block}.prop[data-astro-cid-2xii2mpu]{inline-size:var(--size);filter:drop-shadow(0 .1rem .15rem var(--color-scene-shadow));margin-inline-start:calc(var(--size) / -2);position:absolute;inset-block-end:var(--ground);inset-inline-start:calc(var(--x) + 2rem)}.prop[data-astro-cid-2xii2mpu] svg{block-size:auto;inline-size:100%}.hanging[data-astro-cid-2xii2mpu]{--depth:.25}.hang[data-astro-cid-2xii2mpu]{inline-size:var(--size);margin-inline-start:calc(var(--size) / -2);position:absolute;inset-block-start:0;inset-inline-start:var(--x)}.held[data-astro-cid-2xii2mpu]{inline-size:100%;transform-origin:50% calc(-1 * var(--len));filter:drop-shadow(0 .2rem .25rem var(--color-scene-shadow));margin-block-start:var(--len);display:block;position:relative}.held[data-astro-cid-2xii2mpu]:before{content:"";inline-size:1px;block-size:calc(var(--len) + 100cqb);background:var(--color-border);position:absolute;inset-block-end:calc(100% - var(--attach));inset-inline-start:calc(50% - .5px)}.held[data-astro-cid-2xii2mpu] svg{block-size:auto;inline-size:100%;position:relative}.moon-hang[data-astro-cid-2xii2mpu]{--x:86%;--len:9cqb;--attach:6%;--size:clamp(2.5rem, 7cqi, 5.5rem)}.moon-full[data-astro-cid-2xii2mpu]{fill:var(--lightningcss-light,transparent)var(--lightningcss-dark,var(--moon));stroke:var(--lightningcss-light,transparent)var(--lightningcss-dark,var(--paper-cut))}.moon-crescent[data-astro-cid-2xii2mpu]{fill:var(--moon);stroke:var(--lightningcss-light,var(--paper-cut))var(--lightningcss-dark,transparent)}.moon[data-astro-cid-2xii2mpu]{--moon:var(--lightningcss-light,color-mix(in oklch, var(--color-background), var(--color-text) 22%))var(--lightningcss-dark,color-mix(in oklch, var(--color-background), var(--color-text) 72%))}.moon-crater[data-astro-cid-2xii2mpu]{fill:var(--lightningcss-light,transparent)var(--lightningcss-dark,color-mix(in oklch, var(--color-background), var(--color-text) 58%));stroke:none}.planet-hang[data-astro-cid-2xii2mpu]{--x:22%;--len:15cqb;--attach:22%;--size:clamp(3.5rem, 12cqi, 9rem)}.planet-body[data-astro-cid-2xii2mpu]{fill:var(--color-icon-blog)}.planet-band[data-astro-cid-2xii2mpu]{fill:color-mix(in oklch, var(--color-icon-blog), var(--color-background) 30%);stroke:none}.planet-shade[data-astro-cid-2xii2mpu]{fill:oklch(0% 0 0/.18);fill-rule:evenodd;stroke:none}.ring[data-astro-cid-2xii2mpu]{fill:color-mix(in oklch, var(--color-icon-blog), var(--color-background) 50%)}.ship-hang[data-astro-cid-2xii2mpu]{--x:58%;--len:9cqb;--attach:56%;--size:clamp(5rem, 16cqi, 13rem)}.hull[data-astro-cid-2xii2mpu]{fill:var(--color-text-muted)}.far-side[data-astro-cid-2xii2mpu]{fill:var(--paper-light)}.saucer-rim[data-astro-cid-2xii2mpu]{fill:var(--paper-light);stroke:none}.bussard[data-astro-cid-2xii2mpu]{fill:var(--color-icon-person)}.deflector[data-astro-cid-2xii2mpu]{fill:var(--color-icon-blog)}.flag[data-astro-cid-2xii2mpu]{--size:clamp(1.5rem, 3.5cqi, 3.25rem)}.flag-pole[data-astro-cid-2xii2mpu]{fill:var(--color-text-muted)}.flag-cloth[data-astro-cid-2xii2mpu]{fill:var(--color-icon-notes)}.pad[data-astro-cid-2xii2mpu]{--size:calc(var(--rocket) * 1.4);fill:var(--color-text-muted)}.rocket[data-astro-cid-2xii2mpu]{--size:var(--rocket);inset-block-end:calc(var(--ground) + var(--size) * .32)}.rocket-body[data-astro-cid-2xii2mpu]{fill:var(--color-text-muted)}.rocket-band[data-astro-cid-2xii2mpu]{fill:var(--paper-light);stroke:none}.porthole-rim[data-astro-cid-2xii2mpu]{fill:var(--paper-light)}.nose[data-astro-cid-2xii2mpu]{fill:var(--color-icon-blog)}.porthole[data-astro-cid-2xii2mpu]{fill:var(--color-icon-blog);stroke:none}.fin[data-astro-cid-2xii2mpu],.flame[data-astro-cid-2xii2mpu]{fill:var(--color-icon-person)}.flame[data-astro-cid-2xii2mpu]{opacity:0}.rover[data-astro-cid-2xii2mpu]{--size:clamp(4.5rem, 13cqi, 10rem);inset-block-end:calc(var(--ground) - var(--size) * .05)}.crab[data-astro-cid-2xii2mpu]{fill:var(--color-icon-person)}.eye[data-astro-cid-2xii2mpu]{fill:var(--lightningcss-light,var(--color-background))var(--lightningcss-dark,var(--color-text))}.pupil[data-astro-cid-2xii2mpu]{fill:var(--lightningcss-light,var(--color-text))var(--lightningcss-dark,var(--color-background));stroke:none}.antenna-mast[data-astro-cid-2xii2mpu],.chassis[data-astro-cid-2xii2mpu],.tyre[data-astro-cid-2xii2mpu]{fill:var(--color-text-muted)}.antenna-tip[data-astro-cid-2xii2mpu]{fill:var(--color-icon-blog)}.chassis-stripe[data-astro-cid-2xii2mpu],.hub[data-astro-cid-2xii2mpu]{fill:var(--paper-light);stroke:none}[data-astro-cid-2xii2mpu]:is(.claw,.antenna,.wheel){transform-box:fill-box}.claw[data-astro-cid-2xii2mpu],.antenna[data-astro-cid-2xii2mpu]{transform-origin:0 100%}.wheel[data-astro-cid-2xii2mpu]{transform-origin:50%}.diorama[data-astro-cid-2xii2mpu] .smoke{inline-size:var(--size);block-size:var(--size);margin:calc(var(--size) / -2);background:var(--color-border);opacity:0;pointer-events:none;border-radius:50%;animation:ease-out forwards diorama-smoke;position:absolute;inset-block-start:var(--from-y);inset-inline-start:var(--from-x)}@media (prefers-reduced-motion:no-preference){.layer[data-astro-cid-2xii2mpu]{transform:translate(calc(var(--px,0) * var(--depth) * -1.5rem), calc(var(--py,0) * var(--depth) * -.5rem));transition:transform .7s cubic-bezier(.2,.8,.2,1)}.held[data-astro-cid-2xii2mpu]{transition:rotate .5s cubic-bezier(.3,1.6,.5,1)}.planet[data-astro-cid-2xii2mpu]:is(:hover,:focus-visible){rotate:4deg}.ship[data-astro-cid-2xii2mpu]:is(:hover,:focus-visible){rotate:-3deg}.claw[data-astro-cid-2xii2mpu]{transition:rotate .3s cubic-bezier(.3,1.6,.5,1)}.rover[data-astro-cid-2xii2mpu]:is(:hover,:focus-visible) .claw[data-astro-cid-2xii2mpu]{rotate:-25deg}.planet[data-astro-cid-2xii2mpu].swinging{animation:1.8s ease-out diorama-swing}.rover[data-astro-cid-2xii2mpu].driving{animation:1.6s ease-in-out diorama-drive}.rover[data-astro-cid-2xii2mpu].driving .wheel{animation:1.6s ease-in-out diorama-roll}.rover[data-astro-cid-2xii2mpu].driving .antenna{animation:1.6s ease-out diorama-wiggle}.rocket[data-astro-cid-2xii2mpu].launching svg{animation:2.4s both diorama-launch}.rocket[data-astro-cid-2xii2mpu].launching .flame{animation:2.4s both diorama-flame}@supports (animation-timeline:view()){.diorama[data-astro-cid-2xii2mpu]{view-timeline:--diorama block;view-timeline-inset:0}.sky[data-astro-cid-2xii2mpu]{--rise:-15%;animation:linear both diorama-rise;animation-timeline:--diorama;animation-range:entry entry 80%}.far[data-astro-cid-2xii2mpu],.mid[data-astro-cid-2xii2mpu],.near[data-astro-cid-2xii2mpu]{animation:linear both diorama-unfold;animation-timeline:--diorama}.far[data-astro-cid-2xii2mpu]{--tilt:80deg;--rise:8%;animation-range:entry entry 60%}.mid[data-astro-cid-2xii2mpu]{--tilt:80deg;--rise:18%;animation-range:entry 10% entry 70%}.near[data-astro-cid-2xii2mpu]{--tilt:80deg;--rise:30%;animation-range:entry 20% entry 80%}.hang[data-astro-cid-2xii2mpu]{animation:linear both diorama-lower;animation-timeline:--diorama}.moon-hang[data-astro-cid-2xii2mpu]{animation-range:entry 25% entry 70%}.planet-hang[data-astro-cid-2xii2mpu]{animation-range:entry 35% entry 80%}.ship-hang[data-astro-cid-2xii2mpu]{animation-range:entry 45% entry 85%}}}@keyframes diorama-unfold{0%{rotate:x var(--tilt);translate:0 var(--rise)}}@keyframes diorama-rise{0%{translate:0 var(--rise);opacity:0}}@keyframes diorama-lower{0%{translate:0 -100cqb}70%{translate:0 1.5cqb}85%{translate:0 -.5cqb}to{translate:0}}@keyframes diorama-swing{12%{rotate:16deg}30%{rotate:-11deg}48%{rotate:7deg}66%{rotate:-4deg}84%{rotate:1.5deg}}@keyframes diorama-drive{10%{translate:0 -4%;rotate:-3deg}45%{translate:60%;rotate:0deg}52%{translate:60% -8%;rotate:4deg}60%{translate:60%;rotate:0deg}}@keyframes diorama-roll{45%,60%{rotate:1turn}}@keyframes diorama-wiggle{15%{rotate:-18deg}30%{rotate:12deg}50%{rotate:-14deg}58%{rotate:10deg}72%{rotate:-5deg}86%{rotate:2deg}}@keyframes diorama-launch{0%{translate:0;scale:1}8%{animation-timing-function:ease-in;translate:0 4%;scale:1.1 .88}34%{opacity:1;translate:0 -130cqb;scale:.9 1.15}35%,58%{opacity:0;translate:0 -130cqb}59%{opacity:1;animation-timing-function:cubic-bezier(.2,.6,.4,1);translate:0 -130cqb;scale:1}82%{translate:0;scale:1}88%{translate:0;scale:1.12 .86}94%{translate:0 -5%;scale:.96 1.04}to{translate:0;scale:1}}@keyframes diorama-flame{0%,6%{opacity:0}8%,32%{opacity:1}35%,66%{opacity:0}68%,82%{opacity:1}85%,to{opacity:0}}@keyframes diorama-smoke{0%{opacity:.6;scale:.4}to{translate:var(--x) var(--y);opacity:0;scale:1.8}}footer[data-astro-cid-jo6i4kqk]{grid-template-columns:minmax(var(--page-gutter), 1fr) minmax(0, var(--page-size)) minmax(var(--page-gutter), 1fr);padding-block:var(--space-content) .75rem;color:var(--color-text-muted);font-family:var(--font-ui);gap:.25rem;font-size:.8125rem;display:grid}footer[data-astro-cid-jo6i4kqk]>[data-astro-cid-jo6i4kqk]{grid-column:2}footer[data-astro-cid-jo6i4kqk]>.diorama{grid-column:1/-1;margin-block-start:var(--space-content)}footer[data-astro-cid-jo6i4kqk]:has(>.diorama){padding-block-end:0}ul[data-astro-cid-jo6i4kqk]{flex-wrap:wrap;flex-wrap:balance;justify-content:center;gap:.25rem 1rem;margin:0;padding:0;list-style:none;display:flex}nav[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{justify-content:center;align-items:center;min-block-size:1.5rem;min-inline-size:1.5rem;padding-inline:.125rem;text-decoration:none;display:inline-flex}a[data-astro-cid-jo6i4kqk]{color:var(--color-text-muted)}a[data-astro-cid-jo6i4kqk]:is(:hover,:focus-visible){color:var(--color-link);text-decoration:underline}a[data-astro-cid-jo6i4kqk][aria-current=page]{color:var(--color-text);text-decoration:underline}p[data-astro-cid-jo6i4kqk]{flex-wrap:wrap;flex-wrap:balance;justify-content:center;gap:.4em;max-inline-size:none;display:flex}body{grid-template-rows:1fr auto;grid-template-columns:minmax(0,1fr);align-items:start;display:grid}.page[data-astro-cid-ybatimd6]{view-transition-name:page-content;grid-template-areas:"trail trail trail"".content.";grid-template-columns:minmax(var(--page-gutter), 1fr) minmax(0, var(--page-size)) minmax(var(--page-gutter), 1fr);padding-block-end:clamp(2rem,1rem + 4vi,6rem);display:grid}.page[data-astro-cid-ybatimd6]>div[data-astro-cid-ybatimd6]{gap:var(--space-content);grid-area:content;grid-template-columns:minmax(0,1fr);min-inline-size:0;padding-block-start:clamp(2rem,1rem + 4vi,6rem);display:grid}.breadcrumb[data-astro-cid-ybatimd6]{padding-block-start:.5rem;padding-inline:var(--page-gutter);view-transition-name:breadcrumb;grid-area:trail}.breadcrumb[data-astro-cid-ybatimd6] ol[data-astro-cid-ybatimd6]{flex-wrap:wrap;align-items:center;margin:0;padding:0;list-style:none;display:flex}.breadcrumb[data-astro-cid-ybatimd6] ol[data-astro-cid-ybatimd6]>li+li:before{content:"/" / "";color:var(--color-text-muted);padding-inline:.5em}.breadcrumb[data-astro-cid-ybatimd6] ol[data-astro-cid-ybatimd6] a{min-block-size:2.75rem;color:var(--color-text-muted);align-items:center;text-decoration-line:none;display:inline-flex}.breadcrumb[data-astro-cid-ybatimd6] ol[data-astro-cid-ybatimd6] a:is(:hover,:focus-visible){color:var(--color-text);text-decoration-line:underline}.breadcrumb[data-astro-cid-ybatimd6] ol[data-astro-cid-ybatimd6] a[aria-current=page]{color:var(--color-text)}
