﻿*,*::before,*::after{box-sizing:border-box}html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}ul[role=list],ol[role=list]{list-style:none}body{min-height:100vh;line-height:1.5}h1,h2,h3,h4,button,input,label{line-height:1.1}h1,h2,h3,h4{text-wrap:balance}a:not([class]){text-decoration-skip-ink:auto;color:currentColor}img,picture{max-width:100%;display:block}input,button,textarea,select{font-family:inherit;font-size:inherit}textarea:not([rows]){min-height:10em}:target{scroll-margin-block:5ex}.highlight{--hl-comment: #740;--hl-keyword: #506;--hl-constant: #106;--hl-type: #072;--hl-number: #042;--hl-string: #700;--hl-escape: #c40;--hl-name: #027;--hl-function: #009;--hl-error: #f00;--hl-output: #555}@media(prefers-color-scheme: dark){.highlight{--hl-comment: #b80;--hl-keyword: #b8e;--hl-constant: #9af;--hl-type: #5d9;--hl-number: #7c8;--hl-string: #e88;--hl-escape: #f96;--hl-name: #8cd;--hl-function: #88f;--hl-error: #f55;--hl-output: #999}}.highlight{color:var(--color-text)}.highlight .c{color:var(--hl-comment)}.highlight .cm{color:var(--hl-comment)}.highlight .cp{color:var(--hl-comment)}.highlight .c1{color:var(--hl-comment)}.highlight .cs{color:var(--hl-comment)}.highlight .err{color:var(--hl-error)}.highlight .k{color:var(--hl-keyword)}.highlight .kd{color:var(--hl-keyword)}.highlight .kp{color:var(--hl-keyword)}.highlight .kr{color:var(--hl-keyword)}.highlight .ow{color:var(--hl-keyword)}.highlight .kc{color:var(--hl-constant)}.highlight .kt{color:var(--hl-type)}.highlight .m{color:var(--hl-number)}.highlight .mf{color:var(--hl-number)}.highlight .mh{color:var(--hl-number)}.highlight .mi{color:var(--hl-number)}.highlight .mo{color:var(--hl-number)}.highlight .il{color:var(--hl-number)}.highlight .s{color:var(--hl-string)}.highlight .sb{color:var(--hl-string)}.highlight .sc{color:var(--hl-string)}.highlight .sd{color:var(--hl-string)}.highlight .s2{color:var(--hl-string)}.highlight .sh{color:var(--hl-string)}.highlight .si{color:var(--hl-string)}.highlight .s1{color:var(--hl-string)}.highlight .ss{color:var(--hl-string)}.highlight .se{color:var(--hl-escape)}.highlight .sx{color:var(--hl-escape)}.highlight .sr{color:var(--hl-escape)}.highlight .na{color:var(--hl-name)}.highlight .nb{color:var(--hl-name)}.highlight .bp{color:var(--hl-name)}.highlight .nv{color:var(--hl-name)}.highlight .vc{color:var(--hl-name)}.highlight .vg{color:var(--hl-name)}.highlight .vi{color:var(--hl-name)}.highlight .nc{color:var(--hl-type)}.highlight .no{color:var(--hl-constant)}.highlight .nf{color:var(--hl-function)}.highlight .nt{color:var(--hl-keyword)}.highlight .ni{color:var(--hl-escape)}.highlight .ne{color:var(--hl-error)}.highlight .gd{color:var(--hl-string)}.highlight .gi{color:var(--hl-number)}.highlight .ge{font-style:italic}.highlight .gs{font-weight:bold}.highlight .gh{font-weight:bold}.highlight .gu{font-weight:bold}.highlight .gr{color:var(--hl-error)}.highlight .gt{color:var(--hl-error)}.highlight .gp{color:var(--hl-output)}.highlight .go{color:var(--hl-output)}:root{color-scheme:light dark;--font-serif: Georgia, "Nimbus Roman No9 L", "Century Schoolbook L", serif;--font-display: "Cinzel", Georgia, serif;--font-mono: "PT Mono", Consolas, "Courier New", monospace;--color-text: #000;--color-text-muted: #333;--color-text-faint: #767676;--color-link: #467;--color-link-visited: #645;--color-accent: #4ab;--color-bg: white;--color-rule: #ddd;--step--2: clamp(0.8125rem, 0.7908rem + 0.1087vw, 0.875rem);--step--1: clamp(0.9375rem, 0.9158rem + 0.1087vw, 1rem);--step-0: clamp(1.125rem, 1.0815rem + 0.2174vw, 1.25rem);--step-1: clamp(1.3125rem, 1.269rem + 0.2174vw, 1.4375rem);--step-2: clamp(1.4375rem, 1.3723rem + 0.3261vw, 1.625rem);--step-3: clamp(1.75rem, 1.6196rem + 0.6522vw, 2.125rem);--space-2xs: clamp(0.375rem, 0.3315rem + 0.2174vw, 0.5rem);--space-xs: clamp(0.5625rem, 0.4973rem + 0.3261vw, 0.75rem);--space-s: clamp(0.9375rem, 0.8288rem + 0.5435vw, 1.25rem);--space-m: clamp(1.5rem, 1.3261rem + 0.8696vw, 2rem);--space-l: clamp(2.25rem, 1.9891rem + 1.3043vw, 3rem);--space-xl: clamp(2.625rem, 2.3207rem + 1.5217vw, 3.5rem);--space-2xl: clamp(3.75rem, 3.3152rem + 2.1739vw, 5rem)}@media(prefers-color-scheme: dark){:root{--color-text: #ddd;--color-text-muted: #bbb;--color-text-faint: #919191;--color-link: #9bc;--color-link-visited: #b9a;--color-bg: #181818;--color-rule: #3a3a3a}}body{font-family:var(--font-serif);font-size:var(--step-0);line-height:1.5;color:var(--color-text);background:var(--color-bg);overflow-wrap:break-word}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;letter-spacing:2px;line-height:1.25;margin:1rem 0}h1{font-size:var(--step-2)}h2{font-size:var(--step-1)}h3,h4,h5,h6{font-size:var(--step-0)}p{line-height:1.5}a,a:active,a:not([class]){color:var(--color-link);text-decoration:underline;text-underline-offset:.15em}a:visited{color:var(--color-link-visited)}:is(h1,h2,h3) a:any-link{text-decoration:none}.container{inline-size:100%;max-inline-size:35em;margin-inline:auto;padding-inline:1em}.container .container{padding-inline:0}body>main{padding-block:1.5em 5em}.stack{--stack-space: var(--space-s);display:flex;flex-direction:column;justify-content:flex-start;gap:var(--stack-space)}.stack>*{margin-block:0}.stack-xs{--stack-space: var(--space-2xs)}.stack-sm{--stack-space: var(--space-xs)}.stack-lg{--stack-space: var(--space-m)}.stack-xl{--stack-space: var(--space-l)}.stack-2xl{--stack-space: var(--space-xl)}.text-center{text-align:center}.text-tertiary{color:var(--color-text-faint)}.text-xs{font-size:var(--step--1)}.mt-1{margin-top:.25rem}ul.unstyled{list-style-type:none;padding-inline-start:0}.p-4{padding:1em}#header{padding-block-start:1.5em}#header .header-wrapper{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:.5em 1.5em}#header .site-title{font-family:var(--font-display);font-weight:700;letter-spacing:2px;font-size:var(--step-1);color:var(--color-text);text-decoration:none}#header .site-title:hover{color:var(--color-link);text-decoration:none}.intro{margin-block-start:1.5em}.intro h1{font-size:var(--step-3);margin:0}.intro p{font-style:italic;color:var(--color-text-muted)}.post-nav a{font-size:var(--step--1);color:var(--color-text-faint);text-decoration:none}.post-nav a:hover{color:var(--color-link);text-decoration:none}footer{margin-top:4em;padding-block:1em;text-align:center;font-size:var(--step--1);color:var(--color-text-faint)}.blog-post header h1{margin-block:.5rem 0}.blog-post header p{margin-top:.25em;font-size:var(--step--1);color:var(--color-text-faint)}.blog-post :is(h2,h3,h4){margin-top:1.5em}.rss-subscribe{font-size:var(--step--1);color:var(--color-text-faint)}.article-list{list-style:none;padding-inline-start:0;margin:0}.article-list>li+li{margin-top:2.75rem}.article-item .article-title{font-size:var(--step-2);letter-spacing:.5px;line-height:1.2;margin:0}.article-item .article-title a{text-decoration:none}.article-item .article-title a:hover{text-decoration:underline}.article-meta{margin-top:.4rem;font-size:var(--step--2);letter-spacing:1.5px;text-transform:uppercase;color:var(--color-text-faint)}.article-excerpt{margin-top:.7rem;color:var(--color-text-muted)}code,pre{font-family:var(--font-mono)}code{font-size:90%;padding:0 2px}code.highlighter-rouge{background:none}div.highlighter-rouge{border-top:1px solid var(--color-accent);border-bottom:1px solid var(--color-accent);background:var(--color-bg)}pre{margin:0;padding:5px 0 5px 15px;font-size:90%;line-height:1.35;max-width:100%;overflow-x:auto}pre code{font-size:100%;padding:0}blockquote{margin:0 0 0 3em;padding:0;position:relative;font-size:85%}blockquote p{color:var(--color-text-muted)}blockquote:before{content:"“";position:absolute;left:-0.5em}blockquote p:last-of-type:after{content:"”"}ol{margin:1em 0;padding:0;counter-reset:li}ol li{margin:0 0 0 40px;padding:0;list-style:none;position:relative}ol li:before{content:counter(li) ".";counter-increment:li;position:absolute;width:2em;text-align:right;left:-2.5em;top:1px;font-size:90%}hr{width:100%;border:none;border-top:1px solid var(--color-rule)}td{vertical-align:top}td+td{padding-left:1em}table{margin-left:15px}figure{margin:1em 0}figure img{max-width:100%}figcaption{font-size:var(--step--1);color:var(--color-text-muted)}/*# sourceMappingURL=main.css.map */