:root { --fg:#1a1a1a; --muted:#666; --bg:#fff; --line:#e5e5e5; --accent:#2563eb; }
@media (prefers-color-scheme: dark) { :root { --fg:#eee; --muted:#aaa; --bg:#121212; --line:#333; --accent:#60a5fa; } }
* { box-sizing:border-box; }
body { margin:0; font-family:system-ui,-apple-system,"Hiragino Sans","Noto Sans JP",sans-serif; color:var(--fg); background:var(--bg); line-height:1.8; }
header, main, footer { max-width:760px; margin:0 auto; padding:16px; }
header { display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid var(--line); }
header a.brand { font-weight:700; color:var(--fg); text-decoration:none; }
nav a { margin-left:12px; color:var(--muted); text-decoration:none; font-size:.9em; }
a { color:var(--accent); }
.btn { display:inline-block; padding:10px 20px; background:var(--accent); color:#fff; border-radius:6px; text-decoration:none; }
table { width:100%; border-collapse:collapse; }
th, td { text-align:left; vertical-align:top; padding:8px; border-bottom:1px solid var(--line); }
th { width:30%; white-space:nowrap; }
footer { color:var(--muted); font-size:.85em; border-top:1px solid var(--line); }
footer a { color:var(--muted); margin-right:12px; }
.card { border:1px solid var(--line); border-radius:8px; padding:4px 16px; }
.card h3 a { color:var(--fg); }
