/* TALKCHAT_WEB_V086P16R1R31R4R1_REFERENCE_STAGE_SEPARATE
   mobilsesli.com stage/seat layout contract: 5 mobile, 8 tablet, 10 desktop columns. */
.tc-stage{flex:0 0 auto;min-width:0;width:100%;border-bottom:1px solid rgba(229,231,235,.6);background:transparent;z-index:4}.tc-stage[hidden]{display:none!important}.tc-stage-row{display:flex;align-items:stretch;min-width:0}.tc-stage-grid{flex:1;min-width:0;display:grid;grid-template-columns:repeat(10,minmax(0,1fr));column-gap:4px;row-gap:4px;padding:6px 12px 4px}.tc-stage-seat{appearance:none;border:0;background:transparent;padding:0;min-width:0;width:100%;display:flex;flex-direction:column;align-items:center;gap:2px;color:#6b7280;cursor:pointer}.tc-stage-seat:hover{color:#3b82f6}.tc-stage-avatar{position:relative;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:0 0 40px}.tc-stage-avatar>.ref-avatar,.tc-stage-avatar>img{width:40px!important;height:40px!important;border-radius:50%!important;object-fit:cover}.tc-stage-seat.empty .tc-stage-avatar{background:rgba(255,255,255,.5)}.tc-stage-dashed{position:absolute;inset:0;border:2px dashed #d1d5db;border-radius:50%;transition:border-color .15s}.tc-stage-seat.empty:hover .tc-stage-dashed{border-color:#3b82f6}.tc-stage-seat.empty .material-symbols-outlined{position:relative;font-size:17px;line-height:1}.tc-stage-name{max-width:100%;font-size:10px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#6b7280}.tc-stage-seat.occupied .tc-stage-name{font-weight:500;color:#374151}.tc-stage-mic{position:absolute;right:-2px;bottom:-2px;z-index:3;width:17px;height:17px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid #fff;color:#fff}.tc-stage-mic.on{background:#10b981}.tc-stage-mic.off{background:#ef4444}.tc-stage-mic .material-symbols-outlined{font-size:11px;line-height:1}.tc-stage-avatar.speaking:before{content:"";position:absolute;inset:-3px;border:2px solid #22c55e;border-radius:50%;box-shadow:0 0 0 2px rgba(34,197,94,.12);animation:none!important;opacity:1!important;transform:none!important}.tc-stage-side{flex:0 0 45px;display:flex;flex-direction:column;border-left:1px solid #e5e7eb}.tc-stage-side button{position:relative;flex:1;min-height:50px;border:0;background:transparent;color:#3b82f6;display:flex;align-items:center;justify-content:center;cursor:pointer}.tc-stage-side button:hover{background:rgba(59,130,246,.08)}.tc-stage-side .material-symbols-outlined{font-size:18px}.tc-stage-hint{position:absolute;right:calc(100% + 6px);top:50%;transform:translateY(-50%);max-width:170px;white-space:nowrap;border-radius:6px;background:#e8f3fc;padding:8px 11px;text-align:left;font-size:11px;font-weight:600;line-height:1.1;color:#3d8fd4;box-shadow:0 4px 14px rgba(61,143,212,.2);animation:tc-stage-hint 4.5s ease both}.tc-stage-menu-backdrop{position:fixed;inset:0;z-index:1200;background:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;padding:16px}.tc-stage-menu{width:288px;max-width:calc(100vw - 24px);overflow:hidden;border-radius:16px;background:#fff;box-shadow:0 20px 60px rgba(0,0,0,.28)}.tc-stage-menu header{display:flex;align-items:center;gap:8px;padding:8px;border-bottom:1px solid #e5e7eb}.tc-stage-menu header button{width:32px;height:32px;border:0;border-radius:8px;background:transparent;color:#6b7280;display:flex;align-items:center;justify-content:center}.tc-stage-menu header strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tc-stage-menu-actions{display:flex;flex-direction:column}.tc-stage-menu-actions button{width:100%;border:0;background:#fff;padding:12px 16px;display:flex;align-items:center;gap:12px;text-align:left;font-size:14px;font-weight:500;color:#1f2937;cursor:pointer}.tc-stage-menu-actions button+button{border-top:1px solid #e5e7eb}.tc-stage-menu-actions button:hover{background:#f9fafb}.tc-stage-menu-actions button.danger{color:#ef4444}.tc-stage-menu-actions .material-symbols-outlined{font-size:20px}.stage-join-blink{animation:tc-stage-blink 1.6s ease-in-out infinite}@keyframes tc-stage-speaking{0%,100%{opacity:.65;transform:scale(1)}50%{opacity:1;transform:scale(1.045)}}@keyframes tc-stage-blink{0%,100%{opacity:.45}50%{opacity:1}}@keyframes tc-stage-hint{0%{opacity:0;transform:translateY(-50%) translateX(7px)}12%,78%{opacity:1;transform:translateY(-50%) translateX(0)}100%{opacity:0;transform:translateY(-50%) translateX(5px)}}
@media(max-width:767px){.tc-stage-grid{grid-template-columns:repeat(5,minmax(0,1fr));padding:6px 8px 4px}.tc-stage-side{flex-basis:40px}.tc-stage-menu-backdrop{align-items:flex-end;padding:0}.tc-stage-menu{width:100%;max-width:none;border-radius:16px 16px 0 0}.tc-stage-avatar,.tc-stage-avatar>.ref-avatar,.tc-stage-avatar>img{width:40px!important;height:40px!important}}
@media(min-width:640px) and (max-width:767px){.tc-stage-grid{grid-template-columns:repeat(8,minmax(0,1fr))}}
/* r31-r5: Sahne otomatik dinleme + yalnız yerel mute/unmute. */
.tc-stage-side button.muted{color:#6b7280}.tc-stage-side button.muted:hover{color:#374151;background:rgba(107,114,128,.08)}
/* r31-r6 — mobilsesli.com referans Müzik Modu: Sahne içinde mikrofondan ayrı stereo audio track. */
.tc-stage-menu-actions button.music-active{color:#d97706}.tc-stage-seat.music .tc-stage-avatar{z-index:2}.tc-stage-music-ring{pointer-events:none;position:absolute;inset:-3px;border:2px solid #f59e0b;border-radius:50%;box-shadow:0 0 0 2px rgba(245,158,11,.13);animation:tc-stage-music-ring 1.15s ease-in-out infinite}.tc-stage-note{pointer-events:none;position:absolute;z-index:5;color:#f59e0b;font-size:12px;font-weight:700;line-height:1;animation:tc-stage-note 2.2s ease-in-out infinite}.tc-stage-note.n1{left:78%;top:10%;--nx:16px;--ny:-26px}.tc-stage-note.n2{left:88%;top:38%;--nx:24px;--ny:-14px;animation-delay:.8s}.tc-stage-note.n3{left:70%;top:0;--nx:8px;--ny:-32px;animation-delay:1.6s}@keyframes tc-stage-music-ring{0%,100%{opacity:.5;transform:scale(.98)}50%{opacity:1;transform:scale(1.05)}}@keyframes tc-stage-note{0%{opacity:0;transform:translate(0,0) scale(.8)}25%{opacity:1}100%{opacity:0;transform:translate(var(--nx),var(--ny)) scale(1.15)}}
.tc-stage-music-backdrop{position:fixed;inset:0;z-index:1200;background:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;padding:16px}.tc-stage-music{width:320px;max-width:calc(100vw - 24px);overflow:hidden;border-radius:16px;background:#fff;box-shadow:0 20px 60px rgba(0,0,0,.28);padding:12px;color:#1f2937}.tc-stage-music header{display:flex;align-items:center;gap:8px}.tc-stage-music header strong{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px}.tc-stage-music header button{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:0;border-radius:7px;background:transparent;color:#6b7280}.tc-stage-music-bars{display:flex;align-items:flex-end;gap:2px;width:14px;height:15px}.tc-stage-music-bars i{display:block;width:3px;height:4px;border-radius:3px;background:#9ca3af}.tc-stage-music-bars.active i{background:#f59e0b;animation:tc-stage-music-bars .8s ease-in-out infinite}.tc-stage-music-bars.active i:nth-child(2){height:12px;animation-delay:.15s}.tc-stage-music-bars.active i:nth-child(3){height:7px;animation-delay:.3s}@keyframes tc-stage-music-bars{0%,100%{transform:scaleY(.45)}50%{transform:scaleY(1)}}.tc-stage-music-progress{display:flex;align-items:center;gap:7px;margin-top:9px}.tc-stage-music-progress small{font-size:10px;font-variant-numeric:tabular-nums;color:#788292}.tc-stage-music-progress>span{height:4px;min-width:0;flex:1;overflow:hidden;border-radius:6px;background:rgba(0,0,0,.1)}.tc-stage-music-progress>span>i{display:block;height:100%;border-radius:6px;background:#f59e0b;transition:width .25s linear}.tc-stage-music-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.tc-stage-music-actions button{display:flex;align-items:center;gap:4px;padding:7px 9px;border:1px solid #dfe3e8;border-radius:8px;background:#fff;color:#303641;font:600 11.5px/1.1 inherit;cursor:pointer}.tc-stage-music-actions button:disabled{opacity:.5;cursor:not-allowed}.tc-stage-music-actions button.primary{border-color:#f59e0b;background:#f59e0b;color:#fff}.tc-stage-music-actions button.danger{border-color:rgba(239,68,68,.55);color:#dc2626}.tc-stage-music-actions .material-symbols-outlined{font-size:16px}.tc-stage-music-volume{display:flex;align-items:center;gap:7px;margin-top:11px;color:#6b7280}.tc-stage-music-volume .material-symbols-outlined{font-size:16px}.tc-stage-music-volume input{min-width:0;flex:1;accent-color:#f59e0b}.tc-stage-music-volume small{width:30px;text-align:right;font-size:10px}.tc-stage-music-monitor{display:flex;align-items:center;gap:7px;margin-top:8px;font-size:11.5px;color:#6b7280}.tc-stage-music-monitor input{accent-color:#f59e0b}.tc-stage-music-note{margin:9px 0 0;font-size:10.5px;line-height:1.35;color:#7b8492}
@media(max-width:767px){.tc-stage-music-backdrop{align-items:flex-end;padding:0}.tc-stage-music{width:100%;max-width:none;border-radius:16px 16px 0 0;padding:14px 12px calc(14px + env(safe-area-inset-bottom))}}

/* TALKCHAT_R19C11R5_STAGE_SEAT_RING_RESTORE
   Hedef:
   - boş koltukların dashed/yuvarlak mic alanı korunur
   - sahne içi sağ hoparlör kolonu kaldırılır
   - 10 koltuk boşalan alana 5+5 yayılır
   - boş koltuk yazıları gizlenir
   - sahnenin altındaki ince yatay çizgi kaldırılır
*/
.tc-stage{
  border-bottom:0!important;
}
.tc-stage-side{
  display:none!important;
}
.tc-stage-grid{
  flex:1 1 100%;
  width:100%;
  max-width:100%;
}
.tc-stage-seat.empty .tc-stage-name{
  display:none!important;
}
@media(max-width:767px){
  .tc-stage-row{
    width:100%;
  }
  .tc-stage-grid{
    grid-template-columns:repeat(5,minmax(0,1fr));
    column-gap:10px;
    row-gap:8px;
    padding:7px 10px 6px;
  }
  .tc-stage-seat{
    gap:0;
  }
  .tc-stage-avatar{
    margin-inline:auto;
  }
}

/* TALKCHAT_R20A7_DESKTOP_STAGE_MIC_CENTER_SIZE
   Desktop only (>=1024px):
   - stage seats form one centered group in the chat area
   - microphone/avatar circle is larger
   - dashed empty-seat ring is larger
   Mobile/tablet source rules above remain untouched.
*/
@media (min-width:1024px){
  .tc-stage-row{
    width:100%;
    justify-content:center;
  }

  .tc-stage-grid{
    flex:0 1 auto!important;
    width:auto!important;
    max-width:min(1080px,100%)!important;
    margin-inline:auto;
    display:flex!important;
    flex-wrap:wrap;
    justify-content:center;
    align-items:flex-start;
    column-gap:18px;
    row-gap:10px;
    padding:10px 24px 8px;
  }

  .tc-stage-seat{
    flex:0 0 78px;
    width:78px;
    max-width:78px;
    gap:4px;
  }

  .tc-stage-avatar{
    width:52px;
    height:52px;
    flex:0 0 52px;
  }

  .tc-stage-avatar>.ref-avatar,
  .tc-stage-avatar>img{
    width:52px!important;
    height:52px!important;
  }

  .tc-stage-dashed{
    inset:-2px;
    border-width:2px;
  }

  .tc-stage-seat.empty .tc-stage-avatar>.material-symbols-outlined,
  .tc-stage-seat.empty .tc-stage-avatar .material-symbols-outlined{
    font-size:21px;
  }

  .tc-stage-mic{
    right:-3px;
    bottom:-3px;
    width:20px;
    height:20px;
  }

  .tc-stage-mic .material-symbols-outlined{
    font-size:12px;
  }

  .tc-stage-avatar.speaking:before{
    inset:-4px;
  }

  .tc-stage-name{
    font-size:10.5px;
  }
}


/* TALKCHAT_R20A9_STAGE_SPEAKING_FRAME_FLICKER_ROOT_FIX: speaking ring static; frame GIF compositor isolated from pulse transform. */
