:root { --bg: #fff7ea; --card: #ffffff; --ink: #4a3426; --soft: #8a6a52; --accent: #e8a020; --line: #f0dfc6; }
@media (prefers-color-scheme: dark) { :root { --bg: #241a14; --card: #30241c; --ink: #f6eadb; --soft: #c9ae94; --accent: #f2b544; --line: #463428; } }
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--ink); font: 17px/1.6 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; }
main { max-width: 720px; margin: 0 auto; padding: 40px 16px 64px; }
header { display: flex; align-items: center; gap: 16px; margin-bottom: 24px; }
header img { width: 72px; height: 72px; border-radius: 16px; }
h1 { font-size: 28px; margin: 0; line-height: 1.2; }
h2 { font-size: 20px; margin: 32px 0 8px; }
.sub { color: var(--soft); margin: 4px 0 0; }
.card { background: var(--card); border: 1px solid var(--line); border-radius: 16px; padding: 20px; margin: 16px 0; }
a { color: var(--accent); }
table { width: 100%; border-collapse: collapse; }
td, th { text-align: left; padding: 8px; border-bottom: 1px solid var(--line); vertical-align: top; }
nav { margin-top: 40px; color: var(--soft); font-size: 15px; }
nav a { margin-right: 16px; }
ul { padding-left: 22px; }
li { margin: 6px 0; }
h2[id] { scroll-margin-top: 16px; }
.card h2.first { margin-top: 0; }
.summary ul { margin-bottom: 0; }
nav.toc { margin: 24px 0 8px; font-size: 15px; display: flex; flex-wrap: wrap; gap: 4px 16px; }
nav.toc b { width: 100%; color: var(--ink); }
nav.toc a { margin: 0; }
