/* Layout & typography */
body {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
               Arial, sans-serif;
  margin: 2rem;
  background: #fafafa;
}

h1 {
  margin-bottom: 0.5rem;
}

h2 {
  margin-top: 2rem;
  margin-bottom: 0.5rem;
}

.subtitle {
  color: #555;
  margin-bottom: 1.5rem;
  font-size: 0.9rem;
}

/* Tables */
table {
  border-collapse: collapse;
  width: 100%;
  margin-top: 0.25rem;
  background: white;
}

th,
td {
  border: 1px solid #ccc;
  padding: 0.4rem 0.6rem;
  font-size: 0.9rem;
}

th {
  background: #f2f2f2;
  text-align: left;
  cursor: pointer; /* clickable for sorting */
  user-select: none;
}

tbody tr:nth-child(even) {
  background: #f9f9f9;
}

/* Sort indicators */
th.sort-asc::after {
  content: " ▲";
  font-size: 0.75em;
}

th.sort-desc::after {
  content: " ▼";
  font-size: 0.75em;
}

/* Figures section (optional, reserved) */
#figures table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 1rem;
}

#figures td {
  vertical-align: top;
  padding: 0.5rem;
  text-align: center;
}

#figures img {
  max-width: 100%;
  height: auto;
  border: 1px solid #ccc;
}

#figures figcaption {
  font-size: 0.85rem;
  color: #555;
  margin-top: 0.25rem;
}

/* Per-query timing text under each table */
.query-timing {
  font-size: 0.8rem;
  color: #666;
  margin-top: 4px;
  text-align: left;
}

/* "Top" link under each table */
.top-link {
  font-size: 0.85rem;
  text-decoration: none;
  color: #0077cc;
}

.top-link:hover {
  text-decoration: underline;
}

/* Footer with total report time */
.report-footer {
  margin-top: 2rem;
  font-size: 0.85rem;
  color: #555;
  text-align: left;
}

.report-footer div + div {
  margin-top: 2px;
}

.section-separator {
  border: 0;
  height: 1px;
/*  background-image: linear-gradient(to right, rgba(0,0,0,0), rgba(0,102,204,0.7), rgba(0,0,0,0)); */
  border-top: 1px solid #ddd;
  margin: 50px 30px;
}
