:root{
  --ink:#222;--sub:#666;--line:#e6e6e6;--bg:#fafafa;--card:#fff;--accent:#222;
}
*{box-sizing:border-box}
body{
  margin:0;font-family:-apple-system,"Hiragino Sans","Noto Sans JP",sans-serif;
  color:var(--ink);background:var(--bg);line-height:1.85;
  -webkit-text-size-adjust:100%;
}
.wrap{max-width:720px;margin:0 auto;padding:48px 22px 80px}
header.site{text-align:center;margin-bottom:40px}
header.site .mark{font-size:13px;letter-spacing:.18em;color:var(--sub)}
header.site h1{font-size:26px;margin:.4em 0 .2em}
header.site .date{font-size:13px;color:var(--sub)}
h2{font-size:18px;margin:2.2em 0 .6em;padding-top:.4em;border-top:1px solid var(--line)}
h2:first-of-type{border-top:none}
p,li{font-size:15px;color:var(--ink)}
ul{padding-left:1.2em}
a{color:var(--accent)}
.note{background:#fff7e0;border:1px solid #f0e2b0;border-radius:10px;padding:12px 16px;font-size:13px;color:#7a6a2a;margin:18px 0}
nav.links{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:8px}
nav.links a{font-size:14px;text-decoration:none;color:var(--sub);border:1px solid var(--line);border-radius:999px;padding:6px 16px;background:var(--card)}
footer{text-align:center;color:var(--sub);font-size:12px;margin-top:56px}
