:root{--bg:#0e0e10;--bg-elev:#171719;--text:#f4f4f5;--muted:#a1a1aa;--accent:#f5f5f7;--chip:#1f1f23;--chip-active:#f4f4f5;--chip-active-text:#0e0e10;--radius:12px}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit}.wrap{max-width:1500px;margin:0 auto;padding:64px 32px 96px}.masthead{margin-bottom:40px}.masthead h1{font-size:clamp(40px,7vw,76px);line-height:1.02;letter-spacing:-.03em;margin:0 0 12px;font-weight:700}.masthead p{color:var(--muted);font-size:18px;max-width:60ch;margin:0}.filters{position:-webkit-sticky;position:sticky;top:0;z-index:20;display:flex;flex-wrap:wrap;gap:8px;padding:16px 0;margin-bottom:12px;background:linear-gradient(var(--bg) 70%,rgba(14,14,16,0));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #2a2a30;background:var(--chip);color:var(--text);padding:9px 16px;border-radius:999px;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s,color .15s,border-color .15s,transform .1s}.chip:hover{border-color:#3f3f46}.chip:active{transform:scale(.97)}.chip[aria-pressed=true]{background:var(--chip-active);color:var(--chip-active-text);border-color:var(--chip-active)}.chip .count{opacity:.55;margin-left:6px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.masonry{column-gap:16px;column-count:5}@media (max-width:1400px){.masonry{column-count:4}}@media (max-width:1040px){.masonry{column-count:3}}@media (max-width:720px){.masonry{column-count:2}}@media (max-width:440px){.masonry{column-count:1}}.card{page-break-inside:avoid;break-inside:avoid;margin:0 0 16px;border:0;padding:0;border-radius:var(--radius);overflow:hidden;cursor:zoom-in;position:relative;line-height:0}.card,.card .media{width:100%;display:block;background:var(--bg-elev)}.card .media{height:auto;object-fit:cover;transition:transform .35s ease,opacity .4s ease}.card:hover .media{transform:scale(1.035)}.playbadge{width:26px;height:26px;display:flex;align-items:center;justify-content:center;padding-left:2px;border-radius:999px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.card:after,.playbadge{position:absolute;left:10px;bottom:10px;background:rgba(0,0,0,.55);color:#fff;font-size:11px}.card:after{content:attr(data-cat);letter-spacing:.04em;text-transform:uppercase;padding:4px 8px;border-radius:6px;opacity:0;transition:opacity .2s;line-height:1.2}.card:hover:after{opacity:1}.empty{color:var(--muted);padding:48px 0}.lightbox{position:fixed;inset:0;z-index:100;background:rgba(8,8,10,.92);display:flex;align-items:center;justify-content:center;padding:32px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.lightbox .lb-media,.lightbox img{max-width:92vw;max-height:86vh;object-fit:contain;border-radius:8px;box-shadow:0 20px 80px rgba(0,0,0,.6)}.lightbox .lb-media{background:#000}.lb-caption{position:fixed;bottom:20px;left:0;right:0;display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--muted);font-size:13px}.lb-title{color:#fff;font-size:14px;font-weight:600}.lb-desc{margin:0;max-width:60ch;padding:0 16px;text-align:center;color:var(--muted);font-size:13px;line-height:1.5}.dots{display:flex;gap:7px}.dot{width:7px;height:7px;padding:0;border:0;border-radius:999px;background:rgba(255,255,255,.3);cursor:pointer;transition:background .15s,transform .15s}.dot:hover{background:rgba(255,255,255,.55)}.dot.on{background:#fff;transform:scale(1.25)}.stack{position:absolute;top:9px;right:9px;gap:4px;padding:3px 7px 3px 5px;border-radius:8px;background:rgba(0,0,0,.5);font-size:11px;font-weight:600;line-height:1;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.lb-btn,.stack{display:flex;align-items:center;color:#fff}.lb-btn{position:fixed;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);width:48px;height:48px;border-radius:999px;font-size:22px;cursor:pointer;justify-content:center}.lb-btn:hover{background:rgba(255,255,255,.16)}.lb-prev{left:20px}.lb-next{right:20px}.lb-close{position:fixed;top:20px;right:24px}