:root{--ink:#1f2a37;--ink2:#5b6676;--line:#e5e8ec;--bg:#f7f8fa;--blue:#2563eb;--red:#b91c1c;--amber:#b45309;--green:#15803d;--card:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.5;font-size:16px}
header.top{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
header.top .in{max-width:1040px;margin:0 auto;padding:10px 20px;display:flex;gap:18px;align-items:center;flex-wrap:wrap}
header.top b{font-size:15px;letter-spacing:.02em}header.top a{color:var(--ink2);text-decoration:none;font-size:14px}header.top a.on,header.top a:hover{color:var(--blue)}
main{max-width:1040px;margin:0 auto;padding:24px 20px 80px}
h1{font-size:30px;line-height:1.15;margin:8px 0 6px}h2{font-size:22px;margin:40px 0 8px;padding-top:12px;border-top:2px solid var(--ink)}h3{font-size:16px;margin:18px 0 6px;color:var(--ink)}
p{margin:8px 0}.lead{font-size:18px;color:var(--ink2)}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:16px 18px;margin:14px 0}
figure{margin:14px 0;background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px}figure figcaption{font-size:13px;color:var(--ink2);padding:6px 8px 2px}
svg.spec{width:100%;height:auto;display:block}
.spec .trace{fill:none;stroke:#0000ff;stroke-width:1.1}.spec .grid{stroke:#eef0f3}.spec .frame{fill:none;stroke:#333;stroke-width:.8}
.spec .tick{font-size:11px;fill:#333;font-family:Arial,sans-serif}.spec .axis{font-size:12px;fill:#000;font-family:Arial,sans-serif}.spec .title{font-size:12px;fill:#000;font-family:Arial,sans-serif}.spec .hdr{font-size:11px;fill:#000;font-family:Arial,sans-serif}
.spec .order{stroke:#9ca3af;stroke-dasharray:3 3}.spec .olabel{font-size:11px;fill:#6b7280;font-family:Arial,sans-serif}.spec .mark{stroke:#d97706;stroke-dasharray:4 3}.spec .mlabel{font-size:11px;fill:#b45309;font-family:Arial,sans-serif}
table{border-collapse:collapse;width:100%;font-size:14.5px;margin:10px 0}th,td{border:1px solid var(--line);padding:7px 9px;vertical-align:top;text-align:left}th{background:#f1f3f6}
.tag{display:inline-block;font-size:12px;font-weight:700;padding:2px 8px;border-radius:999px;background:#eef2ff;color:#3730a3;margin-right:6px}
.tag.red{background:#fee2e2;color:#991b1b}.tag.amber{background:#fef3c7;color:#92400e}.tag.green{background:#dcfce7;color:#166534}
ul,ol{padding-left:22px}li{margin:4px 0}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:760px){.cols{grid-template-columns:1fr}}
.rule{border-left:4px solid var(--blue);padding:8px 14px;background:#eff6ff;border-radius:6px;margin:12px 0}
.warn{border-left:4px solid var(--red);padding:8px 14px;background:#fef2f2;border-radius:6px;margin:12px 0}
.quote{font-family:Georgia,serif;background:#fffbeb;border:1px solid #fde68a;padding:10px 14px;border-radius:8px;margin:10px 0;font-size:15px}
code{background:#eef0f3;padding:1px 5px;border-radius:4px;font-size:14px}
.toc{columns:2;column-gap:28px;font-size:15px}@media(max-width:760px){.toc{columns:1}}.toc li{break-inside:avoid}
.btn{display:inline-block;background:var(--blue);color:#fff;text-decoration:none;padding:10px 16px;border-radius:8px;font-weight:700;border:0;cursor:pointer;font-size:15px}.btn.sec{background:#fff;color:var(--ink);border:1px solid #cbd5e1}.btn:disabled{opacity:.5;cursor:default}
.small{font-size:13px;color:var(--ink2)}
img.real{width:100%;border:1px solid var(--line);border-radius:8px;background:#fff}
@media print{header.top{display:none}body{background:#fff}main{padding:0}}
