/* tocador.css: o player, nas duas formas. O .tocador solto é a barra compacta do início, como a "tocando agora" de um
   aplicativo de música: o play verde redondo à esquerda e, à direita, o capítulo que toca, a barra fina (branca que
   fica verde quando o mouse passa) e os relógios com os comandos, num cartão cinza. O .tocador--quadro é o grande da
   página do episódio: o quadro escuro no lugar do vídeo, com o play no centro e os controles na beirada de baixo.
   A barra de verdade é o range transparente por cima da trilha desenhada. O .tocador-vazio ocupa o mesmo lugar quando
   o episódio não tem áudio.
   Depende de: base.css e o player.js do comum (que escreve --progresso e data-tocador no <html>).
   Telefone nas regras soltas, computador no @media do fim. */

.tocador {
  display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 14px;
  padding: 12px 14px; border-radius: var(--raio);
  background: var(--superficie-alta); color: var(--texto);
}

.tocador__tocar {
  display: grid; place-items: center; width: 52px; height: 52px; border: 0; border-radius: 50%;
  background: var(--verde); color: var(--sobre-o-verde);
}
.tocador__tocar:hover { background: var(--verde-claro); transform: scale(1.04); }
.tocador__tocar svg { width: 24px; height: 24px; fill: currentColor; }

.icone--pausar { display: none; }
[data-tocador="tocando"] .icone--tocar { display: none; }
[data-tocador="tocando"] .icone--pausar { display: block; }

.tocador__corpo { display: grid; gap: 4px; min-width: 0; }

.tocador__capitulo { min-height: 1.4em; overflow: hidden; font-size: 14px; font-weight: 700; white-space: nowrap; text-overflow: ellipsis; }

/* ------------------------------------------------------------ a trilha */

/* a parte andada em branco (verde com o mouse em cima), o resto em cinza; o range transparente por cima recebe o toque */
.tocador__trilho { position: relative; height: 20px; }

.tocador__andou {
  --cor-andada: var(--texto);
  position: absolute; left: 0; right: 0; top: 50%; height: 4px; translate: 0 -50%; border-radius: 2px;
  background: linear-gradient(90deg, var(--cor-andada) calc(var(--progresso, 0) * 100%), rgba(255, 255, 255, .25) 0);
}
.tocador__trilho:hover .tocador__andou { --cor-andada: var(--verde); }

.tocador__barra { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }

.tocador__trilho:focus-within { outline: 2px solid var(--texto); outline-offset: 2px; border-radius: 4px; }

/* ------------------------------------------------------------ relógios e comandos */

.tocador__rodape { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 12px; }

.tocador__relogios { font-size: 12px; font-weight: 500; color: var(--texto-suave); font-variant-numeric: tabular-nums; }

.tocador__comandos { display: flex; flex-wrap: wrap; gap: 6px; }

.tocador__comandos button {
  min-height: 30px; padding: 0 12px; border: 0; border-radius: 999px;
  background: var(--superficie-apertada); font-size: 13px; font-weight: 700; font-variant-numeric: tabular-nums;
}
.tocador__comandos button:hover { background: var(--superficie-acesa); }

.tocador__retomar { font-size: 13px; color: var(--texto-suave); }

/* ------------------------------------------------------------ o quadro grande */

.tocador--quadro {
  grid-template-columns: minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr) auto; align-items: stretch; gap: 12px;
  min-height: 240px; padding: 14px 16px 12px; border-radius: var(--raio-grande);
  background:
    radial-gradient(circle at 50% 42%, rgba(255, 255, 255, .1), transparent 55%),
    linear-gradient(180deg, var(--superficie-alta), var(--quase-preto));
}

.tocador__programa { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--texto-suave); }

.tocador__centro { display: grid; justify-items: center; align-content: center; gap: 12px; }

.tocador--quadro .tocador__tocar { width: 68px; height: 68px; }
.tocador--quadro .tocador__tocar svg { width: 30px; height: 30px; }
.tocador--quadro .tocador__capitulo { max-width: 100%; text-align: center; }
.tocador--quadro .tocador__comandos button { background: rgba(255, 255, 255, .14); }
.tocador--quadro .tocador__comandos button:hover { background: rgba(255, 255, 255, .24); }

/* ------------------------------------------------------------ sem áudio */

.tocador-vazio {
  display: grid; place-items: center; min-height: 120px; padding: 20px; border-radius: var(--raio);
  background: var(--superficie-alta); text-align: center;
}
.tocador-vazio p { max-width: 40ch; font-size: 14px; color: var(--texto-suave); }
.tocador-vazio a { font-weight: 700; color: var(--texto); }

.tocador-vazio--quadro {
  min-height: 240px; border-radius: var(--raio-grande);
  background: linear-gradient(180deg, var(--superficie-alta), var(--quase-preto));
}

@media (min-width: 900px) {
  .tocador--quadro { aspect-ratio: 16 / 9; min-height: 0; padding: 20px 24px 16px; }
  .tocador--quadro .tocador__tocar { width: 92px; height: 92px; }
  .tocador--quadro .tocador__tocar svg { width: 40px; height: 40px; }
  .tocador--quadro .tocador__capitulo { font-size: 18px; }
  .tocador--quadro .tocador__comandos button { min-height: 34px; padding: 0 14px; font-size: 14px; }
  .tocador-vazio--quadro { aspect-ratio: 16 / 9; }
}
