
:root{--ink:#1c1917;--muted:#57534e;--line:#e7e5e4;--bg:#fafaf9;--accent:#b45309;--card:#fff}
*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--bg);line-height:1.7;font-size:17px}
a{color:var(--accent)}header.top{background:var(--ink);color:#fff}header.top .in{max-width:1100px;margin:auto;padding:14px 20px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
header.top a{color:#fff;text-decoration:none;font-weight:700}header.top nav a{font-weight:500;margin-left:18px;opacity:.85;font-size:15px}
.wrap{max-width:1100px;margin:auto;padding:0 20px}.crumbs{font-size:14px;color:var(--muted);margin:22px 0 6px}.crumbs a{color:var(--muted)}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:48px}@media(max-width:960px){.layout{grid-template-columns:1fr}aside.side{display:none}}
article h1{font-size:clamp(30px,4vw,42px);line-height:1.15;margin:6px 0 12px;letter-spacing:-.02em}.meta{color:var(--muted);font-size:14px;margin-bottom:26px}
article h2{font-size:26px;margin:42px 0 12px;letter-spacing:-.01em}article h3{font-size:20px;margin:28px 0 8px}
article table{border-collapse:collapse;width:100%;margin:20px 0;font-size:15px;display:block;overflow-x:auto}article th,article td{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}article th{background:#f5f5f4}
article blockquote{margin:22px 0;padding:14px 18px;border-left:4px solid var(--accent);background:#fff7ed;border-radius:6px}
article code{background:#f5f5f4;padding:2px 6px;border-radius:4px;font-size:.9em}article pre{background:#1c1917;color:#f5f5f4;padding:16px;border-radius:8px;overflow:auto}article pre code{background:none;color:inherit}
.toc{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px 20px;position:sticky;top:20px;font-size:14px}.toc ol{padding-left:18px;margin:8px 0}.toc a{color:var(--ink);text-decoration:none}
.faq details{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px 18px;margin:10px 0}.faq summary{font-weight:600;cursor:pointer}
.author{display:flex;gap:16px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;margin:40px 0}.author .av{width:56px;height:56px;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800}
.related{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin:16px 0 40px}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px;text-decoration:none;color:var(--ink);display:block}.card:hover{border-color:var(--accent)}.card small{color:var(--muted)}
.ad{margin:28px 0;min-height:100px;text-align:center}.ad-label{font-size:11px;color:#a8a29e;text-transform:uppercase;letter-spacing:.08em}
.disclaimer{font-size:14px;color:var(--muted);background:#f5f5f4;border-radius:8px;padding:10px 14px}
.hub-hero{padding:40px 0 10px}.hub-hero h1{font-size:clamp(32px,5vw,48px);margin:0 0 8px;letter-spacing:-.02em}
footer.foot{background:var(--ink);color:#d6d3d1;margin-top:60px;font-size:14px}footer.foot .in{max-width:1100px;margin:auto;padding:28px 20px;display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between}footer.foot a{color:#d6d3d1;margin-right:16px}
