:root{color-scheme:light;--bg:#fff;--surface:#f6f8fa;--text:#111827;--muted:#5f6b7a;--border:#e5e7eb;--accent:#2563eb;--accent-soft:#dbeafe;--code:#0f172a;--max:1120px;--read:720px}:root.dark{color-scheme:dark;--bg:#0b0f19;--surface:#111827;--text:#f8fafc;--muted:#a7b0bf;--border:#243044;--accent:#60a5fa;--accent-soft:#172554;--code:#e5e7eb}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);text-rendering:optimizelegibility;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:17px;line-height:1.75}a{color:inherit;text-decoration-color:color-mix(in srgb, var(--accent), transparent 45%);text-underline-offset:.18em}a:hover{color:var(--accent)}img{border-radius:14px;max-width:100%;height:auto}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.container{width:min(100% - 2rem, var(--max));margin-inline:auto}.reading{width:min(100% - 2rem, var(--read));margin-inline:auto}.skip-link{background:var(--text);color:var(--bg);z-index:10;padding:.5rem .75rem;position:absolute;top:1rem;left:-999px}.skip-link:focus{left:1rem}.site-header{border-bottom:1px solid var(--border);backdrop-filter:blur(14px);background:color-mix(in srgb, var(--bg), transparent 12%);z-index:3;position:sticky;top:0}.nav{justify-content:space-between;align-items:center;gap:1rem;min-height:68px;display:flex}.brand{letter-spacing:-.03em;font-weight:750;text-decoration:none}.nav-links{align-items:center;gap:1rem;font-size:.94rem;display:flex}.nav-links a{color:var(--muted);text-decoration:none}.nav-links a:hover{color:var(--text)}.theme-toggle{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:999px;padding:.35rem .6rem}main{padding-block:3rem}.hero{padding:4rem 0 3rem}.hero h1{letter-spacing:-.07em;max-width:900px;margin:0 0 1rem;font-size:clamp(2.4rem,8vw,5rem);line-height:.98}.hero p{max-width:680px;color:var(--muted);font-size:1.2rem}.section{padding-block:2rem}.section-head{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1rem;display:flex}.section h2{letter-spacing:-.04em;margin:0;font-size:clamp(1.5rem,4vw,2.2rem)}.grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.post-card{border:1px solid var(--border);background:var(--bg);border-radius:18px;padding:1.1rem}.post-card h3{letter-spacing:-.03em;margin:.35rem 0;line-height:1.25}.post-card p{color:var(--muted);margin:.4rem 0 0}.meta,.tags{color:var(--muted);flex-wrap:wrap;gap:.45rem .75rem;font-size:.9rem;display:flex}.tag,.category-pill{border:1px solid var(--border);border-radius:999px;padding:.15rem .55rem;font-size:.85rem;text-decoration:none;display:inline-flex}.category-grid{flex-wrap:wrap;gap:.7rem;display:flex}.article-header{border-bottom:1px solid var(--border);padding-bottom:2rem}.article-header h1{letter-spacing:-.065em;margin:.7rem 0 1rem;font-size:clamp(2.2rem,7vw,4.6rem);line-height:1}.article-layout{grid-template-columns:minmax(0,1fr) 240px;align-items:start;gap:3rem;display:grid}.toc{color:var(--muted);font-size:.9rem;position:sticky;top:96px}.toc strong{color:var(--text)}.toc ul{margin:.5rem 0 0;padding:0;list-style:none}.toc a{text-decoration:none}.prose{font-size:1.05rem}.prose h2,.prose h3,.prose h4{letter-spacing:-.035em;margin-top:2.2em;line-height:1.25}.prose h2{font-size:1.9rem}.prose p,.prose ul,.prose ol{margin-block:1.1rem}.prose blockquote{border-left:4px solid var(--accent);color:var(--muted);margin-inline:0;padding-left:1rem}.prose code:not(pre code){background:var(--surface);border-radius:6px;padding:.15rem .35rem;font-size:.9em}.prose pre{border:1px solid var(--border);border-radius:14px;padding:1rem;overflow-x:auto}.prose figure{margin:2rem 0}.prose figcaption{color:var(--muted);text-align:center;font-size:.9rem}.article-footer{border-top:1px solid var(--border);margin-top:3rem;padding-top:2rem}.prev-next{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.search-box{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);font:inherit;border-radius:14px;padding:.9rem 1rem}.footer{border-top:1px solid var(--border);color:var(--muted);padding:2rem 0}.footer .container{flex-wrap:wrap;justify-content:space-between;gap:1rem;display:flex}@media (width<=860px){.grid,.article-layout,.prev-next{grid-template-columns:1fr}.toc{order:-1;position:static}.nav{align-items:start;padding-block:1rem}.nav-links{flex-wrap:wrap;justify-content:end}}
