:root {
  color-scheme: light dark;
  --bg: #ffffff;
  --fg: #1c1c1e;
  --muted: #6b6b70;
  --line: #e5e5ea;
  --link: #0a66c2;
  --card: #f7f7f9;
}
@media (prefers-color-scheme: dark) {
  :root { --bg:#141416; --fg:#f2f2f7; --muted:#9a9aa0; --line:#2c2c2e; --link:#6aa9ff; --card:#1e1e21; }
}
* { box-sizing: border-box; }
body {
  margin: 0;
  padding-block: 48px;
  padding-inline: 20px;
  background: var(--bg);
  color: var(--fg);
  font-family: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Noto Sans JP", sans-serif;
  line-height: 1.8;
  font-size: 16px;
}
main { max-width: 680px; margin: 0 auto; }
h1 { font-size: 1.5rem; margin: 0 0 4px; letter-spacing: .01em; }
.sub { color: var(--muted); margin: 0 0 8px; font-size: .95rem; }
.updated { color: var(--muted); font-size: .8rem; margin: 0 0 36px; }
h2 {
  font-size: 1.1rem; margin: 40px 0 12px;
  padding-bottom: 8px; border-bottom: 1px solid var(--line);
}
h3 { font-size: 1rem; margin: 28px 0 6px; }
ul, ol { padding-left: 1.3em; margin: 10px 0; }
li { margin: 4px 0; }
a { color: var(--link); }
p { margin: 10px 0; }
.note {
  background: var(--card);
  border-radius: 10px;
  padding: 14px 18px;
  margin: 16px 0;
  font-size: .92rem;
}
.contact {
  font-size: 1.05rem;
  font-weight: 600;
}
nav { margin-bottom: 28px; font-size: .9rem; }
footer {
  margin-top: 56px; padding-top: 20px;
  border-top: 1px solid var(--line);
  color: var(--muted); font-size: .85rem;
}
