/* Private review: shared photographic surroundings; viewer geometry unchanged. */
/* Historical viewer follows the Current Fleet full-viewport presentation. */
html #viewer[open]{width:100%;max-width:none;height:100dvh;max-height:none;inset:0;margin:0;padding:18px;border:0;border-radius:0;box-sizing:border-box;grid-template-rows:90px minmax(0,1fr) min(220px,32vh);gap:12px}
html #viewer::before{background-image:var(--jt-gallery-bg,url('/backgrounds/jet-team-home-hero.webp'))}
html #viewer .viewer-head{padding:0;align-items:center}
html #viewer .viewer-head h2{font-size:20px;color:#fff}
html #viewer .viewer-head p{font-size:14px;color:#b7cde0}
html #viewer .viewer-image{padding:0}
html #viewer .viewer-controls{padding:0;display:flex;flex-direction:column;justify-content:flex-start;gap:10px;font-size:13px;color:#bfd0e0}
html #viewer .archive-navigation{display:grid;grid-template-columns:110px 90px 110px;gap:12px;align-items:center;text-align:center;min-height:48px}
html #viewer .viewer-controls .archive-navigation #next{grid-column:auto}
html #viewer .viewer-head-actions{display:flex;gap:14px}
html #viewer button{border:1px solid #557998;border-radius:6px;background:#16334d;padding:9px 14px;min-height:42px;font-size:14px}
html #viewer button:disabled{opacity:.4;cursor:default}
html #viewer #original{color:#9bcfff;text-decoration:underline}
html #viewer .viewer-image.is-zoomed{overflow:auto;display:block}
html #viewer .viewer-image.is-zoomed #large{width:auto;height:auto;max-width:none;max-height:none;margin:auto}
@media(max-width:820px){html #viewer[open]{padding:10px}html #viewer .viewer-head h2{font-size:17px}html #viewer .viewer-head-actions{gap:8px}}
@media(max-width:480px){html #viewer .viewer-head{flex-wrap:wrap}html #viewer .archive-navigation{grid-template-columns:95px 65px 95px;gap:6px}}
html .fleet-viewer[data-slot="dialog-content"],html #viewer[open]{isolation:isolate;overflow:hidden;background:#07111f}
html .fleet-viewer[data-slot="dialog-content"]::before,html #viewer[open]::before{content:"";position:absolute;inset:-20px;z-index:-2;pointer-events:none;background:var(--jt-bg-1,url('/backgrounds/jet-team-home-hero.webp')) center/cover no-repeat;filter:blur(6px)}
html #viewer[open]::before{background-image:var(--jt-gallery-bg,url('/backgrounds/jet-team-home-hero.webp'))}
html .fleet-viewer[data-slot="dialog-content"]::after,html #viewer[open]::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(28,64,223,.66),rgba(7,17,31,.64) 29%,rgba(7,17,31,.75) 72%,rgba(28,64,223,.48))}
/* Fade only the stage's background paint, never the photograph or controls. */
html .fleet-viewer .fleet-stage,html #viewer .viewer-image{background:linear-gradient(to bottom,rgba(4,10,18,0),rgba(4,10,18,.48) 18%,rgba(4,10,18,.48) 70%,rgba(4,10,18,0))}
/* Fit the element to the actual photo so the fade follows its edges, not letterboxing. */
html .fleet-viewer .fleet-stage:not(.is-zoomed) img,html #viewer #large{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}
html .fleet-viewer .fleet-stage img,html #viewer #large{
  --photo-edge:6px;
  -webkit-mask-image:linear-gradient(to right,transparent,#000 var(--photo-edge),#000 calc(100% - var(--photo-edge)),transparent),linear-gradient(to bottom,transparent,#000 var(--photo-edge),#000 calc(100% - var(--photo-edge)),transparent);
  mask-image:linear-gradient(to right,transparent,#000 var(--photo-edge),#000 calc(100% - var(--photo-edge)),transparent),linear-gradient(to bottom,transparent,#000 var(--photo-edge),#000 calc(100% - var(--photo-edge)),transparent);
  -webkit-mask-composite:source-in;
  mask-composite:intersect;
}
