:root{color-scheme:light;--bg: #fbfbfa;--surface: #ffffff;--surface-muted: #f1f1ef;--text: #141414;--muted: #686866;--border: #d8d8d2;--accent: #0b7a4b;--accent-strong: #065f39;--code-bg: #f4f4f1}:root[data-theme=dark]{color-scheme:dark;--bg: #05070a;--surface: #0b0f14;--surface-muted: #111821;--text: #d7e2ee;--muted: #7e8b98;--border: #25313d;--accent: #55d88a;--accent-strong: #9ff0bf;--code-bg: #0a1118}*{box-sizing:border-box}html{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;background:var(--bg);color:var(--text)}body{min-width:320px;margin:0;background:var(--bg)}a{color:inherit;text-decoration-color:color-mix(in srgb,var(--accent) 72%,transparent);text-underline-offset:.2em}a:hover{color:var(--accent-strong)}img{display:block;max-width:100%}.page{width:min(880px,calc(100% - 40px));margin:0 auto}.site-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0 18px;border-bottom:1px solid var(--border)}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--text);font-size:15px;font-weight:700;text-decoration:none}.brand-mark{width:14px;height:14px;border:1px solid var(--accent);border-radius:2px;background:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)}.nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.nav a,.theme-toggle{min-height:34px;padding:7px 9px;border:1px solid transparent;border-radius:4px;color:var(--muted);font:inherit;font-size:13px;background:transparent;cursor:pointer;text-decoration:none}.nav a:before{content:"./";color:var(--accent)}.nav a[href="/rss.xml"]:before{content:""}.nav a:hover,.theme-toggle:hover{border-color:var(--border);color:var(--text);background:var(--surface-muted)}.terminal{padding:86px 0 54px}.prompt{margin:0 0 16px;color:var(--accent);font-size:14px;line-height:1.45}.prompt:before{content:""}h1,h2,h3{margin:0;line-height:1.15;letter-spacing:0}h1{max-width:760px;font-size:clamp(36px,7vw,76px);font-weight:800}h2{font-size:clamp(24px,4vw,36px)}h3{font-size:22px}.lead{max-width:760px;margin:22px 0 0;color:var(--muted);font-size:clamp(16px,2vw,20px);line-height:1.7}.terminal-links{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:26px 0 0;color:var(--muted);font-size:14px}.terminal-links a{padding:4px 0}.section{padding:34px 0;border-top:1px solid var(--border)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}.section-head p:not(.prompt){max-width:620px;margin:10px 0 0;color:var(--muted);line-height:1.65}.meta,.tags{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:13px}.tag{display:inline-flex;align-items:center;min-height:24px;padding:2px 7px;border:1px solid var(--border);border-radius:4px;color:var(--muted);background:var(--surface-muted);font-size:12px}.tag:before{content:"#";color:var(--accent)}.post-list{display:grid;border-top:1px solid var(--border)}.post-row{display:grid;grid-template-columns:112px minmax(0,1fr);gap:22px;padding:18px 0;border-bottom:1px solid var(--border);color:var(--text);text-decoration:none}.post-row:hover{color:var(--text);background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 7%,transparent),transparent)}.post-row time{color:var(--accent);font-size:13px;line-height:1.6;white-space:nowrap}.post-row h2{font-size:20px;font-weight:700}.post-row p{margin:8px 0 12px;color:var(--muted);line-height:1.65}.article{width:min(780px,calc(100% - 40px));margin:0 auto;padding:58px 0 24px}.article h1{font-size:clamp(34px,6vw,62px)}.prose{color:var(--text);font-size:17px;line-height:1.78}.prose h2{margin-top:42px;font-size:28px}.prose h3{margin-top:30px;font-size:22px}.prose p,.prose ul,.prose ol{margin:18px 0}.prose li+li{margin-top:8px}.prose code:not(pre code){padding:2px 5px;border:1px solid var(--border);border-radius:4px;background:var(--code-bg);font-size:.9em}.prose pre{padding:18px;border:1px solid var(--border);border-radius:6px;overflow-x:auto;background:var(--code-bg)!important}.site-footer{margin-top:42px;padding:24px 0 40px;border-top:1px solid var(--border);color:var(--muted);font-size:13px}@media(max-width:700px){.site-header,.section-head{align-items:flex-start;flex-direction:column}.terminal{padding-top:48px}.post-row{grid-template-columns:1fr;gap:8px}}
