:root{--ink:#000;--fg:#ededed;--body:#c9c9cf;--muted:#8f8f99;--line:#232328;--accent:#22d3ee;color-scheme:dark}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;font-family:system-ui,-apple-system,segoe ui,Roboto,helvetica neue,Arial,sans-serif;background:var(--ink);color:var(--body);line-height:1.6;-webkit-font-smoothing:antialiased}main,nav,footer{max-width:44rem;margin:0 auto;padding:0 1.25rem}main{overflow-wrap:break-word}main>:first-child{margin-top:2rem}nav{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem 1rem;padding-top:1.5rem}nav a{color:var(--muted)}nav .site-title{margin-right:auto;color:var(--fg);font-weight:600}nav.sticky{position:sticky;top:0;z-index:1;background:var(--ink);padding-bottom:1rem}html:has(nav.sticky){scroll-padding-top:5rem}footer{color:var(--muted);font-size:.875rem;padding:3rem 1.25rem}h1,h2,h3,h4,h5,h6{color:var(--fg);line-height:1.25;letter-spacing:-.02em;margin:2rem 0 .75rem}h1{font-size:2rem}h2{font-size:1.375rem}h3{font-size:1.125rem}h4,h5,h6{font-size:1rem}p{margin:1rem 0}a{color:var(--accent);text-decoration:none}a:hover,a:focus{text-decoration:underline;text-underline-offset:.2em}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}::selection{background:rgba(34,211,238,.3);color:var(--fg)}ul,ol{padding-left:1.25rem}li{margin:.35rem 0}code,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,liberation mono,monospace}code{padding:.1em .35em;background:rgba(255,255,255,8%);border-radius:4px;font-size:.9em;color:inherit}pre{margin:1.25rem 0;padding:1rem;border-radius:8px;overflow-x:auto;background:#0e0e11;border:1px solid var(--line);line-height:1.5;tab-size:4}pre code{padding:0;background:0 0;border-radius:0;font-size:.875rem}blockquote{margin:1.5rem 0;border-left:2px solid var(--line);padding-left:1rem;color:var(--muted)}table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;margin:1.5rem 0}th,td{border:1px solid var(--line);padding:.4rem .75rem;text-align:left}th{color:var(--fg)}img{max-width:100%;height:auto;border-radius:8px}figure{margin:1.5rem 0}figcaption{color:var(--muted);font-size:.875rem}hr{border:0;border-top:1px solid var(--line);margin:2rem 0}.meta{color:var(--muted);font-size:.875rem}.back{margin-top:2.5rem}