:root{--flexoki-black: #100f0f;--flexoki-paper: #fffcf0;--flexoki-50: #f2f0e5;--flexoki-100: #e6e4d9;--flexoki-150: #dad8ce;--flexoki-200: #cecdc3;--flexoki-300: #b7b5ac;--flexoki-400: #9f9d96;--flexoki-500: #878580;--flexoki-600: #6f6e69;--flexoki-700: #575653;--flexoki-800: #403e3c;--flexoki-850: #343331;--flexoki-900: #282726;--flexoki-950: #1c1b1a;--flexoki-cyan-400: #3aa99f;--flexoki-cyan-600: #24837b;--flexoki-orange-400: #da702c;--flexoki-orange-600: #bc5215;--font-content: -apple-system, BlinkMacSystemFont, "Inter", "IBM Plex Sans", "Segoe UI", Helvetica, Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, "Cascadia Code", "IBM Plex Mono", Menlo, Monaco, Consolas, "Source Code Pro", monospace;--wrap-normal: 37rem;--wrap-wide: 54rem;--line-height: 1.5;--heading-weight: 500;--border-radius: 4px;--font-small: .875em;--font-smaller: .8em;--tracking-heading: -.015em;--color-bg: var(--flexoki-paper);--color-bg-secondary: var(--flexoki-50);--color-text: var(--flexoki-black);--color-text-muted: var(--flexoki-600);--color-text-faint: var(--flexoki-400);--color-border: var(--flexoki-150);--color-link: var(--flexoki-cyan-600);--color-link-hover: var(--flexoki-orange-600);--color-code-bg: var(--flexoki-50)}.theme-dark{--color-bg: var(--flexoki-black);--color-bg-secondary: var(--flexoki-950);--color-text: var(--flexoki-200);--color-text-muted: var(--flexoki-500);--color-text-faint: var(--flexoki-600);--color-border: var(--flexoki-900);--color-link: var(--flexoki-cyan-400);--color-link-hover: var(--flexoki-orange-400);--color-code-bg: var(--flexoki-950)}.theme-dark .astro-code,.theme-dark .astro-code span{color:var(--shiki-dark)!important;background-color:var(--color-code-bg)!important}@media(max-width:860px){:root{--wrap-normal: 88vw;--wrap-wide: 100vw;--heading-weight: 600}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;font-size:112.5%}body{margin:0;font-family:var(--font-content);line-height:var(--line-height);background-color:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;transition:background-color .2s ease,color .2s ease}.wrap{max-width:var(--wrap-normal);margin-left:auto;margin-right:auto;padding:0 1rem}nav.site-nav{display:flex;align-items:center;gap:1em;max-width:var(--wrap-normal);margin:0 auto;padding:1.25rem 1rem;font-size:var(--font-small)}nav.site-nav .site-name{flex-grow:1}nav.site-nav a{color:var(--color-text);text-decoration:none}nav.site-nav a.muted{color:var(--color-text-muted)}nav.site-nav a:hover{color:var(--color-link-hover)}.theme-toggle{position:relative;width:2.25em;height:1.25em;border-radius:1em;background-color:var(--flexoki-150);cursor:pointer;border:none;padding:0;flex-shrink:0}.theme-dark .theme-toggle{background-color:var(--flexoki-800)}.theme-toggle-knob{position:absolute;top:.125em;left:.125em;width:1em;height:1em;border-radius:50%;background-color:var(--color-bg);transition:transform .15s ease}.theme-dark .theme-toggle-knob{transform:translate(1em)}h1,h2,h3,h4{font-weight:var(--heading-weight);line-height:1.25;letter-spacing:var(--tracking-heading);margin:1.5em 0 .5em}h1{font-size:1.6em;margin-top:.5em}h2{font-size:1.3em}h3{font-size:1.1em}p,ul,ol{margin:1em 0}a{color:var(--color-link);text-decoration:none}a:hover{color:var(--color-link-hover)}a.plain{color:var(--color-text)}a.plain:hover{color:var(--color-link-hover)}.muted{color:var(--color-text-muted)}a.muted:hover{color:var(--color-link-hover)}.small{font-size:var(--font-small)}.section-label{font-size:var(--font-small);margin:1em 0 .75em}:focus-visible{outline:2px solid var(--color-link);outline-offset:2px;border-radius:2px}hr{border:none;border-top:1px solid var(--color-border);margin:2.5rem 0}blockquote{margin:1em 0;padding-left:1em;border-left:3px solid var(--color-border);color:var(--color-text-muted)}code{font-family:var(--font-mono);font-size:var(--font-small);background-color:var(--color-code-bg);padding:.15em .35em;border-radius:var(--border-radius)}pre{padding:1em;border-radius:var(--border-radius);overflow-x:auto;font-size:var(--font-small);line-height:1.6}pre code{background:none;padding:0;font-size:1em}img{max-width:100%;height:auto;border-radius:6px}table{border-collapse:collapse;width:100%;margin:1em 0;font-size:var(--font-small)}th,td{text-align:left;padding:.5em .75em;border-bottom:1px solid var(--color-border)}.metadata{color:var(--color-text-muted);font-size:var(--font-small);margin-bottom:1.5em}ul.archive{list-style:none;padding:0;margin:1em 0;font-variant-numeric:tabular-nums}ul.archive li{margin:.35em 0}ul.archive a{display:flex;align-items:baseline;gap:.75em;color:var(--color-text)}ul.archive a:hover{color:var(--color-link-hover)}ul.archive .date{color:var(--color-text-muted);font-size:var(--font-smaller);white-space:nowrap;flex-shrink:0}ul.archive u{text-decoration-color:var(--color-border);text-underline-offset:3px}ul.archive a:hover u{text-decoration-color:currentColor}.topics-cloud{line-height:2}.topics-cloud .sep{color:var(--color-text-faint)}.featured a{display:block;color:var(--color-text)}.featured h2{margin:.25em 0}.featured a:hover h2{color:var(--color-link-hover)}.wide{position:relative;width:min(var(--wrap-wide),96vw);left:50%;transform:translate(-50%);margin:2.5rem 0}footer.site-footer{max-width:var(--wrap-normal);margin:4rem auto 0;padding:2rem 1rem 3rem;border-top:1px solid var(--color-border);font-size:var(--font-small)}footer.site-footer .subscribe-form{display:flex;gap:.5em;margin:1.5em 0;flex-wrap:wrap}footer.site-footer input[type=email]{font:inherit;font-size:var(--font-small);padding:.5em .75em;border:1px solid var(--color-border);border-radius:var(--border-radius);background-color:var(--color-bg);color:var(--color-text);width:20em;max-width:100%}footer.site-footer button,footer.site-footer input[type=submit]{font:inherit;font-size:var(--font-small);padding:.5em 1em;border:none;border-radius:var(--border-radius);background-color:var(--color-text);color:var(--color-bg);cursor:pointer}.post-topics{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--color-border);font-size:var(--font-small);color:var(--color-text-muted)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
