/* One blue catch window on the outward sweep; the return is recovery. */
.regatta-row { touch-action: manipulation; user-select: none; -webkit-user-select: none; }
.timing-meter .timing-zone { transition: opacity .12s ease; }
.timing-meter.is-recovering .timing-zone { opacity: .3; }
.timing-meter.is-recovering .timing-marker { background: #7085aa; }
.regatta-row.stroke-recovering { opacity: .6; }
.regatta .timing-label { min-height: 23px; }
.regatta .timing-label span:last-child { white-space: nowrap; }
.regatta .regatta-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 24px; }
.regatta .timing-meter { height: 44px; }
.regatta .timing-marker { height: 54px; pointer-events: none; z-index: 2; }
.regatta button.timing-zone { top: 0; padding: 0; border-top: 0; border-bottom: 0; color: #173d92; font: 11px var(--mono); cursor: pointer; touch-action: manipulation; user-select: none; -webkit-user-select: none; }
.regatta button.timing-zone:disabled { cursor: default; }
.regatta button.timing-zone:focus-visible { outline: 3px solid #2c5dea; outline-offset: 4px; }
.regatta button.timing-zone::after { pointer-events: none; }
.regatta .is-catch-window button.timing-zone { background: #6d98ff; box-shadow: 0 0 0 3px #2c5dea20; color: #102f71; }
@media (prefers-reduced-motion: reduce) { .timing-meter .timing-zone { transition: none; } }
