:root { color-scheme: light; font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif; color: #292520; background: #f7f1e8; }
* { box-sizing: border-box; }
body { margin: 0; line-height: 1.9; }
a { color: #09636a; text-underline-offset: .2em; overflow-wrap: anywhere; }
a:focus-visible { outline: 3px solid #09636a; outline-offset: 4px; }
header, main, footer { width: min(100% - 40px, 760px); margin-inline: auto; }
header { padding-top: max(24px, env(safe-area-inset-top)); }
.brand { font-size: 22px; font-weight: 700; text-decoration: none; }
main { margin-block: 24px; padding: clamp(20px, 5vw, 48px); background: #fffdf9; border: 1px solid #e6ddcf; border-radius: 20px; }
h1 { margin: 0; font-size: clamp(24px, 5vw, 32px); line-height: 1.5; overflow-wrap: anywhere; }
h2 { margin-top: 2em; font-size: 19px; line-height: 1.6; }
p, li { overflow-wrap: anywhere; }
ul { padding-left: 1.4em; }
li + li { margin-top: .5em; }
.date { color: #665d53; font-size: 14px; }
.summary { padding: 16px 20px; background: #edf4f2; border-radius: 12px; }
nav { display: flex; flex-wrap: wrap; gap: 12px 24px; }
footer { padding-bottom: max(32px, env(safe-area-inset-bottom)); font-size: 14px; }
@media print { body { background: white; } main { width: 100%; border: 0; padding: 0; } header, footer { display: none; } }
