
:root{
  --bg:#f7f8fa;--paper:#fff;--ink:#17202a;--muted:#5f6b76;--line:#dfe4ea;
  --accent:#173f5f;--accent2:#0f6b7a;--max:920px
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.72 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
a{color:var(--accent2);text-decoration:none}
a:hover{text-decoration:underline}
.sitebar{background:#0f2538;color:#fff;border-bottom:1px solid #203a4f}
.sitebar .inner{max-width:var(--max);margin:auto;padding:14px 24px;display:flex;gap:20px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.brand{font-weight:800;letter-spacing:.08em;color:#fff}
.langs{display:flex;gap:8px;flex-wrap:wrap}
.langs a{color:#dbe8f2;border:1px solid #49657a;border-radius:999px;padding:4px 9px;font-size:13px}
.langs a.active{background:#fff;color:#173f5f;border-color:#fff}
main{max-width:var(--max);margin:34px auto 64px;padding:0 24px}
.article{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:clamp(24px,5vw,58px);box-shadow:0 12px 40px rgba(20,33,46,.06)}
.kicker{font-size:13px;text-transform:uppercase;letter-spacing:.12em;color:var(--accent2);font-weight:800}
h1{font-size:clamp(34px,5vw,56px);line-height:1.08;margin:.25em 0 .3em;letter-spacing:-.025em}
.byline{color:var(--muted);margin-bottom:32px}
.lead{font-size:1.08em;color:#253544}
h2{font-size:clamp(24px,3vw,32px);line-height:1.22;margin:2.15em 0 .6em;color:#173f5f}
p{margin:.85em 0}
.toc{margin:32px 0 40px;padding:18px 20px;border:1px solid var(--line);border-radius:12px;background:#fafcfd}
.toc summary{font-weight:800;cursor:pointer}
.toc ol{columns:2;column-gap:32px;padding-left:20px;margin-bottom:0}
.toc li{break-inside:avoid;margin:.35em 0;font-size:14px}
.callout{margin:28px 0;padding:18px 22px;border-left:4px solid var(--accent2);background:#f0f7f8;border-radius:0 10px 10px 0}
.final{font-size:1.12em;font-weight:750;margin-top:2em;padding:18px 22px;background:#eef4f8;border-radius:12px}
footer{max-width:var(--max);margin:0 auto 42px;padding:0 24px;color:var(--muted);font-size:14px}
@media(max-width:700px){body{font-size:16px}.toc ol{columns:1}.sitebar .inner{padding:12px 18px}main{padding:0 14px;margin-top:18px}.article{padding:24px 20px;border-radius:12px}}
@media print{body{background:#fff}.sitebar,.toc,footer{display:none}.article{border:0;box-shadow:none;padding:0}main{margin:0;max-width:none}a{color:inherit}}
