:root{color-scheme:light dark; --bg:#ffffff; --fg:#0f0f0f; --muted:#666666; --line:rgba(15,15,15,0.12); --accent:#0f0f0f}@media (prefers-color-scheme:dark){:root{ --bg:#0f0f0f; --fg:#f7f7f2; --muted:#a7a7a0; --line:rgba(247,247,242,0.13); --accent:#f7f7f2}} *{box-sizing:border-box}html,body{margin:0;min-height:100%}body{background:var(--bg);color:var(--fg);font:16px/1.5 "Avenir Next","Segoe UI",system-ui,-apple-system,sans-serif;text-rendering:optimizeLegibility; -webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.article-page{display:grid;gap:clamp(44px,6vw,88px);margin:0;max-width:none;min-height:100vh;padding:clamp(18px,2.2vw,28px) 0 clamp(64px,8vw,104px)}.eyebrow{color:var(--muted);font-size:13px;font-weight:600;letter-spacing:0;margin:0}h1{font-family:inherit;font-size:clamp(54px,8vw,108px);font-weight:560;letter-spacing:0;line-height:0.94;margin:0}.summary,.lead{color:var(--muted);font-size:clamp(20px,2.2vw,26px);line-height:1.35;margin:0;max-width:48ch}.article-list{border-top:1px solid var(--line);display:grid}.article-link{border-bottom:1px solid var(--line);display:grid;gap:6px;padding:18px 0}.article-link:hover.article-title{color:var(--accent)}.article-title{font-size:24px;font-weight:650;line-height:1.15}.article-date{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}.article-desc{color:var(--muted);max-width:62ch}.article{display:grid;gap:clamp(34px,5vw,72px);margin:0 auto;max-width:820px;padding:0 clamp(18px,4.5vw,56px);width:100%}.article-hero{display:grid;gap:18px}.article-meta{color:var(--muted);font-size:15px;margin:0}.body{display:grid;gap:20px;font-size:clamp(18px,1.45vw,21px);line-height:1.62}.body p{margin:0}.body.lead{color:var(--fg);font-size:clamp(22px,2.2vw,30px);line-height:1.35;max-width:none}code{background:color-mix(in oklab,var(--bg),var(--fg) 7%);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:0.92em;padding:1px 4px}pre{background:color-mix(in oklab,var(--bg),var(--fg) 5%);margin:0;overflow:auto;padding:18px}pre code{background:transparent;padding:0}@media (min-width:1180px){.article{margin-left:clamp(18px,13vw,220px);margin-right:auto}}
