:root{--bg: #f7f3f4;--surface: #eee8ea;--ink: #1c1719;--muted: #6d6468;--line: #e4dcdf;--pink: #c8285f;--pink-soft: #f6d3df;--serif: "Newsreader", "Iowan Old Style", "Palatino Linotype", Georgia, serif;--mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--measure: 40rem;--wide: 76rem;--gutter: clamp(1rem, 4vw, 2.5rem);color-scheme:light}:root[data-theme=dark]{--bg: #1c1c1c;--surface: #262626;--ink: #dadada;--muted: #a0a0a0;--line: #363636;--pink: #f28db0;--pink-soft: #4d2a3a;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}@media(min-width:1100px){html{font-size:106.25%}}@media(min-width:1500px){html{font-size:112.5%}}@media(min-width:1760px){html{font-size:118.75%}}@media(min-width:2200px){html{font-size:125%}}body{display:flex;flex-direction:column;min-height:100dvh;margin:0;background:var(--bg);color:var(--ink);font-family:var(--serif);font-size:1.25rem;line-height:1.65;font-optical-sizing:auto;-webkit-font-smoothing:antialiased;overflow-wrap:break-word}main{flex:1}h1,h2,h3,h4,h5,h6{font-weight:500;line-height:1.2;text-wrap:balance}a{color:inherit;text-decoration-color:var(--pink);text-decoration-thickness:1px;text-underline-offset:.2em;transition:color .15s}a:hover{color:var(--pink)}:focus-visible{outline:2px solid var(--pink);outline-offset:3px}::selection{background:var(--pink-soft);color:var(--ink)}img,video{max-width:100%;height:auto}.wrap{width:100%;max-width:var(--wide);margin-inline:auto;padding-inline:var(--gutter)}.mono{font-family:var(--mono);font-size:.8125rem;line-height:1.6;letter-spacing:.02em}.label{margin:0;font-family:var(--mono);font-size:.8125rem;color:var(--muted)}.dot{color:var(--pink)}.page-head{max-width:var(--measure);padding-block:clamp(2rem,6vw,4.5rem) 2rem}.page-head h1{margin:.4rem 0 0;font-size:clamp(2.25rem,6vw,3.5rem);font-weight:400;letter-spacing:-.02em;line-height:1.05}.page-head p:not(.label){margin:1rem 0 0;color:var(--muted);font-style:italic}.sr-only{position:absolute!important;width:1px;height:1px;margin:0;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.prose{max-width:var(--measure)}.prose>:first-child{margin-top:0}.prose p{text-wrap:pretty}.prose p,.prose ul,.prose ol,.prose blockquote,.prose pre,.prose table,.prose figure{margin:0 0 1.25em}.prose h1{margin:2em 0 .6em;font-size:2em}.prose h2{margin:2.2em 0 .6em;font-size:1.6em;letter-spacing:-.01em}.prose h3{margin:1.8em 0 .5em;font-size:1.25em;font-weight:600}.prose h4,.prose h5,.prose h6{margin:1.5em 0 .4em;font-size:1em;font-weight:600}.prose ul,.prose ol{padding-left:1.25em}.prose li+li{margin-top:.3em}.prose li::marker{color:var(--pink)}.prose blockquote{margin-left:0;padding-left:1.25em;border-left:2px solid var(--pink);font-style:italic}.prose blockquote p:last-child{margin-bottom:0}.prose code{padding:.1em .35em;background:var(--surface);border-radius:3px;font-family:var(--mono);font-size:.8em}.prose pre{padding:1rem 1.25rem;overflow-x:auto;border:1px solid var(--line);border-radius:4px;font-size:.8rem;line-height:1.65;tab-size:4}.prose pre code{padding:0;background:none;font-size:inherit}.astro-code{background-color:var(--surface)!important}:root[data-theme=dark] .astro-code span{color:var(--shiki-dark)!important;font-style:var(--shiki-dark-font-style)!important;font-weight:var(--shiki-dark-font-weight)!important}.prose .katex{font-size:1.05em}.prose .katex-display{margin:1.5em 0;padding-block:.25em;overflow-x:auto;overflow-y:hidden}.prose figure{margin:2em 0}.prose figcaption.label{margin-top:.4rem;text-align:right}.prose details{margin:0;border-top:1px solid var(--line)}.prose details:last-of-type{margin-bottom:1.25em;border-bottom:1px solid var(--line)}.prose summary{padding-block:.6rem;cursor:pointer}.prose summary::marker{color:var(--pink)}.prose details pre{margin-top:.25rem}.prose img{display:block;margin:2em auto;border-radius:2px}.prose hr{margin:2.5em 0;border:0;text-align:center}.prose hr:after{content:"· · ·";color:var(--pink);letter-spacing:.5em}.prose table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;font-size:.875em}.prose th,.prose td{padding:.5em .9em;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.prose th{font-family:var(--mono);font-size:.75rem;font-weight:500;color:var(--muted)}.prose mark{padding:0 .15em;background:var(--pink-soft);color:inherit}.prose kbd{padding:.05em .4em;border:1px solid var(--line);border-bottom-width:2px;border-radius:3px;font-family:var(--mono);font-size:.75em}.prose sup,.prose sub{line-height:0}.prose .footnotes{margin-top:3em;padding-top:1em;border-top:1px solid var(--line);font-size:.875em;color:var(--muted)}.post .prose>p:last-child:after,.post .prose>p:has(+.footnotes):after{content:" ∎";color:var(--pink)}@media(max-width:640px){body{font-size:1.125rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}a[data-astro-cid-eimmu3lg]{padding-block:.25rem;color:var(--muted);text-decoration:none}a[data-astro-cid-eimmu3lg]:hover{color:var(--pink)}a[data-astro-cid-eimmu3lg].active{color:var(--ink);text-decoration:underline;text-decoration-color:var(--pink);text-underline-offset:.45em}header[data-astro-cid-3ef6ksr2]{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.75rem 1.5rem;padding-block:1.5rem}.wordmark[data-astro-cid-3ef6ksr2]{font-size:1.375rem;font-weight:500;letter-spacing:-.01em;text-decoration:none}.wordmark[data-astro-cid-3ef6ksr2]:hover{color:inherit}nav[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:1.25rem}.theme-toggle[data-astro-cid-3ef6ksr2]{display:grid;place-items:center;width:2rem;height:2rem;margin:-.5rem -.5rem -.5rem 0;padding:0;border:0;background:none;color:var(--muted);cursor:pointer;transition:color .15s,transform .3s}.theme-toggle[data-astro-cid-3ef6ksr2]:hover{color:var(--pink);transform:rotate(180deg)}@media(max-width:400px){nav[data-astro-cid-3ef6ksr2]{gap:1rem}}footer[data-astro-cid-sz7xmlte]{margin-top:5rem;color:var(--muted)}.inner[data-astro-cid-sz7xmlte]{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 2rem;padding-block:2rem 2.5rem;border-top:1px solid var(--line)}.links[data-astro-cid-sz7xmlte]{display:flex;gap:1.25rem}a[data-astro-cid-sz7xmlte]{text-decoration:none}@media(max-width:640px){.inner[data-astro-cid-sz7xmlte]{flex-direction:column}}
