.ghost-banner {
  background: var(--status-ghost);
  color: var(--text-primary);
  text-align: center;
  padding: var(--space-2) var(--space-4);
  font-size: var(--text-label);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.ghost-mode {
  background: var(--bg-ghost);
}

body.ghost-mode .page-content {
  opacity: 0.85;
  filter: saturate(0.6);
}

body.ghost-mode .progress-bar {
  background: var(--bg-primary);
}

body.ghost-mode .progress-fill {
  background: linear-gradient(90deg, #484f58, #6e7681);
}

.ghost-tasks-note {
  background: rgba(72, 79, 88, 0.2);
  border: 1px solid var(--border-default);
  border-radius: var(--radius-md);
  padding: var(--space-3) var(--space-4);
  font-size: var(--text-body);
  color: var(--text-secondary);
  margin-bottom: var(--space-4);
  text-align: center;
}

.ghost-tasks-note.enabled {
  border-color: var(--accent-blue);
  color: var(--accent-blue);
}

.meeting-deceased-section {
  margin-top: var(--space-4);
  padding-top: var(--space-4);
  border-top: 1px solid var(--border-default);
}

.meeting-deceased-label {
  font-size: var(--text-label);
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: var(--space-3);
}

.ghost-vote-notice {
  background: rgba(72, 79, 88, 0.2);
  border: 1px solid var(--border-default);
  border-radius: var(--radius-md);
  padding: var(--space-3) var(--space-4);
  font-size: var(--text-body);
  color: var(--text-secondary);
  text-align: center;
  margin-bottom: var(--space-4);
}

.game-end-page {
  text-align: center;
}

.game-end-header {
  margin-bottom: var(--space-6);
}

.game-end-winner {
  font-size: var(--text-display);
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.game-end-subtitle {
  font-size: var(--text-body);
  color: var(--text-secondary);
  margin-top: var(--space-2);
}

.game-end-role-reveal {
  text-align: left;
}

.game-end-player {
  background: var(--bg-secondary);
  border: 1px solid var(--border-default);
  border-radius: var(--radius-md);
  padding: var(--space-3) var(--space-4);
  margin-bottom: var(--space-2);
  display: flex;
  align-items: center;
}

.game-end-player.ghost {
  opacity: 0.5;
  filter: grayscale(0.5);
}

.game-end-stats {
  text-align: left;
}

.game-end-stat-row {
  display: flex;
  justify-content: space-between;
  padding: var(--space-2) 0;
  border-bottom: 1px solid var(--border-default);
}

.game-end-stat-row:last-child {
  border-bottom: none;
}

.game-end-actions {
  margin-top: var(--space-8);
}

.game-end-winner-text {
  font-size: var(--text-h1);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: var(--space-4);
}

.game-end-role-list {
  text-align: left;
  margin-bottom: var(--space-4);
}

.game-end-role-entry {
  display: flex;
  justify-content: space-between;
  padding: var(--space-2) 0;
  border-bottom: 1px solid var(--border-default);
  font-size: var(--text-body);
}

.game-end-role-entry:last-child {
  border-bottom: none;
}

.game-end-stats-summary {
  font-size: var(--text-body);
  color: var(--text-secondary);
  margin-bottom: var(--space-4);
}
