/* The portfolio opens inside GRIDLY, above the profile dialog. */
html body dialog.jf-gallery-viewer{box-sizing:border-box;width:min(940px,calc(100vw - 28px));max-width:none;max-height:calc(100dvh - 28px);padding:20px;margin:auto;overflow:auto;background:#0c0d10!important;color:#eee!important;border:1px solid #3b414a!important;border-radius:15px;font:14px/1.5 Arimo,Arial,sans-serif;color-scheme:dark;box-shadow:0 24px 90px #0009}
.jf-gallery-viewer::backdrop{background:rgba(0,0,0,.76);backdrop-filter:blur(5px)}
.jf-gallery-top{display:flex;align-items:center;gap:14px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid #343b44}
.jf-gallery-top h2{margin:0;font-size:12px;letter-spacing:.08em}
.jf-gallery-owner{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#b9bec7;font-size:12px}
html body .jf-gallery-viewer button{box-sizing:border-box;width:40px;min-width:40px;height:40px;min-height:40px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid #444a54;border-radius:7px;background:rgba(4,4,4,.65)!important;color:#fff!important;font:24px/1 Arial,sans-serif;cursor:pointer}
html body .jf-gallery-viewer button:hover{background:#222!important;border-color:#9097a0}
html body .jf-gallery-viewer button[hidden]{display:none}
.jf-gallery-close{margin-left:auto}
.jf-gallery-viewer button:focus-visible,.jf-gallery-link:focus-visible{outline:2px solid #89c7ff;outline-offset:3px}
.jf-gallery-stage{height:min(62dvh,620px);min-height:160px;display:flex;align-items:center;justify-content:center;background:#08090b;border-radius:8px;overflow:hidden}
.jf-gallery-stage .jf-photo{width:100%!important;height:100%!important;max-width:none!important;aspect-ratio:auto!important;border-radius:0;background:transparent}
.jf-gallery-stage .jf-photo img{width:100%;height:100%;object-fit:contain!important}
.jf-gallery-controls{display:flex;justify-content:center;align-items:center;gap:22px;margin-top:16px}
.jf-gallery-counter{font-size:12px;min-width:48px;text-align:center;color:#d5dae2}
html body button.jf-gallery-link{display:block;min-width:0;min-height:0;padding:0;overflow:hidden;border-radius:8px;background:transparent}
body:has(.jf-gallery-viewer[open]){overflow:hidden}
@media(prefers-reduced-motion:no-preference){.jf-gallery-viewer[open]{animation:jf-gallery-enter .22s ease-out}.jf-gallery-stage img{animation:jf-photo-enter .2s ease-out}}
@keyframes jf-gallery-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes jf-photo-enter{from{opacity:.3}to{opacity:1}}
@media(max-width:520px){html body dialog.jf-gallery-viewer{padding:14px}.jf-gallery-top{gap:10px}.jf-gallery-stage{height:55dvh}}
