@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(*),[data-astro-transition-scope]{animation:none!important}}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}@font-face{font-family:Cascadia Mono;src:url(/fonts/cascadia-mono-400.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Barlow Condensed;src:url(/fonts/barlow-condensed-800.woff2)format("woff2");font-weight:800;font-style:normal;font-display:swap}:root{--paper:#fafaf6;--ink:#1b1a14;--ink-soft:#54524a;--faint:#8b897f;--marker:#f5e63d;--marker-ink:#1b1a14;--rule:#e3e1d6;--card:#fffffe;--gut:20px;--mono:ui-monospace,"SF Mono",Menlo,"Cascadia Mono",monospace;--cond:"Avenir Next Condensed","Barlow Condensed","Arial Narrow",sans-serif}@media (width>=700px){:root{--gut:38px}}@media (width>=1100px){:root{--gut:56px}}@media (prefers-color-scheme:dark){:root{--paper:#17160f;--ink:#edebde;--ink-soft:#b4b1a2;--faint:#807d6e;--marker:#e8d92c;--marker-ink:#17160f;--rule:#2e2c22;--card:#201f16}}:root[data-theme=dark]{--paper:#000;--ink:#edebde;--ink-soft:#b0ad9f;--faint:#78766b;--marker:#e8d92c;--marker-ink:#000;--rule:#1f1f1e;--card:#0c0c0c}:root[data-theme=light]{--paper:#fafaf6;--ink:#1b1a14;--ink-soft:#54524a;--faint:#8b897f;--marker:#f5e63d;--marker-ink:#1b1a14;--rule:#e3e1d6;--card:#fffffe}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Charter,Georgia,Times New Roman,serif;font-size:17px;line-height:1.55;overflow-x:hidden}a{color:inherit}img,video{max-width:100%}.pill{z-index:60;background:color-mix(in srgb, var(--paper) 82%, transparent);border:1px solid var(--rule);-webkit-backdrop-filter:saturate(1.4)blur(14px);width:max-content;font-family:var(--mono);letter-spacing:.18em;border-radius:999px;align-items:center;gap:14px;max-width:calc(100vw - 24px);margin-inline:auto;padding:8px 16px;font-size:9.5px;transition:transform .28s cubic-bezier(.4,0,.2,1),box-shadow .28s;display:flex;position:fixed;top:12px;left:0;right:0;box-shadow:0 6px 24px #00000017}.pill a{color:var(--ink-soft);white-space:nowrap;text-decoration:none}.pill a:hover{color:var(--ink)}.pill a.on{color:var(--ink);border-bottom:2px solid var(--marker);padding-bottom:1px}.pill a:focus-visible{outline:2px solid var(--marker);outline-offset:3px;border-radius:2px}.pill .home{flex:none;align-items:center;display:flex}.pill .glyph{flex:none;width:17px;display:block}.pill .sep{background:var(--rule);flex:none;width:1px;height:15px}@media (width>=700px){.pill{gap:20px;padding:10px 22px;font-size:10px;top:16px}.pill .glyph{width:20px}.pill:hover{transform:scale(1.055);box-shadow:0 10px 30px #00000021}}@media (prefers-reduced-motion:reduce){.pill:hover{transform:none}}.s-highlight{background:var(--marker);color:var(--marker-ink);box-decoration-break:clone;padding:0 .1em}.s-italic{font-style:italic}.s-bold{font-family:var(--cond);text-transform:uppercase;letter-spacing:.005em;font-weight:800}.s-mono{font-family:var(--mono);letter-spacing:-.03em;font-size:.74em}@view-transition{navigation:auto}::view-transition-old(page){animation:.3s cubic-bezier(.4,0,.2,1) both pg-out}::view-transition-new(page){animation:.38s cubic-bezier(.4,0,.2,1) 60ms both pg-in}@keyframes pg-out{to{opacity:0;transform:translateY(-50px)}}@keyframes pg-in{0%{opacity:0;transform:translateY(40px)}}::view-transition-old(root),::view-transition-new(root){animation:none}.pagebody{view-transition-name:page}@media (prefers-reduced-motion:reduce){::view-transition-old(page),::view-transition-new(page){animation:none}*{scroll-behavior:auto!important}}
