:root { --bg: #f4f0ff; --card: #ffffff; --text: #2b1f4a; --muted: #6b5f86; --accent: #6a1fd6; --green: #2fc94a; --edge: #d8ccf5; }
/* Dark: headings and links in white, not purple, so they read on the dark card. */
@media (prefers-color-scheme: dark) {
  :root { --bg: #1b1530; --card: #261d42; --text: #f1ecff; --muted: #b9addb; --accent: #ffffff; --edge: #120d22; }
}
* { box-sizing: border-box; }
body { margin: 0; padding: 16px; background: var(--bg); color: var(--text);
       font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; line-height: 1.6; }
main { max-width: 760px; margin: 0 auto; background: var(--card); border-radius: 24px;
       padding: 32px 24px; box-shadow: 0 6px 0 var(--edge); }
h1 { margin: 0 0 4px; font-size: 1.7rem; line-height: 1.3; }
h2 { margin: 28px 0 8px; font-size: 1.2rem; color: var(--accent); }
p, li { color: var(--text); }
.meta { color: var(--muted); margin: 0 0 16px; }
ul { padding-left: 20px; }
a { color: var(--accent); text-decoration: underline; text-underline-offset: 2px; }
nav { max-width: 760px; margin: 0 auto 12px; display: flex; flex-wrap: wrap; gap: 8px 16px; }
nav a { font-weight: 600; text-decoration: none; }
footer { max-width: 760px; margin: 16px auto 0; color: var(--muted); font-size: .9rem; text-align: center; }
table { width: 100%; border-collapse: collapse; margin: 8px 0; font-size: .95rem; }
th, td { text-align: left; vertical-align: top; padding: 8px; border-bottom: 1px solid var(--edge); }
th { color: var(--muted); font-weight: 600; }
.table-wrap { overflow-x: auto; }
