:root { --ink:#1c1b1a; --paper:#faf7f2; --accent:#2f6f4e; --muted:#6b6660; --rule:#e4dfd6; --card:#ffffff; }
@media (prefers-color-scheme: dark) { :root { --ink:#f2efe9; --paper:#15161a; --accent:#7fc29b; --muted:#9a948c; --rule:#2c2e34; --card:#1d1f25; } }
* { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:-apple-system,"SF Pro Text",system-ui,sans-serif; line-height:1.6; font-size:17px; }
.wrap { max-width:720px; margin:0 auto; padding:24px 16px 64px; }
header.top { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:8px 0 24px; border-bottom:1px solid var(--rule); margin-bottom:28px; }
.brand { font-family:"New York","Iowan Old Style",Georgia,serif; font-size:24px; text-decoration:none; color:var(--ink); letter-spacing:-0.01em; display:flex; align-items:center; gap:8px; }
.seed { display:inline-block; width:10px; height:10px; border-radius:50% 50% 50% 0; background:var(--accent); transform:rotate(-45deg); }
.lang { font-size:14px; color:var(--muted); }
.lang a { color:var(--ink); text-decoration:none; padding:4px 8px; border-radius:999px; border:1px solid var(--rule); margin-left:4px; }
.lang a[aria-current] { background:var(--accent); color:#fff; border-color:var(--accent); }
h1 { font-family:"New York","Iowan Old Style",Georgia,serif; font-size:clamp(30px,6vw,40px); margin:0 0 6px; letter-spacing:-0.02em; line-height:1.15; }
.meta { color:var(--muted); font-size:15px; margin:0 0 28px; }
h2 { font-size:21px; margin:36px 0 10px; letter-spacing:-0.01em; }
h3 { font-size:17px; margin:22px 0 6px; }
p, li { margin:0 0 12px; }
ul, ol { padding-left:22px; }
li { margin-bottom:6px; }
table { width:100%; border-collapse:collapse; font-size:15px; margin:12px 0 20px; }
th, td { text-align:left; vertical-align:top; padding:8px 8px; border-bottom:1px solid var(--rule); }
th { color:var(--muted); font-weight:600; font-size:13px; text-transform:uppercase; letter-spacing:0.04em; }
.note { background:var(--card); border:1px solid var(--rule); border-left:3px solid var(--accent); padding:12px 14px; border-radius:8px; margin:16px 0; font-size:15px; }
a { color:var(--accent); }
nav.pages { display:flex; flex-wrap:wrap; gap:10px 18px; font-size:15px; margin:0 0 8px; }
nav.pages a { color:var(--muted); text-decoration:none; border-bottom:1px solid var(--rule); }
nav.pages a[aria-current] { color:var(--ink); border-color:var(--ink); }
footer { margin-top:48px; padding-top:20px; border-top:1px solid var(--rule); color:var(--muted); font-size:14px; }
code { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:0.92em; }
@media (max-width:480px) { body { font-size:16px; } th, td { padding:6px 4px; } }
