/* Shared replay player (shared-js/replay-player.js). All classes prefixed rp- */
.rp-wrap { background: #000; color: #fff; border-radius: 8px; overflow: hidden; width: 100%; font-family: inherit; }
.rp-stage { position: relative; background: #000; line-height: 0; }
.rp-video { display: block; width: 100%; max-height: var(--rp-max-h, 70vh); background: #000; object-fit: contain; }
.rp-video.rp-pre { aspect-ratio: 16 / 9; }
.rp-canvas { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; }
.rp-mode-edit .rp-canvas { pointer-events: auto; cursor: crosshair; touch-action: none; }
.rp-mode-view .rp-stage { cursor: pointer; }
.rp-replay { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 64px; height: 64px; border-radius: 50%; border: 0; background: rgba(0, 0, 0, 0.6); color: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; }
.rp-replay[hidden] { display: none; }
.rp-bar { display: flex; align-items: center; gap: 10px; padding: 8px 10px; background: #111; line-height: 1; }
.rp-btn { background: none; border: 0; color: #fff; cursor: pointer; padding: 4px; display: flex; align-items: center; justify-content: center; }
.rp-range { flex: 1; min-width: 0; accent-color: #fff; }
.rp-time { font-size: 12px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.rp-clip { font-size: 12px; color: #aaa; padding: 0 10px 8px; background: #111; }
.rp-clip:empty { display: none; }
.rp-failed { padding: 24px 16px; text-align: center; }
.rp-msg { font-size: 14px; }
.rp-retry { margin-top: 12px; padding: 8px 16px; border: 1px solid #fff; border-radius: 6px; background: none; color: #fff; cursor: pointer; font-size: 14px; }
.rp-wrap:fullscreen { border-radius: 0; display: flex; flex-direction: column; justify-content: center; }
.rp-wrap:fullscreen .rp-video { max-height: calc(100vh - 80px); }
.rp-wrap:-webkit-full-screen { border-radius: 0; display: flex; flex-direction: column; justify-content: center; }
.rp-wrap:-webkit-full-screen .rp-video { max-height: calc(100vh - 80px); }