:root{--fg:#1b1f24;--muted:#5b6470;--bg:#fff;--line:#e3e6ea;--accent:#0b5cad;--soft:#f5f7fa}
*{box-sizing:border-box}
html{font-size:16px}
body{margin:0;background:var(--bg);color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic",Meiryo,sans-serif;line-height:1.8}
.wrap{max-width:760px;margin:0 auto;padding:24px 20px 64px}
header.site{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 0 20px;border-bottom:1px solid var(--line)}
.brand{font-weight:700;text-decoration:none;color:var(--fg);letter-spacing:.02em;line-height:1.3}
.brand small{display:block;font-weight:400;color:var(--muted);font-size:.8rem}
nav a{color:var(--muted);text-decoration:none;margin-left:16px;font-size:.95rem}
nav a:hover{color:var(--accent)}
h1{font-size:1.7rem;line-height:1.4;margin:36px 0 8px}
h2{font-size:1.2rem;margin:40px 0 10px;padding-top:12px;border-top:1px solid var(--line)}
h3{font-size:1.02rem;margin:24px 0 6px}
p,li{font-size:1rem}
.lead{font-size:1.1rem;color:var(--muted)}
.note{background:var(--soft);border-left:4px solid var(--accent);padding:12px 16px;border-radius:4px;margin:20px 0}
.badge{display:inline-block;font-size:.8rem;color:var(--accent);border:1px solid var(--accent);border-radius:999px;padding:1px 10px;margin-top:28px}
code{font-size:.92em;background:var(--soft);padding:1px 5px;border-radius:3px;word-break:break-all}
table{border-collapse:collapse;width:100%;font-size:.95rem;margin:12px 0}
th,td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
th{background:var(--soft)}
footer.site{margin-top:56px;padding-top:16px;border-top:1px solid var(--line);color:var(--muted);font-size:.9rem}
.en{margin-top:56px;padding-top:20px;border-top:2px solid var(--line)}
.todo{background:#fff4d6;padding:0 4px;border-radius:3px}
a{color:var(--accent)}
@media (max-width:520px){header.site{flex-direction:column;align-items:flex-start}nav a{margin:0 14px 0 0}h1{font-size:1.4rem}}
