:root {
  color-scheme: light dark;
  --bg: #ffffff;
  --fg: #1a1a1a;
  --muted: #4a4a4a;
  --border: #b5b5b5;
  --head: #eef1f5;
  --link: #0b4fb3;
  --focus: #b35c00;
  --yes: #0b5c2a;
  --no: #8a1f11;
  --unk: #5a4a00;
  --safe-bg: #fff4d6;
  --safe-border: #8a5a00;
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg: #121417;
    --fg: #ececec;
    --muted: #bdbdbd;
    --border: #5a5f66;
    --head: #20252b;
    --link: #8ab8ff;
    --focus: #ffb454;
    --yes: #7fdc9f;
    --no: #ff9a8a;
    --unk: #f0d77a;
    --safe-bg: #2e2508;
    --safe-border: #e0b040;
  }
}
* { box-sizing: border-box; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--fg);
  font: 1rem/1.55 system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
main, footer { max-width: 1200px; margin: 0 auto; padding: 1rem; }
h1 { font-size: 2rem; margin: 0.5rem 0; line-height: 1.2; }
h2 { font-size: 1.25rem; margin: 1.5rem 0 0.5rem; }
a { color: var(--link); overflow-wrap: anywhere; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible,
.table-wrap:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
.subtitle { color: var(--muted); margin-top: 0; }
.notes li { margin-bottom: 0.5rem; }
.safety {
  border: 3px solid var(--safe-border);
  background: var(--safe-bg);
  border-radius: 6px;
  padding: 0.5rem 1rem 1rem;
  margin: 1.5rem 0;
}
.safety h2 { margin-top: 0.5rem; }
.filters { display: flex; flex-wrap: wrap; gap: 0.75rem; align-items: flex-end; margin: 1rem 0; }
.field { display: flex; flex-direction: column; gap: 0.25rem; }
.field input, .field select {
  font: inherit; padding: 0.35rem; color: var(--fg); background: var(--bg);
  border: 1px solid var(--border); border-radius: 4px; max-width: 100%;
}
.count { margin: 0; flex-basis: 100%; color: var(--muted); }
.table-wrap { overflow-x: auto; max-width: 100%; border: 1px solid var(--border); }
table { border-collapse: collapse; width: 100%; min-width: 1100px; font-size: 15px; }
caption { text-align: left; font-weight: 600; padding: 0.5rem; }
th, td {
  border-top: 1px solid var(--border);
  padding: 0.4rem 0.5rem;
  text-align: left;
  vertical-align: top;
  overflow-wrap: anywhere;
}
thead th { background: var(--head); position: sticky; top: 0; }
th button {
  font: inherit; font-weight: 700; color: inherit; background: none; border: 0;
  padding: 0; cursor: pointer; text-align: left;
}
th[aria-sort="ascending"] button::after { content: " \25B2"; }
th[aria-sort="descending"] button::after { content: " \25BC"; }
.brand { font-weight: 600; }
.status { font-weight: 600; }
.status-yes { color: var(--yes); }
.status-no { color: var(--no); }
.status-unknown { color: var(--unk); }
td.sources a {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 24px; min-height: 24px; margin: 0 0.35rem 0.25rem 0;
}
q { quotes: "\201C" "\201D"; }
.field button {
  font: inherit; padding: 0.35rem 0.75rem; color: var(--fg); background: var(--bg);
  border: 1px solid var(--border); border-radius: 4px; cursor: pointer;
}
@media (max-width: 720px) {
  .table-wrap { overflow-x: visible; border: 0; }
  table, tbody, tr, td { display: block; }
  table { min-width: 0; width: 100%; }
  thead {
    position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0;
    overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0;
  }
  caption { display: block; }
  tr {
    border: 1px solid var(--border); border-radius: 6px;
    background: var(--bg); padding: 0.5rem; margin: 0 0 1rem;
  }
  tr[hidden] { display: none; }
  td { border-top: 0; padding: 0.3rem 0; }
  td::before {
    content: attr(data-label); display: block;
    font-weight: 700; color: var(--muted);
  }
}
footer { color: var(--muted); border-top: 1px solid var(--border); margin-top: 2rem; }
