:root { --fg:#1f2933; --muted:#52606d; --accent:#1f3a5f; --line:#d9e2ec; --bg:#fff; --soft:#f5f7fa; }
* { box-sizing: border-box; }
body { margin:0; color:var(--fg); background:var(--bg); font:16px/1.8 system-ui,"Hiragino Sans","Yu Gothic",Meiryo,sans-serif; }
header.site { display:flex; flex-wrap:wrap; gap:.5rem 1.5rem; align-items:center; padding:.8rem 1rem; background:var(--accent); }
header.site a { color:#fff; text-decoration:none; }
header.site .brand { font-weight:700; font-size:1.1rem; }
header.site nav { display:flex; gap:1rem; font-size:.9rem; }
main { max-width:46rem; margin:0 auto; padding:1.5rem 1rem 3rem; }
h1 { font-size:1.5rem; line-height:1.4; }
h2 { font-size:1.25rem; margin-top:2.2rem; padding-bottom:.2rem; border-bottom:2px solid var(--line); }
h3 { font-size:1.05rem; margin-top:1.6rem; }
a { color:#0b5cad; }
.lead { color:var(--muted); }
.note { background:var(--soft); border-left:4px solid var(--line); padding:.5rem .8rem; font-size:.9rem; color:var(--muted); }
.scroll { overflow-x:auto; }
table { border-collapse:collapse; margin:1rem 0; font-size:.9rem; min-width:100%; }
th, td { border:1px solid var(--line); padding:.4rem .6rem; text-align:left; vertical-align:top; }
th { background:var(--soft); white-space:nowrap; }
ul.articles { list-style:none; padding:0; }
ul.articles li { padding:.8rem 0; border-bottom:1px solid var(--line); }
ul.articles p { margin:.2rem 0 0; color:var(--muted); font-size:.9rem; }
footer.site { padding:1.5rem 1rem; background:var(--soft); color:var(--muted); font-size:.8rem; }
footer.site p { max-width:46rem; margin:.3rem auto; }
