:root { --ink:#1a2332; --muted:#5a6577; --accent:#005eb8; --accent-dark:#00437f; --panel:#f4f7fb; --border:#d9e1ec; --warn:#b45309; }
* { box-sizing:border-box; }
body { margin:0; background:#fff; color:var(--ink); font:16px/1.65 "Segoe UI",-apple-system,"Helvetica Neue",Arial,sans-serif; }
.page { max-width:820px; margin:0 auto; padding:48px 32px 96px; }
header.doc { border-bottom:4px solid var(--accent); padding-bottom:20px; margin-bottom:32px; }
.kicker { color:var(--accent); font-weight:600; letter-spacing:.12em; text-transform:uppercase; font-size:13px; }
h1 { font-size:30px; margin:8px 0 10px; }
.meta { color:var(--muted); font-size:14px; }
h2 { font-size:20px; margin:36px 0 10px; color:var(--accent-dark); border-top:1px solid var(--border); padding-top:12px; }
a { color:var(--accent); }
table { border-collapse:collapse; width:100%; margin:14px 0; font-size:15px; }
th,td { border:1px solid var(--border); padding:8px 12px; text-align:left; vertical-align:top; }
th { background:var(--panel); font-weight:600; }
.callout { background:var(--panel); border-left:4px solid var(--accent); padding:12px 18px; border-radius:0 8px 8px 0; margin:16px 0; }
.callout.warn { border-left-color:var(--warn); background:#fdf6ec; }
code { font-family:"SF Mono",Menlo,Consolas,monospace; font-size:.9em; background:var(--panel); padding:1px 5px; border-radius:4px; }
@media (max-width:600px) { .page { padding:28px 16px 64px; } h1 { font-size:24px; } table { font-size:14px; } th,td { padding:6px 8px; } }
@media print { .page { padding:0; max-width:none; } h2 { break-after:avoid; } }
