.nc-photo-viewer{--nc-photo-surface:#171d18;--nc-photo-edge:12px;--nc-photo-top:max(var(--nc-photo-edge),env(safe-area-inset-top,0px));--nc-photo-right:max(var(--nc-photo-edge),env(safe-area-inset-right,0px));--nc-photo-bottom:max(var(--nc-photo-edge),env(safe-area-inset-bottom,0px));--nc-photo-left:max(var(--nc-photo-edge),env(safe-area-inset-left,0px));box-sizing:border-box;position:fixed;inset:var(--nc-photo-top) var(--nc-photo-right) var(--nc-photo-bottom) var(--nc-photo-left);width:min(1120px,calc(100vw - var(--nc-photo-left) - var(--nc-photo-right)));height:min(900px,calc(100vh - var(--nc-photo-top) - var(--nc-photo-bottom)));height:min(900px,calc(100dvh - var(--nc-photo-top) - var(--nc-photo-bottom)));max-width:none;max-height:none;margin:auto;padding:0;border:1px solid #5e665b;border-radius:12px;color:#f8faef;background:var(--nc-photo-surface);box-shadow:0 24px 80px #0008;overflow:hidden;overscroll-behavior:contain}.nc-photo-viewer[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}.nc-photo-viewer::-webkit-backdrop{background:#050805eb}.nc-photo-viewer::backdrop{background:#050805eb}.nc-photo-viewer-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 16px;background:var(--nc-photo-surface);border-bottom:1px solid #424b3e}.nc-photo-viewer-header h2{min-width:0;margin:0;color:#f8faef;font-size:17px;font-weight:600;line-height:1.4;letter-spacing:-.02em}.nc-photo-viewer-button,.nc-photo-viewer-retry{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:44px;min-height:44px;padding:9px;border:1px solid #626c59;border-radius:7px;background:#283225;color:#f8faef;cursor:pointer;transition:background-color .16s ease}.nc-photo-viewer-button:disabled{opacity:.5;cursor:default}.nc-photo-viewer-button:focus-visible,.nc-photo-viewer-original:focus-visible,.nc-photo-viewer-retry:focus-visible{outline:3px solid #f0d778;outline-offset:3px}.nc-photo-viewer-stage{position:relative;min-width:0;min-height:0;margin:0;padding:12px;overflow:hidden;background:#080c09}.nc-photo-viewer .nc-photo-viewer-image{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center;filter:none;transform:none}.nc-photo-viewer[data-image-state=loading] .nc-photo-viewer-image{visibility:hidden}.nc-photo-viewer-status{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:16px;color:#f8faef;text-align:center;overflow:auto}.nc-photo-viewer-status p{margin:0;font-size:15px;line-height:1.5}.nc-photo-viewer-retry{padding-inline:16px;font-size:14px;font-weight:600}.nc-photo-viewer-footer{display:grid;grid-gap:12px;gap:12px;max-height:42vh;max-height:42dvh;min-width:0;padding:14px 20px 16px;background:var(--nc-photo-surface);border-top:1px solid #424b3e;overflow:auto}.nc-photo-viewer-caption{margin:0;color:#f8faef;font-size:15px;line-height:1.5;overflow-wrap:anywhere}.nc-photo-viewer-controls,.nc-photo-viewer-navigation{display:flex;align-items:center;gap:10px;min-width:0}.nc-photo-viewer-controls{justify-content:space-between}.nc-photo-viewer-counter{color:#e3e9d9;font-size:13px;line-height:1.4;white-space:nowrap;text-align:center}.nc-photo-viewer-original{display:inline-flex;align-items:center;justify-content:center;gap:7px;flex:0 0 auto;min-height:44px;border-radius:4px;color:#f0d778;font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:4px}@media (hover:hover) and (pointer:fine){.nc-photo-viewer-button:hover:not(:disabled),.nc-photo-viewer-retry:hover{background:#3a4834}}@media (max-width:600px){.nc-photo-viewer-header{gap:10px;padding:8px 12px}.nc-photo-viewer-header h2{font-size:16px}.nc-photo-viewer-stage{padding:8px}.nc-photo-viewer-footer{gap:8px;padding:12px}.nc-photo-viewer-controls,.nc-photo-viewer-navigation{gap:7px}.nc-photo-viewer-original{gap:5px;font-size:13px}}@media (max-height:450px) and (orientation:landscape){.nc-photo-viewer{--nc-photo-edge:8px}.nc-photo-viewer-header{padding-block:5px}.nc-photo-viewer-footer{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding-block:6px}.nc-photo-viewer-caption{font-size:14px}}@media (prefers-reduced-motion:reduce){.nc-photo-viewer *,.nc-photo-viewer :after,.nc-photo-viewer :before{animation:none!important;transition:none!important}}