@layer reset,tokens,layout,typography,components,code,markdown-look;@layer reset{*,*::before,*::after{box-sizing:border-box}*{margin:0}html{hanging-punctuation:first last;interpolate-size:allow-keywords}body{min-height:100svh;-webkit-font-smoothing:antialiased}img,video,svg,canvas{display:block;max-width:100%}input,button,textarea,select{font:inherit}h1,h2,h3,h4,h5,h6{text-wrap:balance}p,li{text-wrap:pretty}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}}@layer tokens{.fonts-system{--font-body:"Georgia", "Times New Roman", serif;--font-heading:system-ui, -apple-system, "Segoe UI", sans-serif;--font-body-weight:400;--font-body-bold:700;--font-heading-weight:600;--font-heading-heavy:700}:root{--font-body:"Piazzolla", "Georgia", serif;--font-heading:"Hanken Grotesk", system-ui, sans-serif;--font-body-weight:400;--font-body-bold:600;--font-heading-weight:600;--font-heading-heavy:700;--font-mono:ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, Consolas,
            "DejaVu Sans Mono", monospace}:root{--hue:350;--accent:oklch(0.637 0.255 var(--hue));--accent-light:oklch(0.75 0.18 var(--hue));--accent-soft:oklch(0.75 0.12 var(--hue));--accent-faint:oklch(0.93 0.03 var(--hue));--accent-dark:oklch(0.5 0.2 var(--hue))}:root{color-scheme:light dark}[data-theme=light]{color-scheme:light}[data-theme=dark]{color-scheme:dark}:root{--surface:oklch(0.985 0.005 var(--hue, 350));--surface-raised:oklch(0.965 0.008 var(--hue, 350));--surface-code:oklch(0.955 0.008 var(--hue, 350));--text:oklch(0.2 0.01 var(--hue, 350));--text-secondary:oklch(0.42 0.01 var(--hue, 350));--text-tertiary:oklch(0.55 0.008 var(--hue, 350));--border:oklch(0.87 0.01 var(--hue, 350));--border-light:oklch(0.92 0.008 var(--hue, 350))}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--accent:var(--accent-light);--surface:oklch(0.15 0.008 var(--hue, 350));--surface-raised:oklch(0.2 0.01 var(--hue, 350));--surface-code:oklch(0.18 0.01 var(--hue, 350));--text:oklch(0.88 0.008 var(--hue, 350));--text-secondary:oklch(0.65 0.01 var(--hue, 350));--text-tertiary:oklch(0.52 0.008 var(--hue, 350));--border:oklch(0.3 0.012 var(--hue, 350));--border-light:oklch(0.25 0.01 var(--hue, 350))}}[data-theme=dark]{--accent:var(--accent-light);--surface:oklch(0.15 0.008 var(--hue, 350));--surface-raised:oklch(0.2 0.01 var(--hue, 350));--surface-code:oklch(0.18 0.01 var(--hue, 350));--text:oklch(0.88 0.008 var(--hue, 350));--text-secondary:oklch(0.65 0.01 var(--hue, 350));--text-tertiary:oklch(0.52 0.008 var(--hue, 350));--border:oklch(0.3 0.012 var(--hue, 350));--border-light:oklch(0.25 0.01 var(--hue, 350))}:root{--space-3xs:0.25rem;--space-2xs:0.5rem;--space-xs:0.75rem;--space-sm:1rem;--space-md:1.5rem;--space-lg:2rem;--space-xl:3rem;--space-2xl:4rem;--space-3xl:6rem}:root{--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1.125rem;--text-md:1.25rem;--text-lg:clamp(1.375rem, 1.25rem + 0.5vw, 1.625rem);--text-xl:clamp(1.75rem, 1.5rem + 1vw, 2.375rem)}}@layer layout{body{background-color:var(--surface);color:var(--text);line-height:1.6}.container{--content-width:42rem;--toc-width:12rem;--toc-gap:var(--space-xl);--sidenote-width:12rem;--sidenote-gap:var(--space-lg);max-width:var(--content-width);margin-inline:auto;padding-inline:var(--space-md);padding-block:var(--space-lg)}.site-footer{padding-block-start:var(--space-xl);padding-block-end:var(--space-lg)}@media(min-width:48rem){.container{padding-block:var(--space-xl)}}@media(min-width:72rem){.post{position:relative}}}@layer typography{body{font-family:var(--font-body,Georgia,serif);font-weight:var(--font-body-weight,400);font-size:var(--text-base);font-feature-settings:"kern" 1,"liga" 1,"calt" 1,"onum" 1,"pnum" 1;font-kerning:normal;font-variant-ligatures:common-ligatures contextual}code,kbd,pre,samp,[style*="font-family: var(--font-mono)"]{font-variant-ligatures:none;font-feature-settings:"liga" 0,"calt" 0}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading,system-ui,sans-serif);font-weight:var(--font-heading-weight,600);letter-spacing:-.01em;font-variant-numeric:lining-nums}h1{font-size:var(--text-xl);font-weight:var(--font-heading-heavy,700);line-height:1.12;letter-spacing:-.025em}h2{font-size:var(--text-lg);line-height:1.25;margin-block-start:var(--space-xl);margin-block-end:var(--space-sm)}h3{font-size:var(--text-md);line-height:1.3;margin-block-start:var(--space-xl);margin-block-end:var(--space-xs)}h4{font-size:var(--text-base);line-height:1.4;margin-block-start:var(--space-lg);margin-block-end:var(--space-2xs)}a{color:var(--accent);text-decoration-line:underline;text-decoration-thickness:1px;text-underline-offset:.15em;text-decoration-color:color-mix( in oklch,var(--accent) 40%,transparent );transition:text-decoration-color .15s ease}a:hover{text-decoration-color:var(--accent)}.post-content p,.page p{margin-block-end:var(--space-sm);max-width:68ch;hyphens:auto;font-variant-numeric:oldstyle-nums}.post-content ul,.post-content ol,.page ul:not(.post-list),.page ol{margin-block-end:var(--space-sm);padding-inline-start:var(--space-md);max-width:68ch}.post-content li{margin-block-end:var(--space-3xs)}:not(pre)>code{font-family:var(--font-mono);font-size:.88em;font-variant-numeric:tabular-nums lining-nums;background-color:var(--surface-code);padding:.1em .35em;border-radius:3px}strong{font-weight:var(--font-body-bold,700)}em{font-style:italic}hr{border:none;border-block-start:1px solid var(--border);margin-block:var(--space-md);max-width:8rem}blockquote{font-style:italic;color:var(--text-secondary);padding-inline-start:var(--space-md);border-inline-start:1px solid var(--border);margin-block:var(--space-md);max-width:60ch}blockquote p{margin-block-end:var(--space-2xs)}dl{margin-block:var(--space-md);max-width:68ch}dt{font-family:var(--font-heading,system-ui,sans-serif);font-weight:var(--font-heading-weight,600);font-size:var(--text-sm);color:var(--text);margin-block-start:var(--space-sm)}dt:first-child{margin-block-start:0}dd{margin-inline-start:0;padding-inline-start:var(--space-md);margin-block-start:var(--space-3xs);color:var(--text-secondary);font-size:var(--text-sm);line-height:1.5}dd+dd{margin-block-start:var(--space-3xs)}.post-content table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}table{width:100%;border-collapse:collapse;margin-block:var(--space-md);font-size:var(--text-sm);font-variant-numeric:tabular-nums lining-nums}thead{border-block-end:2px solid var(--border)}th,td{padding:var(--space-2xs)var(--space-xs);text-align:left;vertical-align:top}th{font-family:var(--font-heading,system-ui,sans-serif);font-weight:var(--font-heading-weight,600);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);white-space:nowrap}tbody tr{border-block-end:1px solid var(--border-light)}tbody tr:last-child{border-block-end:none}tbody tr:nth-child(even){background-color:var(--surface-raised)}.post-content img{margin-block:var(--space-md);border-radius:2px}figure{margin-block:var(--space-lg)}figcaption{font-size:var(--text-sm);color:var(--text-secondary);margin-block-start:var(--space-2xs)}kbd{font-family:var(--font-mono);font-size:.85em;padding:.1em .4em;border:1px solid var(--border);border-radius:3px;background-color:var(--surface-raised);box-shadow:0 1px 0 var(--border)}}@layer components{.breadcrumb{margin:var(--space-sm)0}.breadcrumb a{padding:var(--space-xs);text-decoration:none;border-radius:.5rem}.breadcrumb a:hover{background-color:var(--surface-raised)}.theme-toggle{position:fixed;top:var(--space-sm);right:var(--space-sm);font-family:var(--font-heading,system-ui,sans-serif);font-size:var(--text-xs);color:var(--text-tertiary);background:0 0;border:1px solid var(--border-light);border-radius:3px;padding:var(--space-3xs)var(--space-2xs);cursor:pointer;letter-spacing:.03em;z-index:10;transition:color .15s ease,border-color .15s ease}.theme-toggle:hover{color:var(--text-secondary);border-color:var(--border)}.post-header{margin-block-end:var(--space-lg)}.post-title{margin-block-end:var(--space-xs)}.post-meta{font-family:var(--font-heading,system-ui,sans-serif);font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5}.post-meta a{color:var(--text-secondary);text-decoration-color:var(--border)}.post-meta a:hover{color:var(--accent);text-decoration-color:var(--accent)}.post-meta em{font-style:normal;background-color:var(--surface-raised);padding:.05em .4em;border-radius:3px;font-size:.92em}#TableOfContents{font-family:var(--font-heading,system-ui,sans-serif);font-size:var(--text-sm);color:var(--text-secondary);margin-block-end:var(--space-xl);padding-block:var(--space-sm);border-block:1px solid var(--border-light)}#TableOfContents ol{list-style:decimal;padding-inline-start:var(--space-md)}#TableOfContents li{margin-block-end:var(--space-3xs);line-height:1.4}#TableOfContents ol ol{padding-inline-start:var(--space-sm);margin-block-start:var(--space-3xs)}#TableOfContents ol ol li{font-size:var(--text-xs)}#TableOfContents a{color:var(--text-secondary);text-decoration:none}#TableOfContents a:hover{color:var(--accent)}@media(min-width:72rem){#TableOfContents{position:sticky;top:var(--space-lg);float:left;width:var(--toc-width,12rem);margin-left:calc( -1 * (var(--toc-width,12rem) + var(--toc-gap,3rem)) );border-block:none;padding-block:0;margin-block-end:0}}.post-list{list-style:none;padding-inline-start:0;margin-block-start:var(--space-sm)}.post-list li{padding-block:var(--space-xs);border-block-end:1px solid var(--border-light)}.post-list li:first-child{border-block-start:1px solid var(--border-light)}.post-date{font-family:var(--font-heading,system-ui,sans-serif);font-size:.65rem;color:var(--text-tertiary);display:block;margin-block-start:var(--space-3xs);letter-spacing:.04em;text-transform:uppercase}.post-link{text-decoration:none;color:var(--text);transition:color .15s ease;line-height:1.35;display:block}.post-link:hover{color:var(--accent)}.footnotes{margin-block-start:var(--space-md);padding-block-start:var(--space-md);font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5}.footnotes hr{border-block-start:1px solid var(--border-light);max-width:none}.footnotes ol{padding-inline-start:var(--space-md);max-width:none}.footnotes li{margin-block-end:var(--space-2xs)}.footnotes p{margin-block-end:var(--space-3xs)}sup[id^="fnref:"]{line-height:1}.footnote-ref{font-family:var(--font-heading,system-ui,sans-serif);font-size:.75em;text-decoration:none;color:var(--accent);margin-inline-start:.1em}.footnote-ref:hover{text-decoration:underline}.footnote-backref{text-decoration:none;color:var(--text-tertiary);margin-inline-start:var(--space-3xs)}.footnote-backref:hover{color:var(--accent)}.sidenote{display:none;text-decoration:none}.sidenote:empty{display:none!important}.sidenote .sidenote{display:contents;float:none;width:auto;margin:0;font-size:inherit;color:inherit}@media(min-width:72rem){.sidenote{display:block;float:right;clear:right;width:var(--sidenote-width,12rem);margin-right:calc( -1 * (var(--sidenote-width,12rem) + var(--sidenote-gap,2rem)) );margin-bottom:var(--space-sm);font-family:var(--font-heading,system-ui,sans-serif);font-size:var(--text-xs);color:var(--text-secondary);line-height:1.45;padding:var(--space-3xs)}.sidenote p{margin-block-end:var(--space-3xs)}.sidenote p:last-child{margin-block-end:0}.sidenote-fn>p:first-of-type{display:inline}.sidenote-fn::before{content:attr(data-sn);color:var(--accent);margin-inline-end:.3em;font-size:.9em;vertical-align:super}.sidenote-link{font-style:italic;color:var(--text-tertiary)}.sidenote-link-domain{font-style:normal;font-size:.95em;display:block;margin-block-end:.15em;text-decoration:none;color:var(--text-secondary)}.sidenote-link-domain:hover{color:var(--accent)}sup:hover+.sidenote{background-color:var(--surface-raised)}a:hover+.sidenote-link,.sidenote-link:hover{color:var(--text-secondary);background-color:var(--surface-raised)}a:hover+.sidenote-link span,.sidenote-link:hover span{color:var(--accent)}.footnotes{display:none}}.article-footer{margin-block-start:var(--space-2xl);padding-block-start:var(--space-md);border-block-start:1px solid var(--border-light);font-size:var(--text-sm);color:var(--text-secondary)}.article-footer p{margin-block-end:var(--space-2xs)}.article-footer a{color:var(--text-secondary);text-decoration-color:var(--border)}.article-footer a:hover{color:var(--accent);text-decoration-color:var(--accent)}.site-footer{font-family:var(--font-heading,system-ui,sans-serif);font-size:var(--text-sm);color:var(--text-tertiary);border-block-start:1px solid var(--border-light)}.site-footer p{margin-block-end:var(--space-2xs)}.site-footer a{color:var(--text-tertiary);text-decoration:none}.site-footer a:hover{color:var(--accent)}.page h1{margin-block-end:var(--space-sm)}.page h2{margin-block-start:var(--space-xl);font-size:var(--text-md);color:var(--text-secondary);font-weight:var(--font-heading-weight,600)}.comments{margin-block-start:var(--space-xl);--sequoia-accent-color:var(--accent);--sequoia-border-radius:4px;--sequoia-bg-color:var(--surface-raised);--sequoia-fg-color:var(--text);--sequoia-border-color:var(--border);--sequoia-secondary-color:var(--text-tertiary)}}@layer code{.highlight{margin-block:var(--space-md)}pre{font-family:var(--font-mono);font-size:.85em;line-height:1.55;padding:var(--space-sm)var(--space-md);overflow-x:auto;border-radius:4px;-webkit-overflow-scrolling:touch}pre:not(.chroma){background-color:var(--surface-code);color:var(--text)}.chroma{background-color:var(--code-bg);color:var(--code-text)}:root{--code-bg:oklch(0.965 0.006 var(--hue, 350));--code-text:oklch(0.28 0.01 var(--hue, 350));--code-comment:oklch(0.55 0.01 var(--hue, 350));--code-keyword:oklch(0.48 0.18 12);--code-string:oklch(0.42 0.1 250);--code-function:oklch(0.47 0.16 300);--code-number:oklch(0.45 0.14 255);--code-type:oklch(0.5 0.14 55);--code-operator:oklch(0.48 0.18 12);--code-punctuation:oklch(0.45 0.01 var(--hue, 350));--code-added:oklch(0.45 0.15 145);--code-deleted:oklch(0.5 0.18 25)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--code-bg:oklch(0.18 0.01 var(--hue, 350));--code-text:oklch(0.82 0.008 var(--hue, 350));--code-comment:oklch(0.58 0.01 var(--hue, 350));--code-keyword:oklch(0.72 0.14 15);--code-string:oklch(0.78 0.08 220);--code-function:oklch(0.78 0.12 300);--code-number:oklch(0.75 0.1 235);--code-type:oklch(0.75 0.12 60);--code-operator:oklch(0.72 0.14 15);--code-punctuation:oklch(0.62 0.008 var(--hue, 350));--code-added:oklch(0.72 0.12 145);--code-deleted:oklch(0.72 0.14 25)}}[data-theme=dark]{--code-bg:oklch(0.18 0.01 var(--hue, 350));--code-text:oklch(0.82 0.008 var(--hue, 350));--code-comment:oklch(0.58 0.01 var(--hue, 350));--code-keyword:oklch(0.72 0.14 15);--code-string:oklch(0.78 0.08 220);--code-function:oklch(0.78 0.12 300);--code-number:oklch(0.75 0.1 235);--code-type:oklch(0.75 0.12 60);--code-operator:oklch(0.72 0.14 15);--code-punctuation:oklch(0.62 0.008 var(--hue, 350));--code-added:oklch(0.72 0.12 145);--code-deleted:oklch(0.72 0.14 25)}.chroma .c,.chroma .c1,.chroma .cm,.chroma .cp,.chroma .cpf,.chroma .cs{color:var(--code-comment);font-style:italic}.chroma .k,.chroma .kc,.chroma .kd,.chroma .kn,.chroma .kp,.chroma .kr,.chroma .ow{color:var(--code-keyword);font-weight:500}.chroma .kt{color:var(--code-type)}.chroma .s,.chroma .sa,.chroma .sb,.chroma .sc,.chroma .sd,.chroma .se,.chroma .sh,.chroma .si,.chroma .sx,.chroma .sr,.chroma .s1,.chroma .s2,.chroma .ss,.chroma .dl{color:var(--code-string)}.chroma .n,.chroma .na,.chroma .nb,.chroma .ni,.chroma .nl,.chroma .nv,.chroma .bp,.chroma .vc,.chroma .vg,.chroma .vi{color:var(--code-text)}.chroma .nf,.chroma .fm,.chroma .nd{color:var(--code-function)}.chroma .nc,.chroma .ne,.chroma .no,.chroma .nn{color:var(--code-type)}.chroma .nt{color:var(--code-keyword)}.chroma .m,.chroma .mb,.chroma .mf,.chroma .mh,.chroma .mi,.chroma .mo,.chroma .il{color:var(--code-number)}.chroma .o{color:var(--code-operator)}.chroma .p{color:var(--code-punctuation)}.chroma .gi{color:var(--code-added)}.chroma .gd{color:var(--code-deleted)}.chroma .gu{color:var(--code-function);font-weight:600}.chroma .w{color:transparent}.chroma .err{color:var(--code-deleted)}}@layer markdown-look{:root{--md-marker:var(--text-tertiary)}h1,h2,h3,h4,h5,h6{font-size:var(--text-base);font-weight:var(--font-body-bold,700);line-height:1.6;letter-spacing:normal;font-family:var(--font-mono);font-variant-ligatures:none;font-feature-settings:"liga" 0,"calt" 0}h1::before{content:none}h1{padding-block-end:.15em;border-block-end:3px double var(--md-marker)}h2::before{content:"## ";color:var(--md-marker);font-weight:var(--font-body-weight,400)}h3::before{content:"### ";color:var(--md-marker);font-weight:var(--font-body-weight,400)}h4::before{content:"#### ";color:var(--md-marker);font-weight:var(--font-body-weight,400)}h5::before{content:"##### ";color:var(--md-marker);font-weight:var(--font-body-weight,400)}h6::before{content:"###### ";color:var(--md-marker);font-weight:var(--font-body-weight,400)}.post-content strong::before,.post-content strong::after{content:"**";color:var(--md-marker);font-weight:var(--font-body-weight,400)}.post-content em::before,.post-content em::after{content:"_";color:var(--md-marker);font-style:normal}.post-content strong em::before,.post-content em strong::before{content:"**_"}.post-content strong em::after,.post-content em strong::after{content:"_**"}.post-content :not(pre)>code::before,.post-content :not(pre)>code::after{content:"`";color:var(--md-marker)}.post-content :not(pre)>code{background:0 0;padding:0;border-radius:0}@counter-style md-ol{system: extends decimal;
        suffix: ". ";
    }ul{list-style:"- " outside}ol:not(.footnotes ol){list-style:md-ol outside}.post-list{list-style:none}:is(ul,ol:not(.footnotes ol))>li::marker{color:var(--md-marker)}#TableOfContents ol{list-style:decimal outside}blockquote{border-inline-start:none;padding-inline-start:0;font-style:normal}blockquote p::before{content:"> ";color:var(--md-marker);font-family:var(--font-mono)}hr{border:none;max-width:none}hr::after{content:"---";display:block;color:var(--md-marker);text-align:left;font-family:var(--font-mono)}.footnote-ref{font-size:inherit}sup[id^="fnref:"]::before,sup[id^="fnref:"],sup[id^="fnref:"]::after{color:var(--md-marker);font-size:var(--text-sm)}sup[id^="fnref:"]::before{content:"[^"}sup[id^="fnref:"]::after{content:"]"}dt::before{content:none}dd::before{content:": ";color:var(--md-marker)}dd{padding-inline-start:0}.post-content img{border-radius:0}}