.game {
  & .game__title {
    font-size: 1rem;
    font-weight: bold;
    margin-bottom: var(--space-md);
    border-bottom: 1px solid var(--color-border);
    padding-bottom: var(--space-sm);
  }
}

.game-panel {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);

  /* Header row: progress + score */
  & .game-panel__header {
    display: flex;
    justify-content: space-between;
    font-size: 0.85rem;
    color: var(--color-muted);
    border-bottom: 1px solid var(--color-border);
    padding-bottom: var(--space-sm);
  }

  & .game-panel__score {
    font-weight: bold;
    color: var(--color-fg);
  }

  /* Celebrity name */
  & .game-panel__name {
    font-size: 1.4rem;
    font-weight: bold;
  }

  /* Instruction lines on intro screen */
  & .game-panel__instruction {
    color: var(--color-muted);
    line-height: 1.8;
  }

  /* Guess form */
  & .game-panel__form {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
  }

  /* A labeled field row */
  & .game-panel__field {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
  }

  & .game-panel__field-label {
    color: var(--color-muted);
    font-size: 0.9rem;
  }

  /* Dead / Alive radio toggle */
  & .game-panel__toggle {
    display: flex;
    gap: var(--space-sm);
  }

  & .game-panel__toggle-option {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    border: 1px solid var(--color-border);
    padding: var(--space-xs) var(--space-sm);
    cursor: pointer;
    user-select: none;

    &:has(input:checked) {
      border-color: var(--color-fg);
      font-weight: bold;
    }

    & input[type="radio"] {
      display: none;
    }
  }

  /* Slider field */
  & .game-panel__slider-row {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
  }

  & .game-panel__slider-label {
    font-size: 0.9rem;
    color: var(--color-muted);
  }

  & .game-panel__slider-value {
    font-weight: bold;
    color: var(--color-fg);
  }

  & .game-panel__slider {
    width: 100%;
    accent-color: var(--color-fg);
    cursor: pointer;
  }

  /* All game buttons */
  & .game-panel__btn {
    background: none;
    border: 1px solid var(--color-border);
    padding: var(--space-sm) var(--space-md);
    font-family: var(--font-mono);
    cursor: pointer;
    align-self: flex-start;

    &:hover {
      border-color: var(--color-fg);
    }

    &.game-panel__btn--next {
      margin-top: var(--space-sm);
    }
  }

  /* Feedback lines */
  & .game-panel__feedback {
    line-height: 1.6;
  }

  /* Points earned callout */
  & .game-panel__points--earned {
    color: var(--color-accent);
    font-weight: bold;
  }

  & .game-panel__profile-link {
    font-size: 0.9rem;
  }

  /* Done screen */
  & .game-panel__done-title {
    font-size: 1.2rem;
    font-weight: bold;
  }

  & .game-panel__done-score {
    font-size: 1rem;
    color: var(--color-muted);
  }
}
