:root{color-scheme:light;--bg: #f7f8fa;--surface: #ffffff;--surface-muted: #eef2f6;--text: #17202a;--muted: #5f6b7a;--border: #d9e0e8;--accent: #1f6feb;--accent-strong: #174ea6;--code-bg: #f1f5f9;--max-width: 1120px;--content-width: 760px}*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text);font-size:16px;line-height:1.6}body{margin:0;min-width:320px}a{color:var(--accent);text-decoration-thickness:.08em;text-underline-offset:.18em}a:hover{color:var(--accent-strong)}img{display:block;max-width:100%;height:auto}code,pre{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,ui-monospace,monospace}pre{overflow-x:auto;border:1px solid var(--border);border-radius:8px;padding:1rem;background:var(--code-bg)}:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:3px}.site-shell{min-height:100dvh;display:flex;flex-direction:column}.site-header{border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface) 92%,transparent);position:sticky;top:0;z-index:20;backdrop-filter:blur(14px)}.nav{width:min(100% - 32px,var(--max-width));margin:0 auto;min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{color:var(--text);font-weight:700;text-decoration:none}.nav-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.25rem 1rem}.nav-links a{color:var(--muted);font-size:.95rem;text-decoration:none}.nav-links a:hover,.nav-links a[aria-current=page]{color:var(--text)}.main{width:min(100% - 32px,var(--max-width));margin:0 auto;flex:1;padding:56px 0 72px}.site-footer{border-top:1px solid var(--border);color:var(--muted);padding:28px 0}.site-footer-inner{width:min(100% - 32px,var(--max-width));margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}.hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:48px;align-items:start;padding:24px 0 56px}.eyebrow{color:var(--accent-strong);font-size:.9rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}h1,h2,h3{line-height:1.2;letter-spacing:0}h1{max-width:780px;margin:.35rem 0 1rem;font-size:clamp(2.2rem,7vw,4.25rem)}h2{margin:0 0 1rem;font-size:clamp(1.6rem,4vw,2.25rem)}h3{margin:0 0 .5rem;font-size:1.2rem}.lead{max-width:720px;color:var(--muted);font-size:1.15rem}.panel{border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:24px}.panel ul{margin:1rem 0 0;padding-left:1.2rem}.section{padding:36px 0}.section-header{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:18px}.section-header p{max-width:620px;margin:0;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.list{display:grid;gap:16px}.card{border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:22px}.card h3 a,.article-title a{color:var(--text);text-decoration:none}.card p,.article-summary{color:var(--muted);margin:.5rem 0 0}.meta{display:flex;flex-wrap:wrap;gap:.4rem .75rem;color:var(--muted);font-size:.92rem}.tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.tag{border:1px solid var(--border);border-radius:999px;color:var(--muted);background:var(--surface-muted);padding:.18rem .65rem;font-size:.85rem;text-decoration:none}.article-list-item{border-bottom:1px solid var(--border);padding:20px 0}.article-list-item:first-child{padding-top:0}.article-list-item:last-child{border-bottom:0}.article-page{width:min(100%,var(--content-width));margin:0 auto}.article-page header{margin-bottom:36px}.article-page h1{font-size:clamp(2rem,6vw,3.4rem)}.prose{font-size:1.04rem}.prose h2{margin-top:2.4rem}.prose h3{margin-top:1.8rem}.prose table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse}.prose th,.prose td{border:1px solid var(--border);padding:.55rem .75rem;text-align:left}.callout{border-left:4px solid var(--accent);background:var(--surface);padding:1rem 1.25rem;border-radius:0 8px 8px 0}.empty{border:1px dashed var(--border);border-radius:8px;color:var(--muted);padding:28px}@media (max-width: 860px){.hero,.grid{grid-template-columns:1fr}}@media (max-width: 640px){.nav{align-items:flex-start;flex-direction:column;padding:14px 0}.nav-links{justify-content:flex-start}.main{padding-top:36px}.section-header{align-items:flex-start;flex-direction:column}}
