
.viewer-header {
  padding-block: 18px;
}
.viewer-main {
  width: min(var(--max), calc(100% - 48px));
  margin: 0 auto;
  padding: 34px 0 64px;
}
.viewer-hero {
  padding: clamp(24px, 5vw, 42px);
  border: 1px solid rgba(251, 53, 75, 0.3);
  border-radius: var(--radius);
  background: radial-gradient(circle at 85% 0%, rgba(251, 53, 75, 0.18), transparent 36%), var(--panel);
  box-shadow: var(--shadow);
}
.viewer-hero h1 {
  margin: 6px 0;
  font-size: clamp(34px, 7vw, 68px);
  line-height: .95;
  letter-spacing: -.07em;
}
.viewer-hero p:not(.eyebrow) {
  max-width: 760px;
  color: var(--muted);
  line-height: 1.65;
}
.viewer-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 20px;
}
.viewer-stats {
  display: grid;
  grid-template-columns: repeat(5, minmax(140px, 1fr));
  gap: 14px;
  margin: 20px 0;
}
.viewer-stats article,
.viewer-message,
.viewer-board {
  border: 1px solid var(--panel-border);
  background: var(--panel);
  border-radius: 20px;
}
.viewer-stats article {
  padding: 18px;
}
.viewer-stats span,
.viewer-row small {
  color: var(--muted);
}
.viewer-stats strong {
  display: block;
  margin-top: 6px;
  font-size: 25px;
}
.viewer-message {
  padding: 18px;
  color: var(--green);
  font-weight: 700;
}
.viewer-board {
  margin-top: 20px;
  padding: clamp(18px, 3vw, 26px);
}
.viewer-list {
  display: grid;
  gap: 10px;
}
.viewer-row {
  display: grid;
  grid-template-columns: 1fr auto auto auto;
  gap: 14px;
  align-items: center;
  padding: 14px;
  border-radius: 14px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.07);
}
.viewer-row strong {
  display: flex;
  gap: 10px;
  align-items: center;
}
.viewer-row strong span {
  color: var(--cyan);
  font-size: 12px;
}
.viewer-row em {
  font-style: normal;
  font-weight: 800;
  color: var(--green);
}
.viewer-row.eliminated em,
.viewer-row.not_checked_in em {
  color: #ff6a78;
}
.viewer-row.break em {
  color: #ffd057;
}
.empty-viewer {
  color: var(--muted);
}
@media (max-width: 860px) {
  .viewer-stats {
    grid-template-columns: repeat(2, minmax(140px, 1fr));
  }
  .viewer-row {
    grid-template-columns: 1fr;
    gap: 6px;
  }
}
.status-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  color: var(--text);
  background: rgba(255, 255, 255, 0.05);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
