@font-face{font-family:MonaspaceXenon;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/monaspace-xenon-latin-400.woff2)format("woff2")}:root{color-scheme:dark;--color-bg:#0c0c0c;--color-surface:#161616;--color-surface-raised:#1f1f1f;--color-border:#2e2e2e;--color-text:#f3f3f3;--color-text-muted:#b4b4b4;--color-focus:#fff;--color-selection:#3a3a3a;--font-serif-mono:MonaspaceXenon, ui-monospace, "Courier New", monospace;--space-4:4px;--space-8:8px;--space-12:12px;--space-16:16px;--space-24:24px;--space-32:32px;--space-48:48px;--space-72:72px;--column:44rem}*,:before,:after{box-sizing:border-box}@keyframes fade-in{0%{opacity:0}to{opacity:1}}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-serif-mono);font-synthesis:none;font-variant-ligatures:none;margin:0;font-size:17px;font-weight:400;line-height:1.65;animation:.8s both fade-in}h1,h2,h3,p{overflow-wrap:break-word}h1{margin:0 0 var(--space-16);letter-spacing:0;font-size:32px;font-weight:400;line-height:1.25}h2{margin:0 0 var(--space-16);letter-spacing:0;font-size:22px;font-weight:400;line-height:1.35}h3{margin:var(--space-24) 0 var(--space-8);font-size:17px;font-weight:400}p,ul,ol{margin:0 0 var(--space-16)}a{color:var(--color-text-muted);text-underline-offset:.18em;text-decoration-color:currentColor;text-decoration-thickness:1px}a:hover{filter:brightness(1.35);text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}::selection{background:var(--color-selection);color:var(--color-text)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{top:var(--space-8);left:var(--space-8);z-index:2;padding:var(--space-8) var(--space-12);background:var(--color-surface-raised);color:var(--color-text);text-decoration:none;position:absolute;transform:translateY(-150%)}.skip-link:focus,.skip-link:focus-visible{transform:none}.site-header__inner,.site-footer__inner,main{width:min(100% - var(--space-32), var(--column));margin-inline:auto}.site-header__inner{align-items:stretch;gap:var(--space-32);padding-block:var(--space-32) var(--space-24);flex-direction:column;display:flex}.site-identity{color:var(--color-text);letter-spacing:0;margin:0;font-size:clamp(22px,4.8vw,36px);font-weight:400;line-height:1.25;text-decoration:none;display:block}.site-identity:hover{filter:brightness(1.12)}.tagline{margin:calc(var(--space-16) * -1) 0 0;color:var(--color-text-muted);font-size:15px;line-height:1.45}.tagline__line{min-height:1.45em;display:block}.site-header__bar{justify-content:space-between;align-items:baseline;gap:var(--space-12) var(--space-24);flex-wrap:wrap;display:flex}.site-footer{padding-bottom:var(--space-48)}.site-footer__inner{justify-content:space-between;align-items:center;gap:var(--space-12) var(--space-24);padding-top:var(--space-24);border-top:1px solid var(--color-border);flex-wrap:wrap;display:flex}.site-nav,.language-switcher ul,.footer-nav,.contact-list{gap:var(--space-8) var(--space-16);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.site-nav,.language-switcher ul{gap:var(--space-8) 20px}.site-nav a,.language-switcher a,.language-switcher [aria-current=true]{color:var(--color-text-muted);letter-spacing:.16em;text-transform:uppercase;font-size:12px;line-height:1.4;text-decoration:none}.site-nav a[aria-current=page],.language-switcher [aria-current=true]{color:var(--color-text);text-underline-offset:.28em;text-decoration:underline 1px}.site-nav a:hover,.language-switcher a:hover,.footer-nav a:hover,.contact-list a:hover,.content-card h2 a:hover,.back-link:hover{filter:brightness(1.35);text-underline-offset:.22em;text-decoration:underline}.footer-nav a,.back-link{color:var(--color-text-muted);text-decoration:none}main{padding-bottom:var(--space-72)}.lede{margin-bottom:var(--space-8)}.section{margin-top:var(--space-48)}.date,.preview-label,.meta-flag{color:var(--color-text-muted);font-size:13px}.preview-label{margin:0}.contact-list{flex-direction:column;align-items:flex-start;gap:0}.contact-list a{min-height:44px;color:var(--color-text-muted);align-items:center;gap:10px;text-decoration:none;display:inline-flex}.contact-list svg{flex:none;width:16px;height:16px;display:block}.content-card{padding-block:var(--space-24);border-top:1px solid var(--color-border)}.content-card h2{margin:0 0 var(--space-8);font-size:20px}.content-card h2 a{color:var(--color-text);text-decoration:none}.content-card p{margin:0 0 var(--space-12);color:var(--color-text-muted)}.content-card__footer{gap:var(--space-8) var(--space-16);flex-wrap:wrap;display:flex}.tiles{gap:var(--space-24);margin:var(--space-32) 0 0;grid-template-columns:repeat(3,1fr);padding:0;list-style:none;display:grid}.tile{padding-top:var(--space-16);border-top:1px solid var(--color-border);margin:0}.tile h2{margin:0 0 var(--space-8);font-size:17px}.tile p,.page-intro>p:last-child{margin-bottom:0}.prose :where(ul,ol){padding-left:var(--space-24)}.prose img{max-width:100%;height:auto}.prose pre{margin:0 0 var(--space-16);padding:var(--space-16);border:1px solid var(--color-border);background:var(--color-surface-raised);font-family:var(--font-serif-mono);font-size:14px;line-height:1.5;overflow-x:auto}.prose :not(pre)>code{font-family:var(--font-serif-mono);font-size:.92em}.prose blockquote{margin:0 0 var(--space-16);padding-left:var(--space-16);border-left:2px solid var(--color-border);color:var(--color-text-muted)}.prose table{width:100%;margin:0 0 var(--space-16);border-collapse:collapse;font-size:15px}.prose th,.prose td{padding:var(--space-8) var(--space-12);border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top}.prose li+li{margin-top:var(--space-8)}.post__header{margin-bottom:var(--space-32)}.post__description{color:var(--color-text-muted)}.back-link{margin-bottom:var(--space-16);font-size:13px;display:inline-block}@media (width<=48rem){h1{font-size:28px}.tagline{font-size:14px}.tiles{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
