:root{--color-base:#191724;--color-surface:#1f1d2e;--color-overlay:#26233a;--color-muted:#6e6a86;--color-subtle:#908caa;--color-text:#e0def4;--color-love:#eb6f92;--color-gold:#f6c177;--color-rose:#ebbcba;--color-pine:#31748f;--color-foam:#9ccfd8;--color-iris:#c4a7e7;--color-highlight-low:#21202e;--color-highlight-med:#403d52;--color-highlight-high:#524f67}html{color-scheme:dark;scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@font-face{font-family:jetbrains mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/JetBrainsMono-Regular.woff2)format("woff2")}@font-face{font-family:jetbrains mono;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/JetBrainsMono-Italic.woff2)format("woff2")}@font-face{font-family:jetbrains mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/JetBrainsMono-Bold.woff2)format("woff2")}@font-face{font-family:jetbrains mono;font-style:italic;font-weight:700;font-display:swap;src:url(/fonts/JetBrainsMono-BoldItalic.woff2)format("woff2")}:root{--content-pad:clamp(1rem, 3vw, 4rem)}*{margin:0;padding:0;box-sizing:border-box}h1,h2,h3,h4,h5,h6{font-style:italic;color:var(--color-iris)}body{background:var(--color-base);color:var(--color-text);font-family:jetbrains mono,ui-monospace,monospace;font-size:clamp(1.05rem,.85rem + .7vw,1.2rem);line-height:clamp(1.5,1.45 + .1vw,1.6);font-feature-settings:"zero" 1,"ss19" 1;font-variant-ligatures:common-ligatures;min-height:calc(100vh + 1px);display:flex;flex-direction:column}.container{width:100%;max-width:68rem;margin:0 auto;padding:clamp(2rem,2vw,3rem)var(--content-pad)clamp(2rem,4vw,4rem);flex:1}.container p+p{margin-top:1rem}img{max-width:100%;height:auto;display:block;margin:0 auto;border-radius:12px;border:1px solid var(--color-highlight-med)}.container .highlight{margin:1.5rem 0;border-radius:12px;border:1px solid var(--color-highlight-med);overflow-x:auto;background:var(--color-surface)}.container .chroma{padding:1rem 1.25rem;font-size:1.1rem;tab-size:4;line-height:1.6;color:var(--color-text);font-family:jetbrains mono,ui-monospace,monospace;font-feature-settings:"zero" 1,"ss19" 1;font-variant-ligatures:common-ligatures}.chroma code{font-family:inherit}.chroma .c,.chroma .c1,.chroma .cm,.chroma .cs,.chroma .cp{color:var(--color-subtle);font-style:italic}.chroma .k,.chroma .kd,.chroma .kn,.chroma .kr,.chroma .kc{color:var(--color-pine)}.chroma .kt{color:var(--color-foam);font-style:normal}.chroma .s,.chroma .s1,.chroma .s2,.chroma .sb,.chroma .sr,.chroma .sc,.chroma .sd{color:var(--color-gold)}.chroma .o,.chroma .ow,.chroma .p,.chroma .se{color:var(--color-subtle)}.chroma .n,.chroma .na{color:var(--color-foam);font-style:italic}.chroma .nx{color:var(--color-text)}.chroma .nf,.chroma .nk{color:var(--color-rose);font-style:normal}.chroma .nb{color:var(--color-rose);font-weight:700;font-style:normal}.chroma .m,.chroma .mi,.chroma .mf,.chroma .mh,.chroma .mo{color:var(--color-gold)}.chroma .kc{color:var(--color-gold)}.chroma .err,.chroma .gr{color:var(--color-love)}.page-title{font-size:clamp(1.75rem,4vw,2.5rem);letter-spacing:-.01em;margin-bottom:.5rem}.back{display:inline-block;color:var(--color-muted);font-size:.95rem;text-decoration:none;margin-bottom:1rem;transition:color .2s ease}.back:hover,.back:focus-visible{color:var(--color-gold);outline:none}.meta{color:var(--color-muted);font-size:.95rem}.page-body{margin-top:1.5rem}.tags{display:flex;flex-wrap:wrap;gap:.5em;margin-top:1rem}.tag{font-size:.8rem;font-style:italic;color:var(--color-love);background:var(--color-highlight-med);border-radius:999px;padding:.15em .6em}:not(pre)>code{font-family:jetbrains mono,ui-monospace,monospace;font-size:.9em;line-height:1;font-style:italic;color:var(--color-gold);background:var(--color-highlight-low);border-radius:6px;padding:.04em .25em}.container table{width:100%;border-collapse:collapse;font-size:1rem;margin:1.5rem 0}.container th{height:2.75rem;padding:0 1rem;text-align:left;vertical-align:middle;font-weight:700;color:var(--color-iris);border-bottom:1px solid var(--color-highlight-med)}.container td{padding:.75rem 1rem;vertical-align:middle;border-bottom:1px solid var(--color-highlight-low)}.container tbody tr:last-child td{border-bottom:none}.container tr:last-child{border-top:1px solid var(--color-highlight-med);background:var(--color-highlight-low);font-weight:700}.container tr:last-child td:last-child{color:var(--color-love)}.container th:last-child,.container td:last-child{text-align:right}.page-body p+p{margin-top:1rem}.container ul,.container ol{padding-left:1.5rem;margin-top:1rem;margin-bottom:1rem}.container li{padding-left:.25rem}.container li+li{margin-top:.35rem}.container li p{margin:0}.container blockquote{margin:1.5rem 0;padding:1rem 1.25rem;border-left:3px solid var(--color-love);background:var(--color-overlay)}.container blockquote::before{content:"Note:";display:block;font-weight:700;font-style:italic;color:var(--color-love);margin-bottom:.35rem}.site-footer{position:sticky;bottom:0;z-index:100;width:100%;max-width:68rem;margin:0 auto;padding:1rem var(--content-pad);background-color:var(--color-base)}.footer-inner{max-width:64rem;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;border-top:3px dashed var(--color-highlight-med);padding-top:.75rem}.footer-nav{display:flex;flex-wrap:wrap;gap:1.5rem}.hyperlink{position:relative;display:inline-block;font-style:italic;font-weight:700;color:var(--color-foam);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;transition:color .2s ease}.hyperlink:hover,.hyperlink:focus-visible{color:var(--color-gold);outline:none}.handle{position:relative;display:inline-block;color:var(--color-iris);font-size:1.1rem;font-style:italic;font-weight:700;text-decoration:none;transition:color .2s ease}span.handle{cursor:default}.handle:hover,.handle:focus-visible{outline:none}.heading-link{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:transparent;transition:text-decoration-color .2s ease}.heading-link:hover,.heading-link:focus-visible{text-decoration-color:initial;outline:none}