/* Dark Navy Gradient Recovery Stories viewer */
.story-bubble{position:fixed;right:18px;bottom:94px;z-index:900;display:flex;align-items:center;gap:8px;padding:7px 13px 7px 7px;border:1px solid #d9e2ff;border-radius:999px;background:#fff;color:#20315d;font:700 13px Arial,sans-serif;box-shadow:0 10px 32px #172b5b2b;cursor:pointer}
.story-bubble[hidden],.story-viewer[hidden]{display:none}
.story-bubble-ring{width:42px;height:42px;border-radius:50%;padding:3px;background:conic-gradient(#fb3f86,#8653ee,#3867f2,#16b9c2,#fb3f86);display:grid;place-items:center;flex:none}
.story-bubble-ring img{width:100%;height:100%;object-fit:cover;border:2px solid #fff;border-radius:50%}
.story-bubble-count{position:absolute;top:2px;left:40px;background:#e83464;color:#fff;border:2px solid #fff;min-width:19px;height:19px;padding:0 4px;border-radius:12px;display:grid;place-items:center;font-size:10px}
.story-viewer{position:fixed;inset:0;z-index:2000;background:radial-gradient(ellipse at 50% 42%,#172640 0%,#0b1424 48%,#050811 100%);display:flex;align-items:center;justify-content:center;padding:8px 0;overscroll-behavior:contain}
.story-viewer-card{position:relative;width:min(420px,100vw);height:calc(100dvh - 16px);max-height:calc(100dvh - 16px);border-radius:14px;overflow:hidden;background:linear-gradient(160deg,#111d31 0%,#080d18 72%);display:flex;flex-direction:column;box-shadow:0 24px 90px #0009,0 0 42px #315a9a20;isolation:isolate}
.story-viewer-image{position:absolute;left:0;right:0;top:58px;bottom:0;display:block;width:100%;height:calc(100% - 58px);min-height:0;object-fit:contain;object-position:center;background:#080d18;user-select:none;-webkit-user-drag:none}
.story-viewer-progress-track{position:absolute;top:7px;left:10px;right:56px;height:4px;display:flex;gap:4px;z-index:5;overflow:hidden;pointer-events:none}
.story-viewer-progress-segment{position:relative;flex:1 1 0;min-width:0;height:100%;border-radius:8px;background:#ffffff66;overflow:hidden}
.story-viewer-progress-fill{display:block;width:0;height:100%;border-radius:8px;background:#fff;will-change:width}
.story-viewer-progress-segment.is-complete .story-viewer-progress-fill{width:100%}
.story-viewer-meta{position:absolute;z-index:4;top:17px;left:12px;right:58px;min-height:32px;display:flex;align-items:center;gap:8px;pointer-events:none}
.story-viewer-avatar{width:32px;height:32px;flex:none;object-fit:cover;border-radius:50%;border:2px solid #fff;box-shadow:0 1px 5px #0008}.story-viewer-name{color:#fff;font:700 13px/1.2 Arial,sans-serif;text-shadow:0 1px 4px #000,0 1px 8px #000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:45%}.story-viewer-time{margin-left:auto;color:#fff;font:600 12px/1.2 Arial,sans-serif;text-shadow:0 1px 4px #000,0 1px 8px #000;letter-spacing:.1px}
.story-viewer-close{position:absolute;top:7px;right:8px;z-index:6;border:0;background:#0009;color:#fff;border-radius:50%;width:36px;height:36px;font-size:24px;line-height:1;display:grid;place-items:center;cursor:pointer;touch-action:manipulation}
.story-viewer-caption{position:absolute;left:0;right:0;bottom:0;margin:0;padding:42px 16px max(12px,env(safe-area-inset-bottom));color:#fff;font:600 15px/1.4 Arial,sans-serif;background:linear-gradient(transparent,#000c);text-shadow:0 1px 4px #0008;min-height:42px;z-index:2;overflow-wrap:anywhere}
.story-viewer-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:34px;height:54px;border:0;border-radius:10px;background:#0005;color:#fff;font-size:28px;line-height:1;display:grid;place-items:center;cursor:pointer;opacity:.78;touch-action:manipulation}
.story-viewer-prev{left:0}.story-viewer-next{right:0}
body.story-viewer-open{overflow:hidden;overscroll-behavior:none}
@media(min-width:601px){.story-viewer{padding:12px}.story-viewer-card{width:min(420px,100%);height:min(820px,calc(100dvh - 24px));max-height:calc(100dvh - 24px);border-radius:16px}.story-viewer-progress-track{top:9px;left:10px;right:55px}.story-viewer-meta{top:15px}}
@media(max-width:600px){.story-bubble{right:12px;bottom:86px}.story-viewer{padding:5px 0}.story-viewer-card{width:100%;height:calc(100dvh - 10px);max-height:calc(100dvh - 10px);border-radius:12px}.story-viewer-progress-track{top:5px;left:8px;right:52px}.story-viewer-meta{top:14px;left:10px;gap:7px}.story-viewer-avatar{width:30px;height:30px}.story-viewer-image{top:53px;height:calc(100% - 53px)}.story-viewer-name{font-size:12px}.story-viewer-close{top:5px;right:5px;width:34px;height:34px}.story-viewer-caption{padding-left:14px;padding-right:14px;padding-bottom:max(10px,env(safe-area-inset-bottom))}.story-viewer-nav{width:30px;height:48px}}
@media(prefers-reduced-motion:reduce){.story-viewer-progress{transition:none!important}}


/* mobile-first viewer sizing; prevents desktop-width media queries from shrinking phone viewers */
html body .story-viewer[hidden]{display:none!important}
html body .story-viewer:not([hidden]){position:fixed!important;inset:0!important;z-index:2147483000!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important;overflow:hidden!important;box-sizing:border-box!important}
html body .story-viewer .story-viewer-card{box-sizing:border-box!important;min-height:0!important;margin:0!important;padding:0!important;overflow:hidden!important}
html body .story-viewer .story-viewer-image{max-width:100%!important;object-fit:contain!important;object-position:center center!important}
/* Phones/tablets with touch input must use the full available browser viewport, even when CSS width exceeds 600px. */
@media (pointer:coarse){
 html body .story-viewer:not([hidden]){padding:0!important}
 html body .story-viewer .story-viewer-card{width:100vw!important;height:100dvh!important;min-height:100vh!important;max-height:100dvh!important;border-radius:0!important;flex:none!important}
 html body .story-viewer .story-viewer-image{inset:58px 0 0!important;width:100%!important;height:calc(100% - 58px)!important;max-height:none!important}
}
/* Keep a compact, centered card for non-touch desktop devices. */
@media (pointer:fine) and (min-width:601px){
 html body .story-viewer:not([hidden]){padding:12px!important}
 html body .story-viewer .story-viewer-card{width:min(420px,100%)!important;height:min(820px,calc(100dvh - 24px))!important;max-height:calc(100dvh - 24px)!important;border-radius:16px!important}
 html body .story-viewer .story-viewer-image{inset:58px 0 0!important;height:calc(100% - 58px)!important}
}
@media(prefers-reduced-motion:reduce){html body .story-viewer .story-viewer-progress{transition:none!important}}

/* prioritize portrait/narrow viewport sizing even when Chrome reports a fine pointer. */
@media screen and (max-width: 900px) and (orientation: portrait){
 html body .story-viewer:not([hidden]){position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;height:100dvh!important;padding:0!important;margin:0!important;}
 html body .story-viewer .story-viewer-card{width:100vw!important;max-width:none!important;height:100vh!important;height:100dvh!important;max-height:none!important;min-height:0!important;border-radius:0!important;}
 html body .story-viewer .story-viewer-image{left:0!important;right:0!important;width:100%!important;max-width:none!important;object-fit:contain!important;}
}


/* trim matching space from the bottom of the displayed image on portrait phones. */
@media screen and (max-width: 900px) and (orientation: portrait){
 html body .story-viewer:not([hidden]){padding:8px 0!important;box-sizing:border-box!important;}
 html body .story-viewer .story-viewer-card{height:calc(100dvh - 16px)!important;max-height:calc(100dvh - 16px)!important;min-height:0!important;margin:0!important;border-radius:10px!important;}
 html body .story-viewer .story-viewer-image{top:58px!important;bottom:58px!important;height:auto!important;max-height:none!important;object-fit:cover!important;object-position:center center!important;}
}

/* Royal Navy controls: compact, premium, and consistent across devices. */
html body .story-viewer:not([hidden]) .story-viewer-close {
  display:grid!important; place-items:center!important;
  width:40px!important; height:40px!important; min-width:40px!important; min-height:40px!important;
  top:10px!important; right:10px!important; padding:0!important;
  color:#fff!important; background:rgba(23,38,63,.92)!important;
  border:1px solid rgba(142,169,214,.78)!important; border-radius:50%!important;
  outline:none!important; box-shadow:0 3px 12px rgba(5,12,25,.32)!important;
  -webkit-backdrop-filter:blur(8px)!important; backdrop-filter:blur(8px)!important;
  font-size:25px!important; font-weight:500!important; line-height:1!important;
  opacity:1!important; visibility:visible!important; z-index:2147483647!important;
}
html body .story-viewer:not([hidden]) .story-viewer-nav {
  position:absolute!important; display:grid!important; place-items:center!important;
  width:38px!important; height:46px!important; min-width:38px!important; min-height:46px!important;
  padding:0!important; color:#fff!important; background:rgba(23,38,63,.86)!important;
  border:1px solid rgba(142,169,214,.72)!important; border-radius:12px!important;
  outline:none!important; box-shadow:0 3px 12px rgba(5,12,25,.28)!important;
  -webkit-backdrop-filter:blur(8px)!important; backdrop-filter:blur(8px)!important;
  font-size:30px!important; font-weight:500!important; line-height:1!important;
  opacity:1!important; visibility:visible!important; z-index:2147483646!important;
  touch-action:manipulation!important; -webkit-tap-highlight-color:transparent!important;
}
html body .story-viewer:not([hidden]) .story-viewer-prev { left:8px!important; }
html body .story-viewer:not([hidden]) .story-viewer-next { right:8px!important; }
html body .story-viewer:not([hidden]) .story-viewer-close:active,
html body .story-viewer:not([hidden]) .story-viewer-nav:active {
  background:rgba(36,59,99,.98)!important; border-color:#d8e5ff!important;
}
@media(max-width:600px) {
  html body .story-viewer:not([hidden]) .story-viewer-close { width:40px!important; height:40px!important; min-width:40px!important; min-height:40px!important; top:10px!important; right:10px!important; font-size:25px!important; }
  html body .story-viewer:not([hidden]) .story-viewer-nav { width:38px!important; height:46px!important; min-width:38px!important; min-height:46px!important; font-size:30px!important; }
  html body .story-viewer:not([hidden]) .story-viewer-prev { left:8px!important; }
  html body .story-viewer:not([hidden]) .story-viewer-next { right:8px!important; }
}
@media(prefers-reduced-motion:reduce) {
  html body .story-viewer:not([hidden]) .story-viewer-close,
  html body .story-viewer:not([hidden]) .story-viewer-nav { transition:none!important; }
}


html body .story-viewer .story-viewer-progress-track,
html body .story-viewer .story-viewer-meta,
html body .story-viewer .story-viewer-close,
html body .story-viewer .story-viewer-nav,
html body .story-viewer .story-viewer-caption{z-index:4!important}
/* Final Story image stage sizing; keep the complete image visible without cropping or stretching. */
html body .story-viewer .story-viewer-image {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: 58px !important;
  bottom: 0 !important;
  width: 100% !important;
  height: calc(100% - 58px) !important;
  max-width: 100% !important;
  max-height: none !important;
  margin: 0 !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: transparent !important;
  z-index: 1 !important;
}
@media (max-width: 600px) {
  html body .story-viewer .story-viewer-image {
    top: 58px !important;
    bottom: 0 !important;
    height: calc(100% - 58px) !important;
    object-fit: contain !important;
    object-position: center center !important;
  }
}


/* Midnight Blue soft-glow background and slightly higher centered Story image. */
html body .story-viewer:not([hidden]) {
  background: radial-gradient(ellipse at 50% 46%, #174EA6 0%, #10182F 47%, #07101F 100%) !important;
}
html body .story-viewer .story-viewer-card {
  background: radial-gradient(ellipse at 50% 42%, rgba(23,78,166,.82) 0%, rgba(16,24,47,.98) 53%, #07101F 100%) !important;
}
html body .story-viewer .story-viewer-image {
  top: 58px !important;
  bottom: 88px !important;
  height: calc(100% - 146px) !important;
  max-height: none !important;
  object-fit: contain !important;
  /* Bias the image slightly upward within the available stage. */
  object-position: center 46% !important;
  background: transparent !important;
}
@media (max-width: 600px) {
  html body .story-viewer .story-viewer-image {
    top: 58px !important;
    bottom: 88px !important;
    height: calc(100% - 146px) !important;
    object-fit: contain !important;
    object-position: center 46% !important;
  }
}


/* preload the destination image before completing the fade transition. */
html body .story-viewer .story-viewer-image {
  opacity: 1;
  transition: opacity 140ms ease;
}
html body .story-viewer.story-viewer-switching .story-viewer-image {
  opacity: 1;
}
@media (prefers-reduced-motion: reduce) {
  html body .story-viewer .story-viewer-image { transition: none !important; }
}


/* Deep Purple Recovery Stories button, inline timestamp, and private view tracking */
html body .story-bubble {
  background: #5B21B6 !important;
  color: #FFFFFF !important;
  border: 1px solid rgba(196, 181, 253, .62) !important;
  box-shadow: 0 8px 24px rgba(91, 33, 182, .28) !important;
  transition: background-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}
html body .story-bubble:hover {
  background: #7C3AED !important;
  box-shadow: 0 10px 28px rgba(124, 58, 237, .34) !important;
}
html body .story-bubble:active {
  transform: scale(.98) !important;
}
html body .story-bubble:focus-visible {
  outline: 2px solid #C4B5FD !important;
  outline-offset: 3px !important;
}
html body .story-viewer .story-viewer-time {
  margin-left: 0 !important;
  flex: 0 0 auto !important;
  white-space: nowrap !important;
  opacity: .92;
}
@media (prefers-reduced-motion: reduce) {
  html body .story-bubble { transition: none !important; }
}


/* larger story header, full-width segmented progress, bottom Back to Site control. */
html body .story-viewer .story-viewer-progress-track {
  top: 10px !important; left: 8px !important; right: 8px !important;
  width: auto !important; height: 4px !important; gap: 4px !important;
}
html body .story-viewer .story-viewer-meta {
  top: 25px !important; left: 16px !important; right: 16px !important;
  min-height: 52px !important; gap: 8px !important; align-items: center !important;
}
html body .story-viewer .story-viewer-avatar {
  width: 52px !important; height: 52px !important; min-width: 52px !important;
  border-width: 2px !important;
}
html body .story-viewer .story-viewer-name {
  max-width: 48% !important; font-size: 15px !important; line-height: 1.25 !important;
}
html body .story-viewer .story-viewer-time {
  margin-left: 0 !important; font-size: 14px !important; line-height: 1.25 !important;
  white-space: nowrap !important; flex: 0 0 auto !important;
}
html body .story-viewer .story-viewer-image {
  top: 88px !important; bottom: 72px !important; height: calc(100% - 160px) !important;
  max-height: none !important; object-fit: contain !important; object-position: center center !important;
}
html body .story-viewer .story-viewer-caption {
  bottom: 66px !important; padding-bottom: 12px !important;
}
html body .story-viewer:not([hidden]) .story-viewer-close {
  display: flex !important; align-items: center !important; justify-content: center !important;
  gap: 8px !important; position: absolute !important; top: auto !important; right: 16px !important;
  bottom: max(12px, env(safe-area-inset-bottom)) !important; left: 16px !important;
  width: auto !important; min-width: 0 !important; height: 44px !important; min-height: 44px !important;
  padding: 0 18px !important; border-radius: 999px !important;
  color: #fff !important; background: #5B21B6 !important;
  border: 1px solid rgba(196,181,253,.7) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.25) !important;
  font: 700 14px/1 Arial,sans-serif !important; letter-spacing: .1px !important;
  -webkit-backdrop-filter: none !important; backdrop-filter: none !important;
}
html body .story-viewer:not([hidden]) .story-viewer-close span:first-child {
  font-size: 19px !important; line-height: 1 !important;
}
html body .story-viewer:not([hidden]) .story-viewer-close:active {
  transform: scale(.99) !important; background: #6D28D9 !important;
}
@media screen and (max-width: 600px) {
  html body .story-viewer .story-viewer-progress-track { top: 10px !important; left: 8px !important; right: 8px !important; }
  html body .story-viewer .story-viewer-meta { top: 25px !important; left: 14px !important; right: 14px !important; gap: 8px !important; }
  html body .story-viewer .story-viewer-avatar { width: 52px !important; height: 52px !important; min-width: 52px !important; }
  html body .story-viewer .story-viewer-name { font-size: 15px !important; max-width: 48% !important; }
  html body .story-viewer .story-viewer-time { font-size: 14px !important; margin-left: 0 !important; }
  html body .story-viewer .story-viewer-image { top: 88px !important; bottom: 72px !important; height: calc(100% - 160px) !important; object-fit: contain !important; }
  html body .story-viewer .story-viewer-caption { bottom: 66px !important; }
  html body .story-viewer:not([hidden]) .story-viewer-close { left: 16px !important; right: 16px !important; bottom: max(12px, env(safe-area-inset-bottom)) !important; width: auto !important; height: 44px !important; min-height: 44px !important; }
}


/* basic anti-save deterrents for the temporary Story Viewer.
   These discourage casual saving/dragging; they do not prevent screenshots. */
html body .story-viewer .story-viewer-image {
  -webkit-user-drag: none !important;
  -webkit-touch-callout: none !important;
  user-select: none !important;
  -webkit-user-select: none !important;
  -webkit-user-drag: none !important;
  pointer-events: auto !important;
}
html body .story-viewer .story-viewer-card {
  -webkit-touch-callout: none;
}


/* story navigation uses left/right image taps; remove the old visible arrow controls. */
html body .story-viewer:not([hidden]) .story-viewer-nav {
  display: none !important;
}
html body .story-viewer .story-viewer-image {
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}


/* adaptive image orientation, refined story header and compact Back to Site control. */
html body .story-viewer .story-viewer-card {
  background: radial-gradient(ellipse at 50% 42%, #142b4c 0%, #0b1426 48%, #050912 100%) !important;
}
html body .story-viewer .story-viewer-image {
  object-fit: contain !important;
  object-position: center center !important;
  background: transparent !important;
  transition: opacity 160ms ease, filter 180ms ease !important;
}
/* Landscape artwork remains fully visible and is centered in the usable viewing area. */
html body .story-viewer.story-viewer-landscape .story-viewer-image {
  object-fit: contain !important;
  object-position: center center !important;
}
/* Portrait artwork uses the available height without cropping any poster content. */
html body .story-viewer.story-viewer-portrait .story-viewer-image {
  object-fit: contain !important;
  object-position: center center !important;
}
html body .story-viewer.story-viewer-square .story-viewer-image {
  object-fit: contain !important;
  object-position: center center !important;
}
html body .story-viewer .story-viewer-meta {
  gap: 9px !important;
  align-items: center !important;
}
html body .story-viewer .story-viewer-name {
  font-weight: 750 !important;
  letter-spacing: -.2px !important;
  text-shadow: 0 1px 8px rgba(0,0,0,.32) !important;
}
html body .story-viewer .story-viewer-time {
  color: rgba(255,255,255,.82) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  text-shadow: 0 1px 8px rgba(0,0,0,.32) !important;
}
html body .story-viewer:not([hidden]) .story-viewer-close {
  height: 44px !important; min-height: 44px !important;
  bottom: max(14px, env(safe-area-inset-bottom)) !important;
  border-radius: 999px !important;
  background: linear-gradient(180deg, #6427c8 0%, #5120a8 100%) !important;
  border: 1px solid rgba(221, 204, 255, .72) !important;
  box-shadow: 0 7px 22px rgba(52, 20, 110, .30), inset 0 1px 0 rgba(255,255,255,.12) !important;
  font-size: 14px !important;
  letter-spacing: .15px !important;
  transition: background 160ms ease, box-shadow 160ms ease, transform 160ms ease !important;
}
html body .story-viewer:not([hidden]) .story-viewer-close:hover {
  background: linear-gradient(180deg, #7135d5 0%, #5b25b6 100%) !important;
  box-shadow: 0 9px 26px rgba(52, 20, 110, .38), inset 0 1px 0 rgba(255,255,255,.15) !important;
}
html body .story-viewer:not([hidden]) .story-viewer-close:focus-visible {
  outline: 2px solid #ddd6fe !important; outline-offset: 3px !important;
}
@media (prefers-reduced-motion: reduce) {
  html body .story-viewer .story-viewer-image,
  html body .story-viewer:not([hidden]) .story-viewer-close { transition: none !important; }
}
