:root {
  --bg: #FAF6F0;
  --bg-card: #FFFFFF;
  --bg-hover: #F5EFE6;
  --fg: #2C2420;
  --fg-muted: #6B5E54;
  --accent: #8B4513;
  --accent-light: #D4A574;
  --border: #E0D5C8;
  --highlight: #FFF3CD;
  --link: #6B3A2A;
  --link-hover: #8B4513;
  --tab-bg: #F0EAE0;
  --pill-bg: transparent;
  --pill-active-bg: #8B4513;
  --pill-active-fg: #FFFFFF;
  --pill-current-ring: #D4A574;
  --virtue-bg: #F5EFE6;
  --table-stripe: #F5F0EA;
}

@media (prefers-color-scheme: dark) {
  :root {
    --bg: #1C1814;
    --bg-card: #2A2420;
    --bg-hover: #352E28;
    --fg: #E8DFD4;
    --fg-muted: #A09080;
    --accent: #D4A574;
    --accent-light: #8B4513;
    --border: #3D3530;
    --highlight: #3D3220;
    --link: #D4A574;
    --link-hover: #E8C49A;
    --tab-bg: #252018;
    --pill-bg: transparent;
    --pill-active-bg: #D4A574;
    --pill-active-fg: #1C1814;
    --pill-current-ring: #8B4513;
    --virtue-bg: #2A2420;
    --table-stripe: #252018;
  }
}

html {
  font-family: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  font-size: 17px;
  line-height: 1.7;
  color: var(--fg);
  background: var(--bg);
  -webkit-font-smoothing: antialiased;
}

body {
  margin: 0;
  padding: 0;
}

a {
  color: var(--link);
  text-decoration-color: var(--border);
  text-underline-offset: 0.15em;
  transition: color 0.15s;
}

a:hover {
  color: var(--link-hover);
  text-decoration-color: var(--link-hover);
}

h1, h2, h3, h4 {
  line-height: 1.3;
  font-weight: 600;
}

table {
  border-collapse: collapse;
  width: 100%;
  font-size: 0.92em;
}

th, td {
  padding: 0.5em 0.75em;
  text-align: left;
  border-bottom: 1px solid var(--border);
}

th {
  font-weight: 600;
  background: var(--tab-bg);
}

tr:nth-child(even) td {
  background: var(--table-stripe);
}
