/* Hall of Fame: der Highscore-Markt. Nur Variablen, nie feste Farben. */

.hof-pulse {
  display: flex; flex-wrap: wrap; align-items: baseline; gap: .6rem 1.2rem;
  font-family: var(--f-term); font-size: 1.2rem;
  margin: calc(var(--u) * 3) 0 calc(var(--u) * 4);
}
.hof-live {
  display: inline-flex; align-items: center; gap: .45rem;
  font-family: var(--f-display); font-size: .55rem;
  letter-spacing: .12em; color: var(--accent);
}
.hof-live i {
  width: .55rem; height: .55rem; border-radius: 50%;
  background: var(--accent); display: block;
  animation: hof-pulse 1.2s steps(2, end) infinite;
}
@keyframes hof-pulse {
  0%, 49% { opacity: 1; }
  50%, 100% { opacity: .2; }
}
@media (prefers-reduced-motion: reduce) {
  .hof-live i { animation: none; }
}

.hof-tape {
  border: 3px solid var(--border-hi);
  background: var(--bg-deep);
  max-height: 14.5rem;
  overflow: auto;
  font-family: var(--f-term); font-size: 1.12rem;
}
.hof-row {
  display: grid;
  grid-template-columns: 6.2rem 3.6rem minmax(8rem, 1.4fr) minmax(6rem, 1fr) auto;
  gap: .8rem;
  padding: .28rem .8rem;
  border-bottom: 1px solid var(--border);
  align-items: baseline;
}
.hof-row--quiet {
  grid-template-columns: 1fr;
  color: var(--fg-dim);
}
.hof-kind {
  font-family: var(--f-display);
  font-size: .42rem;
  letter-spacing: .1em;
  color: var(--accent);
}
.hof-row:hover { background: var(--surface); }
.hof-row.is-new { animation: hof-tick .9s steps(4); }
@keyframes hof-tick {
  from { background: var(--accent); color: var(--bg); }
  to { background: transparent; }
}
@media (prefers-reduced-motion: reduce) {
  .hof-row.is-new { animation: none; }
}
.hof-when { color: var(--fg-dim); }
.hof-game { color: var(--accent-2); text-decoration: none; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hof-game:hover { color: var(--accent); }
.hof-score { text-align: right; color: var(--accent-3); font-variant-numeric: tabular-nums; }

.hof-bar {
  display: flex; flex-wrap: wrap; gap: calc(var(--u) * 2);
  align-items: center;
  margin: calc(var(--u) * 5) 0 calc(var(--u) * 3);
}
.hof-bar input[type='search'] {
  flex: 1 1 16rem;
  min-width: 0;
  background: var(--bg); color: var(--fg);
  border: 3px solid var(--border-hi);
  font-family: var(--f-term); font-size: 1.15rem;
  padding: calc(var(--u) * 2) calc(var(--u) * 3);
}
.hof-bar input:focus { outline: 0; border-color: var(--accent); }
.hof-sort { display: flex; flex-wrap: wrap; gap: calc(var(--u) * 1); }
.hof-sort button {
  font-family: var(--f-display); font-size: .52rem;
  text-transform: uppercase; letter-spacing: .06em;
  background: var(--surface); color: var(--fg-dim);
  border: 2px solid var(--border); padding: .45em .7em;
  cursor: pointer;
}
.hof-sort button[aria-pressed='true'] {
  color: var(--bg); background: var(--accent); border-color: var(--accent);
}

.hof-hits { margin-bottom: calc(var(--u) * 4); }
.hof-hits[hidden] { display: none; }

.bd-card[hidden] { display: none; }
.bd-heat {
  font-family: var(--f-term); font-size: 1rem;
  color: var(--accent); margin: calc(var(--u) * .6) 0 0;
}
.bd-fresh {
  font-family: var(--f-display); font-size: .5rem;
  letter-spacing: .08em; text-transform: uppercase;
  color: var(--accent-2); margin: 0 0 calc(var(--u) * .6);
}

@media (max-width: 40rem) {
  .hof-row { grid-template-columns: 4.4rem 1fr auto; }
  .hof-row .hof-who { display: none; }
}
