/* Player de áudio estilo Apple Music (19/10/2026). Fica no <body>, fora do #app. Cores da Biblioteca: #101615 e verde #d1e5b0. */
.pl-mini,.pl-cheio{--pl-bg:#101615;--pl-bg2:#1b2523;--pl-fg:#f2efe8;--pl-sub:#a9b3ad;--pl-acc:#d1e5b0;font-family:"DM Sans","Manrope",Archivo,system-ui,sans-serif;color:var(--pl-fg)}
.pl-mini[hidden],.pl-cheio[hidden]{display:none!important}
.pl-mini button,.pl-cheio button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
.pl-mini svg,.pl-cheio svg{width:22px;height:22px;display:block}

/* Mini player */
.pl-mini{position:fixed;z-index:70;left:calc(264px + 20px);right:110px;bottom:18px;max-width:760px;margin:0 auto;display:flex;align-items:center;gap:10px;padding:8px 10px 8px 8px;border-radius:14px;background:rgba(27,37,35,.92);-webkit-backdrop-filter:blur(20px) saturate(150%);backdrop-filter:blur(20px) saturate(150%);box-shadow:0 14px 40px rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.07);overflow:hidden;animation:plSobe .3s ease}
@keyframes plSobe{from{transform:translateY(24px);opacity:0}}
body.col-recolhida .pl-mini{left:20px}
.plm-barra{position:absolute;left:0;right:0;top:0;height:2px;background:rgba(255,255,255,.12)}
.plm-barra i{display:block;height:100%;width:0;background:var(--pl-acc)}
.plm-abrir{flex:1;min-width:0;display:flex;align-items:center;gap:12px;text-align:left}
.plm-capa{flex:none;width:46px;height:46px;border-radius:8px;overflow:hidden;background:var(--pl-bg);display:grid;place-items:center;color:var(--pl-acc);box-shadow:0 4px 12px rgba(0,0,0,.35)}
.plm-capa img{width:100%;height:100%;object-fit:cover}
.plm-tx{min-width:0;display:grid}
.plm-tx b,.plm-tx small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.plm-tx b{font-size:.95rem}
.plm-tx small{color:var(--pl-sub);font-size:.8rem}
.plm-bts{display:flex;align-items:center;gap:4px;flex:none}
.plm-bts button{width:40px;height:40px;border-radius:50%;display:grid;place-items:center}
.plm-bts button:hover{background:rgba(255,255,255,.08)}
.plm-bts .plm-play svg{width:28px;height:28px}
.plm-bts .plm-x{opacity:.65}.plm-bts .plm-x svg{width:18px;height:18px}
.pl-mini button:focus-visible,.pl-cheio button:focus-visible,.pl-cheio a:focus-visible{outline:2px solid var(--pl-acc);outline-offset:2px}
body.pl-ativo #app{padding-bottom:96px}

/* Tela cheia */
.pl-cheio{position:fixed;inset:0;z-index:300;overflow:hidden;background:var(--pl-bg);transform:translateY(100%);transition:transform .32s cubic-bezier(.2,.8,.2,1)}
.pl-cheio.aberto{transform:none}
body.pl-cheio-aberto{overflow:hidden}
.plc-fundo{position:absolute;inset:-60px;background:var(--pl-bg) center/cover no-repeat;filter:blur(60px) saturate(140%);transform:scale(1.2);opacity:.75}
.plc-veu{position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,22,21,.35),rgba(16,22,21,.82))}
.plc-caixa{position:relative;height:100%;overflow-y:auto;padding:max(16px,env(safe-area-inset-top)) clamp(18px,5vw,64px) max(24px,env(safe-area-inset-bottom))}
.plc-topo{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:12px;max-width:1100px;margin:0 auto 18px}
.plc-topo button{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.1)}
.plc-topo p{margin:0;text-align:center;font-weight:700;font-size:.9rem;color:var(--pl-sub);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.plc-topo a{color:var(--pl-acc);font-weight:700;font-size:.9rem;text-decoration:none}
.plc-grade{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,72px);align-items:center;min-height:calc(100% - 80px)}
.plc-capa{aspect-ratio:1;width:100%;max-width:520px;justify-self:center;border-radius:14px;overflow:hidden;background:var(--pl-bg2);box-shadow:0 30px 70px rgba(0,0,0,.55);display:grid;place-items:center;transition:transform .35s ease}
body:not(.pl-tocando) .plc-capa{transform:scale(.86)}
.plc-capa img{width:100%;height:100%;object-fit:cover}
.plc-capa span{font-size:6rem;color:var(--pl-acc)}
.plc-tx h2{margin:0 0 4px;font-size:clamp(1.3rem,2.4vw,2rem);font-weight:800;color:var(--pl-fg);line-height:1.15}
.plc-tx p{margin:0 0 22px;color:var(--pl-sub)}
.plc-pos input{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:3px;margin:0;background:linear-gradient(90deg,var(--pl-fg) var(--p,0%),rgba(255,255,255,.22) var(--p,0%));cursor:pointer}
.plc-pos input::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--pl-fg);opacity:0;transition:opacity .15s}
.plc-pos input:hover::-webkit-slider-thumb,.plc-pos input:focus::-webkit-slider-thumb{opacity:1}
.plc-pos input::-moz-range-thumb{width:14px;height:14px;border:0;border-radius:50%;background:var(--pl-fg)}
.plc-pos div{display:flex;justify-content:space-between;margin-top:8px;font-size:.78rem;color:var(--pl-sub);font-variant-numeric:tabular-nums}
.plc-bts{display:flex;justify-content:center;align-items:center;gap:clamp(14px,3vw,32px);margin:22px 0 30px}
.plc-bts button{width:52px;height:52px;display:grid;place-items:center;border-radius:50%;opacity:.92}
.plc-bts button:hover{background:rgba(255,255,255,.08);opacity:1}
.plc-bts svg{width:30px;height:30px}
.plc-bts .plc-play{width:76px;height:76px;background:var(--pl-fg);color:var(--pl-bg)}
.plc-bts .plc-play:hover{background:#fff}
.plc-bts .plc-play svg{width:38px;height:38px}
.plc-lista-t{margin:0 0 8px;font-weight:800;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:var(--pl-acc)}
.plc-lista ol{list-style:none;margin:0;padding:0;max-height:34vh;overflow-y:auto;border-top:1px solid rgba(255,255,255,.1)}
.plc-lista button{width:100%;display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;text-align:left;padding:11px 6px;border-bottom:1px solid rgba(255,255,255,.07)}
.plc-lista button:hover{background:rgba(255,255,255,.06)}
.plc-lista button span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.plc-lista button.ativa{color:var(--pl-acc);font-weight:700}
.plc-n{color:var(--pl-sub);text-align:right}
.plc-lista .ativa .plc-n{color:var(--pl-acc)}

@media (max-width:1023px){.pl-mini{left:12px;right:12px}}
@media (max-width:768px){
 .pl-mini{left:10px;right:10px;bottom:calc(84px + env(safe-area-inset-bottom,0px));border-radius:12px}
 body.pl-ativo #app{padding-bottom:170px}
 .plm-bts [data-pl-acao="ant"]{display:none}
 .plc-grade{grid-template-columns:minmax(0,1fr);gap:22px;align-items:start}
 .plc-capa{max-width:min(82vw,420px)}
 .plc-bts{margin:18px 0 24px}
 .plc-lista ol{max-height:none}
}
@media (prefers-reduced-motion:reduce){.pl-cheio,.plc-capa,.pl-mini{transition:none;animation:none}}
