
.tile.is-focus, .card.is-focus, .list-item.is-focus, .tab.is-focus, .btn.is-focus, .guide-item.is-focus {
  transform: scale(1.04);
  transition: transform var(--dur-fast) var(--curve);
}

.tile, .card, .list-item { animation: fadeUp var(--dur-med) var(--curve) both; }
@keyframes fadeUp { from { opacity:0; transform: translateY(10px); } to { opacity:1; transform:none; } }

.player-full { position: relative; height: calc(100vh - 92px); background: black; }
.player-overlay { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:space-between; padding:24px; background: linear-gradient(to top, rgba(0,0,0,.55), rgba(0,0,0,0) 40%); }
.player-overlay.is-hidden { display:none; }
.overlay-top { display:flex; gap:12px; align-items:center; }
.overlay-top .title { font-weight:800; }
.overlay-bottom { display:flex; gap:12px; align-items:center; }
.progress { flex:1; height: 8px; border-radius: 8px; background:#333; overflow:hidden; }
.progress .bar { height:100%; background: var(--accent); }
