:root {
  --cream: #f7f0e3;
  --cream-raised: #efe4ce;
  --ink: #1e1811;
  --muted: #6b6152;
  --gold: #a8823d;
  --gold-bright: #c89a4e;
  --berry: #7c2d3b;
  --berry-soft: #f0dde0;
  --plum: #6a5a7a;
  --stone: #7c745f;
  --line: #e2d5b8;
  --shadow: 0 1px 2px rgba(30,24,17,0.06), 0 10px 30px rgba(30,24,17,0.08);
  --serif: "Big Caslon", "Bodoni MT", Didot, "Playfair Display", Georgia, "Times New Roman", serif;
  --sans: -apple-system, "Helvetica Neue", Arial, "Segoe UI", sans-serif;
  --radius: 6px;
}
@media (prefers-color-scheme: dark) {
  :root {
    --cream: #16110c; --cream-raised: #211a12; --ink: #f2e9d8; --muted: #b7aa92;
    --gold: #d8b673; --gold-bright: #ebcb8e; --berry: #c97a88; --berry-soft: #3a1e22;
    --plum: #a696b8; --stone: #a89a7c;
    --line: #3a2f22;
    --shadow: 0 1px 2px rgba(0,0,0,0.4), 0 10px 30px rgba(0,0,0,0.4);
  }
}
:root[data-theme="dark"] {
  --cream: #16110c; --cream-raised: #211a12; --ink: #f2e9d8; --muted: #b7aa92;
  --gold: #d8b673; --gold-bright: #ebcb8e; --berry: #c97a88; --berry-soft: #3a1e22;
  --plum: #a696b8; --stone: #a89a7c; --line: #3a2f22;
  --shadow: 0 1px 2px rgba(0,0,0,0.4), 0 10px 30px rgba(0,0,0,0.4);
}
:root[data-theme="light"] {
  --cream: #f7f0e3; --cream-raised: #efe4ce; --ink: #1e1811; --muted: #6b6152;
  --gold: #a8823d; --gold-bright: #c89a4e; --berry: #7c2d3b; --berry-soft: #f0dde0;
  --plum: #6a5a7a; --stone: #7c745f; --line: #e2d5b8;
  --shadow: 0 1px 2px rgba(30,24,17,0.06), 0 10px 30px rgba(30,24,17,0.08);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { margin: 0; background: var(--cream); color: var(--ink); font-family: var(--sans); line-height: 1.55; }
a { color: inherit; }
button, input, select, textarea { font-family: inherit; }
.wrap { max-width: 1180px; margin: 0 auto; padding: 0 1.6rem; }
.eyebrow { font-size: 0.7rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--gold); font-weight: 600; }

.disclaimer-bar {
  background: var(--berry); color: var(--berry-soft); text-align: center;
  font-size: 0.76rem; padding: 0.5rem 1rem;
}
.disclaimer-bar b { color: #fff; }

.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.4rem;
  font-size: 0.75rem; letter-spacing: 0.08em; text-transform: uppercase;
  padding: 0.85rem 1.8rem; text-decoration: none; border-radius: 2px; font-weight: 600;
  cursor: pointer; border: 1px solid var(--ink); background: none; color: var(--ink);
}
.btn-primary { background: var(--ink); color: var(--cream); }
.btn-ghost { background: transparent; }
.btn:disabled { opacity: 0.45; cursor: not-allowed; }

.badge {
  font-size: 0.6rem; letter-spacing: 0.06em; text-transform: uppercase; font-weight: 700;
  padding: 0.2rem 0.55rem; border-radius: 100px; display: inline-block;
}
.badge-best { background: var(--berry); color: #fff; }
.badge-new { background: var(--gold); color: var(--ink); }
.badge-fast { background: var(--ink); color: var(--cream); }
.badge-adapted { background: transparent; border: 1px solid var(--muted); color: var(--muted); }

.field { display: flex; flex-direction: column; gap: 0.35rem; margin-bottom: 1rem; }
.field label { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--muted); }
.field input, .field select, .field textarea {
  padding: 0.65rem 0.8rem; border: 1px solid var(--line); border-radius: 4px;
  background: var(--cream); color: var(--ink); font-size: 0.92rem;
}
.field textarea { resize: vertical; min-height: 4.5rem; }

table { border-collapse: collapse; width: 100%; font-size: 0.86rem; }
thead th {
  text-align: left; font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.05em;
  color: var(--muted); background: var(--cream-raised); padding: 0.7rem 0.8rem; border-bottom: 1px solid var(--line);
}
tbody td { padding: 0.6rem 0.8rem; border-bottom: 1px solid var(--line); vertical-align: top; }
.table-scroll { overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius); }
