.poster-open{display:block;cursor:zoom-in}.poster-open:focus-visible{outline:3px solid #547259;outline-offset:4px}
.poster-dialog{width:94vw;max-width:1400px;height:94dvh;max-height:94dvh;border:0;border-radius:10px;padding:0;background:#171b18;color:#fff;overflow:hidden}
.poster-dialog::backdrop{background:rgba(0,0,0,.85)}.poster-close,.poster-scale{position:absolute;top:12px;z-index:1;background:#fff;color:#222;border:0;border-radius:6px;padding:10px 14px;font:14px system-ui;cursor:pointer}.poster-close{right:12px}.poster-scale{left:12px}
.poster-view{height:100%;overflow:auto;box-sizing:border-box;padding:62px 16px 16px;text-align:center}.poster-view img{width:auto;height:auto;max-width:100%;max-height:calc(94dvh - 90px);object-fit:contain}.poster-dialog.enlarged .poster-view img{max-height:none;max-width:none;width:max(100%,1000px);height:auto}
.poster-view img[hidden],.poster-status[hidden]{display:none}
.poster-status{min-height:calc(94dvh - 100px);margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:20px;color:#e8efe9;font:14px/1.6 system-ui,sans-serif}
.poster-status::before{content:"";width:30px;height:30px;border:3px solid #ffffff25;border-top-color:#dcf883;border-radius:50%;animation:poster-loading .8s linear infinite}
.poster-error::before{display:none}.poster-scale:disabled{opacity:.45;cursor:default}
@keyframes poster-loading{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.poster-status::before{animation:none}}
