/* Genesis Entities — visual glass refinement only.
   Scoped to the Entities surface through the context rail marker. */

.genesis-shell:has(.module-context-entities) {
  --entities-glass-bg: rgba(35, 48, 61, 0.64);
  --entities-glass-border: rgba(197, 210, 224, 0.16);
  --entities-glass-shadow: 0 24px 66px rgba(5, 9, 14, 0.24), 0 1px 0 rgba(255, 255, 255, 0.035) inset;
  --entities-card-bg: rgba(10, 18, 27, 0.16);
  --entities-card-border: rgba(197, 210, 224, 0.11);
  --entities-card-shadow: 0 16px 42px rgba(5, 9, 14, 0.15), 0 1px 0 rgba(255, 255, 255, 0.025) inset;
  --entities-haze-a: rgba(78, 120, 148, 0.18);
  --entities-haze-b: rgba(139, 161, 184, 0.12);
}

.genesis-shell[data-genesis-theme="light"]:has(.module-context-entities) {
  --entities-glass-bg: rgba(235, 240, 244, 0.66);
  --entities-glass-border: rgba(67, 84, 103, 0.15);
  --entities-glass-shadow: 0 24px 62px rgba(62, 78, 96, 0.18), 0 1px 0 rgba(255, 255, 255, 0.76) inset;
  --entities-card-bg: rgba(246, 249, 251, 0.50);
  --entities-card-border: rgba(67, 84, 103, 0.11);
  --entities-card-shadow: 0 16px 40px rgba(62, 78, 96, 0.13), 0 1px 0 rgba(255, 255, 255, 0.80) inset;
  --entities-haze-a: rgba(124, 153, 179, 0.24);
  --entities-haze-b: rgba(255, 255, 255, 0.58);
}

.genesis-shell:has(.module-context-entities) main {
  position: relative;
  isolation: isolate;
}

.genesis-shell:has(.module-context-entities) main::before,
.genesis-shell:has(.module-context-entities) main::after {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
  border-radius: 999px;
  filter: blur(52px);
  opacity: .95;
}

.genesis-shell:has(.module-context-entities) main::before {
  width: 72%;
  height: 36%;
  left: 7%;
  top: 21%;
  background: radial-gradient(ellipse at center, var(--entities-haze-a) 0%, transparent 72%);
}

.genesis-shell:has(.module-context-entities) main::after {
  width: 58%;
  height: 42%;
  right: 2%;
  top: 46%;
  background: radial-gradient(ellipse at center, var(--entities-haze-b) 0%, transparent 74%);
}

/* The CoreSurface owns vertical scrolling for Entities. Keep scrolling functional
   but do not render a visible scrollbar inside the central column. */
.genesis-shell .entities-page-scroll {
  scrollbar-width: none !important;
  -ms-overflow-style: none;
}
.genesis-shell .entities-page-scroll::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}

.genesis-shell:has(.module-context-entities) main .genesis-glass {
  background: var(--entities-glass-bg) !important;
  border-color: var(--entities-glass-border) !important;
  box-shadow: var(--entities-glass-shadow) !important;
  backdrop-filter: blur(26px) saturate(1.08) !important;
  -webkit-backdrop-filter: blur(26px) saturate(1.08) !important;
  position: relative;
}

.genesis-shell:has(.module-context-entities) main .genesis-glass::before {
  content: "";
  position: absolute;
  inset: -18px;
  z-index: -1;
  pointer-events: none;
  border-radius: inherit;
  background: radial-gradient(ellipse at center, var(--entities-haze-a) 0%, transparent 72%);
  filter: blur(22px);
  opacity: .42;
}

/* EntitiesView itself must not become an inner scroll container. */
.genesis-shell:has(.module-context-entities) main .space-y-5.overflow-x-hidden {
  overflow: visible !important;
  overflow-x: visible !important;
  overflow-y: visible !important;
  max-height: none !important;
}

/* Search panel: keep its haze/shadow free to paint outside. Spacing is supplied
   structurally by CoreSurface. */
.genesis-shell:has(.module-context-entities) main > div > .genesis-glass:first-of-type {
  overflow: visible !important;
  max-height: none !important;
}

/* The search results wrapper is only a React grouping element now. */
.genesis-shell:has(.module-context-entities) main .genesis-glass:has(> .grid.gap-3.p-3) {
  display: contents !important;
  overflow: visible !important;
}

.genesis-shell:has(.module-context-entities) main .genesis-glass:has(> .grid.gap-3.p-3)::before {
  content: none !important;
}

.genesis-shell:has(.module-context-entities) main .genesis-glass:has(> .grid.gap-3.p-3) > div:first-child {
  margin: 0 2px;
  padding: 0 2px 8px;
  border: 0 !important;
  background: transparent !important;
}

.genesis-shell:has(.module-context-entities) main .genesis-glass > .grid.gap-3.p-3 {
  position: relative;
  z-index: 1;
  overflow: visible !important;
  padding: 10px 0 32px !important;
  gap: 18px !important;
}

.genesis-shell:has(.module-context-entities) main .genesis-glass > .grid.gap-3.p-3 > button {
  position: relative;
  z-index: 1;
  background: var(--entities-card-bg) !important;
  border-color: var(--entities-card-border) !important;
  box-shadow: var(--entities-card-shadow) !important;
  backdrop-filter: blur(20px) saturate(1.05);
  -webkit-backdrop-filter: blur(20px) saturate(1.05);
}

@media (hover: hover) and (pointer: fine) {
  .genesis-shell:has(.module-context-entities) main .genesis-glass > .grid.gap-3.p-3 > button:hover {
    z-index: 2;
    transform: translateY(-2px);
    box-shadow: 0 22px 50px rgba(5, 9, 14, 0.20), 0 1px 0 rgba(255, 255, 255, 0.05) inset !important;
  }

  .genesis-shell[data-genesis-theme="light"]:has(.module-context-entities) main .genesis-glass > .grid.gap-3.p-3 > button:hover {
    box-shadow: 0 22px 46px rgba(62, 78, 96, 0.17), 0 1px 0 rgba(255, 255, 255, 0.86) inset !important;
  }
}

.genesis-shell:has(.module-context-entities) .module-context-entities .genesis-context-card {
  background: var(--entities-glass-bg) !important;
  border-color: var(--entities-glass-border) !important;
  box-shadow: var(--entities-card-shadow) !important;
  backdrop-filter: blur(22px) saturate(1.06) !important;
  -webkit-backdrop-filter: blur(22px) saturate(1.06) !important;
}

.genesis-shell:has(.module-context-entities) main .genesis-glass input:not([type="checkbox"]):not([type="radio"]),
.genesis-shell:has(.module-context-entities) main .genesis-glass select,
.genesis-shell:has(.module-context-entities) main .genesis-glass textarea {
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.025) inset, 0 10px 26px rgba(5, 9, 14, 0.07);
}

.genesis-shell[data-genesis-theme="light"]:has(.module-context-entities) main .genesis-glass input:not([type="checkbox"]):not([type="radio"]),
.genesis-shell[data-genesis-theme="light"]:has(.module-context-entities) main .genesis-glass select,
.genesis-shell[data-genesis-theme="light"]:has(.module-context-entities) main .genesis-glass textarea {
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.84) inset, 0 10px 24px rgba(62, 78, 96, 0.07);
}

@media (max-width: 767px) {
  .genesis-shell:has(.module-context-entities) main::before,
  .genesis-shell:has(.module-context-entities) main::after {
    filter: blur(36px);
    opacity: .72;
  }

  .genesis-shell:has(.module-context-entities) main .genesis-glass {
    box-shadow: 0 14px 34px rgba(5, 9, 14, 0.15), 0 1px 0 rgba(255, 255, 255, 0.025) inset !important;
  }

  .genesis-shell[data-genesis-theme="light"]:has(.module-context-entities) main .genesis-glass {
    box-shadow: 0 14px 32px rgba(62, 78, 96, 0.12), 0 1px 0 rgba(255, 255, 255, 0.72) inset !important;
  }
}
