:root {color-scheme:dark;--paper:#090b0a;--ink:#f2f5f1;--muted:#a5aea8;--line:#29302b;--accent:#c5f36a}
* {box-sizing:border-box}
body {margin:0;background:var(--paper);color:var(--ink);font:1rem/1.85 system-ui,-apple-system,"Hiragino Sans","Yu Gothic",Meiryo,sans-serif;overflow-wrap:anywhere}
main {max-width:42rem;margin:0 auto;padding:1.5rem 1.25rem 2rem}
header {border-bottom:1px solid var(--line);padding-bottom:1rem}
.brand {display:inline-block;font-size:1.5rem;font-weight:900;letter-spacing:-.06em;color:var(--ink);text-decoration:none}
.brand span {color:var(--accent)}
h1 {font-size:clamp(1.4rem,5vw,1.8rem);letter-spacing:-.03em;line-height:1.45;margin:.65rem 0 .3rem}
h2 {font-size:1.05rem;line-height:1.55;margin:0 0 .5rem}
p {margin:.5rem 0 1rem}
header + p,section,aside {margin-top:1.5rem}
ul,ol {padding-inline-start:1.4rem;margin:.5rem 0}
a {color:var(--ink);text-underline-offset:.2em}
a:hover,a:focus-visible {color:var(--accent)}
a:focus-visible {outline:2px solid currentColor;outline-offset:.2rem}
footer {border-top:1px solid var(--line);margin-top:2rem;padding-top:1rem}
nav {display:flex;flex-wrap:wrap;gap:.2rem 1rem}
nav a {display:inline-block;padding:.3rem 0}
nav,footer p,.meta {font-size:.875rem;color:var(--muted)}
nav a {color:inherit}
@media print {:root {color-scheme:light;--ink:#000;--paper:#fff;--muted:#444;--line:#ccc;--accent:#222}footer nav {display:none}}
