.fg-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:10px 0}.fg-grid.fg-columns-1{grid-template-columns:1fr}.fg-grid.fg-columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}.fg-grid.fg-columns-4{grid-template-columns:repeat(4,minmax(0,1fr))}.fg-grid.fg-columns-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.fg-tile{display:block;overflow:hidden;border-radius:18px;box-shadow:0 15px 28px -14px #152d3466;transition:transform .3s ease,box-shadow .3s ease;background:#203a43}.fg-tile img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;transition:transform .5s ease}.fg-tile:hover{transform:translateY(-5px);box-shadow:0 22px 36px -14px #152d3488}.fg-tile:hover img{transform:scale(1.035)}
.fg-gallery img[data-fg-ready]{cursor:zoom-in}.fg-gallery [data-fg-ready]:focus-visible,.fg-tile:focus-visible{outline:3px solid #b48946;outline-offset:5px}
.fg-viewer{position:fixed;inset:0;margin:0;padding:0;border:0;width:100vw;max-width:none;height:100vh;height:100dvh;max-height:none;background:radial-gradient(ellipse at 50% 42%,#223e48,#0e1e26 80%);color:#f1eee6;overflow:hidden;font:400 14px/1.5 Arial,sans-serif;box-sizing:border-box;color-scheme:dark;overscroll-behavior:contain}
.fg-viewer:not([open]){display:none}.fg-viewer[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:12px}.fg-viewer::backdrop{background:#0e1e26ef;backdrop-filter:blur(12px)}.fg-viewer *{box-sizing:border-box}
.fg-header{display:flex;align-items:center;justify-content:space-between;min-height:70px;padding:max(12px,env(safe-area-inset-top)) max(26px,env(safe-area-inset-right)) 12px max(26px,env(safe-area-inset-left));gap:16px}.fg-heading{margin:0;font:400 11px/1.4 Arial,sans-serif;letter-spacing:3px;color:#d8c092}.fg-counter{color:#b9c9cc;font-size:13px;margin-left:auto}
.fg-viewer button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid #b3c5ca40;background:#ffffff08;color:#f1eee6;border-radius:50%;font:400 26px/1 Arial,sans-serif;cursor:pointer;padding:0}.fg-viewer button:hover{background:#ffffff15}.fg-viewer button:focus-visible{outline:3px solid #e1c591;outline-offset:4px}.fg-viewer button:disabled{opacity:.35;cursor:default}.fg-viewer button[hidden]{display:none}
.fg-image-stage{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;padding:0 max(80px,env(safe-area-inset-right)) 0 max(80px,env(safe-area-inset-left));touch-action:pan-y pinch-zoom;user-select:none}.fg-main-image{display:block;min-width:0;min-height:0;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:12px;box-shadow:0 30px 80px #0006;user-select:none}.fg-main-image.fg-unrevealed{visibility:hidden}.fg-nav{position:absolute;top:calc(50% - 24px)}.fg-prev{left:max(22px,env(safe-area-inset-left))}.fg-next{right:max(22px,env(safe-area-inset-right))}
.fg-details{min-width:0;min-height:48px;text-align:center;padding:0 24px;overflow-wrap:anywhere}.fg-caption{margin:0 auto;max-width:820px;max-height:65px;overflow:auto;font-size:15px;color:#eee7d9}.fg-load-status{margin:5px 0 0;color:#b5c7cb;font-size:12px}.fg-load-status:empty{display:none}.fg-viewer .fg-retry{border-radius:999px;font-size:13px;min-height:44px;margin-top:6px;padding:6px 16px}
.fg-thumbnails{display:flex;align-items:center;justify-content:flex-start;gap:10px;overflow-x:auto;max-width:100%;padding:8px 24px max(20px,env(safe-area-inset-bottom));scrollbar-width:thin}.fg-thumbnails::before,.fg-thumbnails::after{content:"";margin:auto}.fg-viewer .fg-thumb{flex:0 0 74px;width:74px;height:58px;min-height:58px;padding:0;border:2px solid transparent;border-radius:9px;overflow:hidden;opacity:.55;transition:opacity .2s,border-color .2s}.fg-thumb img{display:block;width:100%;height:100%;object-fit:cover}.fg-viewer .fg-thumb[aria-pressed="true"]{opacity:1;border-color:#d8bb83}.fg-thumb:hover{opacity:1}
.fg-zoom-ghost{position:fixed;pointer-events:none;object-fit:cover;margin:0;z-index:2;box-shadow:0 25px 70px #0005}.fg-thumbnails[hidden]{display:none}
@media(max-width:700px),(pointer:coarse){.fg-grid,.fg-grid.fg-columns-4,.fg-grid.fg-columns-5{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.fg-grid.fg-columns-1{grid-template-columns:1fr}.fg-header{min-height:64px;padding:max(10px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 10px max(16px,env(safe-area-inset-left))}.fg-heading{letter-spacing:2px}.fg-image-stage{padding:0 max(14px,env(safe-area-inset-right)) 0 max(14px,env(safe-area-inset-left))}.fg-viewer[open]{gap:10px}.fg-nav{top:auto;bottom:12px;background:#11242fce!important;z-index:1}.fg-prev{left:max(24px,env(safe-area-inset-left))}.fg-next{right:max(24px,env(safe-area-inset-right))}.fg-thumbnails{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right));gap:8px}.fg-viewer .fg-thumb{flex-basis:64px;width:64px;height:52px;min-height:52px}.fg-caption{max-height:60px;font-size:14px}}
@media(max-height:500px) and (min-width:480px){.fg-viewer[open]{grid-template-columns:minmax(0,1fr) 200px;grid-template-rows:auto minmax(0,1fr) auto;gap:8px}.fg-header{grid-column:1/-1;min-height:52px;padding-top:max(4px,env(safe-area-inset-top));padding-bottom:4px}.fg-image-stage{grid-column:1;grid-row:2/4;padding-bottom:max(10px,env(safe-area-inset-bottom))}.fg-details{grid-column:2;grid-row:2;min-height:0;padding:0 max(12px,env(safe-area-inset-right)) 0 8px;overflow:auto;overscroll-behavior:contain}.fg-caption{max-height:none;font-size:13px}.fg-thumbnails{grid-column:2;grid-row:3;padding:4px max(12px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) 8px}.fg-viewer .fg-thumb{flex-basis:58px;width:58px;height:44px;min-height:44px}.fg-nav{top:auto;bottom:max(16px,env(safe-area-inset-bottom));z-index:1;background:#11242fce!important}}
@media(max-height:500px) and (max-width:479px){.fg-viewer[open]{gap:8px}.fg-header{min-height:52px;padding-top:max(4px,env(safe-area-inset-top));padding-bottom:4px}.fg-details{max-height:90px;min-height:24px;overflow:auto}.fg-caption{max-height:none}.fg-thumbnails{padding-bottom:max(10px,env(safe-area-inset-bottom))}.fg-viewer .fg-thumb{height:44px;min-height:44px}}
@media(prefers-reduced-motion:reduce){.fg-tile,.fg-tile img,.fg-viewer .fg-thumb{transition:none}.fg-tile:hover,.fg-tile:hover img{transform:none}}
