.poster-dialog{width:min(100% - 24px,460px);max-height:calc(100dvh - 24px);padding:0;border:0;border-radius:16px;background:var(--paper);color:var(--ink);overflow:auto;overscroll-behavior:contain;box-shadow:0 20px 70px #0005}
.poster-dialog::backdrop{background:#171816bf}
.poster-dialog:not([open]){display:none}
.poster-dialog[open]{display:flex;flex-direction:column}
.poster-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px 10px 18px;flex-shrink:0}
.poster-heading h2{font-size:17px;margin:0}
.poster-close{min-width:44px;min-height:44px;border:0;background:transparent;color:var(--ink);font-size:14px;font-weight:700;border-radius:8px}
.poster-preview{margin:0;padding:0 18px;overflow:auto;min-height:100px}
.poster-preview img{display:block;width:100%;height:auto;-webkit-touch-callout:default;user-select:auto}
.poster-preview img[hidden]{display:none}
.poster-footer{padding:12px 18px calc(16px + env(safe-area-inset-bottom));flex-shrink:0}
.poster-help{margin:0 0 10px;color:#51534b;font-size:12px;line-height:1.6}
.poster-buttons{display:flex;gap:10px}
.poster-buttons .btn{flex:1;min-height:46px;padding:12px 10px;font-size:14px;box-shadow:none}
.poster-buttons [hidden]{display:none}
.poster-message{font-size:12px;line-height:1.5;margin:8px 0 0;color:var(--accent-dark)}
body.poster-open{overflow:hidden}
@media(max-height:680px){.poster-dialog{max-height:calc(100dvh - 12px)}.poster-heading{padding-top:4px;padding-bottom:4px}.poster-footer{padding-top:8px;padding-bottom:10px}.poster-help{margin-bottom:6px}}
@supports not (height:100dvh){.poster-dialog{max-height:calc(100vh - 24px)}}
