*{box-sizing:border-box}
:root{--bg:#fbfaf7;--fg:#1f2328;--muted:#5b616b;--line:#e3e0d8;--accent:#1d5fa8;--todo:#fff3bf;--ad:#e7f1ff}
@media (prefers-color-scheme:dark){:root{--bg:#16181c;--fg:#e8e6e1;--muted:#a3a8b0;--line:#33363d;--accent:#7fb2ee;--todo:#4a3f10;--ad:#1c2e45}}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font-family:system-ui,-apple-system,"Hiragino Sans","Noto Sans JP",sans-serif;font-size:17px;line-height:1.85}
.site-header{border-bottom:1px solid var(--line);padding:12px 16px}
.site-header a{color:var(--fg);font-weight:700;text-decoration:none}
.pr-bar{margin:0;padding:6px 16px;font-size:13px;color:var(--muted);background:var(--ad)}
main{max-width:720px;margin:0 auto;padding:16px}
h1{font-size:1.45rem;line-height:1.5;margin:.6em 0}
h2{font-size:1.2rem;margin:2em 0 .6em;padding-bottom:.3em;border-bottom:2px solid var(--line)}
h3{font-size:1.05rem;margin:1.6em 0 .4em}
a{color:var(--accent);word-break:break-all}
.disclosure{margin:1em 0;padding:10px 14px;border-left:4px solid var(--accent);background:var(--ad);font-size:.92rem}
.table-wrap{overflow-x:auto;margin:1em 0}
table{border-collapse:collapse;width:100%;font-size:.9rem;min-width:420px}
th,td{border:1px solid var(--line);padding:6px 8px;text-align:left;vertical-align:top}
th{background:var(--line)}
ul,ol{padding-left:1.4em}
li{margin:.2em 0}
.todo{background:var(--todo);padding:0 2px}
.ad-slot{display:block;margin:1em 0;padding:14px;border:2px dashed var(--accent);text-align:center;font-size:.9rem}
code{font-size:.9em}
hr{border:0;border-top:1px solid var(--line);margin:2em 0}
.site-footer{max-width:720px;margin:2em auto 0;padding:16px;border-top:1px solid var(--line);font-size:.85rem;color:var(--muted)}
