﻿* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

:root {
  --fundo: #1e1f22;
  --painel: #2b2d31;
  --circulo-bg: #313338;
  --texto: #f2f3f5;
  --texto-suave: #949ba4;
  --falando: #23a559;
  --falando-brilho: rgba(35, 165, 89, 0.55);
  --borda: #3f4147;
}

body {
  font-family: "Segoe UI", system-ui, sans-serif;
  background: var(--fundo);
  color: var(--texto);
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

.app {
  width: 100%;
  max-width: 560px;
  padding: 2rem 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
}

.app.home {
  text-align: center;
  gap: 1rem;
}

.app.home h1 {
  font-size: 1.4rem;
}

.app.home p {
  color: var(--texto-suave);
}

.link-exemplo {
  display: block;
  padding: 0.75rem 1rem;
  background: var(--painel);
  border-radius: 8px;
  font-size: 0.95rem;
  color: var(--falando);
  word-break: break-all;
}

.dica {
  font-size: 0.85rem;
}

.aviso-erro {
  color: #f23f43;
  font-size: 0.9rem;
  text-align: center;
}

.area-circulos {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.5rem;
  min-height: 200px;
  width: 100%;
  transition: gap 0.35s ease;
}

.area-circulos.sozinho {
  gap: 0;
  justify-content: center;
}

.circulo {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
  position: relative;
  opacity: 0.45;
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.circulo.ativo {
  opacity: 1;
}

.circulo-avatar {
  position: relative;
  width: 120px;
  height: 120px;
  flex-shrink: 0;
}

.circulo-inner {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: var(--circulo-bg);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
  transition: box-shadow 0.12s ease;
}

.circulo-inicial {
  font-size: 2.5rem;
  font-weight: 700;
  color: var(--texto);
  user-select: none;
}

.circulo-anel {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  pointer-events: none;
  z-index: 2;
  transform-origin: center center;
}

.circulo.falando .circulo-anel {
  box-shadow:
    0 0 0 3px var(--falando),
    0 0 18px 6px var(--falando-brilho),
    0 0 32px 10px rgba(35, 165, 89, 0.25);
  animation: discord-pulse 1.2s ease-in-out infinite;
}

.circulo.falando .circulo-inner {
  box-shadow: inset 0 0 0 2px rgba(35, 165, 89, 0.35);
}

@keyframes discord-pulse {
  0%, 100% {
    transform: scale(1);
    box-shadow:
      0 0 0 3px var(--falando),
      0 0 18px 6px var(--falando-brilho),
      0 0 32px 10px rgba(35, 165, 89, 0.25);
  }
  50% {
    transform: scale(1.05);
    box-shadow:
      0 0 0 4px var(--falando),
      0 0 26px 10px var(--falando-brilho),
      0 0 44px 14px rgba(35, 165, 89, 0.35);
  }
}

.circulo-label {
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--texto-suave);
}

.circulo.ativo .circulo-label {
  color: var(--texto);
}

.status-texto {
  font-size: 0.85rem;
  color: var(--texto-suave);
  text-align: center;
  min-height: 1.2em;
}

.controles {
  display: flex;
  gap: 0.5rem;
}

.btn-controle {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.55rem 1rem;
  border: none;
  border-radius: 8px;
  background: var(--painel);
  color: var(--texto);
  font-size: 0.85rem;
  cursor: pointer;
  border: 1px solid var(--borda);
}

.btn-controle:hover {
  background: #383a40;
}

.btn-controle.mudo-ativo {
  background: #f23f43;
  border-color: #f23f43;
  color: white;
}

#audio-remoto {
  display: none;
}
