:root { color-scheme: light dark; --bg:#f7f7f4; --fg:#18203d; --muted:#66708f; --line:#dfe2ea; --link:#4f5fc4; }
@media (prefers-color-scheme:dark) { :root { --bg:#0c0c0c; --fg:#ececf0; --muted:#9696a0; --line:#292929; --link:#8ea6ff; } }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--fg); font:16px/1.7 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
header,main,footer { width:min(760px,calc(100% - 40px)); margin:auto; }
header { padding:36px 0 28px; border-bottom:1px solid var(--line); }
header a { color:var(--fg); text-decoration:none; font-weight:650; }
main { padding:54px 0 72px; }
h1 { margin:0 0 8px; font:600 clamp(2.2rem,7vw,4rem)/1.05 Georgia,serif; letter-spacing:-.03em; }
h2 { margin:42px 0 8px; font:600 1.45rem/1.25 Georgia,serif; }
p,li { color:var(--muted); }
strong { color:var(--fg); }
a { color:var(--link); }
.updated { margin:0; font-size:.85rem; }
.notice { padding:16px 18px; border:1px solid var(--line); border-radius:12px; }
footer { padding:24px 0 48px; border-top:1px solid var(--line); color:var(--muted); font-size:.85rem; }
footer a { margin-right:18px; }
@media (max-width:520px) {
  header,main,footer { width:min(100% - 32px,760px); }
  header { padding:24px 0 20px; }
  main { padding:38px 0 56px; }
  h1 { font-size:2.35rem; letter-spacing:0; }
  h2 { margin-top:34px; }
  .notice { padding:14px; }
  footer { display:flex; flex-wrap:wrap; gap:10px 16px; }
  footer a { margin-right:0; min-height:44px; display:inline-flex; align-items:center; }
}
