/* De centrale tik-zone: grote score + grote knop. */

.tap-area {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 0; /* mag krimpen zodat het scorebord binnen één scherm past */
  overflow: hidden;
}

.tap-score {
  font-size: clamp(3rem, 16vw, 5.5rem);
  font-weight: 900;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  color: var(--text);
  text-shadow: 0 0 24px rgba(37, 224, 138, 0.25);
}

.tap-label {
  font-size: 0.85rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-dim);
  margin-bottom: clamp(8px, 2vh, 18px);
}

.tap-btn {
  appearance: none;
  border: none;
  cursor: pointer;
  width: clamp(160px, 56vw, 260px);
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background: radial-gradient(120% 120% at 30% 25%, #54f0aa 0%, var(--accent) 45%, var(--accent-strong) 100%);
  color: var(--accent-ink);
  font-family: var(--font);
  font-size: clamp(1.6rem, 8vw, 2.4rem);
  font-weight: 900;
  letter-spacing: 0.06em;
  box-shadow: 0 14px 0 var(--accent-press), var(--shadow);
  transition: transform 0.04s ease, box-shadow 0.04s ease;
  touch-action: manipulation;
  -webkit-user-select: none;
  user-select: none;
}

.tap-btn__text {
  display: block;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.35);
}

.tap-btn:active,
.tap-btn--pulse {
  transform: translateY(8px) scale(0.985);
  box-shadow: 0 6px 0 var(--accent-press), 0 6px 18px rgba(0, 0, 0, 0.4);
}

.tap-btn:focus-visible {
  outline: 3px solid #ffffff;
  outline-offset: 4px;
}

@media (hover: hover) {
  .tap-btn:hover {
    filter: brightness(1.04);
  }
}
