/* RÊVERIE native stability gate
   The Neo-Shibuya sketchbook already owns its camera, places, annotations and
   sticky journey. Legacy global story passes must not hide or resize that UI. */

.reverie-entry-minimal:not(:has([data-reverie-experience="portal"])) .eq-scroll-story,
.reverie-entry-minimal:not(:has([data-reverie-experience="portal"])) .pass21-place-actions,
.reverie-entry-minimal:not(:has([data-reverie-experience="portal"])) .pass23-place-actions,
.reverie-entry-minimal:not(:has([data-reverie-experience="portal"])) .pass24-place-actions,
.reverie-entry-minimal:not(:has([data-reverie-experience="portal"])) .reverie-kaguya-enter-pass23,
.reverie-entry-minimal:not(:has([data-reverie-experience="portal"])) .reverie-kaguya-enter-pass24 {
  display: none !important;
}

.reverie-entry-minimal:not(:has([data-reverie-experience="portal"])) .reverie-sketchbook,
.reverie-entry-minimal:not(:has([data-reverie-experience="portal"])) .reverie-sketchbook__journey {
  overflow: visible !important;
}

.reverie-entry-minimal:not(:has([data-reverie-experience="portal"])) .reverie-sketchbook__journey {
  position: relative !important;
  height: 250svh !important;
  min-height: 96rem !important;
}

.reverie-entry-minimal:not(:has([data-reverie-experience="portal"])) .reverie-sketchbook__stage {
  position: sticky !important;
  top: .65rem !important;
  height: min(94svh, 54rem) !important;
  min-height: 42rem !important;
  max-height: none !important;
  overflow: hidden !important;
  isolation: isolate !important;
}

/* Restore the native interface hidden by Scroll Story Pass 16/18. */
.reverie-entry-minimal:not(:has([data-reverie-experience="portal"])) .reverie-sketchbook__controls {
  display: flex !important;
  pointer-events: auto !important;
}

.reverie-entry-minimal:not(:has([data-reverie-experience="portal"])) .reverie-sketchbook__places {
  display: flex !important;
  pointer-events: auto !important;
}

.reverie-entry-minimal:not(:has([data-reverie-experience="portal"])) .reverie-sketchbook__perception {
  display: block !important;
  pointer-events: auto !important;
}

.reverie-entry-minimal:not(:has([data-reverie-experience="portal"])) .reverie-sketchbook__annotations {
  display: grid !important;
  pointer-events: auto !important;
}

.reverie-entry-minimal:not(:has([data-reverie-experience="portal"])) [data-reverie-overlays-toggle] {
  display: grid !important;
  pointer-events: auto !important;
}

.reverie-entry-minimal:not(:has([data-reverie-experience="portal"])) .reverie-sketchbook__title {
  opacity: 1 !important;
  pointer-events: none !important;
  transform: none !important;
}

.reverie-entry-minimal:not(:has([data-reverie-experience="portal"])) .reverie-sketchbook__field {
  opacity: 1 !important;
}

/* Premium visual integration: the interface should read as part of the city,
   not as opaque cards laid on top of Neo-Shibuya. */
.reverie-entry-minimal:not(:has([data-reverie-experience="portal"])) .reverie-sketchbook__places {
  gap: .35rem !important;
  padding-right: min(22rem, 41vw) !important;
}
.reverie-entry-minimal:not(:has([data-reverie-experience="portal"])) .reverie-sketchbook__places button {
  min-height: 2.55rem !important;
  padding: .38rem .58rem !important;
  background: rgba(4,14,26,.54) !important;
  border-color: rgba(187,221,232,.27) !important;
  box-shadow: 0 .45rem 1.25rem rgba(0,0,0,.13) !important;
  backdrop-filter: blur(13px) saturate(1.05) !important;
}
.reverie-entry-minimal:not(:has([data-reverie-experience="portal"])) .reverie-sketchbook__places button>span {
  font-size: .72rem !important;
}
.reverie-entry-minimal:not(:has([data-reverie-experience="portal"])) .reverie-sketchbook__places button>small {
  font-size: .63rem !important;
}
.reverie-entry-minimal:not(:has([data-reverie-experience="portal"])) .reverie-sketchbook__controls button {
  background: rgba(2,9,18,.54) !important;
  border-color: rgba(183,220,233,.28) !important;
  backdrop-filter: blur(14px) saturate(1.05) !important;
}
.reverie-entry-minimal:not(:has([data-reverie-experience="portal"])) .reverie-sketchbook__title {
  max-width: 22rem !important;
  padding: .72rem .82rem !important;
  background: linear-gradient(110deg, rgba(2,8,19,.58), rgba(2,8,19,.2) 82%, transparent) !important;
  border-color: rgba(182,213,227,.18) !important;
  backdrop-filter: blur(13px) saturate(1.04) !important;
}
.reverie-entry-minimal:not(:has([data-reverie-experience="portal"])) .reverie-sketchbook__title h1 {
  font-size: clamp(2.25rem, 4.3vw, 4rem) !important;
}
.reverie-entry-minimal:not(:has([data-reverie-experience="portal"])) .reverie-sketchbook__perception {
  max-width: 21rem !important;
  padding: .68rem .78rem !important;
  background: linear-gradient(90deg, rgba(2,8,19,.5), rgba(2,8,19,.18)) !important;
  backdrop-filter: blur(13px) saturate(1.04) !important;
}
.reverie-entry-minimal:not(:has([data-reverie-experience="portal"])) .reverie-sketchbook__annotations {
  gap: .42rem !important;
}
.reverie-entry-minimal:not(:has([data-reverie-experience="portal"])) .reverie-sketchbook__annotations a,
.reverie-entry-minimal:not(:has([data-reverie-experience="portal"])) .reverie-sketchbook__annotations button {
  min-height: 5.05rem !important;
  padding: .55rem .62rem !important;
  background: rgba(2,9,18,.54) !important;
  border-color: rgba(180,219,230,.26) !important;
  backdrop-filter: blur(13px) saturate(1.05) !important;
}

/* Keep global navigation safely above the scene without putting content panels
   between the visitor and Neo-Shibuya. */
body:has(.reverie-entry-minimal:not(:has([data-reverie-experience="portal"]))) .nav-shell { z-index: 12000 !important; }
body:has(.reverie-entry-minimal:not(:has([data-reverie-experience="portal"]))) .nav-drawer { z-index: 12100 !important; }
body:has(.reverie-entry-minimal:not(:has([data-reverie-experience="portal"]))) .nav-drawer-backdrop { z-index: 12050 !important; }

@media (max-width: 700px) {
  .reverie-entry-minimal:not(:has([data-reverie-experience="portal"])) .reverie-sketchbook__journey {
    height: 235svh !important;
    min-height: 92rem !important;
  }

  .reverie-entry-minimal:not(:has([data-reverie-experience="portal"])) .reverie-sketchbook__stage {
    top: .35rem !important;
    height: calc(100svh - .7rem) !important;
    min-height: 42rem !important;
  }

  .reverie-entry-minimal:not(:has([data-reverie-experience="portal"])) .reverie-sketchbook__controls,
  .reverie-entry-minimal:not(:has([data-reverie-experience="portal"])) .reverie-sketchbook__places {
    max-width: calc(100vw - 1rem) !important;
  }

  .reverie-entry-minimal:not(:has([data-reverie-experience="portal"])) .reverie-sketchbook__places {
    padding-right: 0 !important;
  }
  .reverie-entry-minimal:not(:has([data-reverie-experience="portal"])) .reverie-sketchbook__title {
    max-width: 14.5rem !important;
    padding: .58rem .64rem !important;
  }
  .reverie-entry-minimal:not(:has([data-reverie-experience="portal"])) .reverie-sketchbook__title h1 {
    font-size: clamp(2.1rem, 11.5vw, 3.35rem) !important;
  }
  .reverie-entry-minimal:not(:has([data-reverie-experience="portal"])) .reverie-sketchbook__perception {
    max-width: min(68vw, 18rem) !important;
  }
  .reverie-entry-minimal:not(:has([data-reverie-experience="portal"])) .reverie-sketchbook__annotations a,
  .reverie-entry-minimal:not(:has([data-reverie-experience="portal"])) .reverie-sketchbook__annotations button {
    min-height: 5.4rem !important;
  }
}


/* Canonical progressive-disclosure authority.
   Legacy stability rules may keep native controls structurally mounted, but
   they must not make secondary RÊVERIE overlays visible before the visitor asks. */
.reverie-entry-minimal:not(:has([data-reverie-experience="portal"])) .reverie-sketchbook[data-reverie-overlays="hidden"] .reverie-sketchbook__places,
.reverie-entry-minimal:not(:has([data-reverie-experience="portal"])) .reverie-sketchbook[data-reverie-overlays="hidden"] .reverie-sketchbook__perception,
.reverie-entry-minimal:not(:has([data-reverie-experience="portal"])) .reverie-sketchbook[data-reverie-overlays="hidden"] .reverie-sketchbook__annotations {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(.5rem) !important;
}
.reverie-entry-minimal:not(:has([data-reverie-experience="portal"])) .reverie-sketchbook[data-reverie-overlays="hidden"] .reverie-sketchbook__places *,
.reverie-entry-minimal:not(:has([data-reverie-experience="portal"])) .reverie-sketchbook[data-reverie-overlays="hidden"] .reverie-sketchbook__annotations * {
  pointer-events: none !important;
}

