/* Colors: the app's palette (design/IDENTITY.md §2): washi light, sumi dark, kincha gold accent. */
:root { --ink:#1A1714; --ink2:#4A433B; --muted:#6B6255; --line:#D6CDBE; --paper:#F3EEE5; --card:#FBF8F2; --accent:#84622A; --accent-ink:#FBF8F2; --head:#14110E; --head-ink:#F2ECE2; --nav:#C9C0B3; }
@media (prefers-color-scheme: dark) {
  :root { --ink:#F2ECE2; --ink2:#C9C0B3; --muted:#A39887; --line:#3A332B; --paper:#14110E; --card:#1D1915; --accent:#C9A55E; --accent-ink:#14110E; --head:#100E0B; }
}
* { box-sizing: border-box; }
body { margin:0; background:var(--paper); color:var(--ink); font:16px/1.65 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; }
header { background:var(--head); color:var(--head-ink); padding:24px 16px; }
header .wrap { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
header a.brand { color:var(--head-ink); text-decoration:none; font-weight:800; font-size:21px; letter-spacing:-0.3px; }
nav { margin-left:auto; display:flex; gap:16px; }
nav a { font-weight:500; font-size:14px; color:var(--nav); text-decoration:none; }
nav a:hover { color:var(--head-ink); }
.wrap { max-width:760px; margin:0 auto; }
main { padding:32px 16px 64px; }
article { background:var(--card); border:1px solid var(--line); border-radius:18px; padding:28px; }
h1 { font-size:30px; line-height:1.2; margin:0 0 6px; letter-spacing:-0.4px; }
h2 { font-size:19px; margin:30px 0 8px; }
p, li { color:var(--ink2); }
.meta { color:var(--muted); font-size:14px; margin:0 0 20px; }
a { color:var(--ink); text-decoration-color:var(--accent); text-decoration-thickness:3px; text-underline-offset:2px; }
mark { background:var(--accent); color:var(--accent-ink); border-radius:4px; padding:0 4px; }
ul { padding-left:20px; }
hr { border:0; border-top:1px solid var(--line); margin:40px 0 28px; }
[lang="ja"] { font-family:-apple-system, BlinkMacSystemFont, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic", Meiryo, sans-serif; line-height:1.8; line-break:strict; }
footer { color:var(--muted); font-size:13px; text-align:center; padding:0 16px 40px; }
@media (max-width:520px) { article { padding:20px; } h1 { font-size:26px; } nav { gap:12px; margin-left:0; } }
