:root { --fg:#1d1d1f; --muted:#6e6e73; --bg:#ffffff; --card:#f5f5f7; --accent:#5b7a5e; --line:#e5e5ea; }
@media (prefers-color-scheme: dark) { :root { --fg:#f5f5f7; --muted:#a1a1a6; --bg:#000; --card:#1c1c1e; --accent:#9fb8a2; --line:#2c2c2e; } }
* { box-sizing:border-box; }
body { margin:0; font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif; color:var(--fg); background:var(--bg); line-height:1.8; -webkit-font-smoothing:antialiased; }
header, main, footer { max-width:720px; margin:0 auto; padding:0 20px; }
header { display:flex; align-items:center; justify-content:space-between; height:56px; font-size:15px; }
header a { color:var(--fg); text-decoration:none; font-weight:600; }
header nav a { font-weight:400; color:var(--muted); margin-left:18px; }
main { padding:32px 20px 64px; }
h1 { font-size:30px; line-height:1.3; margin:0 0 8px; letter-spacing:-0.01em; }
h2 { font-size:19px; margin:36px 0 10px; }
p, li { font-size:16px; }
.lead { color:var(--muted); font-size:17px; margin-bottom:28px; }
.card { background:var(--card); border-radius:16px; padding:20px 22px; margin:16px 0; }
.card h3 { margin:0 0 6px; font-size:17px; }
.card p { margin:0; color:var(--muted); }
a { color:var(--accent); }
footer { padding:24px 20px 40px; color:var(--muted); font-size:13px; border-top:1px solid var(--line); }
table { border-collapse:collapse; width:100%; font-size:15px; }
th, td { text-align:left; padding:8px 6px; border-bottom:1px solid var(--line); vertical-align:top; }
th { color:var(--muted); font-weight:500; white-space:nowrap; }
.date { color:var(--muted); font-size:14px; }
