@font-face{font-family:Charis SIL;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/charis-400.woff2) format("woff2")}@font-face{font-family:Charis SIL;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/charis-400i.woff2) format("woff2")}@font-face{font-family:Charis SIL;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/charis-700.woff2) format("woff2")}@font-face{font-family:Charis SIL;font-style:italic;font-weight:700;font-display:swap;src:url(/fonts/charis-700i.woff2) format("woff2")}@font-face{font-family:Go Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/go-mono-400.woff2) format("woff2")}@font-face{font-family:Go Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/go-mono-700.woff2) format("woff2")}:root{--ground: #f8f6fb;--ink: #191527;--ink-soft: #56506e;--rule: #ded8ea;--accent: #b24d7a;--accent-soft: #f4e9f0;--link: #574c90;--link-visited: #8a3a60;--surface: #e8e9f1;--ground-warm: #fff7e9;--slate: #4f6d89;--serif: "Charis SIL", Charter, Georgia, serif;--display: var(--serif);--mono: "Go Mono", ui-monospace, SFMono-Regular, monospace;--label: .72rem;--label-sm: .66rem;--track-label: .08em;--measure: 44rem}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--ground: #171426;--ink: #e6e2f2;--ink-soft: #a09ab8;--rule: #2c2743;--accent: #e77ba6;--accent-soft: #241d33;--link: #a99ce0;--link-visited: #e785ac;--surface: #221d38;--ground-warm: #1d1830;--slate: #8fadc6}}:root[data-theme=dark]{--ground: #171426;--ink: #e6e2f2;--ink-soft: #a09ab8;--rule: #2c2743;--accent: #e77ba6;--accent-soft: #241d33;--link: #a99ce0;--link-visited: #e785ac;--surface: #221d38;--ground-warm: #1d1830;--slate: #8fadc6}*,*:before,*:after{box-sizing:border-box}body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--serif);font-size:clamp(1rem,.95rem + .26vw,1.1rem);line-height:1.62;-webkit-font-smoothing:antialiased}.wrap{max-width:var(--measure);margin:0 auto;padding-block:clamp(2.25rem,6vw,4rem) clamp(3rem,10vw,6rem);padding-inline:clamp(1.15rem,4.5vw,1.75rem)}.site-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:clamp(1.25rem,3vw,1.75rem);padding-bottom:1rem;border-bottom:1px solid var(--rule)}.site-head a.home{font-family:var(--display);font-size:1.05rem;font-weight:700;letter-spacing:.01em;text-decoration:none;color:var(--ink)}.site-head .masthead{display:flex;flex-wrap:wrap;align-items:baseline;gap:.1rem .6rem}.site-head nav{display:flex;gap:1.1rem}.site-head nav a{color:var(--ink-soft);text-decoration:none}.site-head nav a:hover{color:var(--accent)}h1,h2,h3{font-family:var(--display);font-weight:700;line-height:1.2;letter-spacing:-.011em}h1{font-size:clamp(2.1rem,1.75rem + 1.7vw,2.8rem);margin:0 0 .9rem;text-wrap:balance}h2{font-size:clamp(1.45rem,1.3rem + .75vw,1.75rem);margin:clamp(2.4rem,6vw,3.1rem) 0 .9rem}h3{font-size:clamp(1.15rem,1.08rem + .38vw,1.3rem);margin:2.2rem 0 .7rem}.site-head .byline,.site-head nav,.post-meta,.author-note .role,.author-note nav,.site-foot,th{font-family:var(--mono);font-size:var(--label);line-height:1.5;letter-spacing:var(--track-label);text-transform:uppercase;color:var(--ink-soft)}.sep{vertical-align:-.06em}p{margin:0 0 1.35rem}p,li,h1,h2,h3{overflow-wrap:break-word}a{color:var(--link);text-decoration-line:underline;text-decoration-thickness:1px;text-underline-offset:.16em;text-decoration-color:color-mix(in srgb,currentColor 40%,transparent);transition:color .12s ease,text-decoration-color .12s ease}a:visited{color:var(--link-visited)}a:hover{text-decoration-color:currentColor}strong{font-weight:700}blockquote{margin:2rem 0;padding-left:1.4rem;border-left:2px solid var(--rule);color:var(--ink-soft)}.pullquote{margin:clamp(2.4rem,6vw,3.1rem) 0;padding:clamp(1.3rem,3vw,1.7rem) 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);font-size:clamp(1.25rem,1.12rem + .62vw,1.55rem);line-height:1.3;letter-spacing:-.011em;text-wrap:balance}ul,ol{padding-left:1.3rem;margin:0 0 1.35rem}li{margin-bottom:.5rem}code{font-family:var(--mono);font-size:.9em;background:var(--accent-soft);padding:.12em .34em;border-radius:3px}pre{font-family:var(--mono);font-size:.88em;line-height:1.6;padding:1.1rem 1.25rem;border-radius:5px;border:1px solid var(--rule);overflow-x:auto}pre code{background:none;padding:0;font-size:inherit}hr{border:0;border-top:1px solid var(--rule);margin:3rem 0}img,svg{max-width:100%;height:auto}figure{margin:2.4rem 0}@media(min-width:64rem){.bleed{width:min(60rem,100% + 12rem);margin-left:50%;transform:translate(-50%)}}.post-hero{margin-top:0;margin-bottom:clamp(2.5rem,6vw,3.5rem)}.post-hero img,.post-hero svg{width:100%}.frame{border:1px solid var(--rule);border-radius:4px;background:none}.frame.tint{background:color-mix(in srgb,var(--link) 8%,var(--ground))}.plate{border:1px solid var(--rule);border-radius:4px;background:none;padding:1.25rem;display:grid;align-content:center;justify-items:center;gap:.6rem;min-height:210px;overflow:hidden}.plate img,.plate svg{display:block;width:100%;height:auto}.plate figcaption{margin-top:0}.panel{background:var(--surface);border:1px solid var(--rule);border-radius:5px;padding:1.6rem 1.8rem;margin:2rem 0}.paper{background:var(--ground-warm);border:1px solid var(--rule);border-radius:5px;padding:1.6rem 1.8rem;margin:2rem 0}.panel>:last-child,.paper>:last-child{margin-bottom:0}.aside{color:var(--slate);border-left:2px solid var(--slate);padding-left:1.2rem;margin:2rem 0}.aside>:last-child{margin-bottom:0}figure img,figure svg{display:block;margin:0 auto}figcaption{font-family:var(--mono);font-size:var(--label);line-height:1.5;letter-spacing:.02em;color:var(--ink-soft);text-align:center;margin-top:.8rem}.credit{font-style:italic;font-size:.94em;color:var(--ink-soft);margin-top:clamp(2.5rem,6vw,3.5rem)}table{display:block;width:max-content;max-width:100%;overflow-x:auto;border-collapse:collapse;margin:2rem 0;font-size:.94em}th,td{text-align:left;padding:.5rem .9rem .5rem 0;border-bottom:1px solid var(--rule);vertical-align:top}th{font-weight:400;white-space:nowrap}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .astro-code,:root:not([data-theme=light]) .astro-code span{color:var(--shiki-dark)!important;background-color:transparent!important}}:root[data-theme=dark] .astro-code,:root[data-theme=dark] .astro-code span{color:var(--shiki-dark)!important;background-color:transparent!important}.astro-code{background-color:transparent!important}.post-meta{margin-bottom:3rem}.post-head{margin-bottom:clamp(2.5rem,6vw,3.5rem)}.deck{font-size:clamp(1.15rem,1.05rem + .4vw,1.35rem);line-height:1.45;color:var(--ink-soft);max-width:32rem;margin:0 0 1.5rem;text-wrap:pretty}.post-head .post-meta{border-top:1px solid var(--rule);padding-top:.85rem;margin-bottom:0}.post-list{list-style:none;padding:0;margin:clamp(2rem,5vw,2.75rem) 0 0}.post-list li{margin-bottom:2.6rem}.post-list h2{margin:0 0 .35rem}.post-list h2 a{color:var(--ink);text-decoration:none}.post-list h2 a:hover{color:var(--accent)}.post-list li.soon{font-style:italic}.post-list p{margin:0 0 .4rem;color:var(--ink-soft)}.author-note{margin-top:clamp(3.5rem,9vw,5rem);padding:1.6rem 1.8rem;background:var(--surface);border:1px solid var(--rule);border-radius:5px}.author-note .byline{font-family:var(--display);font-weight:700;font-size:1.15rem;letter-spacing:-.008em;margin:0}.author-note .role{color:var(--slate);margin:.3rem 0 0}.author-note .bio{margin:.9rem 0 0;color:var(--ink-soft)}.author-note nav{display:flex;flex-wrap:wrap;gap:.4rem 1.1rem;margin-top:1.1rem}.site-foot{margin-top:clamp(3.5rem,9vw,5rem);padding-top:1.05rem;border-top:1px solid var(--rule)}.site-foot .visitor{margin:0}.site-foot .foot-meta,.site-foot nav{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem 1.1rem}.site-foot .foot-meta{margin-top:.8rem}.site-foot .copyright{opacity:.72}.site-foot .visitor img{height:1.75em;width:auto;vertical-align:-.51em}.draft-tag,.soon-tag{font-family:var(--mono);font-style:normal;font-size:var(--label-sm);letter-spacing:var(--track-label);color:var(--accent);border:1px solid var(--rule);border-radius:3px;padding:.1em .4em;margin-left:.5rem;vertical-align:.18em;white-space:nowrap}.soon-tag{color:var(--slate)}.post-meta .draft-tag{font-size:inherit;letter-spacing:inherit;vertical-align:baseline}
