:root { --brand:#2563eb; --brand2:#38bdf8; --ink:#0f172a; --ink2:#475569; --line:#e2e8f0; }
* { box-sizing:border-box; }
body { margin:0; font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif; color:var(--ink);
  background:#f8fafc; line-height:1.65; }
.top { background:#fff; border-bottom:1px solid var(--line); }
.top .in { max-width:1000px; margin:0 auto; padding:16px 24px; display:flex; align-items:center; gap:10px; }
.top a.logo { display:flex; align-items:center; gap:10px; text-decoration:none; color:inherit; }
.top img { width:30px; height:30px; }
.brand { font-weight:800; font-size:1.1rem; letter-spacing:-.02em; }
.brand b { color:var(--brand); font-weight:800; }
.wrap { max-width:1000px; margin:0 auto; padding:32px 24px 80px; display:grid;
  grid-template-columns:240px 1fr; gap:36px; }
nav.side { position:sticky; top:24px; align-self:start; font-size:.92rem; }
nav.side a { display:block; padding:8px 12px; border-radius:8px; color:var(--ink2); text-decoration:none; }
nav.side a:hover { background:#eef2ff; color:var(--brand); }
nav.side a.on { background:var(--brand); color:#fff; font-weight:600; }
nav.side .back { margin-top:14px; font-size:.86rem; }
article { background:#fff; border:1px solid var(--line); border-radius:14px; padding:40px 44px;
  box-shadow:0 1px 3px rgba(15,23,42,.05); }
article h1 { font-size:1.7rem; margin:0 0 6px; }
article .upd { color:#94a3b8; font-size:.85rem; margin-bottom:26px; }
article h2 { font-size:1.15rem; margin:30px 0 10px; padding-top:8px; }
article h3 { font-size:1rem; margin:20px 0 8px; }
article p, article li { color:var(--ink2); }
article ul { padding-left:20px; }
article a { color:var(--brand); }
article table { border-collapse:collapse; width:100%; margin:12px 0; font-size:.92rem; }
article th, article td { border:1px solid var(--line); padding:8px 10px; text-align:left; vertical-align:top; }
article th { background:#f8fafc; }
.note { background:#eff6ff; border:1px solid #bfdbfe; border-radius:10px; padding:14px 16px;
  font-size:.9rem; color:#1e3a8a; margin:18px 0; }
footer { text-align:center; color:#94a3b8; font-size:.85rem; padding:24px; }
@media (max-width:760px){ .wrap{ grid-template-columns:1fr; } nav.side{ position:static; } article{ padding:28px 22px; } }
