/* style block 04: id="auth-orbital-upgrade" */
/* auth-orbital-upgrade */
body.auth-locked .auth-gate {
  align-items: center !important;
  justify-items: end !important;
  padding:
    max(26px, env(safe-area-inset-top, 0px))
    max(clamp(26px, 5.8vw, 76px), env(safe-area-inset-right, 0px))
    max(26px, env(safe-area-inset-bottom, 0px))
    max(clamp(22px, 4vw, 56px), env(safe-area-inset-left, 0px)) !important;
  background:
    radial-gradient(ellipse at 28% 48%, rgba(5, 36, 70, .76), transparent 42%),
    radial-gradient(ellipse at 72% 26%, rgba(40, 164, 216, .16), transparent 28%),
    linear-gradient(120deg, #01050a 0%, #020916 42%, #050b13 100%) !important;
  perspective: 1200px !important;
}

body.auth-locked .auth-gate::before,
body.auth-locked .auth-gate::after,
body.auth-locked .auth-ocean-stage,
body.auth-locked .auth-video-layer::before,
body.auth-locked .auth-video-layer::after,
body.auth-locked .auth-video-logo-veil {
  display: none !important;
  content: none !important;
}

body.auth-locked .auth-video-layer {
  background:
    radial-gradient(ellipse at 32% 48%, rgba(11, 59, 105, .72), transparent 44%),
    linear-gradient(90deg, #010309 0%, #030814 64%, #010309 100%) !important;
}

body.auth-locked .auth-orbital-canvas {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  display: block;
  background: #01040a;
}

body.auth-locked .auth-starfield {
  opacity: .18 !important;
}

body.auth-locked .auth-atmosphere-beam {
  inset: 0 !important;
  z-index: 2 !important;
  background:
    radial-gradient(ellipse at 34% 50%, rgba(63, 200, 255, .24), transparent 34%),
    radial-gradient(ellipse at 29% 50%, rgba(42, 128, 255, .15), transparent 42%),
    linear-gradient(90deg, transparent 0 58%, rgba(0, 7, 16, .26) 72%, rgba(0, 4, 10, .62) 100%) !important;
  filter: blur(1px) !important;
  opacity: .72 !important;
}

body.auth-locked .auth-video-grade {
  z-index: 3 !important;
  background:
    linear-gradient(90deg, rgba(0, 3, 8, .20) 0%, rgba(0, 4, 10, .06) 36%, rgba(0, 5, 12, .30) 64%, rgba(0, 3, 8, .78) 100%),
    linear-gradient(180deg, rgba(0, 3, 8, .34) 0%, transparent 36%, rgba(0, 3, 8, .68) 100%) !important;
}

body.auth-locked .auth-card {
  z-index: 5 !important;
  width: min(424px, calc(100vw - 36px)) !important;
  grid-template-columns: 1fr !important;
  border-radius: 18px !important;
  border: 1px solid rgba(160, 220, 255, .28) !important;
  background:
    linear-gradient(145deg, rgba(10, 18, 31, .66), rgba(5, 12, 24, .50) 54%, rgba(13, 31, 45, .60)) !important;
  box-shadow:
    0 34px 98px rgba(0, 0, 0, .58),
    0 0 0 1px rgba(255, 255, 255, .05),
    0 0 82px rgba(33, 172, 232, .13) !important;
  backdrop-filter: blur(28px) saturate(1.22) !important;
  -webkit-backdrop-filter: blur(28px) saturate(1.22) !important;
  overflow: hidden !important;
  transform:
    translate3d(var(--auth-shift-x, 0px), var(--auth-shift-y, 0px), 0)
    rotateX(var(--auth-tilt-x, 0deg))
    rotateY(var(--auth-tilt-y, 0deg)) !important;
  transform-style: preserve-3d;
}

body.auth-locked .auth-card::before {
  border-radius: inherit !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .26),
    inset 0 -1px 0 rgba(66, 196, 255, .10) !important;
}

body.auth-locked .auth-card::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 22% 0%, rgba(112, 220, 255, .22), transparent 28%),
    linear-gradient(115deg, transparent 0 39%, rgba(255, 255, 255, .11) 45%, transparent 52% 100%);
  opacity: .58;
  mix-blend-mode: screen;
}

body.auth-locked .auth-visual {
  display: none !important;
}

body.auth-locked .auth-panel {
  min-height: 0 !important;
  padding: clamp(24px, 3vw, 34px) !important;
  gap: 15px !important;
  background:
    radial-gradient(circle at 78% 9%, rgba(81, 195, 255, .15), transparent 31%),
    radial-gradient(circle at 7% 92%, rgba(245, 181, 83, .11), transparent 28%),
    linear-gradient(180deg, rgba(8, 18, 31, .22), rgba(2, 8, 17, .30)) !important;
}

body.auth-locked .auth-panel::before {
  inset: 16px !important;
  border-radius: 14px !important;
  border-color: rgba(180, 231, 255, .13) !important;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, .045) 0 1px, transparent 1px 100%),
    linear-gradient(0deg, rgba(255, 255, 255, .030) 0 1px, transparent 1px 100%) !important;
  background-size: 54px 54px !important;
  opacity: .52 !important;
}

body.auth-locked .auth-panel::after {
  background: linear-gradient(90deg, transparent, rgba(110, 225, 255, .12), transparent) !important;
  opacity: .44 !important;
}

body.auth-locked .auth-panel-rail {
  opacity: .46 !important;
}

body.auth-locked .auth-logo-row,
body.auth-locked .auth-fields {
  border-color: rgba(181, 228, 255, .16) !important;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .105), rgba(255, 255, 255, .035)),
    radial-gradient(circle at 20% 18%, rgba(103, 209, 255, .12), transparent 38%) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12), 0 22px 54px rgba(0, 0, 0, .20) !important;
}

body.auth-locked .auth-logo-row {
  border-radius: 14px !important;
  min-height: 86px !important;
}

body.auth-locked .auth-logo-frame {
  width: 64px !important;
  height: 64px !important;
  border-radius: 12px !important;
  box-shadow: 0 18px 34px rgba(0, 0, 0, .30), 0 0 0 5px rgba(89, 211, 255, .07) !important;
}

body.auth-locked .auth-logo-frame::after {
  border-radius: 9px !important;
}

body.auth-locked .auth-kicker {
  color: rgba(205, 233, 244, .74) !important;
}

body.auth-locked .auth-title {
  color: #f7fcff !important;
  font-size: clamp(1.52rem, 2.1vw, 1.94rem) !important;
  text-shadow: 0 16px 42px rgba(0, 0, 0, .42) !important;
}

body.auth-locked .auth-session-line span:first-child {
  background: linear-gradient(90deg, rgba(110, 215, 255, .48), transparent) !important;
}

body.auth-locked .auth-session-line span:nth-child(2) {
  background: linear-gradient(90deg, #66d8ff, #f0b956) !important;
  box-shadow: 0 0 18px rgba(102, 216, 255, .22) !important;
}

body.auth-locked .auth-fields {
  border-radius: 14px !important;
  background-color: rgba(2, 8, 17, .24) !important;
}

body.auth-locked .auth-field {
  color: rgba(237, 247, 252, .86) !important;
}

body.auth-locked .auth-field-label i {
  color: #66d8ff !important;
}

body.auth-locked .auth-input-shell::before {
  border-color: rgba(102, 216, 255, .56) !important;
  box-shadow: 0 0 12px rgba(102, 216, 255, .25) !important;
}

body.auth-locked .auth-field input {
  min-height: 49px !important;
  border-color: rgba(181, 228, 255, .26) !important;
  border-radius: 10px !important;
  color: #f9fdff !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .095), rgba(255, 255, 255, .036)) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .09), 0 14px 30px rgba(0, 0, 0, .18) !important;
}

body.auth-locked .auth-field input:focus {
  border-color: #66d8ff !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, .13), rgba(255, 255, 255, .052)) !important;
  box-shadow: 0 0 0 3px rgba(76, 188, 242, .18), 0 18px 38px rgba(0, 0, 0, .24) !important;
}

body.auth-locked .auth-submit {
  min-height: 50px !important;
  border-color: rgba(221, 247, 255, .30) !important;
  border-radius: 10px !important;
  color: #061017 !important;
  background: linear-gradient(135deg, #b7efff 0%, #54ccef 38%, #f3bc59 118%) !important;
  box-shadow: 0 20px 46px rgba(62, 185, 231, .24), inset 0 1px 0 rgba(255, 255, 255, .50) !important;
}

body.auth-locked .auth-submit:hover {
  box-shadow: 0 25px 54px rgba(62, 185, 231, .32), inset 0 1px 0 rgba(255, 255, 255, .55) !important;
}

body.auth-locked .auth-error {
  color: #ffd8c4 !important;
}

body.auth-locked .auth-loader-card {
  background:
    linear-gradient(180deg, rgba(7, 18, 32, .70), rgba(3, 9, 18, .58)),
    radial-gradient(circle at 28% 10%, rgba(102, 216, 255, .14), transparent 34%) !important;
  border-color: rgba(181, 228, 255, .22) !important;
}

@media (max-width: 760px), (max-height: 560px) {
  body.auth-locked .auth-gate {
    justify-items: center !important;
    align-items: end !important;
    padding:
      max(16px, env(safe-area-inset-top, 0px))
      max(14px, env(safe-area-inset-right, 0px))
      max(16px, env(safe-area-inset-bottom, 0px))
      max(14px, env(safe-area-inset-left, 0px)) !important;
  }

  body.auth-locked .auth-card {
    width: min(420px, calc(100vw - 28px)) !important;
    border-radius: 14px !important;
  }

  body.auth-locked .auth-panel {
    padding: 18px !important;
    gap: 12px !important;
  }

  body.auth-locked .auth-logo-row {
    min-height: 72px !important;
    gap: 12px !important;
    padding: 10px !important;
  }

  body.auth-locked .auth-logo-frame {
    width: 54px !important;
    height: 54px !important;
  }

  body.auth-locked .auth-logo {
    width: 43px !important;
    height: 43px !important;
  }

  body.auth-locked .auth-title {
    font-size: 1.34rem !important;
  }

  body.auth-locked .auth-fields {
    padding: 10px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.auth-locked .auth-card {
    transform: none !important;
  }
}

/* style block 05: id="auth-video-background-upgrade" */
/* auth-video-background-upgrade */
body.auth-locked .auth-gate {
  align-items: center !important;
  justify-items: end !important;
  padding:
    max(26px, env(safe-area-inset-top, 0px))
    max(clamp(34px, 7vw, 110px), env(safe-area-inset-right, 0px))
    max(26px, env(safe-area-inset-bottom, 0px))
    max(clamp(22px, 3vw, 56px), env(safe-area-inset-left, 0px)) !important;
  background:#02050b !important;
}

body.auth-locked .auth-orbital-canvas,
body.auth-locked .auth-earth-bg,
body.auth-locked .auth-ocean-stage,
body.auth-locked .auth-gate::before,
body.auth-locked .auth-gate::after,
body.auth-locked .auth-video-layer::before,
body.auth-locked .auth-video-layer::after,
body.auth-locked .auth-video-logo-veil {
  display:none !important;
  opacity:0 !important;
}

body.auth-locked .auth-video-layer {
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  overflow:hidden !important;
  background:#02050b !important;
}

body.auth-locked .auth-video-layer::before {
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:2 !important;
  display:block !important;
  pointer-events:none !important;
  opacity:.74 !important;
  background:
    radial-gradient(circle at 83% 22%, rgba(208,226,255,.74) 0 1px, transparent 1.8px),
    radial-gradient(circle at 91% 61%, rgba(135,175,213,.58) 0 1px, transparent 1.7px),
    radial-gradient(circle at 76% 78%, rgba(232,212,169,.48) 0 1px, transparent 1.8px),
    radial-gradient(circle at 63% 28%, rgba(184,217,255,.52) 0 1px, transparent 1.7px),
    radial-gradient(circle at 55% 12%, rgba(255,226,171,.42) 0 1px, transparent 1.7px),
    radial-gradient(circle at 96% 18%, rgba(160,196,231,.45) 0 1px, transparent 1.6px),
    radial-gradient(circle at 69% 55%, rgba(200,225,255,.34) 0 1px, transparent 1.6px),
    radial-gradient(ellipse at 80% 47%, rgba(44,91,121,.22), transparent 45%),
    radial-gradient(ellipse at 61% 18%, rgba(72,137,178,.13), transparent 34%);
  background-size:
    380px 260px,
    460px 310px,
    520px 360px,
    420px 300px,
    610px 390px,
    340px 280px,
    560px 330px,
    100% 100%,
    100% 100%;
  mix-blend-mode:screen;
  animation:authPremiumStars 28s linear infinite;
}

body.auth-locked .auth-video-layer::after {
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:3 !important;
  display:block !important;
  pointer-events:none !important;
  background:
    radial-gradient(ellipse at 74% 52%, rgba(73,142,179,.16), transparent 42%),
    linear-gradient(90deg, transparent 0 50%, rgba(4,11,19,.16) 65%, rgba(1,4,10,.60) 100%),
    linear-gradient(180deg, rgba(0,2,7,.10), transparent 42%, rgba(0,2,7,.32));
}

body.auth-locked .auth-premium-starfield {
  position:absolute;
  inset:0;
  z-index:5;
  pointer-events:none;
  opacity:1;
  background:
    radial-gradient(circle at 78% 18%, rgba(235,245,255,.95) 0 1.2px, transparent 2.2px),
    radial-gradient(circle at 91% 31%, rgba(160,194,228,.74) 0 1px, transparent 2px),
    radial-gradient(circle at 86% 72%, rgba(239,218,174,.72) 0 1px, transparent 2px),
    radial-gradient(circle at 65% 15%, rgba(202,230,255,.72) 0 1px, transparent 2px),
    radial-gradient(circle at 69% 34%, rgba(234,245,255,.78) 0 .9px, transparent 1.9px),
    radial-gradient(circle at 82% 88%, rgba(147,190,229,.58) 0 .8px, transparent 1.8px),
    radial-gradient(circle at 54% 42%, rgba(228,237,255,.48) 0 .9px, transparent 1.9px),
    radial-gradient(circle at 93% 7%, rgba(180,213,246,.52) 0 .8px, transparent 1.8px),
    radial-gradient(circle at 72% 58%, rgba(190,218,246,.60) 0 1px, transparent 2px),
    radial-gradient(circle at 96% 84%, rgba(213,230,255,.58) 0 1px, transparent 2px),
    radial-gradient(circle at 58% 82%, rgba(170,201,232,.42) 0 1px, transparent 2px),
    radial-gradient(ellipse at 78% 47%, rgba(50,102,137,.22), transparent 46%);
  background-size:
    310px 230px,
    440px 300px,
    520px 360px,
    390px 260px,
    470px 340px,
    650px 430px,
    380px 280px,
    530px 370px,
    610px 390px,
    370px 290px,
    560px 420px,
    100% 100%;
  mix-blend-mode:screen;
  filter:drop-shadow(0 0 2px rgba(130,190,255,.24));
  animation:authPremiumStars 34s linear infinite;
}

@keyframes authPremiumStars {
  0% { transform:translate3d(0, 0, 0); }
  100% { transform:translate3d(-34px, 16px, 0); }
}

body.auth-locked .auth-login-video {
  position:absolute;
  left:0;
  top:0;
  width:1px;
  height:1px;
  object-fit:cover;
  object-position:center center;
  transform:none;
  filter:none;
  opacity:0;
  pointer-events:none;
  background:#02050b;
}

body.auth-locked.auth-video-ready .auth-login-video {
  opacity:0;
}

body.auth-locked .auth-cropped-video-canvas {
  display:none !important;
  opacity:0 !important;
}

body.auth-locked.auth-video-ready .auth-cropped-video-canvas {
  display:none !important;
  opacity:0 !important;
}

body.auth-locked .auth-watermark-clean-zone {
  display:none !important;
  opacity:0 !important;
}

body.auth-locked.auth-video-ready .auth-watermark-clean-zone {
  display:none !important;
  opacity:0 !important;
}

body.auth-locked .auth-watermark-clean-video {
  display:none !important;
  opacity:0 !important;
}

body.auth-locked .auth-watermark-patch {
  position:absolute;
  right:-30px;
  bottom:clamp(46px, 6.8vh, 66px);
  z-index:5;
  display:none !important;
  width:clamp(168px, 13.4vw, 226px);
  height:clamp(138px, 11vw, 178px);
  border-radius:50%;
  pointer-events:none;
  background:
    radial-gradient(ellipse at 62% 50%, rgba(1,4,9,.98) 0 42%, rgba(4,9,15,.88) 58%, rgba(5,12,20,.42) 74%, transparent 100%),
    radial-gradient(ellipse at 30% 24%, rgba(38,57,68,.20), transparent 58%);
  filter:blur(1.2px) saturate(.90);
  backdrop-filter:blur(12px) brightness(.58) saturate(.75);
  -webkit-backdrop-filter:blur(12px) brightness(.58) saturate(.75);
  opacity:.99;
  mix-blend-mode:normal;
}

body.auth-locked .auth-watermark-patch::after {
  content:"";
  position:absolute;
  inset:16% 18% 16% 20%;
  border-radius:50%;
  background:
    radial-gradient(ellipse at 56% 50%, rgba(19,31,39,.25), transparent 72%),
    radial-gradient(circle at 32% 30%, rgba(210,220,215,.08) 0 1px, transparent 2px);
  filter:blur(9px);
}

body.auth-locked .auth-starfield,
body.auth-locked .auth-atmosphere-beam {
  display:none !important;
}

body.auth-locked .auth-video-grade {
  z-index:4 !important;
  background:
    linear-gradient(90deg, rgba(0,3,8,.00) 0%, rgba(0,4,10,.04) 42%, rgba(0,4,10,.38) 66%, rgba(0,3,8,.82) 100%),
    linear-gradient(180deg, rgba(0,2,7,.20), transparent 40%, rgba(0,2,7,.40)),
    radial-gradient(ellipse at 78% 50%, rgba(5,18,31,.70), transparent 42%),
    radial-gradient(ellipse at 22% 50%, rgba(45,128,183,.10), transparent 44%) !important;
}

body.auth-locked .auth-card {
  z-index:6 !important;
  box-sizing:border-box !important;
  width:min(344px, calc(100vw - 34px)) !important;
  max-height:calc(var(--pwa-vh, 100dvh) - 40px) !important;
  grid-template-columns:1fr !important;
  border-radius:14px !important;
  border:1px solid rgba(139,178,191,.20) !important;
  background:
    linear-gradient(145deg, rgba(3,8,15,.82), rgba(6,15,25,.66) 56%, rgba(8,13,19,.74)) !important;
  box-shadow:
    0 28px 78px rgba(0,0,0,.56),
    0 0 0 1px rgba(255,255,255,.040),
    0 0 48px rgba(56,123,161,.10) !important;
  backdrop-filter:blur(24px) saturate(.92) !important;
  -webkit-backdrop-filter:blur(24px) saturate(.92) !important;
  overflow:hidden !important;
}

body.auth-locked .auth-card::after {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 18% 0%, rgba(117,164,183,.08), transparent 28%),
    linear-gradient(115deg, transparent 0 40%, rgba(255,255,255,.040) 45%, transparent 53% 100%);
  mix-blend-mode:screen;
  opacity:.38;
}

body.auth-locked .auth-visual {
  display:none !important;
}

body.auth-locked .auth-panel {
  box-sizing:border-box !important;
  width:100% !important;
  min-width:0 !important;
  max-height:inherit !important;
  padding:20px !important;
  gap:12px !important;
  background:
    radial-gradient(circle at 82% 10%, rgba(110,151,168,.08), transparent 34%),
    radial-gradient(circle at 10% 92%, rgba(173,128,55,.10), transparent 30%),
    linear-gradient(180deg, rgba(7,12,18,.22), rgba(2,6,12,.30)) !important;
  overflow:hidden !important;
}

body.auth-locked .auth-logo-row,
body.auth-locked .auth-fields {
  box-sizing:border-box !important;
  min-width:0 !important;
  max-width:100% !important;
  border-color:rgba(148,171,176,.16) !important;
  border-radius:11px !important;
  background:
    linear-gradient(135deg, rgba(170,205,220,.052), rgba(255,255,255,.018)),
    radial-gradient(circle at 24% 18%, rgba(112,153,171,.07), transparent 40%) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.075), 0 14px 38px rgba(0,0,0,.22) !important;
}

body.auth-locked .auth-logo-row {
  min-height:68px !important;
  gap:11px !important;
  padding:10px 12px !important;
  overflow:hidden !important;
}

body.auth-locked .auth-logo-row > div:last-child {
  min-width:0 !important;
}

body.auth-locked .auth-logo-frame {
  flex:0 0 auto !important;
  width:48px !important;
  height:48px !important;
  border-radius:10px !important;
  box-shadow:0 12px 24px rgba(0,0,0,.28), 0 0 0 4px rgba(203,183,132,.06) !important;
}

body.auth-locked .auth-logo {
  width:38px !important;
  height:38px !important;
}

body.auth-locked .auth-kicker {
  color:rgba(205,214,216,.68) !important;
  font-size:.66rem !important;
  line-height:1.15 !important;
  letter-spacing:0 !important;
  max-width:100% !important;
  overflow-wrap:anywhere !important;
}

body.auth-locked .auth-title {
  color:#eef4f5 !important;
  font-size:clamp(1.20rem, 1.48vw, 1.42rem) !important;
  line-height:1.08 !important;
  letter-spacing:0 !important;
  max-width:100% !important;
  overflow-wrap:anywhere !important;
  text-shadow:0 12px 32px rgba(0,0,0,.48) !important;
}

body.auth-locked .auth-session-line span:first-child {
  background:linear-gradient(90deg, rgba(116,161,180,.34), transparent) !important;
}

body.auth-locked .auth-session-line span:nth-child(2) {
  background:linear-gradient(90deg, #789baa, #a87b37) !important;
  box-shadow:0 0 16px rgba(106,151,171,.14) !important;
}

body.auth-locked .auth-field-label i,
body.auth-locked .auth-input-shell::before {
  color:#8f9fa5 !important;
  border-color:rgba(142,163,170,.40) !important;
}

body.auth-locked .auth-input-shell::before {
  left:12px !important;
  width:6px !important;
  height:6px !important;
  background:rgba(139,162,169,.72) !important;
  box-shadow:0 0 8px rgba(139,162,169,.14) !important;
}

body.auth-locked .auth-fields {
  padding:14px !important;
  gap:11px !important;
}

body.auth-locked .auth-field {
  min-width:0 !important;
}

body.auth-locked .auth-field-label {
  font-size:.74rem !important;
  line-height:1.15 !important;
  color:rgba(205,214,216,.72) !important;
  letter-spacing:0 !important;
}

body.auth-locked .auth-input-shell {
  min-width:0 !important;
}

body.auth-locked .auth-field input {
  box-sizing:border-box !important;
  width:100% !important;
  min-height:42px !important;
  border-color:rgba(164,185,190,.18) !important;
  border-radius:9px !important;
  color:#edf3f4 !important;
  background:linear-gradient(180deg, rgba(190,211,218,.058), rgba(255,255,255,.022)) !important;
}

body.auth-locked .auth-field input:focus {
  border-color:#98adb2 !important;
  background:linear-gradient(180deg, rgba(190,211,218,.074), rgba(255,255,255,.030)) !important;
  box-shadow:0 0 0 2px rgba(133,158,167,.13), 0 12px 24px rgba(0,0,0,.26) !important;
}

body.auth-locked .auth-submit {
  box-sizing:border-box !important;
  width:100% !important;
  min-height:43px !important;
  border-radius:9px !important;
  color:#061017 !important;
  font-size:.88rem !important;
  background:linear-gradient(135deg, #8da6ad 0%, #527989 54%, #9b763d 132%) !important;
  box-shadow:0 18px 38px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.28) !important;
}

@media (max-width: 760px), (max-height: 560px) {
  body.auth-locked .auth-gate {
    align-items:end !important;
    justify-items:center !important;
    padding:
      max(15px, env(safe-area-inset-top, 0px))
      max(14px, env(safe-area-inset-right, 0px))
      max(16px, env(safe-area-inset-bottom, 0px))
      max(14px, env(safe-area-inset-left, 0px)) !important;
  }

  body.auth-locked .auth-login-video {
    width:1px;
    height:1px;
    opacity:0;
  }

  body.auth-locked .auth-cropped-video-canvas {
    filter:saturate(1.12) contrast(1.10) brightness(1.09);
  }

  body.auth-locked .auth-watermark-clean-zone {
    display:none !important;
    opacity:0 !important;
  }

  body.auth-locked .auth-watermark-clean-video {
    display:none !important;
    opacity:0 !important;
  }

  body.auth-locked .auth-watermark-patch {
    right:-18px;
    bottom:64px;
    width:126px;
    height:104px;
    opacity:.96;
  }

  body.auth-locked .auth-card {
    width:min(310px, calc(100vw - 28px)) !important;
    max-height:calc(var(--pwa-vh, 100dvh) - 28px) !important;
    border-radius:13px !important;
    overflow:auto !important;
    scrollbar-width:none !important;
    -webkit-overflow-scrolling:touch !important;
  }

  body.auth-locked .auth-card::-webkit-scrollbar {
    display:none !important;
  }

  body.auth-locked .auth-panel {
    padding:13px !important;
    gap:9px !important;
  }

  body.auth-locked .auth-logo-row {
    min-height:58px !important;
    gap:9px !important;
    padding:8px 10px !important;
  }

  body.auth-locked .auth-logo-frame {
    width:42px !important;
    height:42px !important;
  }

  body.auth-locked .auth-logo {
    width:33px !important;
    height:33px !important;
  }

  body.auth-locked .auth-kicker {
    font-size:.58rem !important;
  }

  body.auth-locked .auth-title {
    font-size:1.05rem !important;
    line-height:1.06 !important;
  }

  body.auth-locked .auth-fields {
    padding:10px !important;
    gap:8px !important;
  }

  body.auth-locked .auth-field input {
    min-height:44px !important;
    font-size:16px !important;
    padding-left:32px !important;
  }

  body.auth-locked .auth-submit {
    min-height:46px !important;
    font-size:.84rem !important;
  }
}

/* style block 06: id="uvab-mobile-session-polish" */
/* uvab-mobile-session-polish */
html,
body {
  min-height:100%;
  background:#02070d;
}

body.auth-locked {
  background:#02070d !important;
  overscroll-behavior:none;
}

body.auth-locked .auth-remember {
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:34px minmax(0, 1fr);
  align-items:center;
  gap:10px;
  min-width:0;
  padding:10px 11px;
  border:1px solid rgba(174, 215, 229, .16);
  border-radius:12px;
  color:rgba(233, 244, 247, .82);
  background:
    linear-gradient(135deg, rgba(169, 213, 226, .070), rgba(255, 255, 255, .022)),
    radial-gradient(circle at 14% 0%, rgba(105, 190, 226, .10), transparent 42%);
  box-shadow:inset 0 1px 0 rgba(255, 255, 255, .08), 0 12px 30px rgba(0, 0, 0, .20);
  cursor:pointer;
  user-select:none;
  -webkit-tap-highlight-color:transparent;
}

body.auth-locked .auth-remember input {
  position:absolute;
  inline-size:1px;
  block-size:1px;
  opacity:0;
  pointer-events:none;
}

body.auth-locked .auth-remember-box {
  width:30px;
  height:30px;
  border-radius:10px;
  display:grid;
  place-items:center;
  border:1px solid rgba(158, 199, 213, .28);
  background:linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.025));
  color:transparent;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10), 0 8px 20px rgba(0,0,0,.22);
  transition:background .18s ease, color .18s ease, border-color .18s ease, transform .18s ease;
}

body.auth-locked .auth-remember input:checked + .auth-remember-box {
  color:#061017;
  border-color:rgba(220, 245, 255, .58);
  background:linear-gradient(135deg, #b7efff 0%, #59d3f2 48%, #e8b45a 126%);
  transform:scale(.98);
}

body.auth-locked .auth-remember-copy {
  min-width:0;
  display:grid;
  gap:2px;
}

body.auth-locked .auth-remember-copy strong {
  display:block;
  font-size:.78rem;
  line-height:1.12;
  letter-spacing:0;
}

body.auth-locked .auth-remember-copy small {
  display:block;
  color:rgba(205, 220, 224, .62);
  font-size:.66rem;
  line-height:1.18;
  letter-spacing:0;
}

.auth-toast {
  left:auto !important;
  right:max(18px, env(safe-area-inset-right, 0px)) !important;
  bottom:max(18px, env(safe-area-inset-bottom, 0px)) !important;
  width:min(360px, calc(100vw - 32px)) !important;
  padding:0 !important;
  border:1px solid rgba(159, 218, 235, .22) !important;
  border-radius:16px !important;
  background:
    linear-gradient(145deg, rgba(8, 19, 31, .88), rgba(3, 10, 18, .80)),
    radial-gradient(circle at 10% 0%, rgba(102, 216, 255, .14), transparent 40%) !important;
  color:#f4fbfd !important;
  box-shadow:0 24px 70px rgba(0,0,0,.42), 0 0 0 1px rgba(255,255,255,.05) !important;
  backdrop-filter:blur(20px) saturate(1.15) !important;
  -webkit-backdrop-filter:blur(20px) saturate(1.15) !important;
  overflow:hidden !important;
}

.auth-toast-inner {
  display:grid;
  grid-template-columns:34px minmax(0, 1fr) 30px;
  gap:11px;
  align-items:center;
  padding:12px;
}

.auth-toast-icon {
  width:34px;
  height:34px;
  border-radius:12px;
  display:grid;
  place-items:center;
  color:#061017;
  background:linear-gradient(135deg, #b7efff, #59d3f2 52%, #e8b45a 126%);
  box-shadow:0 12px 28px rgba(85, 205, 238, .22);
}

.auth-toast-copy {
  min-width:0;
  display:grid;
  gap:2px;
  text-align:left;
}

.auth-toast-copy strong {
  font-size:.86rem;
  line-height:1.18;
  color:#f8fdff;
}

.auth-toast-copy span {
  font-size:.72rem;
  line-height:1.25;
  color:rgba(211, 229, 235, .70);
}

.auth-toast-close {
  width:30px;
  height:30px;
  border:0;
  border-radius:10px;
  display:grid;
  place-items:center;
  color:rgba(233, 244, 247, .80);
  background:rgba(255,255,255,.055);
  cursor:pointer;
}

.auth-toast-close:active {
  transform:scale(.96);
}

body.auth-locked .auth-loader {
  backdrop-filter:blur(5px) saturate(1.05);
  -webkit-backdrop-filter:blur(5px) saturate(1.05);
}

body.auth-locked .auth-loader-card {
  width:min(360px, calc(100vw - 36px)) !important;
  border-radius:18px !important;
  box-shadow:0 34px 100px rgba(0,0,0,.54), 0 0 70px rgba(84,190,255,.11) !important;
}

@media (max-width:760px), (max-height:560px) {
  html,
  body {
    width:100%;
    min-width:320px;
    height:var(--pwa-vh, 100dvh);
    min-height:var(--pwa-vh, 100dvh);
    overflow:hidden;
    background:#02070d !important;
  }

  body.auth-locked .auth-gate {
    position:fixed !important;
    inset:0 !important;
    width:100vw !important;
    height:var(--pwa-vh, 100dvh) !important;
    min-height:var(--pwa-vh, 100dvh) !important;
    display:grid !important;
    place-items:center !important;
    align-items:center !important;
    justify-items:center !important;
    padding:
      max(12px, env(safe-area-inset-top, 0px))
      max(13px, env(safe-area-inset-right, 0px))
      max(12px, env(safe-area-inset-bottom, 0px))
      max(13px, env(safe-area-inset-left, 0px)) !important;
    overflow:hidden !important;
    touch-action:none;
  }

  body.auth-locked.auth-keyboard-open .auth-gate {
    align-items:center !important;
    padding-top:max(8px, env(safe-area-inset-top, 0px)) !important;
    padding-bottom:max(8px, env(safe-area-inset-bottom, 0px)) !important;
  }

  body.auth-locked .auth-card {
    width:min(318px, calc(100vw - 28px)) !important;
    max-height:calc(var(--pwa-vh, 100dvh) - 24px) !important;
    align-self:center !important;
    justify-self:center !important;
    margin:0 !important;
    border-radius:17px !important;
    overflow:auto !important;
    overscroll-behavior:contain;
    scrollbar-width:none !important;
    -webkit-overflow-scrolling:touch !important;
    transform:translate3d(0, 0, 0) !important;
  }

  body.auth-locked.auth-keyboard-open .auth-card {
    width:min(312px, calc(100vw - 24px)) !important;
    max-height:calc(var(--pwa-vh, 100dvh) - 16px) !important;
  }

  body.auth-locked .auth-panel {
    padding:12px !important;
    gap:8px !important;
    border-radius:17px !important;
  }

  body.auth-locked .auth-logo-row {
    min-height:52px !important;
    padding:7px 9px !important;
    gap:8px !important;
    border-radius:13px !important;
  }

  body.auth-locked .auth-logo-frame {
    width:38px !important;
    height:38px !important;
    border-radius:11px !important;
  }

  body.auth-locked .auth-logo {
    width:30px !important;
    height:30px !important;
  }

  body.auth-locked .auth-kicker {
    font-size:.54rem !important;
    line-height:1.08 !important;
    opacity:.78;
  }

  body.auth-locked .auth-title {
    font-size:1rem !important;
    line-height:1.05 !important;
  }

  body.auth-locked .auth-session-line {
    display:none !important;
  }

  body.auth-locked .auth-fields {
    padding:9px !important;
    gap:7px !important;
    border-radius:14px !important;
  }

  body.auth-locked .auth-field-label {
    font-size:.66rem !important;
  }

  body.auth-locked .auth-field input {
    min-height:39px !important;
    font-size:16px !important;
    line-height:1 !important;
    padding:8px 10px 8px 31px !important;
    border-radius:11px !important;
  }

  body.auth-locked .auth-input-shell::before {
    left:12px !important;
  }

  body.auth-locked .auth-remember {
    grid-template-columns:30px minmax(0, 1fr);
    gap:8px;
    padding:8px 9px;
    border-radius:12px;
  }

  body.auth-locked .auth-remember-box {
    width:27px;
    height:27px;
    border-radius:9px;
  }

  body.auth-locked .auth-remember-copy strong {
    font-size:.72rem;
  }

  body.auth-locked .auth-remember-copy small {
    font-size:.61rem;
    line-height:1.14;
  }

  body.auth-locked .auth-submit {
    min-height:41px !important;
    border-radius:12px !important;
    font-size:.82rem !important;
  }

  body.auth-locked .auth-error {
    min-height:0 !important;
    margin-top:2px !important;
    font-size:.64rem !important;
    line-height:1.16 !important;
  }

  .auth-toast {
    left:50% !important;
    right:auto !important;
    bottom:max(14px, env(safe-area-inset-bottom, 0px)) !important;
    width:min(330px, calc(100vw - 26px)) !important;
    transform:translate3d(-50%, 24px, 0) !important;
  }

  .auth-toast.show {
    transform:translate3d(-50%, 0, 0) !important;
  }

  .auth-toast-inner {
    grid-template-columns:30px minmax(0, 1fr) 28px;
    padding:10px;
    gap:9px;
  }

  .auth-toast-icon {
    width:30px;
    height:30px;
    border-radius:10px;
  }

  .auth-toast-copy strong {
    font-size:.80rem;
  }

  .auth-toast-copy span {
    font-size:.66rem;
  }

  body.radical-atlas:not(.auth-locked),
  body.radical-atlas.auth-ready {
    height:var(--pwa-vh, 100dvh) !important;
    min-height:var(--pwa-vh, 100dvh) !important;
    max-height:var(--pwa-vh, 100dvh) !important;
    overflow:hidden !important;
    background:#06100f !important;
  }

  body.radical-atlas .app {
    height:var(--pwa-vh, 100dvh) !important;
    min-height:var(--pwa-vh, 100dvh) !important;
    max-height:var(--pwa-vh, 100dvh) !important;
    overflow:hidden !important;
    background:#06100f !important;
  }

  body.radical-atlas .main {
    flex:1 1 auto !important;
    min-height:0 !important;
    height:auto !important;
    grid-template-columns:1fr !important;
    grid-template-rows:minmax(0, 46%) minmax(0, 54%) !important;
    overflow:hidden !important;
    background:
      linear-gradient(180deg, rgba(4, 12, 14, .94), rgba(6, 16, 15, 1)) !important;
  }

  body.radical-atlas .map-area,
  body.radical-atlas .sidebar {
    min-height:0 !important;
    max-height:100% !important;
    overflow:hidden !important;
    background:var(--surface) !important;
  }

  body.radical-atlas .panel {
    min-height:0 !important;
    max-height:100% !important;
    overflow:auto !important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }

  body.radical-atlas .topbar {
    flex:0 0 auto !important;
    background:linear-gradient(180deg, rgba(10, 24, 23, .98), rgba(7, 17, 16, .96)) !important;
  }
}

@media (max-width:360px) {
  body.auth-locked .auth-card {
    width:min(296px, calc(100vw - 22px)) !important;
  }

  body.auth-locked .auth-panel {
    padding:10px !important;
    gap:7px !important;
  }

  body.auth-locked .auth-logo-row {
    min-height:48px !important;
  }

  body.auth-locked .auth-logo-frame {
    width:34px !important;
    height:34px !important;
  }

  body.auth-locked .auth-logo {
    width:27px !important;
    height:27px !important;
  }

  body.auth-locked .auth-title {
    font-size:.92rem !important;
  }

  body.auth-locked .auth-remember-copy small {
    display:none;
  }
}

@media (max-width:950px) and (max-height:500px) and (orientation:landscape) {
  body.auth-locked .auth-gate {
    place-items:center !important;
    padding:
      max(8px, env(safe-area-inset-top, 0px))
      max(12px, env(safe-area-inset-right, 0px))
      max(8px, env(safe-area-inset-bottom, 0px))
      max(12px, env(safe-area-inset-left, 0px)) !important;
  }

  body.auth-locked .auth-card {
    width:min(332px, calc(100vw - 28px)) !important;
    max-height:calc(var(--pwa-vh, 100dvh) - 14px) !important;
  }

  body.auth-locked .auth-logo-row {
    display:none !important;
  }
}

/* style block 07-10 removed: Earth/globe login experiments intentionally stripped for stars-only auth. */
/* style block 11: id="auth-cinematic-orbital-canvas-v8" */
/* auth-cinematic-orbital-canvas-v8 */
body.auth-locked .auth-video-layer {
  background:
    radial-gradient(ellipse at 29% 49%, rgba(20, 96, 164, .42), transparent 38%),
    radial-gradient(ellipse at 75% 42%, rgba(11, 31, 48, .58), transparent 46%),
    linear-gradient(90deg, #010309 0%, #03101d 46%, #01040a 100%) !important;
}

body.auth-locked .auth-orbital-canvas {
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  z-index:3 !important;
  width:100% !important;
  height:100% !important;
  opacity:0 !important;
  filter:saturate(1.12) contrast(1.08) brightness(1.03) !important;
  transition:opacity .55s ease !important;
  background:#01040a !important;
}

body.auth-locked.auth-orbital-ready .auth-orbital-canvas {
  opacity:1 !important;
}

body.auth-locked.auth-orbital-ready .auth-raster-css-globe,
body.auth-locked.auth-orbital-ready.auth-globe-ready .auth-raster-css-globe,
body.auth-locked.auth-orbital-ready.auth-raster-fallback-ready .auth-raster-css-globe,
body.auth-locked.auth-orbital-ready.auth-mobile-light-scene .auth-raster-css-globe {
  opacity:0 !important;
  z-index:1 !important;
  visibility:hidden !important;
}

body.auth-locked:not(.auth-orbital-ready) .auth-raster-css-globe {
  z-index:3 !important;
  opacity:1 !important;
  visibility:visible !important;
}

body.auth-locked .auth-premium-starfield {
  z-index:4 !important;
  opacity:.54 !important;
  mix-blend-mode:screen !important;
}

body.auth-locked .auth-video-grade {
  z-index:5 !important;
  opacity:.86 !important;
  background:
    linear-gradient(90deg, rgba(0,3,8,.04) 0%, rgba(0,4,10,.00) 34%, rgba(0,5,12,.24) 66%, rgba(0,3,8,.72) 100%),
    linear-gradient(180deg, rgba(0,3,8,.18) 0%, transparent 40%, rgba(0,3,8,.54) 100%),
    radial-gradient(ellipse at 80% 50%, rgba(2, 11, 20, .62), transparent 42%) !important;
}

body.auth-locked .auth-card {
  z-index:9 !important;
}

@media (min-width:761px) and (min-height:561px) {
  body.auth-locked .auth-card {
    width:min(560px, calc(100vw - 84px)) !important;
  }
}

@media (max-width:760px), (max-height:560px) {
  body.auth-locked .auth-orbital-canvas,
  body.auth-locked.auth-mobile-light-scene .auth-orbital-canvas {
    display:block !important;
    opacity:0 !important;
  }

  body.auth-locked.auth-orbital-ready .auth-orbital-canvas,
  body.auth-locked.auth-orbital-ready.auth-mobile-light-scene .auth-orbital-canvas {
    opacity:1 !important;
  }

  body.auth-locked .auth-premium-starfield {
    opacity:.42 !important;
  }

  body.auth-locked .auth-video-grade {
    background:
      linear-gradient(180deg, rgba(0,3,8,.12), transparent 42%, rgba(0,3,8,.64)),
      radial-gradient(ellipse at 50% 68%, rgba(1,5,12,.54), transparent 42%) !important;
  }
}

/* style block 12: id="uvab-mobile-fluid-map-flow-v12" */
/* uvab-mobile-fluid-map-flow-v12 */
@media (max-width:760px), (max-width:950px) and (max-height:500px) {
  body.radical-atlas .mobile-selection-nav {
    display:none !important;
  }

  body.radical-atlas.mobile-flow-scroll:not(.auth-locked),
  body.radical-atlas.mobile-flow-scroll.auth-ready {
    height:auto !important;
    min-height:var(--pwa-vh, 100dvh) !important;
    max-height:none !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    overscroll-behavior-y:none !important;
    background:#06100f !important;
  }

  body.radical-atlas.mobile-flow-scroll .app {
    height:auto !important;
    min-height:var(--pwa-vh, 100dvh) !important;
    max-height:none !important;
    overflow:visible !important;
    background:#06100f !important;
  }

  body.radical-atlas.mobile-flow-scroll .topbar {
    position:sticky !important;
    top:0 !important;
    z-index:70 !important;
  }

  body.radical-atlas.mobile-flow-scroll .main {
    flex:0 0 auto !important;
    grid-template-columns:1fr !important;
    grid-template-rows:auto auto !important;
    min-height:0 !important;
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
    background:
      radial-gradient(ellipse at 50% 0%, rgba(66, 224, 207, .12), transparent 42%),
      linear-gradient(180deg, rgba(5, 17, 16, .98), #06100f) !important;
  }

  body.radical-atlas.mobile-flow-scroll .map-area {
    display:block !important;
    visibility:visible !important;
    pointer-events:auto !important;
    min-height:260px !important;
    height:clamp(260px, 38svh, 370px) !important;
    max-height:none !important;
    overflow:hidden !important;
    border-bottom:1px solid rgba(113, 232, 214, .18) !important;
    background:var(--surface) !important;
  }

  body.radical-atlas.mobile-flow-scroll .sidebar {
    min-height:0 !important;
    height:auto !important;
    max-height:none !important;
    border-radius:0 !important;
    border-left:0 !important;
    border-right:0 !important;
    border-bottom:0 !important;
    overflow:visible !important;
    background:
      linear-gradient(180deg, rgba(7, 22, 20, .98), rgba(5, 16, 15, 1)) !important;
  }

  body.radical-atlas.mobile-flow-scroll .tabs {
    position:sticky !important;
    top:calc(54px + env(safe-area-inset-top, 0px)) !important;
    z-index:24 !important;
    margin:0 !important;
    padding:
      10px
      max(12px, env(safe-area-inset-right, 0px))
      9px
      max(12px, env(safe-area-inset-left, 0px)) !important;
    background:
      linear-gradient(180deg, rgba(8, 24, 22, .98), rgba(7, 19, 18, .92)) !important;
    border-bottom:1px solid rgba(113, 232, 214, .16) !important;
    box-shadow:0 14px 26px rgba(0,0,0,.24) !important;
    backdrop-filter:blur(16px) saturate(1.12) !important;
    -webkit-backdrop-filter:blur(16px) saturate(1.12) !important;
  }

  body.radical-atlas.mobile-flow-scroll .panel {
    flex:0 0 auto !important;
    height:auto !important;
    max-height:none !important;
    min-height:0 !important;
    overflow-x:hidden !important;
    overflow-y:visible !important;
    touch-action:pan-y !important;
    overscroll-behavior-y:auto !important;
    -webkit-overflow-scrolling:touch !important;
    padding:
      13px
      max(12px, env(safe-area-inset-right, 0px))
      calc(34px + env(safe-area-inset-bottom, 0px))
      max(12px, env(safe-area-inset-left, 0px)) !important;
    scroll-padding-top:72px !important;
  }

  body.radical-atlas.mobile-flow-scroll .project-list,
  body.radical-atlas.mobile-flow-scroll .port-list,
  body.radical-atlas.mobile-flow-scroll .fishery-city-list,
  body.radical-atlas.mobile-flow-scroll .fishery-structure-list {
    display:grid !important;
    gap:10px !important;
    padding-bottom:calc(42px + env(safe-area-inset-bottom, 0px)) !important;
  }

  body.radical-atlas.mobile-flow-scroll .project-card,
  body.radical-atlas.mobile-flow-scroll .port-card,
  body.radical-atlas.mobile-flow-scroll .fishery-city-card,
  body.radical-atlas.mobile-flow-scroll .fishery-structure-card {
    width:100% !important;
    max-width:100% !important;
  }

  body.radical-atlas #detailModal.open {
    position:fixed !important;
    inset:0 !important;
    z-index:10000 !important;
    padding:0 !important;
    align-items:stretch !important;
    justify-content:stretch !important;
    background:rgba(3, 10, 9, .98) !important;
  }

  body.radical-atlas #detailModal.open .modal-card {
    width:100vw !important;
    max-width:100vw !important;
    height:var(--pwa-vh, 100dvh) !important;
    max-height:var(--pwa-vh, 100dvh) !important;
    margin:0 !important;
    border:0 !important;
    border-radius:0 !important;
    overflow:hidden !important;
    background:
      radial-gradient(ellipse at 20% 0%, rgba(73, 233, 218, .12), transparent 32%),
      linear-gradient(180deg, #071715, #05100f 62%, #040c0b) !important;
  }

  body.radical-atlas #detailModal.open .modal-header {
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    z-index:10001 !important;
    min-height:calc(58px + env(safe-area-inset-top, 0px)) !important;
    padding:
      calc(8px + env(safe-area-inset-top, 0px))
      max(12px, env(safe-area-inset-right, 0px))
      8px
      max(12px, env(safe-area-inset-left, 0px)) !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    align-items:center !important;
    background:
      linear-gradient(180deg, rgba(5, 17, 16, .98), rgba(5, 17, 16, .82) 72%, rgba(5, 17, 16, 0)) !important;
    border-bottom:0 !important;
    box-shadow:none !important;
    pointer-events:none !important;
  }

  body.radical-atlas #detailModal.open .modal-header > div:first-child,
  body.radical-atlas #detailModal.open .modal-title,
  body.radical-atlas #detailModal.open #modalMeta {
    display:none !important;
  }

  body.radical-atlas #detailModal.open .modal-actions {
    pointer-events:auto !important;
    grid-column:1 / -1 !important;
    justify-self:stretch !important;
    justify-content:flex-start !important;
    align-items:center !important;
    display:flex !important;
    flex-wrap:nowrap !important;
    gap:7px !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    overflow-x:auto !important;
    padding-right:58px !important;
    scrollbar-width:none !important;
    -webkit-overflow-scrolling:touch !important;
  }

  body.radical-atlas #detailModal.open .modal-actions::-webkit-scrollbar {
    display:none !important;
  }

  body.radical-atlas #detailModal.open .modal-actions .output-btn:not(.edit-record-btn) {
    display:inline-flex !important;
    visibility:visible !important;
    pointer-events:auto !important;
    flex:0 0 auto !important;
    width:auto !important;
    min-width:54px !important;
    height:42px !important;
    min-height:42px !important;
    padding:0 9px !important;
    border-radius:13px !important;
    gap:6px !important;
    justify-content:center !important;
  }

  body.radical-atlas #detailModal.open .modal-actions .output-btn:not(.edit-record-btn) span {
    display:inline !important;
    font-size:.68rem !important;
    line-height:1 !important;
  }

  body.radical-atlas #detailModal.open #modalClose {
    position:fixed !important;
    top:calc(10px + env(safe-area-inset-top, 0px)) !important;
    right:max(10px, env(safe-area-inset-right, 0px)) !important;
    z-index:10003 !important;
    display:grid !important;
    place-items:center !important;
    width:46px !important;
    height:46px !important;
    min-width:46px !important;
    min-height:46px !important;
    border-radius:16px !important;
    color:#ecfffb !important;
    background:
      linear-gradient(180deg, rgba(18, 44, 41, .96), rgba(8, 22, 20, .96)) !important;
    border:1px solid rgba(123, 244, 224, .36) !important;
    box-shadow:0 16px 34px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.08) !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
  }

  body.radical-atlas #detailModal.open #modalClose i {
    font-size:1rem !important;
    line-height:1 !important;
  }

  body.radical-atlas #detailModal.open .modal-body {
    height:var(--pwa-vh, 100dvh) !important;
    max-height:var(--pwa-vh, 100dvh) !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch !important;
    overscroll-behavior-y:contain !important;
    touch-action:pan-y !important;
    padding:
      calc(72px + env(safe-area-inset-top, 0px))
      max(12px, env(safe-area-inset-right, 0px))
      calc(28px + env(safe-area-inset-bottom, 0px))
      max(12px, env(safe-area-inset-left, 0px)) !important;
    scroll-padding-top:calc(78px + env(safe-area-inset-top, 0px)) !important;
  }
}

/* style block 13: id="uvab-port-technical-lightbox-v13" */
/* uvab-port-technical-lightbox-v13 */
.image-lightbox.port-technical-lightbox {
  padding:clamp(8px, 1.4vw, 18px) !important;
  background:rgba(3, 11, 10, .86) !important;
}

.image-lightbox.port-technical-lightbox .image-lightbox-card {
  width:min(1600px, 98vw) !important;
  max-height:96vh !important;
  border-radius:12px !important;
}

.image-lightbox.port-technical-lightbox .image-lightbox-frame {
  align-items:flex-start !important;
  justify-content:flex-start !important;
  min-height:min(620px, calc(96vh - 58px)) !important;
  max-height:calc(96vh - 58px) !important;
  overflow:auto !important;
  overscroll-behavior:contain !important;
  padding:10px !important;
  background:#fff !important;
}

.image-lightbox.port-technical-lightbox .image-lightbox-frame img {
  width:auto !important;
  max-width:none !important;
  height:auto !important;
  max-height:none !important;
  min-width:min(1320px, calc(100vw - 36px)) !important;
  border-radius:8px !important;
  object-fit:contain !important;
  box-shadow:0 18px 44px rgba(0,0,0,.16) !important;
}

body.radical-atlas .port-tech-zoom .image-zoom-cue {
  opacity:1 !important;
}

@media (max-width:760px), (max-width:950px) and (max-height:500px) {
  .image-lightbox.port-technical-lightbox {
    padding:
      max(6px, env(safe-area-inset-top, 0px))
      max(6px, env(safe-area-inset-right, 0px))
      max(6px, env(safe-area-inset-bottom, 0px))
      max(6px, env(safe-area-inset-left, 0px)) !important;
  }

  .image-lightbox.port-technical-lightbox .image-lightbox-card {
    width:100vw !important;
    max-height:var(--pwa-vh, 100dvh) !important;
    border-radius:0 !important;
  }

  .image-lightbox.port-technical-lightbox .image-lightbox-head {
    min-height:54px !important;
    padding:8px 10px !important;
  }

  .image-lightbox.port-technical-lightbox .image-lightbox-frame {
    min-height:calc(var(--pwa-vh, 100dvh) - 58px) !important;
    max-height:calc(var(--pwa-vh, 100dvh) - 58px) !important;
    overflow:auto !important;
    -webkit-overflow-scrolling:touch !important;
    touch-action:pan-x pan-y !important;
    padding:8px !important;
  }

  .image-lightbox.port-technical-lightbox .image-lightbox-frame img {
    min-width:max(760px, calc(100vw - 16px)) !important;
  }
}

/* style block 14: id="uvab-feature-pack-1-6-v14" */
/* uvab-feature-pack-1-6-v14: numbered feature layer, removable by feature id. */
:root {
  --uvab-lux-teal:#63f0df;
  --uvab-lux-cyan:#98ddff;
  --uvab-lux-gold:#e9bd70;
  --uvab-lux-ink:#04100f;
  --uvab-touch-target:44px;
  --uvab-touch-target-comfort:48px;
  --uvab-card-x:50%;
  --uvab-card-y:20%;
}

body.radical-atlas.uvab-feature-1,
body.radical-atlas.uvab-feature-2,
body.radical-atlas.uvab-feature-3 {
  --uvab-feature-pack-active:1;
}

/* Feature 1: mobile accessibility and touch targets */
body.radical-atlas button,
body.radical-atlas [role="button"],
body.radical-atlas .chip,
body.radical-atlas .tab,
body.radical-atlas .pill,
body.radical-atlas .project-card,
body.radical-atlas .port-card,
body.radical-atlas .fishery-city-card {
  touch-action:manipulation;
  -webkit-tap-highlight-color:rgba(99, 240, 223, .14);
}

body.radical-atlas button:focus-visible,
body.radical-atlas input:focus-visible,
body.radical-atlas select:focus-visible,
body.radical-atlas [tabindex]:focus-visible {
  outline:3px solid rgba(129, 235, 255, .72);
  outline-offset:3px;
  box-shadow:0 0 0 6px rgba(99, 240, 223, .14);
}

@media (max-width:760px), (max-width:950px) and (max-height:500px) {
  body.radical-atlas .icon-btn,
  body.radical-atlas .output-btn,
  body.radical-atlas .secondary-btn,
  body.radical-atlas .primary-btn,
  body.radical-atlas .chip,
  body.radical-atlas .tab,
  body.radical-atlas .auth-toast-close,
  body.radical-atlas #modalClose,
  body.radical-atlas #imageLightboxClose,
  body.radical-atlas .maplibregl-ctrl-group button {
    min-width:var(--uvab-touch-target) !important;
    min-height:var(--uvab-touch-target) !important;
  }

  body.radical-atlas .maplibregl-ctrl-group button {
    width:var(--uvab-touch-target) !important;
    height:var(--uvab-touch-target) !important;
  }

  body.radical-atlas .project-card,
  body.radical-atlas .port-card,
  body.radical-atlas .fishery-city-card {
    min-height:72px !important;
  }

  body.radical-atlas .chips {
    gap:8px !important;
  }

  body.radical-atlas .chip {
    padding:0 13px !important;
  }

  body.radical-atlas .search,
  body.radical-atlas select,
  body.radical-atlas input {
    font-size:16px !important;
  }
}

/* Feature 2: shared pin to card transition */
.uvab-transition-layer {
  position:fixed;
  inset:0;
  z-index:12000;
  pointer-events:none;
  contain:layout style paint;
}

.uvab-transition-ripple,
.uvab-transition-pin,
.uvab-transition-card {
  position:fixed;
  left:0;
  top:0;
  will-change:transform, opacity, border-radius, width, height;
  transform-origin:center;
}

.uvab-transition-ripple {
  width:76px;
  height:76px;
  border-radius:999px;
  border:1px solid rgba(126, 246, 232, .58);
  box-shadow:0 0 0 1px rgba(255,255,255,.12), 0 0 34px rgba(99, 240, 223, .24);
  opacity:0;
}

.uvab-transition-pin {
  width:34px;
  height:34px;
  border-radius:999px;
  background:linear-gradient(135deg, var(--uvab-lux-teal), var(--uvab-lux-cyan) 60%, var(--uvab-lux-gold));
  border:1px solid rgba(255,255,255,.88);
  box-shadow:0 0 0 8px rgba(99, 240, 223, .13), 0 18px 42px rgba(0,0,0,.38);
}

.uvab-transition-card {
  width:236px;
  height:92px;
  border-radius:18px;
  border:1px solid rgba(126, 246, 232, .34);
  background:
    linear-gradient(145deg, rgba(11, 31, 30, .92), rgba(4, 14, 16, .80)),
    linear-gradient(90deg, rgba(99, 240, 223, .18), transparent 58%);
  box-shadow:0 28px 80px rgba(0,0,0,.40), inset 0 1px 0 rgba(255,255,255,.12);
  backdrop-filter:blur(18px) saturate(1.2);
  -webkit-backdrop-filter:blur(18px) saturate(1.2);
  opacity:0;
  overflow:hidden;
}

.uvab-transition-card::before {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(105deg, transparent 0 28%, rgba(255,255,255,.22) 44%, transparent 62%);
  transform:translateX(-120%);
  animation:uvabTransitionSheen .58s ease-out .08s both;
}

/* Feature 3: skeleton and shimmer */
.uvab-skeleton-panel,
.uvab-detail-skeleton-overlay {
  border:1px solid rgba(119, 239, 225, .16);
  border-radius:16px;
  background:
    linear-gradient(180deg, rgba(10, 27, 25, .92), rgba(5, 14, 15, .88));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 18px 50px rgba(0,0,0,.22);
  overflow:hidden;
}

.uvab-skeleton-panel {
  display:grid;
  gap:12px;
  padding:14px;
}

.uvab-skeleton-line,
.uvab-skeleton-card,
.uvab-skeleton-chip,
.uvab-skeleton-thumb {
  position:relative;
  overflow:hidden;
  border-radius:12px;
  background:linear-gradient(90deg, rgba(255,255,255,.055), rgba(255,255,255,.085), rgba(255,255,255,.055));
}

.uvab-skeleton-line::after,
.uvab-skeleton-card::after,
.uvab-skeleton-chip::after,
.uvab-skeleton-thumb::after,
.uvab-detail-skeleton-overlay::after {
  content:"";
  position:absolute;
  inset:0;
  transform:translateX(-120%);
  background:linear-gradient(100deg, transparent 0 38%, rgba(154, 236, 255, .18) 50%, transparent 62%);
  animation:uvabSkeletonShimmer 1.5s ease-in-out infinite;
}

.uvab-skeleton-line { height:14px; width:100%; }
.uvab-skeleton-line.short { width:58%; }
.uvab-skeleton-line.medium { width:78%; }
.uvab-skeleton-chip { width:96px; height:34px; border-radius:999px; }
.uvab-skeleton-card { min-height:82px; border-radius:15px; }
.uvab-skeleton-thumb { aspect-ratio:16/9; min-height:132px; }

.uvab-skeleton-row {
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.uvab-detail-skeleton-overlay {
  position:absolute;
  inset:12px;
  z-index:3;
  display:grid;
  place-items:center;
  color:rgba(236, 255, 251, .78);
  font-size:.85rem;
  line-height:1.3;
  pointer-events:none;
}

body.radical-atlas .data-update-status.busy,
body.radical-atlas .briefing-mode.uvab-briefing-loading .briefing-card {
  position:relative;
  overflow:hidden;
}

body.radical-atlas .data-update-status.busy::after,
body.radical-atlas .briefing-mode.uvab-briefing-loading .briefing-card::after {
  content:"";
  position:absolute;
  inset:0;
  transform:translateX(-120%);
  background:linear-gradient(100deg, transparent 0 40%, rgba(154, 236, 255, .16) 50%, transparent 60%);
  animation:uvabSkeletonShimmer 1.45s ease-in-out infinite;
}

/* Feature 4: premium card tilt and light reflection */
body.radical-atlas.uvab-feature-4 .project-card,
body.radical-atlas.uvab-feature-4 .summary-card,
body.radical-atlas.uvab-feature-4 .metric,
body.radical-atlas.uvab-feature-4 .fishery-city-card,
body.radical-atlas.uvab-feature-4 .briefing-card {
  position:relative;
  transform-style:preserve-3d;
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
  will-change:transform;
}

body.radical-atlas.uvab-feature-4 .project-card::after,
body.radical-atlas.uvab-feature-4 .summary-card::after,
body.radical-atlas.uvab-feature-4 .metric::after,
body.radical-atlas.uvab-feature-4 .fishery-city-card::after,
body.radical-atlas.uvab-feature-4 .briefing-card::after {
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  opacity:0;
  background:
    linear-gradient(115deg, transparent 0 34%, rgba(255,255,255,.15) 48%, transparent 62%),
    radial-gradient(circle at var(--uvab-card-x) var(--uvab-card-y), rgba(133, 246, 230, .16), transparent 38%);
  transition:opacity .18s ease;
  mix-blend-mode:screen;
}

body.radical-atlas.uvab-feature-4 .project-card.uvab-tilt-active,
body.radical-atlas.uvab-feature-4 .summary-card.uvab-tilt-active,
body.radical-atlas.uvab-feature-4 .metric.uvab-tilt-active,
body.radical-atlas.uvab-feature-4 .fishery-city-card.uvab-tilt-active,
body.radical-atlas.uvab-feature-4 .briefing-card.uvab-tilt-active {
  transform:perspective(900px) rotateX(var(--uvab-tilt-y, 0deg)) rotateY(var(--uvab-tilt-x, 0deg)) translateY(-1px);
  border-color:rgba(126, 246, 232, .34) !important;
  box-shadow:0 20px 54px rgba(0,0,0,.28), 0 0 0 1px rgba(126, 246, 232, .08);
}

body.radical-atlas.uvab-feature-4 .project-card.uvab-tilt-active::after,
body.radical-atlas.uvab-feature-4 .summary-card.uvab-tilt-active::after,
body.radical-atlas.uvab-feature-4 .metric.uvab-tilt-active::after,
body.radical-atlas.uvab-feature-4 .fishery-city-card.uvab-tilt-active::after,
body.radical-atlas.uvab-feature-4 .briefing-card.uvab-tilt-active::after {
  opacity:1;
}

body.radical-atlas.uvab-feature-4 .project-card.uvab-status-critical {
  box-shadow:0 12px 38px rgba(0,0,0,.22), 0 0 0 1px rgba(233, 189, 112, .14);
}

body.radical-atlas.uvab-feature-4 .project-card.uvab-status-complete {
  box-shadow:0 12px 38px rgba(0,0,0,.22), 0 0 0 1px rgba(99, 240, 223, .16);
}

/* Feature 5: premium image lightbox */
body.radical-atlas.uvab-feature-5 .image-lightbox.open {
  background:rgba(1, 7, 9, .78) !important;
  backdrop-filter:blur(22px) saturate(1.12);
  -webkit-backdrop-filter:blur(22px) saturate(1.12);
}

body.radical-atlas.uvab-feature-5 .image-lightbox-card {
  border-color:rgba(151, 239, 255, .28) !important;
  background:
    linear-gradient(145deg, rgba(7, 24, 25, .92), rgba(4, 11, 14, .90)) !important;
  box-shadow:0 38px 120px rgba(0,0,0,.54), inset 0 1px 0 rgba(255,255,255,.10) !important;
}

body.radical-atlas.uvab-feature-5 .image-lightbox-frame {
  position:relative;
  cursor:grab;
}

body.radical-atlas.uvab-feature-5 .image-lightbox-frame:active {
  cursor:grabbing;
}

body.radical-atlas.uvab-feature-5 #imageLightboxImg {
  transform-origin:center center;
  transition:transform .16s ease;
  will-change:transform;
}

.uvab-lightbox-caption {
  display:inline-flex;
  align-items:center;
  gap:8px;
  max-width:min(620px, 82vw);
  padding:8px 11px;
  border-radius:999px;
  color:rgba(240, 252, 255, .84);
  background:rgba(4, 16, 18, .58);
  border:1px solid rgba(151, 239, 255, .20);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}

.uvab-lightbox-rail {
  display:flex;
  gap:8px;
  padding:9px 10px 11px;
  overflow-x:auto;
  scrollbar-width:none;
  border-top:1px solid rgba(151, 239, 255, .12);
  background:linear-gradient(180deg, rgba(4, 16, 18, .20), rgba(2, 8, 10, .44));
}

.uvab-lightbox-rail::-webkit-scrollbar {
  display:none;
}

.uvab-lightbox-thumb {
  flex:0 0 auto;
  width:58px;
  height:42px;
  min-width:58px;
  min-height:42px;
  padding:0;
  overflow:hidden;
  border-radius:10px;
  border:1px solid rgba(151, 239, 255, .18);
  background:rgba(255,255,255,.05);
  opacity:.68;
}

.uvab-lightbox-thumb.active {
  opacity:1;
  border-color:rgba(151, 239, 255, .66);
  box-shadow:0 0 0 3px rgba(99, 240, 223, .14);
}

.uvab-lightbox-thumb img {
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

/* Feature 6: living atlas ambient surface */
body.radical-atlas.uvab-feature-6:not(.auth-locked) .app {
  position:relative;
  isolation:isolate;
  background:
    linear-gradient(180deg, #061412 0%, #04100f 58%, #030a0b 100%) !important;
}

body.radical-atlas.uvab-feature-6:not(.auth-locked) .app::before {
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:.34;
  background-image:
    linear-gradient(90deg, rgba(99, 240, 223, .075) 1px, transparent 1px),
    linear-gradient(180deg, rgba(151, 221, 255, .055) 1px, transparent 1px),
    repeating-linear-gradient(118deg, rgba(233, 189, 112, .045) 0 1px, transparent 1px 34px);
  background-size:48px 48px, 48px 48px, 100% 100%;
  animation:uvabAtlasDrift 26s linear infinite;
}

body.radical-atlas.uvab-feature-6:not(.auth-locked) .main,
body.radical-atlas.uvab-feature-6:not(.auth-locked) .sidebar,
body.radical-atlas.uvab-feature-6:not(.auth-locked) .modal-card {
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055), 0 0 0 1px rgba(99, 240, 223, .045);
}

body.radical-atlas.uvab-feature-6:not(.auth-locked) .topbar {
  background:
    linear-gradient(180deg, rgba(7, 23, 22, .98), rgba(4, 13, 14, .94)) !important;
  border-bottom-color:rgba(99, 240, 223, .16) !important;
}

body.radical-atlas.uvab-feature-6:not(.auth-locked):not(.dark) .app {
  background:
    linear-gradient(180deg, #eefaf8 0%, #e6f4f1 56%, #dcefeb 100%) !important;
}

body.radical-atlas.uvab-feature-6:not(.auth-locked):not(.dark) .app::before {
  opacity:.24;
  background-image:
    linear-gradient(90deg, rgba(6, 117, 121, .12) 1px, transparent 1px),
    linear-gradient(180deg, rgba(22, 83, 96, .08) 1px, transparent 1px),
    repeating-linear-gradient(118deg, rgba(178, 122, 39, .05) 0 1px, transparent 1px 34px);
}

@media (prefers-reduced-motion: reduce) {
  .uvab-transition-ripple,
  .uvab-transition-pin,
  .uvab-transition-card,
  .uvab-skeleton-line::after,
  .uvab-skeleton-card::after,
  .uvab-skeleton-chip::after,
  .uvab-skeleton-thumb::after,
  .uvab-detail-skeleton-overlay::after,
  body.radical-atlas .data-update-status.busy::after,
  body.radical-atlas .briefing-mode.uvab-briefing-loading .briefing-card::after,
  body.radical-atlas.uvab-feature-6:not(.auth-locked) .app::before {
    animation:none !important;
  }

  body.radical-atlas.uvab-feature-4 .project-card,
  body.radical-atlas.uvab-feature-4 .summary-card,
  body.radical-atlas.uvab-feature-4 .metric,
  body.radical-atlas.uvab-feature-4 .fishery-city-card,
  body.radical-atlas.uvab-feature-4 .briefing-card,
  body.radical-atlas.uvab-feature-5 #imageLightboxImg {
    transition:none !important;
    transform:none !important;
  }
}

@keyframes uvabSkeletonShimmer {
  0% { transform:translateX(-120%); }
  100% { transform:translateX(120%); }
}

@keyframes uvabTransitionSheen {
  0% { transform:translateX(-120%); opacity:0; }
  35% { opacity:1; }
  100% { transform:translateX(120%); opacity:0; }
}

@keyframes uvabAtlasDrift {
  0% { background-position:0 0, 0 0, 0 0; }
  100% { background-position:48px 24px, -24px 48px, 120px 0; }
}

/* style block 15: id="uvab-light-topbar-fix" */
/* uvab-light-topbar-fix */
body.radical-atlas:not(.auth-locked):not(.dark) .topbar,
body.radical-atlas.uvab-feature-6:not(.auth-locked):not(.dark) .topbar {
  background:
    linear-gradient(180deg, rgba(250, 255, 254, .98), rgba(236, 247, 244, .96)) !important;
  border-bottom-color:rgba(30, 120, 116, .18) !important;
  color:#14211f !important;
  box-shadow:0 10px 30px rgba(35, 95, 90, .10) !important;
}

body.radical-atlas:not(.auth-locked):not(.dark) .topbar .brand-title,
body.radical-atlas:not(.auth-locked):not(.dark) .topbar .brand-sub,
body.radical-atlas:not(.auth-locked):not(.dark) .topbar .section-title,
body.radical-atlas:not(.auth-locked):not(.dark) .topbar .section-kicker {
  color:#14211f !important;
}

body.radical-atlas:not(.auth-locked):not(.dark) .topbar .brand-sub,
body.radical-atlas:not(.auth-locked):not(.dark) .topbar .section-kicker {
  color:#60706c !important;
}

body.radical-atlas:not(.auth-locked):not(.dark) .topbar .icon-btn,
body.radical-atlas:not(.auth-locked):not(.dark) .topbar .secondary-btn,
body.radical-atlas:not(.auth-locked):not(.dark) .topbar .mode-btn {
  background:rgba(255, 255, 255, .78) !important;
  border-color:rgba(30, 120, 116, .22) !important;
  color:#183532 !important;
  box-shadow:0 8px 20px rgba(29, 91, 88, .10) !important;
}

/* style block 16: id="uvab-surgical-theme-v17" */
/* uvab-surgical-theme-v17 */
:root {
  --bg:#eef5f2;
  --surface:rgba(255,255,255,.96);
  --surface-2:rgba(246,251,249,.96);
  --line:rgba(25,101,91,.22);
  --ink:#142724;
  --muted:#5c736d;
  --blue:#176f94;
  --teal:#138b7f;
  --amber:#b98422;
  --green:#358660;
  --red:#bd5050;
  --violet:#7167ad;
  --shadow:0 18px 46px rgba(23,71,64,.14);
}

body.radical-atlas {
  --bg:#eef5f2;
  --surface:rgba(255,255,255,.96);
  --surface-2:rgba(246,251,249,.96);
  --line:rgba(25,101,91,.22);
  --ink:#142724;
  --muted:#5c736d;
  --blue:#176f94;
  --teal:#138b7f;
  --amber:#b98422;
  --green:#358660;
  --red:#bd5050;
  --violet:#7167ad;
  --shadow:0 18px 46px rgba(23,71,64,.14);
  --atlas-bg:#eef5f2;
  --atlas-grid:rgba(19,139,127,.09);
  --chrome:rgba(255,255,255,.89);
  --chrome-strong:rgba(255,255,255,.97);
  --control-bg:rgba(248,252,250,.94);
  --brand-bg:#e2f1ed;
  --tab-bg:rgba(248,252,250,.92);
  --tab-active:rgba(225,243,238,.98);
}

.dark,
body.radical-atlas.dark {
  --bg:#07110f;
  --surface:rgba(12,23,21,.94);
  --surface-2:rgba(18,34,31,.94);
  --line:rgba(99,234,217,.20);
  --ink:#f2fbf8;
  --muted:#a2b8b2;
  --blue:#84d1f4;
  --teal:#63ead9;
  --amber:#efc15f;
  --green:#82dda3;
  --red:#ff8a8a;
  --violet:#c4b5ff;
  --shadow:0 18px 52px rgba(0,0,0,.42);
  --atlas-bg:#07110f;
  --atlas-grid:rgba(99,234,217,.055);
  --chrome:rgba(11,23,21,.88);
  --chrome-strong:rgba(13,28,25,.94);
  --control-bg:rgba(18,34,31,.90);
  --brand-bg:#112c28;
  --tab-bg:rgba(15,31,28,.88);
  --tab-active:rgba(25,51,46,.96);
}

body.radical-atlas:not(.auth-locked) {
  background:
    radial-gradient(circle at 12% 4%, rgba(19,139,127,.16), transparent 34%),
    linear-gradient(180deg, var(--atlas-bg), var(--bg)) !important;
}

body.radical-atlas.dark:not(.auth-locked) .app {
  background:
    radial-gradient(circle at 18% 8%, rgba(99,234,217,.10), transparent 30%),
    radial-gradient(circle at 76% 0%, rgba(132,209,244,.08), transparent 28%),
    linear-gradient(180deg, #07110f 0%, #091816 58%, #040a0b 100%) !important;
}

body.radical-atlas:not(.auth-locked):not(.dark) .app {
  background:
    radial-gradient(circle at 18% 8%, rgba(19,139,127,.12), transparent 32%),
    linear-gradient(180deg, #f4faf8 0%, #e8f2ef 100%) !important;
}

body.radical-atlas.dark:not(.auth-locked) .topbar {
  background:linear-gradient(180deg, rgba(13,29,26,.97), rgba(8,18,17,.95)) !important;
  border-bottom-color:rgba(99,234,217,.18) !important;
  box-shadow:0 14px 38px rgba(0,0,0,.32) !important;
}

body.radical-atlas:not(.auth-locked):not(.dark) .topbar {
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(238,248,245,.96)) !important;
  border-bottom-color:rgba(19,139,127,.18) !important;
  box-shadow:0 12px 32px rgba(31,100,91,.10) !important;
}

body.radical-atlas.dark:not(.auth-locked) .sidebar,
body.radical-atlas.dark:not(.auth-locked) .map-panel,
body.radical-atlas.dark:not(.auth-locked) .legend,
body.radical-atlas.dark:not(.auth-locked) .modal-card,
body.radical-atlas.dark:not(.auth-locked) .project-card,
body.radical-atlas.dark:not(.auth-locked) .port-card,
body.radical-atlas.dark:not(.auth-locked) .table-wrap,
body.radical-atlas.dark:not(.auth-locked) .detail-hero,
body.radical-atlas.dark:not(.auth-locked) .detail-main,
body.radical-atlas.dark:not(.auth-locked) .detail-side,
body.radical-atlas.dark:not(.auth-locked) .detail-list,
body.radical-atlas.dark:not(.auth-locked) .detail-kpi-strip,
body.radical-atlas.dark:not(.auth-locked) .detail-money-grid,
body.radical-atlas.dark:not(.auth-locked) .summary-card,
body.radical-atlas.dark:not(.auth-locked) .panel {
  background:linear-gradient(180deg, rgba(15,31,28,.90), rgba(9,21,19,.92)) !important;
  border-color:rgba(99,234,217,.16) !important;
  box-shadow:0 14px 34px rgba(0,0,0,.24) !important;
}

body.radical-atlas:not(.auth-locked):not(.dark) .sidebar,
body.radical-atlas:not(.auth-locked):not(.dark) .map-panel,
body.radical-atlas:not(.auth-locked):not(.dark) .legend,
body.radical-atlas:not(.auth-locked):not(.dark) .modal-card,
body.radical-atlas:not(.auth-locked):not(.dark) .project-card,
body.radical-atlas:not(.auth-locked):not(.dark) .port-card,
body.radical-atlas:not(.auth-locked):not(.dark) .table-wrap,
body.radical-atlas:not(.auth-locked):not(.dark) .detail-hero,
body.radical-atlas:not(.auth-locked):not(.dark) .detail-main,
body.radical-atlas:not(.auth-locked):not(.dark) .detail-side,
body.radical-atlas:not(.auth-locked):not(.dark) .detail-list,
body.radical-atlas:not(.auth-locked):not(.dark) .detail-kpi-strip,
body.radical-atlas:not(.auth-locked):not(.dark) .detail-money-grid,
body.radical-atlas:not(.auth-locked):not(.dark) .summary-card,
body.radical-atlas:not(.auth-locked):not(.dark) .panel {
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(247,252,250,.94)) !important;
  border-color:rgba(19,139,127,.16) !important;
  box-shadow:0 14px 34px rgba(28,89,81,.10) !important;
}

body.radical-atlas:not(.auth-locked) .tab.active,
body.radical-atlas:not(.auth-locked) .chip.active,
body.radical-atlas:not(.auth-locked) .seg-btn.active,
body.radical-atlas:not(.auth-locked) .primary-btn,
body.radical-atlas:not(.auth-locked) .detail-cta {
  background:linear-gradient(135deg, var(--teal), var(--blue)) !important;
  border-color:rgba(99,234,217,.55) !important;
  color:#04100f !important;
  box-shadow:0 12px 26px rgba(19,139,127,.22) !important;
}

body.radical-atlas:not(.auth-locked):not(.dark) .primary-btn,
body.radical-atlas:not(.auth-locked):not(.dark) .detail-cta {
  color:#ffffff !important;
}

body.radical-atlas:not(.auth-locked) .secondary-btn,
body.radical-atlas:not(.auth-locked) .chip,
body.radical-atlas:not(.auth-locked) .seg-btn,
body.radical-atlas:not(.auth-locked) .icon-btn {
  background:rgba(17,34,31,.08) !important;
  border-color:rgba(99,234,217,.18) !important;
  color:var(--ink) !important;
}

body.radical-atlas.dark:not(.auth-locked) .secondary-btn,
body.radical-atlas.dark:not(.auth-locked) .chip,
body.radical-atlas.dark:not(.auth-locked) .seg-btn,
body.radical-atlas.dark:not(.auth-locked) .icon-btn {
  background:rgba(21,41,37,.78) !important;
  border-color:rgba(99,234,217,.18) !important;
  color:var(--ink) !important;
}

/* style block 17: main maintenance comfort target polish */
@media (min-width:761px) {
  body.radical-atlas:not(.auth-locked) #themeToggle.icon-btn {
    width:40px !important;
    min-width:40px !important;
    height:40px !important;
    min-height:40px !important;
  }

  body.radical-atlas:not(.auth-locked) .chip {
    min-height:40px !important;
  }
}

body.radical-atlas .maplibregl-ctrl-group button,
body.radical-atlas:not(.auth-locked) .maplibregl-ctrl-group button {
  min-width:40px !important;
  min-height:40px !important;
  width:40px !important;
  height:40px !important;
}

body.radical-atlas:not(.auth-locked) .project-card.active,
body.radical-atlas:not(.auth-locked) .port-card.active {
  border-color:rgba(99,234,217,.62) !important;
  box-shadow:0 0 0 2px rgba(99,234,217,.18), 0 16px 34px rgba(0,0,0,.18) !important;
}


/* style block 18: stars-login-v3 */
body.auth-locked.auth-stars-only .auth-raster-css-globe,
body.auth-locked.auth-stars-only .auth-raster-css-globe::before,
body.auth-locked.auth-stars-only .auth-raster-css-globe::after,
body.auth-locked.auth-stars-only .auth-globe-canvas,
body.auth-locked.auth-stars-only .auth-orbital-canvas,
body.auth-locked.auth-stars-only .auth-earth-bg,
body.auth-locked.auth-stars-only .auth-cropped-video-canvas {
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  animation:none !important;
  background-image:none !important;
}

body.auth-locked .auth-gate {
  display:grid !important;
  place-items:center !important;
  min-height:100svh !important;
  padding:max(18px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left)) !important;
  overflow:auto !important;
}

body.auth-locked .auth-video-layer {
  background:
    radial-gradient(circle at 50% 18%, rgba(91, 236, 221, .20), transparent 34%),
    radial-gradient(circle at 16% 78%, rgba(63, 137, 255, .13), transparent 34%),
    linear-gradient(180deg, #02060d 0%, #061315 46%, #020807 100%) !important;
}

body.auth-locked .auth-video-layer::before {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:
    radial-gradient(circle, rgba(228,247,255,.92) 0 1px, transparent 1.7px),
    radial-gradient(circle, rgba(93,232,219,.62) 0 1px, transparent 1.5px),
    linear-gradient(115deg, transparent 0 42%, rgba(88,230,214,.12) 50%, transparent 58%);
  background-size:78px 78px, 132px 132px, 100% 100%;
  background-position:0 0, 32px 18px, center;
  opacity:.44;
  transform:translateZ(0);
}

body.auth-locked .auth-premium-starfield,
body.auth-locked .auth-starfield,
body.auth-locked .auth-atmosphere-beam,
body.auth-locked .auth-video-grade,
body.auth-locked .auth-video-logo-veil {
  display:block !important;
}

body.auth-locked .auth-premium-starfield {
  opacity:.72 !important;
  filter:none !important;
}

body.auth-locked .auth-atmosphere-beam {
  opacity:.46 !important;
  background:
    radial-gradient(ellipse at 50% 18%, rgba(94,233,220,.20), transparent 38%),
    linear-gradient(180deg, rgba(50,136,166,.18), transparent 68%) !important;
}

body.auth-locked .auth-card {
  position:relative !important;
  left:auto !important;
  right:auto !important;
  top:auto !important;
  bottom:auto !important;
  margin:auto !important;
  transform:none !important;
  width:min(920px, calc(100vw - 52px)) !important;
  max-height:min(720px, calc(100svh - 52px)) !important;
  overflow:auto !important;
  align-self:center !important;
  justify-self:center !important;
  box-shadow:0 28px 90px rgba(0,0,0,.46), inset 0 1px 0 rgba(255,255,255,.08) !important;
}

body.auth-locked .auth-panel {
  background:linear-gradient(160deg, rgba(8,24,28,.88), rgba(5,13,18,.94)) !important;
  border-color:rgba(106, 238, 223, .26) !important;
}

body.auth-locked .auth-remember {
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  min-height:56px !important;
}

body.auth-locked .auth-remember-copy {
  display:grid !important;
  gap:2px !important;
  line-height:1.25 !important;
}

body.auth-locked .auth-remember-copy strong,
body.auth-locked .auth-remember-copy small {
  display:block !important;
}

@media (max-width:760px), (max-width:950px) and (max-height:500px) {
  body.auth-locked .auth-gate {
    align-items:center !important;
    justify-items:center !important;
    padding:max(14px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) max(14px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left)) !important;
  }

  body.auth-locked .auth-card {
    width:min(372px, calc(100vw - 28px)) !important;
    max-height:calc(100svh - 28px) !important;
    grid-template-columns:1fr !important;
    border-radius:24px !important;
  }

  body.auth-locked .auth-visual {
    display:none !important;
  }

  body.auth-locked .auth-panel {
    padding:18px !important;
  }

  body.auth-locked .auth-logo-row {
    grid-template-columns:44px minmax(0, 1fr) !important;
    gap:12px !important;
    align-items:center !important;
  }

  body.auth-locked .auth-logo-frame {
    width:44px !important;
    height:44px !important;
    border-radius:14px !important;
  }

  body.auth-locked .auth-title,
  body.auth-locked .brand-title {
    font-size:clamp(1.16rem, 5vw, 1.55rem) !important;
    line-height:1.08 !important;
  }

  body.auth-locked .auth-remember {
    align-items:flex-start !important;
    min-height:auto !important;
    padding:12px !important;
  }

  body.auth-locked .auth-remember-copy small {
    font-size:.86rem !important;
  }
}


/* stars-login-v3 earth runtime strip */
body.auth-locked .auth-ocean-stage {
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  animation:none !important;
}


/* style block 22: stars-only login final guard */
body.auth-locked .auth-gate {
  place-items:center !important;
  align-items:center !important;
  justify-items:center !important;
  min-height:var(--pwa-vh, 100dvh) !important;
  padding:
    max(24px, env(safe-area-inset-top, 0px))
    max(24px, env(safe-area-inset-right, 0px))
    max(24px, env(safe-area-inset-bottom, 0px))
    max(24px, env(safe-area-inset-left, 0px)) !important;
  overflow:hidden !important;
  background:
    radial-gradient(ellipse at 50% 35%, rgba(38, 155, 203, .20), transparent 36%),
    radial-gradient(ellipse at 20% 78%, rgba(99, 234, 217, .13), transparent 38%),
    radial-gradient(ellipse at 82% 18%, rgba(80, 132, 255, .12), transparent 34%),
    linear-gradient(135deg, #02050c 0%, #03101d 48%, #01030a 100%) !important;
}

body.auth-locked .auth-video-layer {
  background:
    radial-gradient(circle at 22% 24%, rgba(255, 255, 255, .14) 0 1px, transparent 2px),
    radial-gradient(circle at 68% 18%, rgba(169, 219, 255, .16) 0 1px, transparent 2px),
    radial-gradient(circle at 82% 70%, rgba(99, 234, 217, .16) 0 1px, transparent 2px),
    radial-gradient(ellipse at 50% 36%, rgba(42, 172, 220, .18), transparent 42%),
    linear-gradient(135deg, #02050c 0%, #061523 54%, #01030a 100%) !important;
}

body.auth-locked .auth-raster-css-globe,
body.auth-locked .auth-globe-canvas,
body.auth-locked .auth-earth-bg,
body.auth-locked .auth-ocean-stage {
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  background-image:none !important;
  animation:none !important;
}

body.auth-locked .auth-card {
  width:min(500px, calc(100vw - 48px)) !important;
  margin:auto !important;
  transform:
    translate3d(var(--auth-shift-x, 0px), var(--auth-shift-y, 0px), 0)
    rotateX(var(--auth-tilt-x, 0deg))
    rotateY(var(--auth-tilt-y, 0deg)) !important;
}

body.auth-locked .auth-remember {
  display:grid !important;
  grid-template-columns:34px minmax(0, 1fr) !important;
  align-items:center !important;
  column-gap:12px !important;
  min-height:54px !important;
}

body.auth-locked .auth-remember-copy {
  display:grid !important;
  min-width:0 !important;
  gap:2px !important;
}

body.auth-locked .auth-remember-copy strong,
body.auth-locked .auth-remember-copy small {
  display:block !important;
  overflow-wrap:anywhere !important;
}

@media (max-width:760px), (max-height:560px) {
  body.auth-locked .auth-gate {
    min-height:var(--pwa-vh, 100dvh) !important;
    padding:
      max(14px, env(safe-area-inset-top, 0px))
      max(18px, env(safe-area-inset-right, 0px))
      max(14px, env(safe-area-inset-bottom, 0px))
      max(18px, env(safe-area-inset-left, 0px)) !important;
  }

  body.auth-locked .auth-card {
    width:min(342px, calc(100vw - 44px)) !important;
    max-height:calc(var(--pwa-vh, 100dvh) - 34px) !important;
    border-radius:20px !important;
  }

  body.auth-locked .auth-panel {
    padding:16px !important;
  }

  body.auth-locked .auth-logo-row {
    min-height:auto !important;
    gap:10px !important;
  }

  body.auth-locked .auth-logo-frame {
    width:48px !important;
    height:48px !important;
    min-width:48px !important;
  }

  body.auth-locked .auth-brand-title {
    font-size:clamp(.98rem, 5vw, 1.06rem) !important;
    line-height:1.12 !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
  }

  body.auth-locked .auth-form {
    gap:10px !important;
  }

  body.auth-locked .auth-remember {
    grid-template-columns:30px minmax(0, 1fr) !important;
    column-gap:10px !important;
    min-height:50px !important;
  }

  body.auth-locked .auth-remember-box {
    width:28px !important;
    height:28px !important;
  }

  body.radical-atlas:not(.auth-locked) {
    max-width:100vw !important;
    overflow-x:hidden !important;
  }

  body.radical-atlas:not(.auth-locked) .app,
  body.radical-atlas:not(.auth-locked) .main,
  body.radical-atlas:not(.auth-locked) .sidebar,
  body.radical-atlas:not(.auth-locked) .panel,
  body.radical-atlas:not(.auth-locked) #sidePanel {
    width:100% !important;
    max-width:100vw !important;
    box-sizing:border-box !important;
    overflow-x:hidden !important;
  }

  body.radical-atlas:not(.auth-locked) .project-list,
  body.radical-atlas:not(.auth-locked) .port-list,
  body.radical-atlas:not(.auth-locked) .fishery-city-list,
  body.radical-atlas:not(.auth-locked) .fishery-structure-list {
    width:100% !important;
    max-width:100% !important;
    grid-template-columns:minmax(0, 1fr) !important;
  }

  body.radical-atlas:not(.auth-locked) .project-card,
  body.radical-atlas:not(.auth-locked) .port-card,
  body.radical-atlas:not(.auth-locked) .fishery-city-card,
  body.radical-atlas:not(.auth-locked) .fishery-structure-item,
  body.radical-atlas:not(.auth-locked) .summary-card {
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }

  body.radical-atlas:not(.auth-locked) .maplibregl-ctrl-group button {
    width:52px !important;
    height:52px !important;
    min-width:52px !important;
    min-height:52px !important;
    max-width:none !important;
    max-height:none !important;
    background-size:30px 30px !important;
  }
}

/* style block 23: ergonomic polish and logo-load stabilization v5 */
body.auth-locked .auth-logo,
body.auth-locked .auth-loader-logo,
body.radical-atlas .ministry-logo {
  content-visibility:visible !important;
  image-rendering:auto !important;
  opacity:1 !important;
  filter:none !important;
}

body.auth-locked .auth-video-layer {
  background:
    radial-gradient(circle at 18% 20%, rgba(255,255,255,.16) 0 1px, transparent 2px),
    radial-gradient(circle at 74% 16%, rgba(151,220,255,.18) 0 1px, transparent 2px),
    radial-gradient(circle at 86% 72%, rgba(105,237,223,.14) 0 1px, transparent 2px),
    radial-gradient(ellipse at 50% 32%, rgba(67,190,236,.24), transparent 40%),
    radial-gradient(ellipse at 26% 80%, rgba(99,234,217,.14), transparent 36%),
    linear-gradient(135deg, #02050c 0%, #061725 55%, #010309 100%) !important;
}

body.auth-locked .auth-video-layer::before,
body.auth-locked .auth-video-layer::after {
  content:"" !important;
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  pointer-events:none !important;
}

body.auth-locked .auth-video-layer::before {
  background-image:
    radial-gradient(circle, rgba(238,250,255,.86) 0 1px, transparent 1.8px),
    radial-gradient(circle, rgba(99,234,217,.54) 0 1px, transparent 1.5px);
  background-size:96px 96px, 168px 168px;
  background-position:0 0, 39px 26px;
  opacity:.36 !important;
}

body.auth-locked .auth-video-layer::after {
  background:
    linear-gradient(120deg, transparent 0 34%, rgba(88,230,214,.10) 45%, transparent 58%),
    radial-gradient(ellipse at 52% -4%, rgba(156,228,255,.18), transparent 42%),
    radial-gradient(ellipse at 50% 108%, rgba(12,105,112,.24), transparent 50%);
  opacity:.86 !important;
}

@media (min-width:761px) {
  body.auth-locked .auth-card {
    transform:none !important;
    backface-visibility:hidden !important;
    background:
      linear-gradient(145deg, rgba(9, 21, 32, .88), rgba(5, 13, 23, .92) 54%, rgba(12, 31, 41, .88)) !important;
    backdrop-filter:blur(10px) saturate(1.08) !important;
    -webkit-backdrop-filter:blur(10px) saturate(1.08) !important;
    box-shadow:
      0 30px 82px rgba(0,0,0,.52),
      0 0 0 1px rgba(178,231,255,.12),
      inset 0 1px 0 rgba(255,255,255,.13) !important;
  }

  body.auth-locked .auth-panel,
  body.auth-locked .auth-fields,
  body.auth-locked .auth-logo-row {
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }

  body.auth-locked .auth-title,
  body.auth-locked .auth-brand-title,
  body.auth-locked .auth-field-label,
  body.auth-locked input,
  body.auth-locked button {
    text-shadow:none !important;
    -webkit-font-smoothing:antialiased;
    text-rendering:geometricPrecision;
  }
}

@media (max-width:760px), (max-width:950px) and (max-height:500px) {
  html {
    height:auto !important;
    max-height:none !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    overscroll-behavior-y:auto !important;
    background:#06100f !important;
  }

  body.auth-locked {
    height:var(--pwa-vh, 100dvh) !important;
    min-height:var(--pwa-vh, 100dvh) !important;
    max-height:var(--pwa-vh, 100dvh) !important;
    overflow:hidden !important;
  }

  body.radical-atlas.mobile-flow-scroll:not(.auth-locked),
  body.radical-atlas.mobile-flow-scroll.auth-ready {
    height:auto !important;
    min-height:var(--pwa-vh, 100dvh) !important;
    max-height:none !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    touch-action:pan-y !important;
    -webkit-overflow-scrolling:touch !important;
  }

  body.radical-atlas.mobile-flow-scroll .app,
  body.radical-atlas.mobile-flow-scroll .main,
  body.radical-atlas.mobile-flow-scroll .sidebar,
  body.radical-atlas.mobile-flow-scroll .panel,
  body.radical-atlas.mobile-flow-scroll #sidePanel {
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
    touch-action:pan-y !important;
  }

  body.radical-atlas.mobile-flow-scroll .main {
    grid-template-rows:auto auto !important;
    row-gap:0 !important;
  }

  body.radical-atlas.mobile-flow-scroll .map-area {
    min-height:220px !important;
    height:clamp(220px, 32svh, 315px) !important;
    margin-bottom:0 !important;
    border-bottom-color:rgba(113,232,214,.12) !important;
  }

  body.radical-atlas.mobile-flow-scroll .tabs {
    top:calc(50px + env(safe-area-inset-top, 0px)) !important;
    padding:
      7px
      max(10px, env(safe-area-inset-right, 0px))
      6px
      max(10px, env(safe-area-inset-left, 0px)) !important;
    margin-top:0 !important;
    gap:6px !important;
    box-shadow:0 9px 18px rgba(0,0,0,.18) !important;
  }

  body.radical-atlas.mobile-flow-scroll .tab {
    min-height:42px !important;
    padding:7px 6px !important;
  }

  body.radical-atlas.mobile-flow-scroll .panel {
    padding-top:8px !important;
    padding-bottom:calc(42px + env(safe-area-inset-bottom, 0px)) !important;
    overscroll-behavior-y:auto !important;
  }

  body.radical-atlas.mobile-selection-focus .summary-card {
    margin-top:0 !important;
  }

  body.radical-atlas.mobile-selection-focus .panel {
    min-height:calc(var(--pwa-vh, 100dvh) - 96px) !important;
  }
}

/* style block 24: ergonomic polish final guard v5 */
body.auth-locked .auth-logo,
body.auth-locked .auth-loader-logo,
body.radical-atlas .ministry-logo {
  display:block !important;
  object-fit:contain !important;
  object-position:center !important;
  image-rendering:auto !important;
  filter:none !important;
  opacity:1 !important;
}

body.auth-locked .auth-gate {
  background:
    radial-gradient(ellipse at 50% 18%, rgba(117, 223, 255, .20), transparent 32%),
    radial-gradient(ellipse at 18% 76%, rgba(86, 239, 219, .14), transparent 34%),
    radial-gradient(ellipse at 78% 72%, rgba(88, 126, 255, .11), transparent 38%),
    linear-gradient(135deg, #02050c 0%, #04111f 48%, #01030a 100%) !important;
}

body.auth-locked .auth-video-layer {
  background:
    radial-gradient(circle at 14% 18%, rgba(255,255,255,.58) 0 1px, transparent 2px),
    radial-gradient(circle at 34% 72%, rgba(154,220,255,.48) 0 1px, transparent 2px),
    radial-gradient(circle at 61% 24%, rgba(255,255,255,.42) 0 1px, transparent 2px),
    radial-gradient(circle at 81% 38%, rgba(117,232,216,.42) 0 1px, transparent 2px),
    radial-gradient(circle at 88% 80%, rgba(255,216,148,.38) 0 1px, transparent 2px),
    radial-gradient(ellipse at 50% 30%, rgba(46,172,218,.22), transparent 43%),
    radial-gradient(ellipse at 50% 88%, rgba(32,221,199,.10), transparent 36%),
    linear-gradient(140deg, #02050c 0%, #061522 54%, #01030a 100%) !important;
  background-size:
    520px 520px,
    640px 640px,
    780px 780px,
    700px 700px,
    860px 860px,
    100% 100%,
    100% 100%,
    100% 100% !important;
}

body.auth-locked .auth-video-layer::before {
  background:
    linear-gradient(106deg, transparent 0 18%, rgba(96,227,210,.11) 28%, transparent 42%),
    linear-gradient(74deg, transparent 0 48%, rgba(91,143,255,.08) 62%, transparent 78%) !important;
  opacity:.72 !important;
  transform:none !important;
  animation:none !important;
}

body.auth-locked .auth-video-layer::after {
  background:
    radial-gradient(ellipse at 50% 42%, transparent 0 38%, rgba(3,8,15,.28) 58%, rgba(0,0,0,.58) 100%),
    linear-gradient(180deg, rgba(1,4,10,.16), rgba(1,4,10,.60)) !important;
  opacity:1 !important;
  animation:none !important;
}

@media (min-width:761px) {
  body.auth-locked .auth-card {
    width:min(540px, calc(100vw - 96px)) !important;
    transform:translate(var(--auth-shift-x, 0px), var(--auth-shift-y, 0px)) !important;
    backface-visibility:hidden !important;
    will-change:auto !important;
    background:rgba(7, 17, 24, .82) !important;
    border-color:rgba(130, 236, 224, .28) !important;
    backdrop-filter:blur(7px) saturate(1.06) !important;
    -webkit-backdrop-filter:blur(7px) saturate(1.06) !important;
    box-shadow:
      0 28px 80px rgba(0,0,0,.46),
      inset 0 1px 0 rgba(255,255,255,.12) !important;
  }

  body.auth-locked .auth-panel,
  body.auth-locked .auth-fields,
  body.auth-locked .auth-logo-row {
    transform:none !important;
    filter:none !important;
  }

  body.auth-locked .auth-card,
  body.auth-locked .auth-card * {
    text-shadow:none !important;
    -webkit-font-smoothing:antialiased !important;
    text-rendering:geometricPrecision !important;
  }

  body.auth-locked .auth-panel {
    background:rgba(8, 20, 27, .72) !important;
  }

  body.auth-locked .auth-field input,
  body.auth-locked .auth-remember,
  body.auth-locked .auth-submit {
    transform:none !important;
  }
}

@media (max-width:760px), (max-width:950px) and (max-height:500px) {
  body.radical-atlas.mobile-flow-scroll:not(.auth-locked),
  body.radical-atlas.mobile-flow-scroll.auth-ready {
    position:relative !important;
    height:auto !important;
    min-height:var(--pwa-vh, 100dvh) !important;
    max-height:none !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    touch-action:pan-y !important;
    overscroll-behavior-y:auto !important;
    -webkit-overflow-scrolling:touch !important;
  }

  body.radical-atlas.mobile-flow-scroll .app {
    display:flex !important;
    flex-direction:column !important;
    height:auto !important;
    min-height:var(--pwa-vh, 100dvh) !important;
    max-height:none !important;
    overflow:visible !important;
  }

  body.radical-atlas.mobile-flow-scroll .main {
    display:grid !important;
    grid-template-columns:1fr !important;
    grid-template-rows:auto auto !important;
    gap:0 !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
  }

  body.radical-atlas.mobile-flow-scroll .map-area {
    min-height:190px !important;
    height:clamp(190px, 28svh, 285px) !important;
    max-height:none !important;
    margin:0 !important;
    overflow:hidden !important;
  }

  body.radical-atlas.mobile-flow-scroll .sidebar,
  body.radical-atlas.mobile-flow-scroll .panel-shell,
  body.radical-atlas.mobile-flow-scroll .panel,
  body.radical-atlas.mobile-flow-scroll #sidePanel {
    position:relative !important;
    inset:auto !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
    touch-action:pan-y !important;
    -webkit-overflow-scrolling:touch !important;
  }

  body.radical-atlas.mobile-flow-scroll .tabs {
    top:calc(48px + env(safe-area-inset-top, 0px)) !important;
    padding:
      5px
      max(10px, env(safe-area-inset-right, 0px))
      5px
      max(10px, env(safe-area-inset-left, 0px)) !important;
    margin:0 !important;
    gap:5px !important;
  }

  body.radical-atlas.mobile-flow-scroll .tab {
    min-height:39px !important;
    padding:6px 5px !important;
  }

  body.radical-atlas.mobile-flow-scroll .panel {
    padding-top:6px !important;
    padding-bottom:calc(40px + env(safe-area-inset-bottom, 0px)) !important;
  }

  body.radical-atlas.mobile-flow-scroll .project-list,
  body.radical-atlas.mobile-flow-scroll .port-list,
  body.radical-atlas.mobile-flow-scroll .fishery-city-list,
  body.radical-atlas.mobile-flow-scroll .fishery-structure-list {
    gap:8px !important;
  }

  body.radical-atlas.mobile-selection-focus .summary-card {
    margin-top:0 !important;
    margin-bottom:12px !important;
  }

  body.radical-atlas.mobile-selection-focus .panel,
  body.radical-atlas.mobile-selection-focus #sidePanel {
    min-height:calc(var(--pwa-vh, 100dvh) - 88px) !important;
  }
}

/* style block 25: mobile app surface and map/card polish v6 */
@media (max-width:760px), (max-width:950px) and (max-height:500px) {
  html.pwa-standalone body.radical-atlas:not(.auth-locked),
  html.pwa-standalone body.radical-atlas:not(.auth-locked) .app {
    min-height:var(--pwa-vh, 100dvh) !important;
    background:#06100f !important;
  }

  body.radical-atlas.mobile-flow-scroll .map-area {
    min-height:250px !important;
    height:clamp(250px, 36svh, 360px) !important;
    max-height:380px !important;
    display:grid !important;
    place-items:stretch !important;
    border-bottom-color:rgba(105, 206, 192, .16) !important;
  }

  body.radical-atlas.mobile-flow-scroll .map-area .maplibregl-map,
  body.radical-atlas.mobile-flow-scroll .map-area .maplibregl-canvas-container,
  body.radical-atlas.mobile-flow-scroll .map-area canvas,
  body.radical-atlas.mobile-flow-scroll #map {
    min-height:100% !important;
    height:100% !important;
  }

  body.radical-atlas.mobile-flow-scroll .tabs {
    margin-top:-1px !important;
    border-top:1px solid rgba(105, 206, 192, .12) !important;
  }

  body.radical-atlas.mobile-flow-scroll .panel {
    padding-top:8px !important;
  }

  body.radical-atlas:not(.auth-locked) .project-card,
  body.radical-atlas:not(.auth-locked) .port-card,
  body.radical-atlas:not(.auth-locked) .fishery-city-card,
  body.radical-atlas:not(.auth-locked) .fishery-structure-item {
    position:relative !important;
    overflow:hidden !important;
    padding-left:16px !important;
    border-left-color:rgba(89, 151, 144, .28) !important;
  }

  body.radical-atlas:not(.auth-locked) .project-card::before,
  body.radical-atlas:not(.auth-locked) .port-card::before,
  body.radical-atlas:not(.auth-locked) .fishery-city-card::before,
  body.radical-atlas:not(.auth-locked) .fishery-structure-item::before {
    content:"" !important;
    position:absolute !important;
    left:0 !important;
    top:12px !important;
    bottom:12px !important;
    width:3px !important;
    border-radius:0 999px 999px 0 !important;
    pointer-events:none !important;
    background:linear-gradient(180deg, rgba(91, 178, 165, .54), rgba(48, 92, 106, .44)) !important;
    box-shadow:0 0 14px rgba(80, 190, 176, .12) !important;
    opacity:.86 !important;
  }

  body.radical-atlas:not(.auth-locked) .port-card::before {
    background:linear-gradient(180deg, rgba(92, 161, 174, .50), rgba(73, 98, 116, .42)) !important;
  }

  body.radical-atlas:not(.auth-locked) .fishery-city-card::before,
  body.radical-atlas:not(.auth-locked) .fishery-structure-item::before {
    background:linear-gradient(180deg, rgba(91, 178, 165, .48), rgba(176, 148, 88, .44)) !important;
  }

  body.radical-atlas:not(.auth-locked) .project-card.active::before,
  body.radical-atlas:not(.auth-locked) .port-card.active::before,
  body.radical-atlas:not(.auth-locked) .fishery-city-card.active::before {
    width:4px !important;
    top:10px !important;
    bottom:10px !important;
    background:linear-gradient(180deg, rgba(132, 226, 207, .78), rgba(183, 154, 94, .58)) !important;
    box-shadow:0 0 18px rgba(115, 216, 199, .20) !important;
    opacity:.94 !important;
  }

  body.radical-atlas:not(.auth-locked) .location-warning {
    border-left-color:rgba(176, 148, 88, .62) !important;
    background:rgba(176, 148, 88, .10) !important;
  }
}

@media (max-width:390px) {
  body.radical-atlas.mobile-flow-scroll .map-area {
    min-height:230px !important;
    height:clamp(230px, 34svh, 330px) !important;
  }
}

/* document-output-v7: official export surface */
body.radical-atlas #modalPrint,
body.radical-atlas #modalPdf,
body.radical-atlas #modalWord,
body.radical-atlas #modalPpt,
body.radical-atlas .secondary-btn[data-fishery-output] {
  background:linear-gradient(180deg, #fbfdfc, #e9f0ee) !important;
  color:#10231f !important;
  border:1px solid rgba(24, 59, 53, .24) !important;
  box-shadow:none !important;
  text-shadow:none !important;
  filter:none !important;
  transform:none !important;
  letter-spacing:0 !important;
  font-weight:800 !important;
}

body.radical-atlas #modalPrint i,
body.radical-atlas #modalPdf i,
body.radical-atlas #modalWord i,
body.radical-atlas #modalPpt i,
body.radical-atlas .secondary-btn[data-fishery-output] i {
  color:#183b35 !important;
  filter:none !important;
  text-shadow:none !important;
}

body.radical-atlas #modalPrint:hover,
body.radical-atlas #modalPdf:hover,
body.radical-atlas #modalWord:hover,
body.radical-atlas #modalPpt:hover,
body.radical-atlas .secondary-btn[data-fishery-output]:hover {
  background:#ffffff !important;
  border-color:rgba(24, 59, 53, .38) !important;
  box-shadow:0 0 0 2px rgba(24, 59, 53, .08) !important;
}

@media print {
  @page {
    size:A4;
    margin:12mm;
  }

  html,
  body.radical-atlas {
    width:auto !important;
    min-width:0 !important;
    height:auto !important;
    min-height:0 !important;
    overflow:visible !important;
    background:#fff !important;
  }

  body.radical-atlas * {
    animation:none !important;
    transition:none !important;
    filter:none !important;
    text-shadow:none !important;
    box-shadow:none !important;
  }

  body.radical-atlas #printArea,
  body.radical-atlas #printArea * {
    color:#111f1c !important;
    font-family:Arial, "Segoe UI", sans-serif !important;
    letter-spacing:0 !important;
    -webkit-print-color-adjust:exact !important;
    print-color-adjust:exact !important;
  }

  body.radical-atlas #printArea {
    display:block !important;
    position:static !important;
    inset:auto !important;
    width:auto !important;
    max-width:none !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:visible !important;
    background:#fff !important;
  }

  body.radical-atlas #printArea .print-page {
    width:100% !important;
    max-width:186mm !important;
    margin:0 auto !important;
    padding:0 !important;
    background:#fff !important;
    border:0 !important;
    border-radius:0 !important;
  }

  body.radical-atlas #printArea .print-header {
    display:flex !important;
    align-items:center !important;
    gap:8mm !important;
    padding:0 0 4mm !important;
    margin:0 0 5mm !important;
    border-bottom:1.2pt solid #183b35 !important;
    background:#fff !important;
  }

  body.radical-atlas #printArea .print-title,
  body.radical-atlas #printArea h1 {
    margin:0 !important;
    font-size:15pt !important;
    line-height:1.22 !important;
    font-weight:800 !important;
    overflow-wrap:anywhere !important;
    word-break:break-word !important;
  }

  body.radical-atlas #printArea .print-logo {
    width:28mm !important;
    height:auto !important;
    max-height:18mm !important;
    object-fit:contain !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
  }

  body.radical-atlas #printArea .print-meta,
  body.radical-atlas #printArea .modal-grid,
  body.radical-atlas #printArea .metric-grid,
  body.radical-atlas #printArea .detail-kpi-strip,
  body.radical-atlas #printArea .detail-list,
  body.radical-atlas #printArea .detail-money-grid,
  body.radical-atlas #printArea .detail-two-col,
  body.radical-atlas #printArea .detail-main,
  body.radical-atlas #printArea .detail-side {
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:3mm !important;
    align-items:start !important;
  }

  body.radical-atlas #printArea .detail-hero,
  body.radical-atlas #printArea .detail-hero-panel,
  body.radical-atlas #printArea .detail-kpi,
  body.radical-atlas #printArea .detail-item,
  body.radical-atlas #printArea .detail-money,
  body.radical-atlas #printArea .info-block,
  body.radical-atlas #printArea details,
  body.radical-atlas #printArea .table-wrap,
  body.radical-atlas #printArea .text-box,
  body.radical-atlas #printArea .notice,
  body.radical-atlas #printArea .project-media-card {
    background:#fff !important;
    border:1px solid #cfd8d5 !important;
    border-radius:0 !important;
    padding:3.5mm !important;
    overflow:visible !important;
    break-inside:auto !important;
    page-break-inside:auto !important;
  }

  body.radical-atlas #printArea .detail-hero::before,
  body.radical-atlas #printArea .image-zoom-cue,
  body.radical-atlas #printArea .image-lightbox,
  body.radical-atlas #printArea .modal-actions,
  body.radical-atlas #printArea button {
    display:none !important;
  }

  body.radical-atlas #printArea table {
    width:100% !important;
    table-layout:fixed !important;
    border-collapse:collapse !important;
    border:1px solid #cfd8d5 !important;
    background:#fff !important;
  }

  body.radical-atlas #printArea th,
  body.radical-atlas #printArea td {
    padding:2.5mm 3mm !important;
    border:1px solid #cfd8d5 !important;
    font-size:9.7pt !important;
    line-height:1.35 !important;
    vertical-align:top !important;
    overflow-wrap:anywhere !important;
    word-break:break-word !important;
  }

  body.radical-atlas #printArea th {
    background:#f2f5f4 !important;
    color:#183b35 !important;
    font-weight:800 !important;
  }

  body.radical-atlas #printArea p,
  body.radical-atlas #printArea li,
  body.radical-atlas #printArea .detail-value,
  body.radical-atlas #printArea .print-value {
    font-size:10pt !important;
    line-height:1.42 !important;
    overflow-wrap:anywhere !important;
    word-break:break-word !important;
  }

  body.radical-atlas #printArea .section-title,
  body.radical-atlas #printArea h2,
  body.radical-atlas #printArea h3,
  body.radical-atlas #printArea summary {
    color:#183b35 !important;
    font-weight:800 !important;
    page-break-after:avoid !important;
  }

  body.radical-atlas #printArea .project-gallery,
  body.radical-atlas #printArea .port-gallery {
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:4mm !important;
  }

  body.radical-atlas #printArea .project-detail-image,
  body.radical-atlas #printArea .port-detail-image,
  body.radical-atlas #printArea img {
    display:block !important;
    width:auto !important;
    max-width:100% !important;
    height:auto !important;
    max-height:118mm !important;
    object-fit:contain !important;
    margin:0 auto 4mm !important;
    break-inside:avoid !important;
    page-break-inside:avoid !important;
  }
}
