:root{--font-display: "Inter Tight", system-ui, sans-serif;--font-ui: "Inter", system-ui, sans-serif;--font-prose: "Newsreader", Georgia, serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--t-12: .75rem;--t-14: .875rem;--t-16: 1rem;--t-20: 1.25rem;--t-25: 1.5625rem;--t-31: 1.953rem;--t-39: 2.441rem;--t-49: 3.052rem;--t-61: 3.815rem;--t-76: 4.768rem;--t-95: 5.96rem;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-6: 24px;--s-8: 32px;--s-12: 48px;--s-16: 64px;--s-24: 96px;--s-32: 128px;--measure: 64ch;--radius: 2px;--ease: cubic-bezier(.2, .6, .2, 1);--c-bg: #0c0d10;--c-surface: #14161b;--c-line: #232a36;--c-muted: #8a92a3;--c-text: #ece6d6;--c-accent: #6fb3c4;--c-accent-2:#9bd1de;--c-paper: #ece6d6;--c-paper-shadow: #3a342a;--c-ink: #2d2925;--c-film-meta: #d97706;color-scheme:dark}:root[data-theme=light]{--c-bg: #f4eedf;--c-surface: #ebe4d2;--c-line: #d4cab3;--c-muted: #786f5e;--c-text: #1a1816;--c-accent: #2b7a8c;--c-accent-2:#1f5d6c;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;padding:0}html{color-scheme:dark}body{font-family:var(--font-ui);font-feature-settings:"ss01","cv11";background:var(--c-bg);color:var(--c-text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;line-height:1.6}a{color:inherit;text-decoration:none;transition:color .2s var(--ease)}a:hover{color:var(--c-accent)}h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;letter-spacing:-.02em;line-height:1.1;margin:0}p{margin:0}::selection{background:var(--c-accent);color:var(--c-bg)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}html,body,a,.item-row,.item-title,.item-summary,.theme-toggle,.sec-name,.ident,.lede,.kicker,.meta,.now-body{transition:background-color .24s var(--ease),color .24s var(--ease),border-color .24s var(--ease)}.page{display:grid;grid-template-columns:[gutter-start] 8rem [body-start] minmax(0,44rem) [body-end];column-gap:2rem;row-gap:var(--s-8);justify-content:center;padding:var(--s-24) var(--s-8)}.row{display:contents}.row>.meta{grid-column:gutter-start / body-start}.row>.body{grid-column:body-start / body-end}.page>hr{grid-column:gutter-start / body-end;border:none;border-top:1px solid var(--c-line);margin:0}.meta{font-family:var(--font-mono);font-size:var(--t-12);color:var(--c-muted);text-transform:uppercase;letter-spacing:.12em;text-align:right;line-height:1.4;margin:0;padding:0}.row>.meta,.row>.body{align-self:start}.row.item>.meta,.row.item>.body,.row.sec-head>.meta,.row.sec-head>.body{align-self:baseline}.body{min-width:0}.italic{font-family:var(--font-prose);font-style:italic}.row-split{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s-6)}.kicker{font-family:var(--font-mono);font-size:var(--t-12);color:var(--c-muted);text-transform:uppercase;letter-spacing:.12em;line-height:1.4;margin:0 0 var(--s-6)}.kicker a{color:var(--c-accent)}.sec-name{font-family:var(--font-display);font-weight:700;font-size:var(--t-31);letter-spacing:-.02em;color:var(--c-text)}.sec-all{font-family:var(--font-mono);font-size:var(--t-12);color:var(--c-accent);text-transform:uppercase;letter-spacing:.1em}.page-title{font-family:var(--font-display);font-weight:700;font-size:var(--t-39);letter-spacing:-.02em;line-height:1.1;margin:0}.item{display:contents;color:inherit;text-decoration:none}.item-title{font-family:var(--font-prose);font-size:var(--t-25);line-height:1.3;color:var(--c-text);transition:color .2s var(--ease)}.item-title.italic{font-style:italic}.item:hover .item-title{color:var(--c-accent)}.item-summary{font-family:var(--font-prose);font-size:var(--t-14);color:var(--c-muted);line-height:1.55;margin-top:var(--s-2);max-width:60ch}.prose{font-family:var(--font-prose);font-size:var(--t-20);line-height:1.7;color:var(--c-text);counter-reset:sidenote}.prose>*+*{margin-top:var(--s-6)}.prose h2{font-family:var(--font-display);font-size:var(--t-31);font-weight:600;letter-spacing:-.02em;line-height:1.2;margin-top:var(--s-16)}.prose h3{font-family:var(--font-display);font-size:var(--t-25);font-weight:600;letter-spacing:-.02em;line-height:1.25;margin-top:var(--s-12)}.prose em{font-style:italic;color:var(--c-accent)}.prose strong{color:var(--c-text);font-weight:600}.prose a{color:var(--c-accent);border-bottom:1px solid currentColor;padding-bottom:1px}.prose code{font-family:var(--font-mono);font-size:.9em;background:var(--c-surface);padding:2px 6px;border-radius:2px}.prose pre{background:var(--c-surface);padding:var(--s-6);border-radius:4px;overflow-x:auto;border:1px solid var(--c-line)}.prose pre code{background:none;padding:0}.prose blockquote{border-left:2px solid var(--c-accent);padding-left:var(--s-6);color:var(--c-muted);font-style:italic}.prose ul,.prose ol{padding-left:1.5em}.prose li{margin-top:var(--s-3)}.prose hr{border:none;border-top:1px solid var(--c-line);margin:var(--s-12) 0}.prose img,.prose svg{max-width:100%;height:auto}.prose .citation a{color:var(--c-accent);border-bottom:1px dotted currentColor;padding-bottom:0}.prose .citation a:hover{border-bottom-style:solid}.prose #refs{margin-top:var(--s-6);font-size:var(--t-14);line-height:1.55;color:var(--c-text);counter-reset:ref}.prose #refs .csl-entry{padding:var(--s-3) 0;border-bottom:1px solid var(--c-line);text-indent:-1.5em;padding-left:1.5em}.prose #refs .csl-entry:last-child{border-bottom:none}.prose #refs .csl-entry a{color:var(--c-accent);border-bottom:none}.prose table{font-family:var(--font-ui);font-size:var(--t-14);line-height:1.5;width:100%;border-collapse:collapse;display:block;overflow-x:auto}.prose thead{border-bottom:1px solid var(--c-line)}.prose th{text-align:left;padding:var(--s-3) var(--s-4) var(--s-3) 0;font-family:var(--font-mono);font-size:var(--t-12);color:var(--c-muted);text-transform:uppercase;letter-spacing:.08em;font-weight:500}.prose td{padding:var(--s-4) var(--s-4) var(--s-4) 0;border-bottom:1px solid var(--c-line);vertical-align:top}.footer-meta{font-family:var(--font-mono);font-size:var(--t-12);color:var(--c-muted);text-transform:uppercase;letter-spacing:.1em}.footer-meta a{color:var(--c-muted)}.footer-meta a:hover{color:var(--c-accent)}@media(max-width:720px){.page{grid-template-columns:minmax(0,1fr);padding:var(--s-12) var(--s-6);row-gap:var(--s-6)}.row>.meta,.row>.body{grid-column:1}.meta{text-align:left;padding-top:0}.row-split{flex-direction:column;align-items:flex-start;gap:var(--s-2)}}:root[data-theme=dark] .astro-code,:root[data-theme=dark] .astro-code span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important}:root[data-theme=light] .astro-code,:root[data-theme=light] .astro-code span{color:var(--shiki-light)!important;background-color:var(--shiki-light-bg)!important}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}.theme-toggle[data-astro-cid-x3pjskd3]{position:fixed;bottom:var(--s-6);right:var(--s-8);z-index:100;background:var(--c-bg);border:1px solid var(--c-line);border-radius:999px;width:36px;height:36px;padding:0;cursor:pointer;color:var(--c-muted);display:inline-grid;place-items:center;transition:color .2s var(--ease),border-color .2s var(--ease),background-color .2s var(--ease)}.theme-toggle[data-astro-cid-x3pjskd3]:hover{color:var(--c-accent);border-color:var(--c-accent)}.theme-toggle[data-astro-cid-x3pjskd3]:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px}.ti[data-astro-cid-x3pjskd3]{width:16px;height:16px;display:none}:root[data-theme-pref=auto] .ti-auto[data-astro-cid-x3pjskd3]{display:block}:root[data-theme-pref=light] .ti-light[data-astro-cid-x3pjskd3]{display:block}:root[data-theme-pref=dark] .ti-dark[data-astro-cid-x3pjskd3]{display:block}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media(prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}
