/* Where a live stream is watched: the panel a tap on a viewer count opens (public/js/viewer-places.js). It sits on the
   player or the live studio's camera, so it is dark like their controls on every theme. */
.ovp {
    position: fixed; z-index: 1250; min-width: 196px; max-width: min(300px, calc(100vw - 16px)); overflow-y: auto;
    padding: 8px 0 6px; border-radius: 14px; color: #fff; font-size: 0.86rem; line-height: 1.3;
    background: rgba(12, 15, 24, 0.94); border: 1px solid rgba(255, 255, 255, 0.14);
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.5); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
    animation: ovp-in 0.16s ease-out;
}
@keyframes ovp-in { from { opacity: 0; transform: translateY(4px); } }
.ovp-head {
    display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 14px 6px;
    font-size: 0.74rem; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: rgba(255, 255, 255, 0.65);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.ovp-total { display: inline-flex; align-items: center; gap: 6px; font-size: 0.9rem; letter-spacing: 0; text-transform: none; color: #fff; }
.ovp-total b, .ovp-n { font-variant-numeric: tabular-nums; }
.ovp-list { list-style: none; margin: 4px 0 0; padding: 0; }
.ovp-row { display: flex; align-items: center; gap: 10px; min-height: 36px; padding: 0 14px; }
.ovp-ico { display: inline-grid; place-items: center; width: 20px; flex: none; color: var(--ovp-c, var(--accent)); font-size: 1rem; }
.ovp-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ovp-link {
    display: inline-flex; align-items: center; gap: 6px; min-width: 0; min-height: 36px; color: inherit; text-decoration: none;
}
.ovp-link:hover .ovp-name, .ovp-link:focus-visible .ovp-name { text-decoration: underline; }
.ovp-link:focus-visible { outline: 2px solid #93c5fd; outline-offset: 2px; border-radius: 4px; }
.ovp-out { font-size: 0.68rem; opacity: 0.55; }
.ovp-n { margin-left: auto; padding-left: 12px; font-weight: 700; }
.ovp-n.is-live { font-size: 0.72rem; font-weight: 700; color: #fca5a5; text-transform: uppercase; letter-spacing: 0.05em; }
@media (prefers-reduced-motion: reduce) { .ovp { animation: none; } }
