.image-preview-dialog {
    width:fit-content;
    min-width:min(360px,calc(100vw - 48px));
    max-width:min(1100px,calc(100vw - 48px));
    max-height:calc(100vh - 48px);
    max-height:calc(100dvh - 48px);
    padding:0;
    margin:auto;
    border:1px solid rgba(255,255,255,.2);
    border-radius:12px;
    background:var(--axe-darker,#0f0f23);
    color:#fff;
    box-shadow:0 24px 90px #0008;
}
.image-preview-dialog[open] { display:flex; flex-direction:column; }
.image-preview-dialog::backdrop { background:rgba(4,7,16,.72); }
.image-preview-header { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:10px 12px 10px 20px; border-bottom:1px solid #ffffff26; }
.image-preview-header h2 { min-width:0; margin:0; font-family:inherit; font-size:17px; font-weight:600; line-height:1.5; }
.image-preview-close { display:grid; place-items:center; flex-shrink:0; width:44px; height:44px; border:1px solid #ffffff26; border-radius:6px; background:transparent; color:#fff; font-size:18px; cursor:pointer; }
.image-preview-close:hover { background:#ffffff12; border-color:var(--axe-blue,#3498db); }
.image-preview-close:focus-visible { outline:3px solid var(--axe-blue,#3498db); outline-offset:2px; }
.image-preview-media { display:flex; align-items:center; justify-content:center; min-height:0; padding:16px; overflow:auto; background:#070b13; }
.image-preview-media img { display:block; width:auto; height:auto; max-width:min(1066px,calc(100vw - 82px)); max-height:calc(100vh - 160px); max-height:calc(100dvh - 160px); object-fit:contain; }
.image-preview-dialog [hidden] { display:none !important; }
.image-preview-error { max-width:440px; margin:16px; color:#ffffffc7; font-size:14px; line-height:1.7; }
a[data-image-preview],img.game-screenshot { cursor:zoom-in; }
@media(max-width:600px) {
    .image-preview-dialog { min-width:min(280px,calc(100vw - 24px)); max-width:calc(100vw - 24px); max-height:calc(100vh - 24px); max-height:calc(100dvh - 24px); border-radius:9px; }
    .image-preview-header { gap:10px; padding:8px 8px 8px 14px; }
    .image-preview-header h2 { font-size:15px; }
    .image-preview-media { padding:10px; }
    .image-preview-media img { max-width:calc(100vw - 46px); max-height:calc(100vh - 124px); max-height:calc(100dvh - 124px); }
}
