/* TALKCHAT_R19C12R9R13_CONFERENCE_UX
   PC: conference opens centered in the chat column instead of bottom-left.
   Header: redundant back arrow removed in JS; mic symbol smaller; minimize uses down arrow.
   Listener search is available inside the conference.
*/

.conference-popup .voice-heading-icon{
  width:22px!important;
  height:22px!important;
  display:grid!important;
  place-items:center!important;
  flex:0 0 22px!important;
}
.conference-popup .voice-heading-icon .material-symbols-outlined{
  font-size:15px!important;
}

.conference-popup header button[data-voice="minimize"]{
  width:28px!important;
  height:28px!important;
  min-width:28px!important;
  border-radius:7px!important;
}
.conference-popup header button[data-voice="minimize"] .material-symbols-outlined{
  font-size:19px!important;
}

.voice-listener-search{
  min-height:34px;
  display:flex;
  align-items:center;
  gap:6px;
  margin:6px 0 6px;
  padding:0 9px;
  border:1px solid #dce3ea;
  border-radius:8px;
  background:#f7f9fb;
  color:#8794a3;
}
.voice-listener-search>.material-symbols-outlined{
  font-size:17px;
  flex:0 0 auto;
}
.voice-listener-search input{
  min-width:0;
  width:100%;
  height:32px;
  border:0;
  outline:0;
  background:transparent;
  color:#27313d;
  font:12px Roboto,sans-serif;
}
.voice-listener-search input::placeholder{
  color:#98a3af;
}
.voice-listener-no-results{
  padding:12px 8px;
  text-align:center;
  color:#8a96a3;
  font-size:11px;
}

html[data-theme="dark"] .voice-listener-search{
  background:#111922!important;
  border-color:#2b3745!important;
  color:#8797a9!important;
}
html[data-theme="dark"] .voice-listener-search input{
  color:#e8eef5!important;
}
html[data-theme="dark"] .voice-listener-search input::placeholder{
  color:#718093!important;
}
html[data-theme="dark"] .voice-listener-no-results{
  color:#8997a7!important;
}

@media (min-width:768px){
  .conference-popup{
    width:390px!important;
    max-width:min(390px,calc(100vw - 96px))!important;
    max-height:min(72vh,560px)!important;
  }
  .conference-popup header{
    min-height:44px!important;
    padding:7px 10px!important;
    cursor:move;
  }
  .conference-popup header strong{
    font-size:13px!important;
  }
}

/* Mobile position/layout is intentionally unchanged; search remains available. */

/* TALKCHAT_R31R40_CONFERENCE_REFERENCE_PARITY_OWNER
   One owner block: ESohbet reference visual; TalkChat functions unchanged.
   voice-v050.css and theme-full remain owned by their existing modules.
*/
.conference-popup.conference-reference{border-radius:10px!important;overflow:hidden!important;width:360px;max-width:calc(100vw - 20px);}
.conference-reference header{min-height:48px;border-bottom:1px solid #e5e9ed;gap:8px;}
.conference-reference header .voice-heading-icon{color:#2196f3!important;width:22px!important;height:22px!important;display:grid!important;place-items:center!important;flex:0 0 22px!important;}
.conference-reference header .voice-heading-icon .material-symbols-outlined{font-size:19px!important;}
.conference-reference header strong{font-size:14px!important;font-weight:700;}
.conference-reference header button[data-voice="minimize"]{border:0!important;background:transparent!important;width:26px!important;height:26px!important;min-width:26px!important;border-radius:5px!important;color:#9299a3!important;padding:0;}
.conference-reference header button[data-voice="minimize"] .material-symbols-outlined{font-size:24px!important;}
.conference-reference .conference-body{padding:10px 14px 10px!important;flex:0 1 auto;}
.conference-reference .conference-speakers-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:33px;}
.conference-reference .conference-speakers-heading strong{font-size:12px!important;font-weight:700;}
.conference-reference .conference-view-tools{display:flex;align-items:center;gap:3px;}
.conference-reference .conference-view-tools button{display:grid;place-items:center;border:1px solid #dee4e9;background:#fff;border-radius:5px;width:29px;height:29px;padding:0;cursor:pointer;color:#929aa4;}
.conference-reference .conference-view-tools button.is-active{color:#188fe8;background:#eaf5fd;border-color:#d6e9f8;}
.conference-reference .conference-view-tools .material-symbols-outlined{font-size:18px;}
.conference-reference .conference-speakers-empty{min-height:88px;display:flex;align-items:center;justify-content:center;text-align:center;font-size:12px;color:#9ca7b4;margin:5px 0 12px;}
/* Compact publisher grid: no outer card, max four columns on mobile and desktop. */
.conference-reference ul.conference-speakers{margin:6px 0 12px!important;padding:0!important;border:0!important;border-radius:0!important;list-style:none;max-height:220px;overflow-y:auto;}
.conference-reference ul.conference-speakers.is-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;column-gap:7px;row-gap:13px;}
.conference-reference ul.conference-speakers.is-grid>li{min-width:0;display:flex!important;align-items:center;justify-content:flex-start;flex-direction:column;gap:3px;padding:0!important;border:0!important;}
.conference-reference ul.conference-speakers.is-grid>li>button{display:flex!important;align-items:center!important;flex-direction:column!important;gap:3px!important;justify-content:flex-start!important;min-width:0;width:100%;padding:0!important;border:0!important;background:transparent!important;text-align:center;cursor:pointer;}
.conference-reference .conference-speaker-avatar{width:50px;height:50px;flex:0 0 50px;display:block;position:relative;margin:0 auto 2px;}
.conference-reference .conference-speaker-avatar>.ref-avatar{display:block;width:50px!important;height:50px!important;max-width:50px!important;min-width:50px;object-fit:cover;border-radius:50%;}
.conference-reference .conference-speaker-avatar>.voice-indicator{position:absolute;right:-4px;bottom:-3px;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#fff;color:#aab2bc;box-shadow:0 0 0 1px #e9edf0;}
.conference-reference .conference-speaker-avatar>.voice-indicator.speaking{color:#2196f3;filter:none;}
.conference-reference .conference-speaker-avatar>.voice-indicator .material-symbols-outlined{font-size:12px;}
.conference-reference .conference-speaker-name{display:block;max-width:100%;font-weight:700;font-size:11px;line-height:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.conference-reference .conference-speaker-role{font-size:10px;line-height:12px;color:#8c95a0;font-weight:400;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.conference-reference ul.conference-speakers.is-list{display:flex!important;flex-direction:column;gap:4px;}
.conference-reference ul.conference-speakers.is-list>li{display:flex!important;align-items:center;padding:5px 2px!important;border-bottom:1px solid #edf0f2!important;}
.conference-reference ul.conference-speakers.is-list>li>button{display:flex!important;align-items:center!important;flex-direction:row!important;gap:10px!important;min-width:0;width:100%;}
.conference-reference ul.conference-speakers.is-list .conference-speaker-avatar{margin:0;width:38px;height:38px;flex-basis:38px;}
.conference-reference ul.conference-speakers.is-list .conference-speaker-avatar>.ref-avatar{width:38px!important;height:38px!important;min-width:38px;max-width:38px!important;}
.conference-reference ul.conference-speakers.is-list .conference-speaker-role{margin-left:auto;}
.conference-reference .conference-listener-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid #e6ebef;min-height:54px;padding:8px 0 0;}
.conference-reference .conference-listener-summary{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:3px;}
.conference-reference .conference-listener-summary strong{font-size:12px!important;font-weight:700;white-space:nowrap;}
.conference-reference .conference-listener-subtitle{font-size:10px;color:#919ba6;line-height:13px;white-space:nowrap;}
.conference-reference .conference-listener-toggle{display:flex;align-items:center;justify-content:flex-start;gap:6px;border:1px solid #dce2e7;border-radius:5px;background:#fff;color:#a0aab4;min-width:0;width:148px;height:30px;padding:0 9px;cursor:pointer;font:11px Roboto,sans-serif;white-space:nowrap;}
.conference-reference .conference-listener-toggle .material-symbols-outlined{font-size:15px;}
.conference-reference .conference-listener-toggle[aria-expanded="true"]{border-color:#96c7ed;color:#357fab;}
.conference-reference .conference-listener-toggle:disabled{opacity:.55;cursor:default;}
.conference-reference .conference-listener-details{padding:5px 0 0;}
.conference-reference .conference-listener-details .voice-listener-search{margin:0 0 6px;}
.conference-reference ul.conference-listeners{max-height:125px!important;overflow-y:auto;list-style:none;padding:0!important;}
.conference-reference ul.conference-listeners>li{padding:5px 0;border-bottom:1px solid #e9eef1;}
.conference-reference ul.conference-listeners>li[hidden]{display:none!important;}
.conference-reference .voice-listener-no-results[hidden]{display:none!important;}
.conference-reference footer{padding:10px 14px!important;}
.conference-reference footer .voice-buttons{display:flex;gap:10px;}
.conference-reference footer .voice-buttons>button{flex:1;min-width:0;height:39px;}
.conference-reference footer .voice-buttons>button:first-child>.material-symbols-outlined{color:#2196f3;}
.conference-reference footer .voice-buttons>.voice-leave{border-color:#ed6060;color:#e53935;background:#fff5f5;}
/* Theme parity, including both supported dark-theme selectors. */
:is(html.dark,html[data-theme="dark"]) .conference-reference .conference-view-tools button{border-color:#354350;background:#202c38;color:#aab5c2;}
:is(html.dark,html[data-theme="dark"]) .conference-reference .conference-view-tools button.is-active{background:#17354d;border-color:#34668a;color:#7fc8fa;}
:is(html.dark,html[data-theme="dark"]) .conference-reference .conference-listener-heading{border-color:#36434f;}
:is(html.dark,html[data-theme="dark"]) .conference-reference .conference-listener-subtitle,:is(html.dark,html[data-theme="dark"]) .conference-reference .conference-speaker-role{color:#a0adbb;}
:is(html.dark,html[data-theme="dark"]) .conference-reference .conference-listener-toggle{background:#1f2b37;border-color:#43505e;color:#aab9c7;}
:is(html.dark,html[data-theme="dark"]) .conference-reference .conference-speaker-avatar>.voice-indicator{background:#202e3d;box-shadow:0 0 0 1px #435365;}
:is(html.dark,html[data-theme="dark"]) .conference-reference ul.conference-speakers.is-list>li,:is(html.dark,html[data-theme="dark"]) .conference-reference ul.conference-listeners>li{border-bottom-color:#36434f!important;}
:is(html.dark,html[data-theme="dark"]) .conference-reference footer .voice-buttons>.voice-leave{border-color:#e86368!important;color:#ff7373!important;background:#341f27!important;}
@media(min-width:768px){.conference-popup.conference-reference{width:360px!important;max-width:min(360px,calc(100vw - 96px))!important;max-height:min(78vh,560px)!important;}}
@media(max-width:767px){.conference-popup.conference-reference{width:min(360px,calc(100vw - 16px))!important;max-width:calc(100vw - 16px)!important;}.conference-reference .conference-body{padding:10px 12px!important;}.conference-reference ul.conference-speakers.is-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px 4px;}.conference-reference .conference-speaker-avatar,.conference-reference .conference-speaker-avatar>.ref-avatar{width:44px!important;height:44px!important;min-width:44px!important;max-width:44px!important;}.conference-reference .conference-speaker-avatar{flex-basis:44px;}.conference-reference .conference-listener-toggle{width:142px;}}

/* TALKCHAT_R31R45_CONFERENCE_SPEAKER_RING_OWNER
   Replace (not layer over) R31R43 ring/nickname styling.
   No outer green glow: inset ring + tiny side bubbles only; no scaling/position movement.
   Preserve four-column layout, avatar frames, voice events, role colors and verified badge.
*/
.conference-reference .conference-speaker-avatar{
  border-radius:50%!important;
  overflow:visible!important;
  isolation:isolate;
}
.conference-reference .conference-speaker-avatar>.ref-avatar{
  border-radius:50%!important;
  position:relative;
  z-index:1;
}
/* R31R44 attempted to draw an ::after halo, but the owner had content:none!important.
   Do not bring back pseudo-element glow. The actual ring is the bubble element. */
.conference-reference .conference-speaker-avatar.is-speaking::after{
  content:none!important;
  display:none!important;
  animation:none!important;
  border:0!important;
  box-shadow:none!important;
}
/* Ring fits INSIDE avatar; never grows beyond its bounding box. */
.conference-reference .conference-speaker-avatar>.conference-speaking-bubbles{
  position:absolute;
  inset:0;
  display:block;
  box-sizing:border-box;
  border:2px solid rgba(34,197,94,.88);
  border-radius:50%!important;
  pointer-events:none;
  z-index:2;
  background:none;
  box-shadow:none;
  transform:none;
  animation:tc-r31r45-speaking-ring 1.8s ease-in-out infinite;
}
/* Subtle micro-bubbles: sides and lower edge, no bubble at the top. */
.conference-reference .conference-speaking-bubbles>i{
  position:absolute;
  display:block;
  box-sizing:border-box;
  border-radius:50%!important;
  width:4px;
  height:4px;
  background:#40d979;
  border:1px solid #e9fff0;
  box-shadow:none;
  pointer-events:none;
}
.conference-reference .conference-speaking-bubbles>i:nth-child(1){left:2%;top:37%;animation:tc-r31r45-micro-bubble 1.8s ease-in-out infinite;}
.conference-reference .conference-speaking-bubbles>i:nth-child(2){right:2%;top:57%;animation:tc-r31r45-micro-bubble 1.6s ease-in-out infinite .2s;}
.conference-reference .conference-speaking-bubbles>i:nth-child(3){left:40%;bottom:1%;animation:tc-r31r45-micro-bubble 2s ease-in-out infinite .3s;}
.conference-reference .conference-speaker-avatar.is-speaking>.voice-indicator{
  position:absolute;
  z-index:4;
  color:#16a34a;
}
@keyframes tc-r31r45-speaking-ring{
  0%,100%{opacity:.78;}
  50%{opacity:1;}
}
@keyframes tc-r31r45-micro-bubble{
  0%,100%{opacity:.42;}
  50%{opacity:.9;}
}
/* One-line nickname and adjacent verified tick. Never split words into stray letters. */
.conference-reference .conference-speaker-name{
  width:100%;
  max-width:100%;
  min-width:0;
  display:flex!important;
  align-items:center;
  justify-content:center;
  flex-wrap:nowrap!important;
  gap:2px;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:clip!important;
  font-size:10px!important;
  line-height:12px!important;
  text-align:center;
}
.conference-reference .conference-speaker-nickname{
  display:block;
  flex:0 1 auto;
  min-width:0;
  max-width:100%;
  width:auto!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.conference-reference .conference-speaker-verified{
  display:inline-block;
  flex:0 0 11px;
  font-size:11px;
  color:#2196f3;
  line-height:1;
  margin:0;
  vertical-align:middle;
}
.conference-reference .conference-speaker.has-role-color .conference-speaker-name,
.conference-reference .conference-speaker.has-role-color .conference-speaker-role{
  color:var(--tc-conf-user-light)!important;
}
:is(html.dark,html[data-theme="dark"]) .conference-reference .conference-speaker.has-role-color .conference-speaker-name,
:is(html.dark,html[data-theme="dark"]) .conference-reference .conference-speaker.has-role-color .conference-speaker-role{
  color:var(--tc-conf-user-dark,var(--tc-conf-user-light))!important;
}
@media(prefers-reduced-motion:reduce){
  .conference-reference .conference-speaking-bubbles,
  .conference-reference .conference-speaking-bubbles>i{animation:none!important;}
}
