/* Anivora AI — visual-only cyan/blue/violet lighting.
   No layout, content, state, routes, or feature changes. */

@keyframes anivoraAccentSweep {
  0% { background-position: 180% 50%; }
  100% { background-position: -80% 50%; }
}

@keyframes anivoraAccentBreathe {
  0%, 100% { opacity: .55; }
  50% { opacity: 1; }
}

@keyframes anivoraSelectedColorPulse {
  0%, 100% { filter: brightness(1) saturate(1.05); }
  50% { filter: brightness(1.17) saturate(1.3); }
}

/* Existing navigation and toolbar controls: only their decorative glow changes. */
#root .cinemaShell :is(
  .cinRail nav button,
  .cinMobileNav button,
  .cinGuestNav button,
  .cinTopActions button,
  .cinModeTabs button,
  .cinManageTabs button,
  .cinWorkspaceTabs button,
  .cinToolStrip button,
  .cinAllTools nav button
),
#root .theme-dark :is(aside nav button, .topicons button, .opsTabs button, .tabs button) {
  transition: border-color .26s ease, box-shadow .26s ease,
    color .26s ease, background-color .26s ease, filter .26s ease;
}

@media (hover: hover) {
  #root .cinemaShell :is(
    .cinRail nav button,
    .cinMobileNav button,
    .cinGuestNav button,
    .cinTopActions button,
    .cinModeTabs button,
    .cinManageTabs button,
    .cinWorkspaceTabs button,
    .cinToolStrip button,
    .cinAllTools nav button
  ):not(:disabled):hover,
  #root .theme-dark :is(aside nav button, .topicons button, .opsTabs button, .tabs button):not(:disabled):hover {
    border-color: rgba(73, 210, 255, .66) !important;
    box-shadow: 0 0 0 1px rgba(82, 198, 255, .23),
      0 0 17px rgba(45, 179, 255, .25),
      inset 0 0 14px rgba(110, 104, 255, .10) !important;
    filter: brightness(1.10);
  }
}

/* Selected menu item remains visibly illuminated after the click. */
#root .cinemaShell :is(
  .cinRail nav button.active,
  .cinGuestNav button.active,
  .cinMobileNav button.active,
  .cinModeTabs button.active,
  .cinManageTabs button.active,
  .cinWorkspaceTabs button.active,
  .cinAllTools nav button.active
),
#root .theme-dark :is(aside nav button.on, .opsTabs button.active, .tabs button.tabon) {
  border-color: rgba(94, 204, 255, .77) !important;
  box-shadow: 0 0 0 1px rgba(81, 175, 255, .25),
    0 0 22px rgba(48, 191, 255, .48),
    inset 0 0 18px rgba(129, 92, 255, .26) !important;
  animation: anivoraSelectedColorPulse 5s ease-in-out infinite;
}

/* Noticeable blue/violet selected color, including the public top navigation. */
#root .cinemaShell .cinGuestNav button.active,
#root .cinInterior .cinRail nav button.active,
#root .cinInterior :is(.cinModeTabs,.cinManageTabs,.cinWorkspaceTabs) button.active,
#root .cinInterior .cinMobileNav button.active {
  background: linear-gradient(115deg, rgba(11, 105, 158, .75), rgba(66, 52, 138, .68)) !important;
  color: #d4f4ff !important;
  text-shadow: 0 0 9px rgba(123, 216, 255, .25);
}

/* A visible palette on navigation icons, without replacing the original icons. */
#root .cinInterior .cinRail nav button:nth-child(3n + 1) svg { color: #5ed8ff; }
#root .cinInterior .cinRail nav button:nth-child(3n + 2) svg { color: #a58bff; }
#root .cinInterior .cinRail nav button:nth-child(3n) svg { color: #94b9ff; }

@media (hover: hover) {
  #root .cinemaShell .cinGuestNav button:hover,
  #root .cinInterior .cinRail nav button:not(:disabled):hover,
  #root .cinInterior :is(.cinModeTabs,.cinManageTabs,.cinWorkspaceTabs) button:not(:disabled):hover {
    background: linear-gradient(110deg, rgba(10, 105, 157, .55), rgba(71, 46, 142, .42)) !important;
    color: #e0f6ff !important;
    box-shadow: 0 0 0 1px rgba(89, 205, 255, .51),
      0 0 22px rgba(68, 171, 255, .40) !important;
  }
}

/* Thin moving color highlights on interior and administration surfaces. */
#root .cinInterior :is(
  .cinPanel,
  .cinService,
  .cinPriceCard,
  .cinInboxItem,
  .opsBox,
  .cardbox,
  .sectionpanel
) {
  position: relative;
  transition: border-color .3s ease, box-shadow .3s ease;
  border-color: rgba(77, 167, 235, .52) !important;
  box-shadow: 0 0 0 1px rgba(67, 157, 245, .19),
    0 0 24px rgba(42, 140, 226, .16),
    inset 0 1px 0 rgba(151, 119, 255, .14) !important;
}

#root .cinInterior :is(
  .cinPanel,
  .cinService,
  .cinPriceCard,
  .cinInboxItem,
  .opsBox,
  .cardbox,
  .sectionpanel
)::after {
  content: '';
  position: absolute;
  top: 0;
  inset-inline: 10%;
  height: 2px;
  background: linear-gradient(90deg,
    transparent 0%, #37bdff 30%, #9b83ff 52%, #55d8ff 72%, transparent 100%);
  background-size: 225% 100%;
  animation: anivoraAccentSweep 10s linear infinite,
    anivoraAccentBreathe 7s ease-in-out infinite;
  pointer-events: none;
  z-index: 1;
}

@media (hover: hover) {
  #root .cinInterior :is(
    .cinPanel,
    .cinService,
    .cinPriceCard,
    .cinInboxItem,
    .cinMediaCard,
    .cinTableWrap,
    .opsBox,
    .cardbox,
    .sectionpanel
  ):hover {
    border-color: rgba(88, 198, 255, .46) !important;
    box-shadow: 0 12px 30px rgba(0, 0, 0, .27),
      0 0 22px rgba(60, 176, 255, .14),
      0 0 12px rgba(150, 107, 255, .09) !important;
  }
}

/* Show keyboard focus without altering the controls' actual behavior. */
#root .cinemaShell :is(button, a):focus-visible,
#root .theme-dark :is(button, a):focus-visible {
  outline-color: #7cd9ff;
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  #root .cinInterior :is(
    .cinPanel, .cinService, .cinPriceCard, .cinInboxItem,
    .opsBox, .cardbox, .sectionpanel
  )::after { animation: none !important; opacity: .4; }

  #root .cinemaShell :is(
    .cinRail nav button, .cinMobileNav button, .cinGuestNav button,
    .cinTopActions button, .cinModeTabs button, .cinManageTabs button,
    .cinWorkspaceTabs button, .cinToolStrip button, .cinAllTools nav button
  ),
  #root .theme-dark :is(aside nav button, .topicons button, .opsTabs button, .tabs button) {
    transition: none !important;
  }

  #root .cinemaShell :is(.cinGuestNav button.active, .cinRail nav button.active,
    .cinMobileNav button.active, .cinModeTabs button.active,
    .cinManageTabs button.active, .cinWorkspaceTabs button.active) {
    animation: none !important;
  }
}
