/* =============================================================================
   WORK  |  Filter links and the video grid.
   HTML: index.html -> <!-- SECTION: WORK -->     JS: js/work.js
   Edit only this file when you want to change how work looks.
   ============================================================================= */

@keyframes ring{from{transform:scale(1);opacity:.8}to{transform:scale(1.7);opacity:0}}
.bar{display:flex;flex-wrap:wrap;gap:.3rem 1.3rem;justify-content:center;margin:0 auto 1.6rem}
.tag{font:inherit;font-size:.82rem;font-weight:500;cursor:pointer;padding:.3rem .1rem;border:0;border-bottom:1.5px solid transparent;border-radius:0;background:none;color:var(--muted);transition:color .25s,border-color .25s;position:relative;overflow:hidden}
.tag:hover,.tag:focus-visible{color:var(--ink);border-bottom-color:rgba(142,198,65,.55);outline:none}
.tag[aria-pressed="true"]{color:var(--ink);border-bottom-color:var(--green)}
.gallery{columns:2;column-gap:.6rem}
@media(min-width:560px){
  .gallery{columns:2;column-gap:1rem}
}
@media(min-width:900px){
  .gallery{columns:3}
}
@media(min-width:1100px){
  .gallery{columns:4}
}
.card{break-inside:avoid;margin:0 0 1rem;padding:.5rem;border-radius:24px;transition:transform .35s}
.card:hover{transform:translateY(-4px)}
.card:active{transform:scale(.98)}
.card.hide{display:none}
.player{position:relative;border-radius:18px;overflow:hidden;background:#000;aspect-ratio:var(--ar,16/9)}
.player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.poster{position:absolute;inset:0;width:100%;height:100%;border:0;cursor:pointer;display:grid;place-items:center;color:#fff;
  background:radial-gradient(circle at 25% 15%,var(--c1),transparent 62%),radial-gradient(circle at 85% 95%,var(--c2),transparent 58%),#0c0f08}
.play{position:relative;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.22);border:1px solid rgba(255,255,255,.6);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:inset 0 1.5px 1px rgba(255,255,255,.6),0 0 30px rgba(255,255,255,.25);transition:transform .25s}
.play::after{content:"";position:absolute;inset:-2px;border-radius:50%;border:1.5px solid rgba(255,255,255,.7);animation:ring 2.4s ease-out infinite}
.poster:hover .play,.poster:focus-visible .play{transform:scale(1.12)}
.play svg{width:22px;height:22px;margin-left:3px;fill:#fff}
.meta{display:flex;justify-content:space-between;gap:.5rem;padding:.65rem .5rem .25rem;font-size:.9rem}
.meta b{font-weight:600}
.meta span{color:var(--muted);font-size:.8rem}
.empty{display:none;text-align:center;padding:2rem;color:var(--muted)}
@media(pointer:coarse){
  .tag{padding:.7rem .2rem}
}
.card.playing{break-inside:avoid}
@media(max-width:559px){
  .card{margin-bottom:.6rem;padding:.35rem;border-radius:18px}
  .card.playing{column-span:all}
  .player{border-radius:13px}
  .meta{flex-direction:column;gap:0;padding:.5rem .3rem .2rem;font-size:.82rem}
  .play{width:44px;height:44px}
  .play svg{width:18px;height:18px}
}
