/* EPICSOLO — cleaned role rules.
   Guest/beta camera geometry is defined only in guest-beta-final.css. */

/* EPICSOLO 1.5 — room role isolation.
   These selectors intentionally scope controls to the current room role. */
.room-role-controls [data-role-control].role-hidden{display:none!important}
.room-page.role-kamerstarter .room-role-controls #webcamToggle{display:none!important}
/* 1.10.15: staff-review (o.a. 'Kamers bekijken') toont de kamer als bezoeker,
   maar de kijker is dán staff — dan blijven de staff-knoppen wél zichtbaar.
   Echte bezoekers (geen staff-review) houden ze verborgen. */
.room-page.role-bezoeker:not(.staff-review-mode) .room-role-controls #closeRoom,
.room-page.role-bezoeker:not(.staff-review-mode) .room-role-controls #staffVisibility,
.room-page.role-bezoeker:not(.staff-review-mode) .room-role-controls #openChatLog{display:none!important}

/* 1.5 participant role badges: only beta-tester and guest are shown. */
.guest-account-badge{display:inline-flex;align-items:center;margin-left:.35rem;padding:.1rem .38rem;border-radius:999px;font-size:.68rem;font-weight:700;line-height:1.2;background:rgba(148,163,184,.16);border:1px solid rgba(148,163,184,.35);color:inherit;vertical-align:middle}
.beta-tester-badge{display:inline-flex;align-items:center;margin-left:.35rem;padding:.1rem .38rem;border-radius:999px;font-size:.68rem;font-weight:700;line-height:1.2;background:rgba(168,85,247,.16);border:1px solid rgba(168,85,247,.42);color:#c084fc;vertical-align:middle}
/* 1.10.176 BUGTEST-BADGE: eigen badge voor de tester die bugs meldt. De kleur
   verschilt bewust van beta-tester (oranje i.p.v. paars) en heeft in de lichte
   modus een donkere tekstkleur, anders was hij op wit bijna onleesbaar. */
/* 1.10.176: bug-tester onderscheidt zich van de paarse beta-tester met een
   donkergrijze badge. Het vlak is in beide thema's even donker, dus de lichte
   tekst blijft overal leesbaar (geen aparte lichte-mode-variant nodig). */
.bug-tester-badge{display:inline-flex;align-items:center;margin-left:.35rem;padding:.1rem .38rem;border-radius:999px;font-size:.68rem;font-weight:800;line-height:1.2;letter-spacing:.02em;background:#3f3f46;border:1px solid #52525b;color:#f4f4f5;vertical-align:middle}
html[data-theme="light"] .bug-tester-badge{background:#3f3f46;border-color:#52525b;color:#f4f4f5}
html[data-theme="light"] .beta-tester-badge{background:rgba(126,34,206,.10);border-color:rgba(126,34,206,.35);color:#7e22ce}

/* Participant webcam state: informational only; viewing is controlled from the shared tile X. */
.participant-webcam-status{display:inline-flex;align-items:center;gap:4px;margin-left:6px;font-size:.78rem;line-height:1.2;white-space:nowrap;opacity:.92}
.participant-webcam-status.webcam-public{color:#17804b}
.participant-webcam-status.webcam-private{color:#8a5a00}
.participant-webcam-status.webcam-off{color:#6b7280}

/* FIX21: role identity is independent from room ownership. */
.room-page.beta-tester-user.role-kamerstarter .starter-label,
.room-page.beta-tester-user.role-kamerstarter #starterVideoName,
.room-page.beta-tester-user.role-kamerstarter .owner-badge,
.room-page.beta-tester-user.role-kamerstarter .starter-identity,
.room-page.beta-tester-user.role-kamerstarter #chatInput,
.room-page.beta-tester-user.role-kamerstarter #chatInput::placeholder{color:#a855f7!important;}
.room-page.beta-tester-user .beta-tester-badge,
.room-page.beta-tester-user .participant-beta-tester strong,
.room-page.beta-tester-user .beta-tester-message,
.room-page.beta-tester-user .beta-tester-message *{color:#a855f7!important;}

/* Firefox/WebKit-safe media rendering: never let a flex/grid ancestor collapse a video frame. */
.room-page #starterVideo,
.room-page #selfVideo,
.room-page .visitor-video{background:#05080d;display:block;}
.room-page video{backface-visibility:hidden;transform:translateZ(0);}

/* Theme-only overrides: webcam fallback surface follows light mode. */
html[data-theme="light"] .room-page .visitor-video{
  background:#e8edf4;
}
