:root{color-scheme:light;--background: #fdfdfb;--surface: #ffffff;--surface-muted: #f6f8fa;--text: #202124;--text-muted: #667085;--border: #d0d7de;--link: #0969da;--link-hover: #054da7;--code-background: #f6f8fa;--shadow: 0 16px 48px rgb(27 31 36 / 8%);--content-width: 760px;--wide-width: 980px}:root[data-theme=dark]{color-scheme:dark;--background: #0d1117;--surface: #161b22;--surface-muted: #161b22;--text: #e6edf3;--text-muted: #8b949e;--border: #30363d;--link: #58a6ff;--link-hover: #79c0ff;--code-background: #0d1117;--shadow: none}*{box-sizing:border-box}html{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--background);color:var(--text)}body{margin:0;font-size:1.05rem;line-height:1.7}a{color:var(--link);text-decoration-thickness:.08em;text-underline-offset:.18em}a:hover{color:var(--link-hover)}.site-header,.site-footer,main{width:min(var(--wide-width),calc(100% - 2rem));margin-inline:auto}.site-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.2rem 0;border-bottom:1px solid var(--border)}.site-title{color:var(--text);font-size:1.25rem;font-weight:700;text-decoration:none}.site-header nav,.site-footer nav{display:flex;flex-wrap:wrap;align-items:center;gap:1rem}.site-header nav a,.site-footer nav a{color:var(--text-muted);text-decoration:none}.site-header nav a:hover,.site-footer nav a:hover{color:var(--text)}.theme-toggle{background:none;border:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;padding:0;line-height:1}.theme-toggle:hover{color:var(--text)}.icon-sun{display:none}.icon-moon{display:block}:root[data-theme=dark] .icon-sun{display:block}:root[data-theme=dark] .icon-moon{display:none}main{padding:3rem 0 1.5rem}.hero,.page,.post,.post-list,.archive-link{width:min(var(--content-width),100%);margin-inline:auto}.hero{margin-bottom:2.5rem}h1,h2,h3{line-height:1.2}h1{font-size:clamp(2.1rem,5vw,3.4rem);letter-spacing:-.04em;margin:0 0 1rem}h2{font-size:clamp(1.45rem,3vw,2rem);margin-top:2.5rem}p,ul,ol,pre,blockquote{margin-block:0 1.25rem}img{max-width:100%;height:auto;border-radius:.5rem}.post-list{list-style:none;margin:0 auto;padding:0}.archive-list{list-style:none;margin:0;padding:0}.post-list li{padding:1.5rem 0}.post-list h2{margin:.2rem 0 .5rem}.post-list h2 a,.archive-list a{color:var(--text);text-decoration:none}.post-list h2 a:hover,.archive-list a:hover{color:var(--link)}time,.post-meta{color:var(--text-muted);font-size:.92rem}.archive-year{margin-top:2rem}.archive-list li{display:grid;grid-template-columns:9rem 1fr;gap:1rem;padding:.45rem 0;border-bottom:1px solid color-mix(in srgb,var(--border) 65%,transparent)}.archive-link,.comments-disabled{color:var(--text-muted)}.post-header{margin-bottom:2.5rem}blockquote{border-left:4px solid var(--border);color:var(--text-muted);padding-left:1rem}.note{background:var(--surface-muted);border:1px solid var(--border);border-left:4px solid var(--link);border-radius:.5rem;margin-block:0 1.25rem;padding:.75rem 1rem}.note>:last-child{margin-bottom:0}code{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.92em}:not(pre)>code{background:var(--surface-muted);border:1px solid var(--border);border-radius:.3rem;padding:.1rem .3rem}pre{background:var(--code-background)!important;border:1px solid var(--border);border-radius:.75rem;box-shadow:var(--shadow);font-size:.92rem;line-height:1.55;overflow-x:auto;padding:1rem}pre code{background:transparent}:root[data-theme=dark] .astro-code{background-color:var(--shiki-dark-bg)!important;color:var(--shiki-dark)!important}:root[data-theme=dark] .astro-code span{color:var(--shiki-dark)!important}.expressive-code{margin-block:1.5rem}.site-footer{border-top:1px solid var(--border);color:var(--text-muted);display:grid;gap:1rem;padding:2rem 0 3rem}.site-footer strong{color:var(--text);display:block}.license{font-size:.9rem}.comments{border-top:1px solid var(--border);margin-top:3rem;padding-top:0}@media(max-width:650px){.site-header{align-items:flex-start;flex-direction:column}.archive-list li{grid-template-columns:1fr;gap:.1rem}}
