:root{color-scheme:light dark;--paper:#f0f1ee;--paper-2:#e8eae5;--ink:#15191d;--ink-2:#4a535b;--ink-3:#5d666e;--rule:#d2d6ce;--accent:#3a2e86;--accent-wash:#3a2e860e;--step--1:clamp(.78rem, .755rem + .11vw, .82rem);--step-0:clamp(1.0625rem, 1.03rem + .15vw, 1.125rem);--step-1:clamp(1.2rem, 1.14rem + .25vw, 1.35rem);--step-2:clamp(1.45rem, 1.3rem + .6vw, 1.8rem);--step-3:clamp(2rem, 1.6rem + 1.8vw, 3rem);--measure:40rem}@media (prefers-color-scheme:dark){:root{--paper:#131619;--paper-2:#191d21;--ink:#e5e7e3;--ink-2:#99a1a9;--ink-3:#868f97;--rule:#2a2f35;--accent:#aea5ff;--accent-wash:#aea5ff13}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-prose);font-size:var(--step-0);font-synthesis-weight:none;-webkit-font-smoothing:antialiased;margin:0;line-height:1.7}::selection{background:var(--accent-wash);color:var(--ink)}a{color:var(--accent);text-underline-offset:.22em;text-decoration-line:underline;text-decoration-thickness:1px;text-decoration-color:color-mix(in srgb, var(--accent) 35%, transparent);transition:text-decoration-color .12s}a:hover{text-decoration-color:currentColor}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:1px}.shell{max-width:var(--measure);margin:0 auto;padding:0 16px}.masthead{border-bottom:1px solid var(--rule);font-family:var(--font-display);justify-content:space-between;align-items:baseline;gap:1rem;padding:1.5rem 0 1rem;display:flex}.masthead a{color:var(--ink);text-decoration:none}.masthead .name{font-weight:700;font-size:var(--step-1)}.masthead nav{font-size:var(--step--1);gap:1.25rem;display:flex}.masthead nav a{color:var(--ink-2)}.masthead nav a:hover{color:var(--accent)}main{padding:2.5rem 0 3rem}.site-foot{border-top:1px solid var(--rule);color:var(--ink-3);font-size:var(--step--1);font-family:var(--font-mono);padding:1.5rem 0 3rem}h1,h2,h3{font-family:var(--font-display);color:var(--ink);font-weight:650;line-height:1.15}h1{font-size:var(--step-3);letter-spacing:-.01em;margin:0 0 .75rem}h2{font-size:var(--step-2);margin:2.5rem 0 .75rem}h3{font-size:var(--step-1);margin:2rem 0 .5rem}.prose p,.prose ul,.prose ol,.prose blockquote,.prose pre,.prose table,.prose figure{margin:0 0 1.25rem}.prose ul,.prose ol{padding-left:1.4rem}.prose li+li{margin-top:.35rem}.prose blockquote{border-left:3px solid var(--rule);color:var(--ink-2);padding:.25rem 0 .25rem 1rem}.prose img{max-width:100%;height:auto}.prose table{border-collapse:collapse;width:100%;font-size:var(--step--1);font-family:var(--font-mono)}.prose th,.prose td{border-bottom:1px solid var(--rule);text-align:left;padding:.4rem .6rem}.prose hr{border:0;border-top:1px solid var(--rule);margin:2.5rem 0}code,pre{font-family:var(--font-mono);font-size:.86em}:not(pre)>code{background:var(--paper-2);border-radius:3px;padding:.1em .3em}pre.astro-code{border:1px solid var(--rule);border-radius:6px;padding:1rem 1.1rem;line-height:1.55;overflow-x:auto}.astro-code,.astro-code span{color:var(--shiki-light);background-color:var(--paper-2)}.astro-code span{background-color:#0000}@media (prefers-color-scheme:dark){.astro-code,.astro-code span{color:var(--shiki-dark)}}figure.vectree{--wide:min(64rem, 100vw - 32px);width:var(--wide);margin:2rem calc((100% - var(--wide)) / 2)}figure.vectree iframe{aspect-ratio:800/620;background:#0a1628;border:0;border-radius:12px;width:100%;display:block}.meta{color:var(--ink-3);font-family:var(--font-mono);font-size:var(--step--1);margin-bottom:2rem}.lede{color:var(--ink-2);font-size:var(--step-1);margin:0 0 1.5rem;line-height:1.5}.post-foot{border-top:1px solid var(--rule);font-size:var(--step--1);color:var(--ink-2);margin-top:3rem;padding-top:1.5rem}.post-foot p{margin:0 0 .6rem}.series-nav{font-family:var(--font-display);justify-content:space-between;gap:1rem;margin-bottom:1.25rem;display:flex}.post-list{margin:0;padding:0;list-style:none}.post-list li{border-bottom:1px solid var(--rule);border-radius:6px;margin:0 -1rem;padding:1.75rem 1rem;position:relative}.post-list li:hover{background:var(--accent-wash)}.post-list h2 a:after{content:"";position:absolute;inset:0}.post-list h2{font-size:var(--step-1);margin:0 0 .35rem}.post-list h2 a{color:var(--ink);text-decoration:none}.post-list li:hover h2 a,.post-list h2 a:hover{color:var(--accent)}.post-list p{color:var(--ink-2);margin:0}.post-list p.meta{margin-bottom:.4rem}.post-list p.read{color:var(--accent);font-size:var(--step--1);margin-top:.75rem}@media (prefers-reduced-motion:reduce){*{transition:none!important}}
