:root { --paper: #F7F5EF; --ink: #292C29; --muted: #6E6F66; --line: #DEDFD5; --accent: #C2503A; }
@media (prefers-color-scheme: dark) { :root { --paper: #1C1D1B; --ink: #ECEAE3; --muted: #A7A89E; --line: #3A3B37; --accent: #E2765F; } }
* { box-sizing: border-box; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 16px/1.85 -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Noto Sans JP", sans-serif; }
main { max-width: 700px; margin: 0 auto; padding: 48px 20px 88px; }
header.site { max-width: 700px; margin: 0 auto; padding: 28px 20px 0; }
header.site a { color: var(--ink); text-decoration: none; font: 600 26px/1 ui-serif, Georgia, "Hiragino Mincho ProN", serif; letter-spacing: -0.04em; }
header.site a::after { content: ""; display: inline-block; width: 6px; height: 6px; margin-left: 3px; border-radius: 50%; background: var(--accent); }
h1 { font: 600 30px/1.3 ui-serif, Georgia, "Hiragino Mincho ProN", serif; margin: 0 0 8px; }
h2 { font-size: 17px; margin: 40px 0 8px; padding-top: 22px; border-top: 1px solid var(--line); }
.meta { color: var(--muted); font-size: 14px; }
a { color: var(--accent); }
dl { display: grid; grid-template-columns: max-content 1fr; gap: 4px 16px; margin: 0; }
dt { color: var(--muted); }
dd { margin: 0; overflow-wrap: anywhere; }
ol, ul { padding-left: 1.4em; }
footer { max-width: 700px; margin: 0 auto; padding: 0 20px 48px; color: var(--muted); font-size: 13px; }
footer a { color: var(--muted); margin-right: 16px; }
