#zx-wallpaper[data-astro-cid-mgdmefud]{z-index:0;pointer-events:none;opacity:.9;width:100%;height:100%;position:fixed;inset:0}.site-header[data-astro-cid-nen7h5rs]{border-bottom:1px solid var(--color-border-strong);background:linear-gradient(#1b2822f0,#18231ec2);padding-block:1.15rem .95rem}.header-inner[data-astro-cid-nen7h5rs]{flex-wrap:wrap;justify-content:space-between;gap:.75rem 1.5rem;display:flex}.brand-block[data-astro-cid-nen7h5rs]{min-width:0}.brand[data-astro-cid-nen7h5rs]{font-size:1.72rem;font-family:var(--font-display);letter-spacing:0;color:var(--color-heading);text-shadow:0 0 18px #9ad9d11f;align-items:center;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.site-subtitle[data-astro-cid-nen7h5rs]{color:var(--color-muted);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;margin:.2rem 0 0;font-size:.78rem}.site-nav[data-astro-cid-nen7h5rs]{font-family:var(--font-ui);flex-wrap:wrap;align-items:center;gap:.45rem 1rem;padding-top:.35rem;font-size:.95rem;display:flex}.site-nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{color:var(--color-text);border-bottom:2px solid #0000;padding-bottom:.15rem;text-decoration:none}.site-nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover{color:var(--color-accent-hover);border-bottom-color:#9ad9d152}.site-nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs][aria-current=page]{color:var(--color-accent);border-bottom-color:var(--color-accent);font-weight:600}@media (width<=520px){.brand[data-astro-cid-nen7h5rs]{font-size:1.55rem}}.site-footer[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--color-border-strong);background:linear-gradient(#0000,#9ad9d112) bottom/100% 3.8rem no-repeat,linear-gradient(#0000 36%,#18231edb),linear-gradient(#0000 64%,#1b28225c);padding-block:1.75rem 3.45rem;position:relative;overflow:hidden}.footer-inner[data-astro-cid-jo6i4kqk]{z-index:2;flex-wrap:wrap;justify-content:space-between;align-items:start;gap:.75rem 1.5rem;display:flex;position:relative}.footer-copy[data-astro-cid-jo6i4kqk]{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;margin:0;font-size:.82rem}.footer-links[data-astro-cid-jo6i4kqk]{font-family:var(--font-ui);flex-wrap:wrap;gap:.35rem 1rem;margin:0;padding:0;font-size:.95rem;list-style:none;display:flex}.footer-links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{color:var(--color-text);border-bottom:2px solid #0000;padding-bottom:.15rem;text-decoration:none}.footer-links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--color-accent-hover);border-bottom-color:#9ad9d152}.footer-ocean[data-astro-cid-jo6i4kqk]{z-index:1;inset-inline:0;pointer-events:none;height:3.3rem;image-rendering:pixelated;background:linear-gradient(90deg, #fff3cf17 0 4px, transparent 4px 20px) bottom / 56px .55rem repeat-x, linear-gradient(90deg, #0d141157 0 18px, #21302947 18px 36px) bottom / 88px .55rem repeat-x, linear-gradient(180deg, #9ad9d11c, transparent 34%), linear-gradient(180deg, var(--color-bg) 0%, var(--color-surface-2) 54%, var(--color-code-block) 100%);position:absolute;bottom:0;overflow:hidden}.footer-ocean[data-astro-cid-jo6i4kqk]:before,.footer-ocean[data-astro-cid-jo6i4kqk]:after{content:"";z-index:1;height:.95rem;animation:ocean-wave-shift var(--wave-speed) linear infinite;background-repeat:repeat-x;display:block;position:absolute;inset-inline:-3rem}.footer-ocean[data-astro-cid-jo6i4kqk]:before{--wave-speed:8.2s;opacity:.34;background-image:linear-gradient(90deg,#0000 0 12px,#9ad9d142 12px 16px,#4250465c 16px 32px,#0000 32px 46px,#c8f4ef2e 46px 58px,#0000 58px 80px);background-size:80px 100%;top:.35rem}.footer-ocean[data-astro-cid-jo6i4kqk]:after{--wave-speed:11.6s;opacity:.46;background-image:linear-gradient(90deg,#10211c61 0 12px,#fff3cf33 12px 16px,#6d7b7157 16px 40px,#0000 40px 56px,#9ad9d138 56px 72px,#0000 72px 96px);background-size:96px 100%;animation-direction:reverse;top:1.05rem}.ocean-fish[data-astro-cid-jo6i4kqk]{--flip:scaleX(1);--start-x:-4rem;--middle-x:50vw;--middle-y:-.14rem;--end-x:calc(100vw + 5rem);--end-y:.1rem;z-index:2;left:-4rem;bottom:var(--depth);opacity:.9;width:36px;height:20px;filter:drop-shadow(0 0 1px var(--fish-shadow));transform:translateX(var(--start-x)) var(--flip) scale(var(--scale));transform-origin:50%;animation:ocean-fish-swim var(--speed) linear infinite;animation-delay:var(--delay);position:absolute}.ocean-fish--reverse[data-astro-cid-jo6i4kqk]{--flip:scaleX(-1);--start-x:4rem;--middle-x:-50vw;--middle-y:.12rem;--end-x:calc(-100vw - 5rem);--end-y:-.08rem;left:auto;right:-4rem}.ocean-fish__body[data-astro-cid-jo6i4kqk],.ocean-fish__tail[data-astro-cid-jo6i4kqk]{background:var(--fish-color);width:4px;height:4px;position:absolute}.ocean-fish__body[data-astro-cid-jo6i4kqk]{box-shadow:4px 0 var(--fish-color), 8px 0 var(--fish-shine), 12px 0 var(--fish-color), 16px 0 var(--fish-eye), 0 4px var(--fish-color), 4px 4px var(--fish-color), 8px 4px var(--fish-color), 12px 4px var(--fish-shine), 16px 4px var(--fish-color), 4px 8px var(--fish-color), 8px 8px var(--fish-color), 12px 8px var(--fish-color);top:4px;left:12px}.ocean-fish__tail[data-astro-cid-jo6i4kqk]{box-shadow:-4px -4px var(--fish-color), -4px 4px var(--fish-color);animation:.52s steps(2,end) infinite ocean-tail-flick;top:8px;left:4px}@keyframes ocean-wave-shift{0%{transform:translate(0)}to{transform:translate(96px)}}@keyframes ocean-fish-swim{0%{opacity:0;transform:translateX(var(--start-x)) translateY(0) var(--flip) scale(var(--scale))}8%,92%{opacity:.9}45%{transform:translateX(var(--middle-x)) translateY(var(--middle-y)) var(--flip) scale(var(--scale))}to{opacity:0;transform:translateX(var(--end-x)) translateY(var(--end-y)) var(--flip) scale(var(--scale))}}@keyframes ocean-tail-flick{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@media (prefers-reduced-motion:reduce){.footer-ocean[data-astro-cid-jo6i4kqk]:before,.footer-ocean[data-astro-cid-jo6i4kqk]:after,.ocean-fish[data-astro-cid-jo6i4kqk],.ocean-fish__tail[data-astro-cid-jo6i4kqk]{animation:none}.ocean-fish[data-astro-cid-jo6i4kqk]{display:none}}@font-face{font-family:Grenze Gotisch;src:url(/fonts/0eaff0885a4b6b11.woff2)format("woff2");font-display:swap;unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB;font-weight:400 700;font-style:normal}@font-face{font-family:Grenze Gotisch;src:url(/fonts/99fdc389b77b2ef8.woff2)format("woff2");font-display:swap;unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF;font-weight:400 700;font-style:normal}@font-face{font-family:Grenze Gotisch;src:url(/fonts/f18d90c97ffdd3f9.woff2)format("woff2");font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-weight:400 700;font-style:normal}@font-face{font-family:Spectral;src:url(/fonts/359b5836b691a104.woff2)format("woff2");font-display:swap;unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;font-weight:400;font-style:normal}@font-face{font-family:Spectral;src:url(/fonts/69d35f63ca6e95e9.woff2)format("woff2");font-display:swap;unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116;font-weight:400;font-style:normal}@font-face{font-family:Spectral;src:url(/fonts/331e6a4d682eaa23.woff2)format("woff2");font-display:swap;unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB;font-weight:400;font-style:normal}@font-face{font-family:Spectral;src:url(/fonts/6487258d2bad61fa.woff2)format("woff2");font-display:swap;unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF;font-weight:400;font-style:normal}@font-face{font-family:Spectral;src:url(/fonts/504fc1101ab69463.woff2)format("woff2");font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-weight:400;font-style:normal}@font-face{font-family:Spectral;src:url(/fonts/5a2911fe91ad2b93.woff2)format("woff2");font-display:swap;unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;font-weight:600;font-style:normal}@font-face{font-family:Spectral;src:url(/fonts/b6f2a01ad5fcc08c.woff2)format("woff2");font-display:swap;unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116;font-weight:600;font-style:normal}@font-face{font-family:Spectral;src:url(/fonts/4602225de90fe75c.woff2)format("woff2");font-display:swap;unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB;font-weight:600;font-style:normal}@font-face{font-family:Spectral;src:url(/fonts/7f12bfd617c535cb.woff2)format("woff2");font-display:swap;unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF;font-weight:600;font-style:normal}@font-face{font-family:Spectral;src:url(/fonts/312b238865e5de6c.woff2)format("woff2");font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-weight:600;font-style:normal}@font-face{font-family:Spectral;src:url(/fonts/b3f806863d99224b.woff2)format("woff2");font-display:swap;unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;font-weight:700;font-style:normal}@font-face{font-family:Spectral;src:url(/fonts/a63f8eee1aa2f3ca.woff2)format("woff2");font-display:swap;unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116;font-weight:700;font-style:normal}@font-face{font-family:Spectral;src:url(/fonts/f562e11806436265.woff2)format("woff2");font-display:swap;unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB;font-weight:700;font-style:normal}@font-face{font-family:Spectral;src:url(/fonts/4a43b184f857c497.woff2)format("woff2");font-display:swap;unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF;font-weight:700;font-style:normal}@font-face{font-family:Spectral;src:url(/fonts/9e4fc01111ee5c76.woff2)format("woff2");font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-weight:700;font-style:normal}@font-face{font-family:Spectral;src:url(/fonts/0ea9ee73da0a4c98.woff2)format("woff2");font-display:swap;unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;font-weight:400;font-style:italic}@font-face{font-family:Spectral;src:url(/fonts/f1954e9514fc96fb.woff2)format("woff2");font-display:swap;unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116;font-weight:400;font-style:italic}@font-face{font-family:Spectral;src:url(/fonts/2e653729aeec0e49.woff2)format("woff2");font-display:swap;unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB;font-weight:400;font-style:italic}@font-face{font-family:Spectral;src:url(/fonts/01c837937bd23f98.woff2)format("woff2");font-display:swap;unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF;font-weight:400;font-style:italic}@font-face{font-family:Spectral;src:url(/fonts/36dac98fc001e6cd.woff2)format("woff2");font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-weight:400;font-style:italic}@font-face{font-family:Alegreya Sans;src:url(/fonts/b5d6e85b14bf9324.woff2)format("woff2");font-display:swap;unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;font-weight:400;font-style:normal}@font-face{font-family:Alegreya Sans;src:url(/fonts/5dd80a873a2371bd.woff2)format("woff2");font-display:swap;unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116;font-weight:400;font-style:normal}@font-face{font-family:Alegreya Sans;src:url(/fonts/d9401556ac1a1e23.woff2)format("woff2");font-display:swap;unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB;font-weight:400;font-style:normal}@font-face{font-family:Alegreya Sans;src:url(/fonts/4d37c5e93cb70adb.woff2)format("woff2");font-display:swap;unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF;font-weight:400;font-style:normal}@font-face{font-family:Alegreya Sans;src:url(/fonts/ed3dc9ca4379ac2c.woff2)format("woff2");font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-weight:400;font-style:normal}@font-face{font-family:Alegreya Sans;src:url(/fonts/f9ab4dbecf7a69d9.woff2)format("woff2");font-display:swap;unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;font-weight:500;font-style:normal}@font-face{font-family:Alegreya Sans;src:url(/fonts/327390e492eaef50.woff2)format("woff2");font-display:swap;unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116;font-weight:500;font-style:normal}@font-face{font-family:Alegreya Sans;src:url(/fonts/d7d82bc0a7ccbac7.woff2)format("woff2");font-display:swap;unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB;font-weight:500;font-style:normal}@font-face{font-family:Alegreya Sans;src:url(/fonts/054a50cc3261ff25.woff2)format("woff2");font-display:swap;unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF;font-weight:500;font-style:normal}@font-face{font-family:Alegreya Sans;src:url(/fonts/5bac1bd65b142007.woff2)format("woff2");font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-weight:500;font-style:normal}@font-face{font-family:Alegreya Sans;src:url(/fonts/aded2d179d29816b.woff2)format("woff2");font-display:swap;unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;font-weight:700;font-style:normal}@font-face{font-family:Alegreya Sans;src:url(/fonts/96d3cc323baa439d.woff2)format("woff2");font-display:swap;unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116;font-weight:700;font-style:normal}@font-face{font-family:Alegreya Sans;src:url(/fonts/c01c621673dfe6f7.woff2)format("woff2");font-display:swap;unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB;font-weight:700;font-style:normal}@font-face{font-family:Alegreya Sans;src:url(/fonts/807c3bc5c1b87e6a.woff2)format("woff2");font-display:swap;unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF;font-weight:700;font-style:normal}@font-face{font-family:Alegreya Sans;src:url(/fonts/c6d8ff8b69f3f272.woff2)format("woff2");font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-weight:700;font-style:normal}@font-face{font-family:Space Mono;src:url(/fonts/479ab8af71cf38f0.woff2)format("woff2");font-display:swap;unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB;font-weight:400;font-style:normal}@font-face{font-family:Space Mono;src:url(/fonts/5a0df0f19268a281.woff2)format("woff2");font-display:swap;unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF;font-weight:400;font-style:normal}@font-face{font-family:Space Mono;src:url(/fonts/575ce9699c982f75.woff2)format("woff2");font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-weight:400;font-style:normal}@font-face{font-family:Space Mono;src:url(/fonts/cd1dc8f828b08597.woff2)format("woff2");font-display:swap;unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB;font-weight:700;font-style:normal}@font-face{font-family:Space Mono;src:url(/fonts/075778efd01225d5.woff2)format("woff2");font-display:swap;unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF;font-weight:700;font-style:normal}@font-face{font-family:Space Mono;src:url(/fonts/22ecc8a761a2f468.woff2)format("woff2");font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-weight:700;font-style:normal}:root{--font-display:"Grenze Gotisch",Georgia,serif;--font-body:Spectral,"Iowan Old Style",Georgia,serif;--font-ui:"Alegreya Sans","Avenir Next","Segoe UI","Helvetica Neue",Arial,sans-serif;--font-mono:"Space Mono","Cascadia Code",SFMono-Regular,Consolas,"Liberation Mono",monospace;--content-width:72rem;--reading-width:44rem;--color-bg:#18231e;--color-text:#dde3d7;--color-heading:#fff3cf;--color-muted:#9ca89d;--color-border:#425046;--color-border-strong:#6d7b71;--color-accent:#9ad9d1;--color-accent-hover:#c8f4ef;--color-accent-soft:#9ad9d11f;--color-surface:#213029;--color-surface-2:#1b2822;--color-code-bg:#24352d;--color-code-block:#16211c;--color-selection:#9ad9d13d;--color-chalk-dust:#f5f1e705;--color-chalk-dust-strong:#f5f1e708;--shadow-soft:0 16px 34px #0000003d;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{min-height:100vh;font-family:var(--font-body);background-color:var(--color-bg);background-image:radial-gradient(circle at 18% 14%, #f5f1e70b, transparent 22rem), radial-gradient(circle at 82% 10%, #9ad9d10b, transparent 18rem), linear-gradient(180deg, #ffffff04, #0000001f), radial-gradient(circle at 24px 28px, var(--color-chalk-dust-strong) 0 1.1px, transparent 1.2px), radial-gradient(circle at 82px 94px, var(--color-chalk-dust) 0 .9px, transparent 1px);color:var(--color-text);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-size:auto,auto,auto,170px 170px,230px 230px;font-size:1.08rem;line-height:1.69}img{max-width:100%;height:auto}button{font:inherit}:where(h2,h3,h4,h5,h6)[id]{scroll-margin-top:1rem}::selection{background:var(--color-selection);color:var(--color-heading)}.container{width:min(100%, var(--content-width));margin-inline:auto;padding-inline:1.25rem}main.container{padding-block:2.3rem 3.25rem}.page{z-index:1;flex-direction:column;min-height:100vh;display:flex;position:relative}.page>main{flex:1 0 auto}h1,h2,h3,.pub-title strong{font-family:var(--font-display);letter-spacing:0;color:var(--color-heading);text-shadow:0 0 18px #9ad9d11f;text-wrap:balance;margin:0 0 .75rem;font-weight:600;line-height:1.08}h1{margin-bottom:1rem;font-size:3.15rem}h2{margin-top:2rem;font-size:2rem}h3{margin-top:1.5rem;font-size:1.38rem}@media (width<=640px){h1{font-size:2.55rem}h2{font-size:1.75rem}h3{font-size:1.25rem}}h4{margin:1.25rem 0 .5rem;font-size:1rem}p{color:var(--color-text);margin:0 0 1rem}.lead{color:var(--color-heading);font-size:1.14rem}p.muted,.muted{color:var(--color-muted)}ul,ol{margin:0 0 1rem;padding-left:1.25rem}li{margin:.25rem 0}dt{font-weight:700}dd{margin:0 0 .75rem}a{color:var(--color-accent);text-underline-offset:3px;text-decoration:underline 1.5px #9ad9d157;transition:color .14s,text-decoration-color .14s,border-color .14s,background-color .14s,transform .14s}a:hover{color:var(--color-accent-hover);text-decoration-color:currentColor}a:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.skip-link{z-index:2;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:999px;padding:.5rem .75rem;position:absolute;top:.5rem;left:1rem;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.button{border:1px solid var(--color-border-strong);background:var(--color-surface-2);color:var(--color-heading);font-family:var(--font-ui);border-radius:3px;padding:.45rem .95rem;font-size:.95rem;font-weight:500;text-decoration:none;display:inline-block;box-shadow:inset 0 1px #ffffff0a}.button:hover{color:var(--color-accent-hover);background:var(--color-accent-soft);transform:translateY(-1px)}.button.primary{background:var(--color-accent);border-color:var(--color-accent);color:#10211c;font-weight:600}.button.primary:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.button.ghost{background:0 0}.button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.prose{max-width:var(--reading-width);width:100%;margin-inline:auto}.prose h1,.prose h2,.prose h3,.prose h4{margin-top:1.75rem;margin-bottom:.75rem}.prose h1{margin-top:0}.prose a{word-break:break-word}.prose code{font-family:var(--font-mono);border:1px solid var(--color-border);background:var(--color-code-bg);color:var(--color-heading);border-radius:.3rem;padding:.08rem .3rem;font-size:.92em}.prose pre{border:1px solid var(--color-border);background:var(--color-code-block);box-shadow:var(--shadow-soft);border-radius:.75rem;margin:1.25rem 0;padding:1rem;overflow-x:auto}.prose pre code{background:0 0;border:none;padding:0;font-size:.95em;line-height:1.6}.pill{border:1px solid var(--color-border);color:var(--color-muted);font-size:.8rem;line-height:1.4;font-family:var(--font-mono);letter-spacing:.03em;background:#1b2822e6;border-radius:999px;padding:.14rem .45rem;display:inline-block}@media (prefers-reduced-motion:reduce){a{transition:none}}@media print{body{color:#000!important;background:#fff!important}a{color:inherit}a[href^=http]:after{content:" (" attr(href) ")";color:#555;font-size:.85em}main.container{width:100%!important;padding:0!important}}
