/* V0.32.4: Compact mic tiles inspired by the inner turquoise crown preview. */
.ol-voice-live-seats{gap:10px!important;margin:16px 0!important;grid-template-columns:repeat(4,minmax(0,1fr))}
.ol-voice-live-seat{
  aspect-ratio:auto!important;min-height:174px!important;height:auto!important;
  padding:10px 6px 9px!important;gap:5px!important;
  border-radius:16px!important;
  background:radial-gradient(circle at 50% 40%,rgba(17,177,197,.10),transparent 70%),linear-gradient(155deg,#182238,#121528)!important;
  border:1px solid rgba(35,205,225,.42)!important;
  box-shadow:inset 0 0 0 1px rgba(44,222,226,.08),0 4px 18px rgba(0,0,0,.12)!important;
  isolation:isolate;
}
.ol-voice-live-seat::before{inset:6px!important;border-radius:12px!important;border-color:rgba(32,185,207,.10)!important}
.ol-voice-live-seat .ol-voice-avatar,.ol-voice-live-seat .ol-voice-empty{
  width:72px!important;height:72px!important;min-width:72px!important;min-height:72px!important;
  border-radius:13px!important;border:1.5px solid rgba(22,208,222,.54)!important;
  background:linear-gradient(135deg,#263c4c,#181a32)!important;box-shadow:0 0 16px rgba(14,210,223,.12)!important;
}
.ol-voice-live-seat .ol-voice-seat-number{font-size:10px!important;min-height:23px!important;margin:0!important;padding:4px 9px!important}
.ol-voice-live-seat .ol-voice-person-name{font-size:12px!important}
.ol-voice-live-seat .ol-voice-seat-status{font-size:10px!important;line-height:1.3!important}
.ol-voice-live-seat .ol-voice-profile-action{padding-top:1px!important;gap:3px!important}
.ol-voice-live-seat .ol-voice-seat-controls{padding-top:0!important;margin-top:auto!important}
.ol-voice-live-seat .ol-voice-seat-controls button{font-size:10px!important;padding:5px 7px!important}
.ol-voice-live-seat.host{border-color:rgba(238,196,115,.52)!important}
/* LiveKit's ActiveSpeakersChanged event applies this class without waiting for D1/Worker polling. */
@keyframes ol324DesktopSpeech{0%,100%{box-shadow:0 0 0 1px rgba(43,239,236,.38),0 0 16px rgba(20,225,234,.24),inset 0 0 16px rgba(42,234,236,.09)}50%{box-shadow:0 0 0 2px rgba(99,255,246,.80),0 0 34px rgba(25,241,236,.56),inset 0 0 22px rgba(48,238,242,.18)}}
.ol-voice-live-seat.ol324-live-speaking,.ol-voice-live-seat.speaking{
  border-color:#5dfbf3!important;
  background:radial-gradient(circle at 50% 32%,rgba(32,238,230,.22),transparent 72%),linear-gradient(145deg,#172f3d,#101b2c)!important;
  animation:ol324DesktopSpeech 1.35s ease-in-out infinite!important;
}
.ol-voice-live-seat.ol324-live-speaking .ol-voice-avatar,.ol-voice-live-seat.speaking .ol-voice-avatar{border-color:#9bfff6!important;box-shadow:0 0 20px rgba(20,238,231,.64)!important}
/* Preserve image overlays and transparent crown floating above tiles. */
.ol-voice-live-seat:has(>.ol-crown-effect){overflow:visible!important}
@media(min-width:900px){.ol-voice-live-panel{max-width:900px!important}.ol-voice-live-seat{min-height:164px!important}.ol-voice-live-seat .ol-voice-avatar,.ol-voice-live-seat .ol-voice-empty{width:68px!important;height:68px!important;min-width:68px!important;min-height:68px!important}}
@media(max-width:600px){.ol-voice-live-seats{gap:7px!important}.ol-voice-live-seat{min-height:148px!important;padding:8px 3px!important}.ol-voice-live-seat .ol-voice-avatar,.ol-voice-live-seat .ol-voice-empty{width:51px!important;height:51px!important;min-width:51px!important;min-height:51px!important}.ol-voice-live-seat .ol-voice-seat-number{font-size:9px!important;padding:3px 5px!important}.ol-v323-self-emoji-box{top:35px!important;right:3px!important;padding:3px!important}.ol-v323-self-emoji-label{display:none!important}}
@media(prefers-reduced-motion:reduce){.ol-voice-live-seat.ol324-live-speaking,.ol-voice-live-seat.speaking{animation:none!important;box-shadow:0 0 0 2px rgba(93,251,243,.8),0 0 25px rgba(25,241,236,.38)!important}}
