/* tocador.css: o player, nas duas formas, e a janela de compartilhar. O .tocador solto é o compacto do último episódio:
   uma caixa branca com o play azul à esquerda e, à direita, o capítulo que toca, a barra fina azul e os relógios com
   os comandos. O .tocador--quadro é o grande da página do episódio, como uma tela de TV: o quadro marinho com riscas
   finas, o selo do programa no canto de cima, o play azul no meio e, embaixo, o capítulo numa tarja branca com fio
   amarelo e a barra amarela. 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> e monta a janela de
   compartilhar com as classes .compartilhar). 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: 14px; border: 1px solid var(--linha); border-radius: var(--raio);
  background: var(--branco); color: var(--texto);
}

.tocador__tocar {
  display: grid; place-items: center; width: 52px; height: 52px; border: 0; border-radius: var(--raio);
  background: var(--azul); color: var(--branco);
}
.tocador__tocar:hover { background: var(--azul-escuro); }
.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: 6px; min-width: 0; }

.tocador__capitulo {
  min-height: 1.3em; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;
  font-family: var(--letra-titulo); font-size: 17px; font-weight: 600; letter-spacing: .03em; text-transform: uppercase;
  color: var(--marinho);
}

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

/* a parte andada em azul, 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%;
  background: linear-gradient(90deg, var(--azul) calc(var(--progresso, 0) * 100%), var(--linha) 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(--azul); outline-offset: 2px; }

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

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

.tocador__comandos button {
  min-height: 30px; padding: 0 10px; border: 1px solid var(--linha-forte); border-radius: var(--raio);
  background: var(--branco); color: var(--marinho);
  font-family: var(--letra-titulo); font-size: 15px; font-weight: 600; font-variant-numeric: tabular-nums;
}
.tocador__comandos button:hover { border-color: var(--azul); color: var(--azul); }

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

/* ------------------------------------------------------------ o quadro grande, a tela de TV */

.tocador--quadro {
  grid-template-columns: minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr) auto; align-items: stretch; gap: 12px;
  min-height: 250px; padding: 12px 14px; border: 0;
  background:
    repeating-linear-gradient(135deg, rgba(255, 255, 255, .03) 0 2px, transparent 2px 16px),
    linear-gradient(150deg, var(--marinho-claro), var(--marinho) 65%);
  color: var(--branco);
}

/* o selo do programa no canto, como o de um canal */
.tocador__programa {
  justify-self: start; padding: 2px 8px; background: var(--branco); color: var(--marinho);
  font-family: var(--letra-titulo); font-size: 14px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
}

.tocador__centro { display: grid; place-items: center; }

.tocador--quadro .tocador__tocar { width: 68px; height: 68px; }
.tocador--quadro .tocador__tocar svg { width: 30px; height: 30px; }

/* o capítulo vira a tarja branca de baixo; vazia, ela some sem mexer na altura */
.tocador--quadro .tocador__capitulo {
  justify-self: start; max-width: 100%; padding: 3px 10px; border-left: var(--fio) solid var(--amarelo);
  background: var(--branco); color: var(--marinho);
}
.tocador--quadro .tocador__capitulo:empty { visibility: hidden; }

.tocador--quadro .tocador__andou { background: linear-gradient(90deg, var(--amarelo) calc(var(--progresso, 0) * 100%), rgba(255, 255, 255, .3) 0); }
.tocador--quadro .tocador__trilho:focus-within { outline-color: var(--amarelo); }
.tocador--quadro .tocador__relogios { color: var(--texto-no-escuro); }
.tocador--quadro .tocador__comandos button { border-color: rgba(255, 255, 255, .35); background: transparent; color: var(--branco); }
.tocador--quadro .tocador__comandos button:hover { border-color: var(--branco); color: var(--branco); }
.tocador--quadro .tocador__retomar { color: var(--texto-no-escuro); }

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

.tocador-vazio {
  display: grid; place-items: center; min-height: 120px; padding: 20px; border-radius: var(--raio);
  background: linear-gradient(150deg, var(--marinho-claro), var(--marinho) 65%); color: var(--branco); text-align: center;
}
.tocador-vazio p { max-width: 42ch; font-size: 15px; color: var(--texto-no-escuro); }
.tocador-vazio a { color: var(--branco); font-weight: 500; }

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

/* ------------------------------------------------------------ a janela de compartilhar */

/* O player.js do comum monta esta janela sozinho (as classes vêm dele, não de uma página):
   a marca "começar em", o endereço pronto e os dois botões, o de copiar em azul cheio. */
.compartilhar { display: grid; gap: 12px; }

.compartilhar__minuto { display: flex; align-items: center; gap: 8px; font-size: 15px; color: var(--marinho); }
.compartilhar__minuto input { width: 18px; height: 18px; margin: 0; accent-color: var(--azul); }

.compartilhar__endereco {
  width: 100%; min-height: 42px; padding: 0 12px;
  border: 1px solid var(--linha); border-radius: var(--raio); background: var(--gelo); color: var(--texto-suave);
  font: inherit; font-size: 14px;
}

.compartilhar__botoes { display: flex; flex-wrap: wrap; gap: 8px; }

.compartilhar__botao {
  display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px;
  border: 2px solid var(--azul); border-radius: var(--raio); background: var(--azul); color: var(--branco);
  font-family: var(--letra-titulo); font-size: 16px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase;
  text-decoration: none;
}
.compartilhar__botao:hover { border-color: var(--azul-escuro); background: var(--azul-escuro); }

.compartilhar__botao--zap { background: var(--branco); color: var(--azul); }
.compartilhar__botao--zap:hover { border-color: var(--azul); background: var(--gelo); }

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