.software-preview{max-width:760px;margin:28px 0 36px}
.software-preview-link{position:relative;display:block;overflow:hidden;border:1px solid #65507e;border-radius:12px;background:#0b0b16;box-shadow:0 12px 36px #0005;cursor:zoom-in}
.software-preview-link img{display:block;width:100%;height:auto}
.software-preview-link:hover,.software-preview-link:focus-visible{border-color:#c6afff;box-shadow:0 12px 40px #8b6cff25}
.software-preview-link:focus-visible{outline:3px solid #c6afff;outline-offset:5px}
.software-preview-hint{position:absolute;right:12px;bottom:12px;padding:6px 12px;border:1px solid #8b6cff66;border-radius:999px;background:#101019e8;color:#f5f7f4;font-size:.75rem}
.software-preview figcaption{margin-top:10px;color:var(--muted);font-size:.85rem}
#software-preview-dialog{box-sizing:border-box;width:calc(100% - 32px);max-width:1700px;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);padding:16px;border:1px solid #65507e;border-radius:12px;background:#0b0b16;color:#f5f7f4;overflow:auto}
#software-preview-dialog[open]{position:fixed;inset:0;margin:auto;display:flex;flex-direction:column;gap:14px}
#software-preview-dialog::backdrop{background:#030508e8;backdrop-filter:blur(5px)}
.software-preview-header{display:flex;align-items:center;justify-content:space-between;gap:16px}
#software-preview-dialog h2{font-size:1rem;line-height:1.4;margin:0}
#software-preview-dialog button{flex:none;border:1px solid #8b6cff88;border-radius:5px;padding:8px 14px;background:#20182e;color:#f5f7f4;font:inherit;font-size:.85rem;cursor:pointer}
#software-preview-dialog button:focus-visible{outline:3px solid #c6afff;outline-offset:3px}
#software-preview-dialog img{display:block;width:100%;height:auto;max-height:calc(100vh - 114px);max-height:calc(100dvh - 114px);object-fit:contain;min-height:0;border-radius:6px}
@media(max-width:600px){.software-preview{margin-block:22px 28px}.software-preview-hint{right:8px;bottom:8px;font-size:.7rem;padding:4px 9px}#software-preview-dialog{width:calc(100% - 16px);padding:10px;max-height:calc(100dvh - 16px)}.software-preview-header{gap:10px}}
