.poster-page .poster-intro{padding:80px 0 52px;border-bottom:1px solid var(--line);margin-bottom:40px}
.poster-intro .eyebrow{color:var(--fire);margin-bottom:22px}
.poster-intro h1{font-size:clamp(44px,6vw,88px);margin-bottom:24px;max-width:100%;overflow-wrap:break-word}
.poster-intro p{font-size:18px;max-width:640px;margin-bottom:14px}.poster-intro small{font-size:14px}
.poster-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:start;padding-bottom:72px}
.poster-grid.masonry{grid-auto-rows:1px;row-gap:0}
.poster-card{margin:0;min-width:0;align-self:start;break-inside:avoid}
.poster-open{display:block;width:100%;border:0;padding:0;background:var(--panel);color:inherit;cursor:zoom-in;border-radius:0;overflow:hidden}
.poster-open img{display:block;width:100%;height:auto;transition:filter .2s ease}
.poster-open:hover img{filter:brightness(1.045)}
.poster-controls{height:48px;display:flex;justify-content:flex-end;align-items:center;border-bottom:1px solid #ffffff12}
.poster-like{display:flex;align-items:center;justify-content:center;gap:8px;min-width:64px;min-height:44px;padding:8px 10px;border:0;background:transparent;font-size:14px;font-variant-numeric:tabular-nums;color:var(--muted)}
.poster-like svg{width:20px;height:20px;fill:transparent;stroke:currentColor;stroke-width:1.5}
.poster-like[aria-pressed=true]{color:var(--fire)}.poster-like[aria-pressed=true] svg{fill:currentColor}
.poster-like:hover{color:var(--ink)}.poster-like:disabled{cursor:wait;opacity:.55}
.poster-like.pulse svg{animation:heart-pulse .24s ease}
@keyframes heart-pulse{0%{transform:scale(.95)}60%{transform:scale(1.08)}100%{transform:scale(1)}}
.poster-status{position:fixed;bottom:max(24px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:101;max-width:calc(100% - 32px);background:var(--raised);border:1px solid var(--line);padding:10px 16px;font-size:14px;color:var(--ink);text-align:center}
#poster-lightbox{position:fixed;inset:0;width:100%;max-width:none;height:100%;height:100dvh;max-height:none;margin:0;padding:max(64px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));border:0;background:rgba(7,9,10,.97);overflow:hidden}
#poster-lightbox::backdrop{background:rgba(0,0,0,.88)}
#poster-lightbox[open]{display:flex;justify-content:center;align-items:center}
#poster-lightbox img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}
.poster-close{position:absolute;top:max(12px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));width:44px;height:44px;background:#222629;border:1px solid #565a5b;border-radius:50%;color:var(--ink);font-size:28px;line-height:1}
body.poster-modal-open{overflow:hidden}
@media(max-width:1100px){.poster-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.poster-intro{padding-top:60px}}
@media(max-width:600px){.poster-grid{grid-template-columns:minmax(0,1fr);gap:24px}.poster-grid.masonry{grid-auto-rows:auto;row-gap:24px}.poster-card{grid-row-end:auto!important}.poster-page .poster-intro{padding:48px 0 32px;margin-bottom:28px}.poster-intro p{font-size:16px}.poster-intro .eyebrow{font-size:11px;letter-spacing:.11em}.poster-intro h1{font-size:clamp(42px,11vw,62px)}#poster-lightbox{padding-inline:12px}}
@media(prefers-reduced-motion:reduce){.poster-open img{transition:none}.poster-like.pulse svg{animation:none}}
