:root{--fg:#1a1d21;--muted:#5b636b;--line:#e2e5e9;--bg:#fff;--accent:#1f4e79}
*{box-sizing:border-box}
body{margin:0;font-family:-apple-system,"Segoe UI","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;
color:var(--fg);background:var(--bg);line-height:1.85;font-size:16px}
.wrap{max-width:720px;margin:0 auto;padding:0 20px}
header{border-bottom:1px solid var(--line);padding:22px 0}
header .wrap{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.logo{font-size:22px;font-weight:700;letter-spacing:.08em;text-decoration:none;color:var(--fg)}
.tag{font-size:13px;color:var(--muted)}
nav{margin-left:auto;display:flex;gap:18px}
nav a{font-size:14px;color:var(--muted);text-decoration:none}
nav a:hover{color:var(--accent)}
main{padding:44px 0 64px}
h1{font-size:26px;margin:0 0 8px;line-height:1.5}
h2{font-size:18px;margin:40px 0 12px;padding-bottom:8px;border-bottom:1px solid var(--line)}
h3{font-size:15px;margin:24px 0 6px}
p{margin:0 0 14px}
.lead{color:var(--muted);margin-bottom:36px}
table{border-collapse:collapse;width:100%;font-size:15px;margin:0 0 20px}
th,td{border-bottom:1px solid var(--line);padding:11px 8px;text-align:left;vertical-align:top}
th{width:30%;font-weight:600;color:var(--muted);white-space:nowrap}
ul{margin:0 0 14px;padding-left:22px}
li{margin-bottom:6px}
a{color:var(--accent)}
footer{border-top:1px solid var(--line);padding:24px 0;font-size:13px;color:var(--muted)}
.todo{background:#fff8e1;border:1px solid #f0d58c;padding:10px 14px;border-radius:5px;font-size:14px;margin:0 0 20px}
@media(max-width:520px){th,td{display:block;width:auto;border:none;padding:3px 0}
td{border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:10px}}
