:root{--bg:#fbfaf7;--surface:#fff;--text:#1c1b19;--muted:#6b675f;--line:#e7e3da;--accent:#3d4bd8;--accent-soft:#eef0ff;--accent-text:#fff;--tldr:#fff7e6;--tldr-line:#f0c46a;--radius:14px;--wrap:1120px;--narrow:740px;--font:"Onest", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}@media (prefers-color-scheme:dark){:root{--bg:#131312;--surface:#1c1c1a;--text:#ecebe6;--muted:#a19d94;--line:#2e2d2a;--accent:#8d97ff;--accent-soft:#23264a;--accent-text:#0f1023;--tldr:#2a2415;--tldr-line:#8a6a24}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font:17px/1.65 var(--font);-webkit-font-smoothing:antialiased;margin:0}a{color:var(--accent);text-underline-offset:3px}a:hover{text-decoration-thickness:2px}img{max-width:100%;height:auto}h1,h2,h3{letter-spacing:-.02em;margin:1.6em 0 .5em;line-height:1.2}h1{margin-top:.3em;font-size:clamp(30px,5vw,46px);font-weight:800}h2{font-size:clamp(23px,3vw,29px);font-weight:700}h3{font-size:20px;font-weight:650}.muted{color:var(--muted)}.small{font-size:14px}.wrap{max-width:var(--wrap);margin:0 auto;padding:0 16px}.narrow{max-width:var(--narrow)}main{padding-bottom:48px}.btn{background:var(--accent);color:var(--accent-text);white-space:nowrap;border:2px solid var(--accent);border-radius:999px;padding:12px 22px;font-weight:600;text-decoration:none;display:inline-block}.btn:hover{filter:brightness(1.08)}.btn-small{padding:7px 16px;font-size:15px}.btn-ghost{color:var(--accent);background:0 0}.site-header{border-bottom:1px solid var(--line);background:var(--surface);z-index:10;position:sticky;top:0}.header-row{align-items:center;gap:24px;min-height:64px;display:flex}.logo{color:var(--text);margin:0;font-size:20px;font-weight:800;text-decoration:none}.logo-mark{color:var(--accent);margin-right:6px}.site-header nav{flex:1;overflow-x:auto}.site-header ul{gap:20px;margin:0;padding:0;list-style:none;display:flex}.site-header nav a{color:var(--muted);white-space:nowrap;font-weight:500;text-decoration:none}.site-header nav a:hover,.site-header nav a[aria-current]{color:var(--text)}.site-footer{border-top:1px solid var(--line);background:var(--surface);padding:40px 0 24px}.footer-grid{grid-template-columns:2fr 1fr 1fr;gap:32px;margin-bottom:24px;display:grid}.footer-title{margin:0 0 8px;font-weight:700}.site-footer ul{margin:0;padding:0;list-style:none}.site-footer li{margin:4px 0}.site-footer a{color:var(--muted);text-decoration:none}.site-footer a:hover{color:var(--text)}.hero{padding-top:64px;padding-bottom:24px}.hero h1{max-width:820px}.lead{color:var(--muted);max-width:680px;font-size:20px}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.section-title{margin-top:56px;font-size:24px}.cats{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}.cat{border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);color:var(--text);flex-direction:column;gap:4px;padding:16px 18px;text-decoration:none;display:flex}.cat:hover{border-color:var(--accent)}.grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px}.card h3{margin:8px 0;font-size:19px}.card h3 a{color:var(--text);text-decoration:none}.card h3 a:hover{color:var(--accent)}.card p{margin:6px 0}.card-cat{color:var(--accent);background:var(--accent-soft);border-radius:999px;padding:3px 10px;font-size:13px;font-weight:600;text-decoration:none;display:inline-block}.breadcrumbs ol{color:var(--muted);flex-wrap:wrap;gap:6px;margin:20px 0 8px;padding:0;font-size:14px;list-style:none;display:flex}.breadcrumbs li+li:before{content:"›";margin-right:6px}.breadcrumbs a{color:var(--muted)}.article{max-width:var(--narrow)}.article-head h1{margin-top:12px}.article-meta a{color:var(--muted)}.tldr{background:var(--tldr);border-left:4px solid var(--tldr-line);border-radius:0 var(--radius) var(--radius) 0;margin:24px 0;padding:16px 20px}.tldr-title,.toc-title{margin:0 0 6px;font-weight:700}.tldr ul{margin:0;padding-left:20px}.toc{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:16px 20px}.toc ol{margin:0;padding-left:22px}.toc a{color:var(--text);text-decoration:none}.toc a:hover{color:var(--accent)}.prose h2{scroll-margin-top:80px}.prose table{border-collapse:collapse;width:100%;margin:20px 0;font-size:15px;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:9px 12px}.prose th{background:var(--surface)}.prose .contains-task-list{padding-left:4px;list-style:none}.prose .task-list-item input{accent-color:var(--accent);margin-right:8px}.prose blockquote{border-left:4px solid var(--accent);background:var(--accent-soft);border-radius:0 var(--radius) var(--radius) 0;margin:20px 0;padding:12px 20px}.prose blockquote p{margin:4px 0}.prose code{background:var(--accent-soft);border-radius:6px;padding:1px 6px;font-size:.92em}.prose pre{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);white-space:pre-wrap;padding:16px;overflow-x:auto}.prose pre code{background:0 0;padding:0}.cta{background:var(--accent-soft);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:20px;margin:32px 0;padding:20px 24px;display:flex}.cta-title{margin:0;font-size:18px;font-weight:700}.cta-text{color:var(--muted);margin:4px 0 0}.faq details{border-bottom:1px solid var(--line);padding:12px 0}.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0}.sources ol{padding-left:22px;font-size:15px}.author-box{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);gap:16px;margin:40px 0 0;padding:20px;display:flex}.avatar{background:var(--accent);width:56px;height:56px;color:var(--accent-text);border-radius:50%;flex:none;place-items:center;font-size:24px;font-weight:800;display:grid}.author-name{margin:0;font-weight:700}.author-box p{margin:4px 0}@media (width<=720px){body{font-size:16px}.header-row{flex-wrap:wrap;gap:12px;padding-top:8px;padding-bottom:8px}.site-header nav{flex-basis:100%;order:3}.header-row .btn-small{margin-left:auto}.footer-grid{grid-template-columns:1fr}.hero{padding-top:40px}.cta{flex-direction:column;align-items:flex-start}}
