@font-face{font-family:Sohne;src:url(/fonts/soehne-buch.woff2) format("woff2");font-weight:400;font-style:normal;font-display:fallback}:root{--font-fallback: --apple-system, "BlinkMacSystemFont", "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-sans: "Sohne", var(--font-fallback);--font-display: "Helvetica", var(--font-fallback);--font-serif: "Newsreader", "Signifier", "Times", serif;--font-mono: "Menlo", monospace;--default-gap: .5rem;--gap-sm: 4px;--gap: 8px;--gap-2x: 16px;--gap-3x: 24px;--gap-4x: 32px;--gap-8x: 64px;--gap-16x: 128px;--leading-2xl: 54px;--leading-xl: 40px;--leading-lg: 32px;--leading: 28px;--leading-sm: 22px;--leading-xs: 18px;--text-2xl: 30px;--text-xl: 24px;--text-lg: 20px;--text: 16px;--text-sm: 14px;--text-xs: 12px;--mobile: 768px;--tablet: 1024px;--content-width: 640px;--page-left: auto;--page-top: 192px;--header-height: 48px;--body-margin-left: max(24px, env(safe-area-inset-left));--body-margin-right: max(24px, env(safe-area-inset-right));--fg: var(--gray1);--bg: #ffffff;--alpha: hsla(0, 0%, 9%, .9);--gray0: #111111;--gray1: #161616;--gray2: #1c1c1c;--gray3: #232323;--gray4: #282828;--gray5: #2e2e2e;--gray6: #343434;--gray7: #3e3e3e;--gray8: #505050;--gray9: #707070;--gray10: #7e7e7e;--gray11: #a0a0a0;--gray12: #ededed;--grayA1: hsl(0 0% 100%/0);--grayA2: hsl(0 0% 100%/.026);--grayA3: hsl(0 0% 100%/.056);--grayA4: hsl(0 0% 100%/.077);--grayA5: hsl(0 0% 100%/.103);--grayA6: hsl(0 0% 100%/.129);--grayA7: hsl(0 0% 100%/.172);--grayA8: hsl(0 0% 100%/.249);--grayA9: hsl(0 0% 100%/.386);--grayA10: hsl(0 0% 100%/.446);--grayA11: hsl(0 0% 100%/.592);--grayA12: hsl(0 0% 100%/.923);--blue: #4895f4;--accent-blue: #a5d6ff;--link: var(--gray9);--spacer-y: 8;--code-bg: #fbfbfb;--light-green: rgba(46, 160, 67, .15);--highlight-bg: rgba(255, 216, 0, .2);--border-color: var(--gray6);--photo-bg: #0000003a}[data-theme=dark]{color-scheme:dark;--bg: #0d1117;--fg: var(--gray12);--code-bg: #161b22;--link: var(--gray11);--blue: #4895f4;--accent-blue: #a5d6ff;--border-color: var(--gray6);--photo-bg: #0000003a}[data-theme=light]{--blue: #0969da;--accent-blue: #2d4aae;--border-color: var(--gray12);--photo-bg: #eeeeee3a;.diagram.unimode path,.diagram.unimode text{stroke:#fff}.diagram.unimode text{fill:#fff}}@media(max-width:768px){:root{--page-top: 64px}}::selection{background:var(--fg);color:var(--bg);text-shadow:none}*{box-sizing:border-box}html{line-height:1.15;-webkit-text-size-adjust:100%}body{padding:0;font-family:var(--font-sans);background-color:var(--bg);color:var(--fg);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;margin-top:0;margin-bottom:0;margin-left:var(--body-margin-left);margin-right:var(--body-margin-right);overflow-x:hidden}.app{min-height:75vh;position:relative;max-width:var(--content-width);margin:0 auto 0 var(--page-left);background:var(--bg);padding:var(--page-top) 0}h1,h2,h3,h4,h5,h6{color:var(--fg);font-weight:600;line-height:1.4;font-size:var(--text);line-height:var(--leading);font-family:var(--font-display);font-feature-settings:"kern","calt","case";margin:0}@media(min-width:768px){.post .heading:before{content:"#"}}h3{opacity:.8}h4{opacity:.6}h5,h6{opacity:.4}.heading:before{position:absolute;transform:translate(calc(-100% - 10px));opacity:0;transition:all ease-in-out .2s}.heading:hover:before{opacity:1}s{opacity:.3}mark{background:var(--highlight-bg);color:var(--fg)}hr{height:0px;border:none;border-top:solid 1px var(--border-color)}em,blockquote{font-family:var(--font-serif);font-style:italic;line-height:normal;font-size:calc(1em + 2px);color:var(--fg)}blockquote{padding-left:var(--body-margin-left);border-left:solid 3px;margin:0 0 28px}blockquote p{font-size:1.1rem}h1,h2,h3,h4,h5,h6{margin-top:56px;margin-bottom:32px}h1>a,h2>a,h3>a,h4>a,h5>a,h6>a{text-decoration:none;color:var(--fg)}p,ul,ol,section{margin-bottom:28px!important}.content-heading,.article-title{color:var(--fg);font-weight:600;line-height:1.4;font-size:var(--text);line-height:var(--leading);font-family:var(--font-display);font-feature-settings:"kern","calt","case"}.article-summary{color:var(--gray11);margin:0}[data-theme=light]{.article-summary{color:var(--gray9)}}@media(min-width:1100px){.article-footer{margin-top:48px;padding-top:48px;border-top:solid 1px var(--border-color)}}p,ul,.content-text{color:var(--fg);letter-spacing:0;font-size:var(--text);line-height:var(--leading);font-feature-settings:"kern","frac","kern","ss02";margin:0}.spacer{display:block;margin-top:calc(var(--default-gap) * var(--spacer-y, 1) - 1px)}.bookmarks ul{display:grid;grid-template-columns:1fr 1fr 1fr;grid-auto-rows:auto}img,svg{max-width:100%;height:auto}.image-container,.diagram{display:block;width:100%;height:auto;margin-left:0;margin-right:0;margin-top:0}.image-container figcaption,.diagram figcaption{font-size:12px;opacity:.7;margin:12px 0;text-align:center}.writing-section li em{margin-left:1rem;font-size:.9em}nve-diagram{display:block;margin:4rem 0}ul{list-style:none;list-style-position:outside;margin:0 0 1rem 1rem;padding:0}ul ul{margin:1rem}ul li:before{content:"–";display:inline-block;text-indent:-1rem}ol{margin:0;padding:0 0 0 16px;line-height:var(--leading)}ol li::marker{display:inline-block;margin-right:1rem}.meta{--side: 44px;--page-margin: calc((100vw - var(--content-width)) / 2);position:absolute;right:calc(var(--content-width) + var(--side));width:calc(var(--page-margin) - var(--side) - 48px);max-width:192px;margin-bottom:8rem}.meta a.heading-link{color:var(--fg);text-decoration:none;background-image:none}.meta p{color:var(--gray11);margin:0}[data-theme=light]{.meta p{color:var(--gray9)}}@media(max-width:1100px){.meta{position:static;width:unset;left:unset;right:unset;max-width:unset}}.page-pubdate{font-size:12px;opacity:.5;margin-top:5rem;transition:opacity 1s ease-in-out;display:none}.page-pubdate:hover{opacity:1}sup{position:relative;font-size:12px;font-family:var(--font-display);font-style:normal;font-weight:500;top:-3px;line-height:0;color:var(--gray11)}sup a{color:var(--gray11);text-decoration:none;transition:color .3s ease;background-image:none}sup a:hover{color:var(--fg)}.footnotes{list-style:none;padding:28px 0 0;margin:0;position:static;width:unset;left:unset;right:unset;max-width:unset;border-top:solid 1px var(--border-color);margin-top:var(--spacer-y);opacity:0;counter-reset:item 0;animation-duration:1s;animation-name:fadein;animation-fill-mode:forwards;animation-delay:.5s;animation-iteration-count:1}@keyframes fadein{0%{opacity:0}to{opacity:1}}.footnotes li{font-size:14px;line-height:22px;color:var(--mono9);padding-bottom:28px;opacity:.5;padding-left:16px;position:relative;transition:opacity .3s ease}.footnotes li:hover{opacity:1}.footnotes li:before{content:counter(item) ". ";counter-increment:item 1;position:absolute;vertical-align:super;font-size:inherit;font-weight:700;font-size:smaller;transform:translate(-12px)}.footnotes li p{margin:0;padding:0;font-size:14px;line-height:22px;color:var(--mono9);display:inline}.footnotes li a.footnote-anchor{margin-left:6px;display:inline-block;background-image:none}.footnotes-js{--side: 64px;--page-margin: calc((100vw - var(--content-width)) / 2);position:absolute!important;top:0!important;left:calc(var(--content-width) + var(--side))!important;width:calc(var(--page-margin) - var(--side) - 48px)!important;max-width:192px!important}.footnotes-js li{position:absolute!important}.footnotes-js li a.footnote-anchor{display:none!important}a{color:var(--link);text-decoration:none;background-image:linear-gradient(var(--link),var(--link));background-position:0% 100%;background-repeat:no-repeat;background-size:100% 1px;transition:background-size .3s}a:hover{color:var(--fg);background-size:0% 1px}.underline,.footnote-anchor{color:var(--link);text-decoration:none;background-image:linear-gradient(var(--link),var(--link));background-position:0% 100%;background-repeat:no-repeat;background-size:100% 1px;transition:background-size .3s}.underline:hover,.footnote-anchor:hover{color:var(--fg);background-size:0% 1px}.post{--link: var(--blue)}.heading-link{color:var(--fg);background-image:none;text-shadow:none}.post .heading-link{background-image:linear-gradient(var(--fg),var(--fg));background-size:0% 1px}.post .heading-link:hover{background-size:100% 1px}table{width:100%;border-collapse:collapse;margin-bottom:2rem}td,th{padding:.75rem}td{border:solid 1px var(--gray5);font-size:.9rem;line-height:1.5em}[data-theme=light]{td{border:solid 1px var(--gray12)}}.index-links ul{display:grid;grid-template-columns:50% 50%;grid-template-rows:auto;grid-column-gap:1em;margin-bottom:0}.index-links ul li:nth-child(2){grid-column:1;grid-row:2}.index-links ul li:nth-child(3){grid-row:3;grid-column:1}.company-list ul{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto;grid-column-gap:1em}@media(max-width:768px){.company-list ul{display:block}}.writing-list ul li{display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:.3rem}.writing-list ul li.is-current:before{content:"▶︎";font-size:.8rem}.writing-list ul li hr{height:1px;width:100%;border-bottom:solid 1px var(--bg);transform:translateY(3px)}.writing-list ul li a{text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;height:auto;line-height:normal}.writing-list ul li em{color:var(--accent-blue);font-size:.9rem;font-family:var(--font-display);font-feature-settings:normal}.photo-layout{padding-top:0;max-width:100dvw;margin:0 auto}.photo-layout .meta{position:static;width:unset;left:unset;right:unset;max-width:unset;padding-top:4rem}.photo-layout .nve-settings-container{right:1rem!important}.photo-layout-header,.photo-layout-footer{margin:0 auto;max-width:800px;position:relative;padding:0 1rem}.photo-layout .photo-outer-container{background:var(--photo-bg);max-width:1200px;max-height:calc(100dvh - 2rem);height:auto;width:auto;margin:0 auto;overflow:hidden}.photo-layout .photo-outer-container.portrait{height:calc(100dvh - 2rem)}.photo-layout .photo-outer-container.portrait img{padding:1rem}@media screen and (max-width:768px)and (orientation:portrait){.photo-layout .photo-outer-container{height:auto!important;width:auto!important}}@media screen and (max-width:1024px)and (orientation:landscape){.photo-layout .photo-outer-container{max-height:none!important;height:auto!important;width:auto!important}}.photo-layout .photo-inner-container{display:flex;align-items:center;justify-content:center;height:100%;width:100%}.photo-layout .photo-inner-container img{max-width:100%;max-height:100%;height:auto;width:auto;margin:0 auto}.photo-layout .photo-description{max-width:800px;padding:2rem 1rem;margin:0 auto}.photo-link{margin-bottom:4rem;display:block;text-decoration:none;background-image:none}.photo-link figcaption{font-style:italic}nve-toc:not(:defined)>*{display:none}nve-toc{--side: 44px;--page-margin: calc((100vw - var(--content-width)) / 2);position:fixed;top:100px;right:calc(var(--page-margin) + var(--content-width) + var(--side) + 20px);width:calc(var(--page-margin) - var(--side) - 48px);max-width:192px}.nve-toc-container{display:none}.nve-toc-container h5{opacity:1}.nve-toc-container li{font-size:.85rem;line-height:1.5;margin:.5rem 0}.nve-toc-container li a.active{color:var(--fg)}@media(max-width:1100px){nve-toc{display:none}}.astro-code{padding:1rem;background-color:var(--code-bg)!important;font-family:var(--font-mono)!important}.astro-code .line{line-height:1.2rem}[data-theme=dark]{.astro-code,.astro-code span{color:var(--shiki-dark)!important;background-color:var(--code-bg)!important}}.nve-theme-switch::part(label){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}[data-theme=light] .nve-theme-switch::part(thumb):before{content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1em' height='1em' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='%23000' stroke-linecap='round' stroke-width='2'%3E%3Ccircle cx='12' cy='32' r='5'%3E%3Canimate fill='freeze' attributeName='cy' dur='0.6s' values='32;12'/%3E%3C/circle%3E%3Cg stroke-dasharray='2' stroke-dashoffset='2'%3E%3Cpath d='M0 0'%3E%3Canimate fill='freeze' attributeName='d' begin='0.7s' dur='0.2s' values='M12 19v1M19 12h1M12 5v-1M5 12h-1;M12 21v1M21 12h1M12 3v-1M3 12h-1'/%3E%3Canimate fill='freeze' attributeName='stroke-dashoffset' begin='0.7s' dur='0.2s' values='2;0'/%3E%3C/path%3E%3Cpath d='M0 0'%3E%3Canimate fill='freeze' attributeName='d' begin='0.9s' dur='0.2s' values='M17 17l0.5 0.5M17 7l0.5 -0.5M7 7l-0.5 -0.5M7 17l-0.5 0.5;M18.5 18.5l0.5 0.5M18.5 5.5l0.5 -0.5M5.5 5.5l-0.5 -0.5M5.5 18.5l-0.5 0.5'/%3E%3Canimate fill='freeze' attributeName='stroke-dashoffset' begin='0.9s' dur='0.2s' values='2;0'/%3E%3C/path%3E%3CanimateTransform attributeName='transform' dur='30s' repeatCount='indefinite' type='rotate' values='0 12 12;360 12 12'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");transform:translate(2px,2px);position:absolute;top:0;left:0}[data-theme=dark] .nve-theme-switch::part(thumb):before{content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1em' height='1em' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cg stroke-dasharray='2'%3E%3Cpath d='M12 21v1M21 12h1M12 3v-1M3 12h-1'%3E%3Canimate fill='freeze' attributeName='stroke-dashoffset' dur='0.2s' values='4;2'/%3E%3C/path%3E%3Cpath d='M18.5 18.5l0.5 0.5M18.5 5.5l0.5 -0.5M5.5 5.5l-0.5 -0.5M5.5 18.5l-0.5 0.5'%3E%3Canimate fill='freeze' attributeName='stroke-dashoffset' begin='0.2s' dur='0.2s' values='4;2'/%3E%3C/path%3E%3C/g%3E%3Cpath fill='white' d='M7 6 C7 12.08 11.92 17 18 17 C18.53 17 19.05 16.96 19.56 16.89 C17.95 19.36 15.17 21 12 21 C7.03 21 3 16.97 3 12 C3 8.83 4.64 6.05 7.11 4.44 C7.04 4.95 7 5.47 7 6 Z' opacity='0'%3E%3Cset attributeName='opacity' begin='0.5s' to='1'/%3E%3C/path%3E%3C/g%3E%3Cg fill='white' fill-opacity='0'%3E%3Cpath d='m15.22 6.03l2.53-1.94L14.56 4L13.5 1l-1.06 3l-3.19.09l2.53 1.94l-.91 3.06l2.63-1.81l2.63 1.81z'%3E%3Canimate id='lineMdSunnyFilledLoopToMoonFilledLoopTransition0' fill='freeze' attributeName='fill-opacity' begin='0.6s;lineMdSunnyFilledLoopToMoonFilledLoopTransition0.begin+6s' dur='0.4s' values='0;1'/%3E%3Canimate fill='freeze' attributeName='fill-opacity' begin='lineMdSunnyFilledLoopToMoonFilledLoopTransition0.begin+2.2s' dur='0.4s' values='1;0'/%3E%3C/path%3E%3Cpath d='M13.61 5.25L15.25 4l-2.06-.05L12.5 2l-.69 1.95L9.75 4l1.64 1.25l-.59 1.98l1.7-1.17l1.7 1.17z'%3E%3Canimate fill='freeze' attributeName='fill-opacity' begin='lineMdSunnyFilledLoopToMoonFilledLoopTransition0.begin+3s' dur='0.4s' values='0;1'/%3E%3Canimate fill='freeze' attributeName='fill-opacity' begin='lineMdSunnyFilledLoopToMoonFilledLoopTransition0.begin+5.2s' dur='0.4s' values='1;0'/%3E%3C/path%3E%3Cpath d='M19.61 12.25L21.25 11l-2.06-.05L18.5 9l-.69 1.95l-2.06.05l1.64 1.25l-.59 1.98l1.7-1.17l1.7 1.17z'%3E%3Canimate fill='freeze' attributeName='fill-opacity' begin='lineMdSunnyFilledLoopToMoonFilledLoopTransition0.begin+0.4s' dur='0.4s' values='0;1'/%3E%3Canimate fill='freeze' attributeName='fill-opacity' begin='lineMdSunnyFilledLoopToMoonFilledLoopTransition0.begin+2.8s' dur='0.4s' values='1;0'/%3E%3C/path%3E%3Cpath d='m20.828 9.731l1.876-1.439l-2.366-.067L19.552 6l-.786 2.225l-2.366.067l1.876 1.439L17.601 12l1.951-1.342L21.503 12z'%3E%3Canimate fill='freeze' attributeName='fill-opacity' begin='lineMdSunnyFilledLoopToMoonFilledLoopTransition0.begin+3.4s' dur='0.4s' values='0;1'/%3E%3Canimate fill='freeze' attributeName='fill-opacity' begin='lineMdSunnyFilledLoopToMoonFilledLoopTransition0.begin+5.6s' dur='0.4s' values='1;0'/%3E%3C/path%3E%3C/g%3E%3Cmask id='lineMdSunnyFilledLoopToMoonFilledLoopTransition1'%3E%3Ccircle cx='12' cy='12' r='12' fill='%23fff'/%3E%3Ccircle cx='22' cy='2' r='3' fill='%23fff'%3E%3Canimate fill='freeze' attributeName='cx' begin='0.1s' dur='0.4s' values='22;18'/%3E%3Canimate fill='freeze' attributeName='cy' begin='0.1s' dur='0.4s' values='2;6'/%3E%3Canimate fill='freeze' attributeName='r' begin='0.1s' dur='0.4s' values='3;12'/%3E%3C/circle%3E%3Ccircle cx='22' cy='2' r='1'%3E%3Canimate fill='freeze' attributeName='cx' begin='0.1s' dur='0.4s' values='22;18'/%3E%3Canimate fill='freeze' attributeName='cy' begin='0.1s' dur='0.4s' values='2;6'/%3E%3Canimate fill='freeze' attributeName='r' begin='0.1s' dur='0.4s' values='1;10'/%3E%3C/circle%3E%3C/mask%3E%3Ccircle cx='12' cy='12' r='6' fill='white' mask='url(%23lineMdSunnyFilledLoopToMoonFilledLoopTransition1)'%3E%3Cset attributeName='opacity' begin='0.5s' to='0'/%3E%3Canimate fill='freeze' attributeName='r' begin='0.1s' dur='0.4s' values='6;10'/%3E%3C/circle%3E%3C/svg%3E");transform:translate(2px,2px);position:absolute;top:0;left:0}[data-theme=dark] .nve-theme-switch::part(thumb){border-color:var(--sl-color-neutral-400)}[data-theme=dark] .nve-theme-switch::part(control){background-color:var(--sl-color-neutral-400);border-color:var(--sl-color-neutral-400)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}:not(:defined){visibility:hidden}.nve-settings-container[data-astro-cid-x3pjskd3]{display:flex;justify-content:flex-end;padding:2rem 0;position:absolute;top:0;right:0}
