/* tocador.css: o player, nas duas formas. O .tocador solto é a linha compacta do início: o play vermelho redondo à
   esquerda e, à direita, o capítulo que toca, a barra fina vermelha como a de um vídeo e os relógios com os comandos,
   num bloco cinza. O .tocador--quadro é o grande da página do episódio: o quadro grafite 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: 12px;
  padding: 12px; border-radius: var(--raio);
  background: var(--bloco); color: var(--texto);
}

.tocador__tocar {
  display: grid; place-items: center; width: 48px; height: 48px; border: 0; border-radius: 50%;
  background: var(--vermelho); color: var(--branco);
}
.tocador__tocar:hover { background: var(--vermelho-escuro); }
.tocador__tocar svg { width: 22px; height: 22px; 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: 6px; min-width: 0; }

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

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

/* a parte andada em vermelho, o resto em cinza; o range transparente por cima é quem recebe o toque */
.tocador__trilho { position: relative; height: 20px; }

.tocador__andou {
  position: absolute; left: 0; right: 0; top: 50%; height: 4px; translate: 0 -50%; border-radius: 2px;
  background: linear-gradient(90deg, var(--vermelho) calc(var(--progresso, 0) * 100%), var(--bloco-apertado) 0);
}
.tocador__trilho:hover .tocador__andou { height: 6px; }

.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: 13px; color: var(--texto-suave); font-variant-numeric: tabular-nums; }

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

.tocador__comandos button {
  min-height: 28px; padding: 0 10px; border: 0; border-radius: 999px;
  background: var(--bloco-escuro); font-size: 13px; font-weight: 500; font-variant-numeric: tabular-nums;
}
.tocador__comandos button:hover { background: var(--bloco-apertado); }

.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;
  background: linear-gradient(160deg, var(--grafite-claro), var(--grafite) 70%); color: var(--branco);
}

.tocador__programa { font-size: 12px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; opacity: .75; }

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

.tocador--quadro .tocador__tocar { width: 64px; height: 64px; }
.tocador--quadro .tocador__tocar svg { width: 28px; height: 28px; }
.tocador--quadro .tocador__capitulo { max-width: 100%; text-align: center; opacity: .9; }
.tocador--quadro .tocador__andou { background: linear-gradient(90deg, var(--vermelho) calc(var(--progresso, 0) * 100%), rgba(255, 255, 255, .35) 0); }
.tocador--quadro .tocador__trilho:focus-within { outline-color: var(--branco); }
.tocador--quadro .tocador__relogios { color: var(--branco); opacity: .85; }
.tocador--quadro .tocador__comandos button { background: rgba(255, 255, 255, .14); color: var(--branco); }
.tocador--quadro .tocador__comandos button:hover { background: rgba(255, 255, 255, .24); }
.tocador--quadro .tocador__retomar { color: var(--branco); opacity: .8; }

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

.tocador-vazio {
  display: grid; place-items: center; min-height: 120px; padding: 20px; border-radius: var(--raio);
  background: linear-gradient(160deg, var(--grafite-claro), var(--grafite) 70%); color: var(--branco); text-align: center;
}
.tocador-vazio p { max-width: 40ch; font-size: 14px; opacity: .9; }
.tocador-vazio a { font-weight: 500; }

.tocador-vazio--quadro { min-height: 240px; }

@media (min-width: 900px) {
  .tocador--quadro { aspect-ratio: 16 / 9; min-height: 0; padding: 20px 24px 16px; }
  .tocador--quadro .tocador__tocar { width: 88px; height: 88px; }
  .tocador--quadro .tocador__tocar svg { width: 38px; height: 38px; }
  .tocador--quadro .tocador__capitulo { font-size: 17px; }
  .tocador--quadro .tocador__comandos button { min-height: 32px; padding: 0 12px; font-size: 14px; }
  .tocador-vazio--quadro { aspect-ratio: 16 / 9; }
}
