/* ULTRABENCH — view-specific layout: model detail, benchmark registry + coverage.
   The leaderboard and the insights section carry their own sheets
   (`leaderboard.css`, `insights.css`). */

/* ---------- model detail ---------- */

.detail-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px; margin-bottom: 4px; }
.detail-head h1 { font-size: 22px; }
.detail-sub { color: var(--text-faint); font-family: var(--mono); font-size: 12px; margin-bottom: 14px; }
.detail-summary { color: var(--text-dim); max-width: 78ch; }

.lineage { display: flex; flex-wrap: wrap; gap: 8px; color: var(--text-faint); }
.lineage a { font-family: var(--mono); font-size: 12px; }

.tag-list { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; margin: 0; padding: 0; }
.tag-list li {
  font-size: 12px; color: var(--text-dim);
  border: 1px solid var(--line-strong); border-radius: 999px; padding: 3px 9px;
}

/* ---------- benchmark registry + coverage ---------- */

.coverage-cols { display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.slug-list { list-style: none; margin: 0; padding: 0; max-height: 320px; overflow-y: auto;
             font-family: var(--mono); font-size: 12px; }
.slug-list li { padding: 3px 0; border-bottom: 1px solid var(--line); }
.slug-list li:last-child { border-bottom: none; }
.coverage-uncovered li { color: var(--text-faint); }

/* Unbroken underscore-joined slugs (design_arena_codecategories) carry no natural break
   points, so at phone widths they overflowed the Benchmark name column straight into the
   tier badge. Anywhere-wrapping is scoped to cells that already declared wrapping intent. */
td.wrap { overflow-wrap: anywhere; }

/* ---------- responsive ---------- */

@media (max-width: 900px) {
  .stat .stat-value { font-size: 15px; }
  .panel { padding: 12px 12px; }
}

@media (max-width: 520px) {
  .detail-head h1 { font-size: 18px; }
  .filters { gap: 6px; }
  .filters label { font-size: 11px; }
  table.data th, table.data td { padding: 8px 10px; }
  .slug-list { max-height: 240px; }
}
