/* Sesli sohbet paneli. Renkler barındıran oyunun değişkenlerinden gelir, yoksa varsayılanlar kullanılır. */
.vc {
  --vc-accent: var(--accent, #1f7a4a);
  --vc-line: var(--line, #d6ccb6);
  --vc-bg: var(--panel-2, #efe8da);
  --vc-text: var(--text, #2a2620);
  --vc-muted: var(--muted, #6d6556);
  --vc-warn: var(--warn, #c2410c);
  --vc-speak: var(--speak, #22c55e);
  display: grid; gap: 6px; font-size: 13px; color: var(--vc-text);
}
.vc-row { display: flex; gap: 5px; flex-wrap: wrap; }
.vc-btn {
  border: 1px solid var(--vc-line); background: var(--vc-bg); color: inherit; border-radius: 8px; padding: 5px 10px;
  min-height: 36px; font: inherit; cursor: pointer; touch-action: manipulation;
}
.vc-btn:disabled { opacity: 0.5; cursor: default; }
.vc-btn[aria-pressed="true"] { border-color: var(--vc-accent); box-shadow: inset 0 0 0 1px var(--vc-accent); font-weight: 700; }
.vc-btn.vc-off { color: var(--vc-warn); border-color: currentColor; }
.vc-primary { background: var(--vc-accent); color: #fff; border-color: transparent; font-weight: 700; }
.vc-ghost { background: transparent; }
.vc-small { min-height: 28px; padding: 2px 8px; font-size: 12px; }
.vc-ptt { min-height: 56px; font-size: 15px; font-weight: 700; user-select: none; -webkit-user-select: none; }
.vc-ptt.vc-held { background: var(--vc-speak); color: #fff; border-color: transparent; }
.vc-peer { display: grid; gap: 3px; padding: 6px 8px; border-radius: 10px; background: var(--vc-bg); border: 1px solid var(--vc-line); }
.vc-self { display: flex; align-items: center; gap: 6px; }
.vc-line { display: flex; align-items: center; gap: 6px; min-width: 0; }
.vc-sub { font-size: 11.5px; color: var(--vc-muted); }
.vc-name { font-weight: 700; flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vc-dot { width: 12px; height: 12px; border-radius: 50%; background: var(--vc-line); flex: none; transition: box-shadow 0.1s; }
.vc-peer.speaking .vc-dot { background: var(--vc-speak); box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.35); }
.vc-meter { width: 70px; height: 6px; border-radius: 999px; background: var(--vc-line); overflow: hidden; flex: none; }
.vc-meter i { display: block; height: 100%; width: 0; background: var(--vc-speak); transition: width 0.1s linear; }
.vc-q { font-size: 11px; font-weight: 700; padding: 1px 7px; border-radius: 999px; border: 1px solid transparent; white-space: nowrap; }
.vc-q.iyi { color: #15803d; border-color: currentColor; }
.vc-q.orta { color: #b45309; border-color: currentColor; }
.vc-q.zayif { color: var(--vc-warn); border-color: currentColor; }
.vc-status.vc-failed, .vc-status.vc-disconnected { color: var(--vc-warn); font-weight: 600; }
.vc-vol { flex: 1; min-width: 60px; accent-color: var(--vc-accent); }
.vc-err { color: var(--vc-warn); margin: 0; font-weight: 600; }
.vc-note { color: var(--vc-muted); margin: 0; font-size: 12px; }
.vc-dev { font-size: 12.5px; }
.vc-dev label { display: grid; gap: 3px; margin-top: 6px; }
.vc-dev select { min-height: 34px; border: 1px solid var(--vc-line); border-radius: 8px; background: var(--vc-bg); color: inherit; padding: 4px 6px; max-width: 100%; }
@media (prefers-color-scheme: dark) {
  .vc-q.iyi { color: #4ade80; }
  .vc-q.orta { color: #fbbf24; }
}
