:root { --ink:#1f2937; --muted:#6b7280; --line:#e5e7eb; --brand:#2563eb; --brand-dark:#1e3a8a; --bg:#f9fafb; }
* { box-sizing: border-box; }
body { margin:0; font-family: system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; color:var(--ink); background:var(--bg); line-height:1.65; -webkit-font-smoothing:antialiased; }
header.site { background:#fff; border-bottom:1px solid var(--line); }
header.site .in { max-width:860px; margin:0 auto; padding:16px 20px; display:flex; justify-content:space-between; align-items:center; }
header.site a.brand { font-weight:700; font-size:1.25rem; color:var(--brand-dark); text-decoration:none; }
header.site a.back { color:var(--muted); text-decoration:none; font-size:.9rem; }
main { max-width:860px; margin:0 auto; padding:32px 20px 56px; }
article { background:#fff; border:1px solid var(--line); border-radius:14px; padding:28px 28px 34px; }
h1 { font-size:1.8rem; line-height:1.25; margin:0 0 6px; color:var(--brand-dark); }
h2 { font-size:1.15rem; margin:28px 0 8px; color:var(--brand-dark); }
p, li { font-size:.98rem; } p { margin:0 0 12px; } ul { margin:0 0 12px; padding-left:22px; } li { margin-bottom:6px; }
.meta { color:var(--muted); font-size:.85rem; margin-bottom:22px; }
.box { background:#f3f4f6; border:1px solid var(--line); border-radius:10px; padding:14px 16px; margin:0 0 16px; }
.box p { margin:0 0 4px; } .box p:last-child { margin:0; }
table { width:100%; border-collapse:collapse; margin:0 0 16px; font-size:.92rem; }
th, td { border:1px solid var(--line); padding:8px 10px; text-align:left; vertical-align:top; } th { background:#f3f4f6; }
a { color:var(--brand); }
footer.site { max-width:860px; margin:0 auto; padding:0 20px 40px; color:var(--muted); font-size:.85rem; text-align:center; }
footer.site a { color:var(--muted); margin:0 8px; }
@media (max-width:600px) { article { padding:20px 16px 26px; } h1 { font-size:1.5rem; } table { display:block; overflow-x:auto; } }
