:root{--bg:#f3f5f3;--surface:#fff;--ink:#1c2420;--muted:#5d6b64;--line:#dfe5e1;--accent:#0f6b5c}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){color-scheme:dark;--bg:#121715;--surface:#1a211e;--ink:#e6ece9;--muted:#98a69f;--line:#2c3632;--accent:#4fb8a3}}
:root[data-theme="dark"]{color-scheme:dark;--bg:#121715;--surface:#1a211e;--ink:#e6ece9;--muted:#98a69f;--line:#2c3632;--accent:#4fb8a3}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Hiragino Sans","Yu Gothic UI","Noto Sans JP",Meiryo,system-ui,sans-serif;font-size:15px;line-height:1.85;padding-inline:16px;padding-block:24px 56px}
main{max-width:680px;margin:0 auto;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:24px 22px}
h1{font-size:22px;margin:0 0 4px;text-wrap:balance}
h2{font-size:16px;margin:26px 0 6px;padding-left:10px;border-left:4px solid var(--accent)}
p,li{margin:6px 0}
ul,ol{padding-left:1.3em}
a{color:var(--accent)}
.muted{color:var(--muted);font-size:13px}
header.app{display:flex;gap:14px;align-items:center;margin-bottom:12px}
header.app img{width:56px;height:56px;border-radius:14px}
footer{max-width:680px;margin:16px auto 0;font-size:13px;color:var(--muted);display:flex;gap:16px;flex-wrap:wrap}

/* 日本語は文節で改行（<wbr> は budoux_wrap.py が挿入） */
body{word-break:keep-all;overflow-wrap:anywhere;line-break:strict}
