/* Xiters shell layout — background grid lives in grid-background.css */
html,
html.xa-shell,
body.px-dash,
body.xa-shell {
  background: #000000 !important;
}

.aurora-content,
.xa-page-content {
  position: relative;
  z-index: 1;
}

/* Soft-nav content stage — no will-change (promotes layers that flicker with WebGL) */
#main-content {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

html.xa-nav-busy,
html.xa-nav-busy body {
  cursor: progress;
}

/* Block only the stage — never restyle sidebar position (fixed must stay fixed) */
html.xa-nav-busy #main-content {
  pointer-events: none;
}

html.xa-nav-busy .xa-side,
html.xa-nav-busy .xa-dock {
  pointer-events: auto;
  z-index: 10060;
}

/* Tab / soft-nav — soft fade + lift (no black void / no layout shove) */
@keyframes xa-page-out {
  from {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
  to {
    opacity: 0.35;
    transform: translate3d(0, 6px, 0);
  }
}

@keyframes xa-page-in {
  from {
    opacity: 0;
    transform: translate3d(0, 10px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

#main-content.xa-page-exit {
  animation: xa-page-out 0.16s cubic-bezier(0.4, 0, 1, 1) forwards;
  will-change: opacity, transform;
}

#main-content.xa-page-enter {
  animation: xa-page-in 0.34s cubic-bezier(0.16, 1, 0.3, 1) both;
  will-change: opacity, transform;
}

#main-content.xa-page-ready {
  opacity: 1;
  transform: none;
  will-change: auto;
}

#main-content.xa-page-enter .xa-deck-main > * {
  animation: none;
}

/* Sidebar active pill feel */
.xa-side-link.is-active {
  transition:
    background 0.28s cubic-bezier(0.16, 1, 0.3, 1),
    color 0.28s cubic-bezier(0.16, 1, 0.3, 1),
    border-color 0.28s cubic-bezier(0.16, 1, 0.3, 1),
    box-shadow 0.28s cubic-bezier(0.16, 1, 0.3, 1);
}
.xa-side-link.is-active::before {
  transition: height 0.32s cubic-bezier(0.16, 1, 0.3, 1);
}

/* MessageLoading — bouncing dots only */
.xa-msg-loading {
  display: block;
  width: 2.75rem;
  height: 2.75rem;
  color: #fff;
}

.xa-msg-loading--sm {
  width: 1.5rem;
  height: 1.5rem;
}

@media (prefers-reduced-motion: reduce) {
  .xa-msg-loading circle animate {
    display: none;
  }
  .xa-msg-loading circle {
    opacity: 0.7;
  }
  #main-content,
  #main-content.xa-page-exit,
  #main-content.xa-page-enter,
  #main-content.xa-page-enter .xa-deck-main > * {
    animation: none !important;
    transition: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}

.xa-boot-loader {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
  align-items: center;
  justify-content: center;
  background: transparent;
  pointer-events: all;
  transition: opacity 0.22s cubic-bezier(0.16, 1, 0.3, 1);
}

.xa-boot-loader.is-on {
  display: flex;
}

body.xa-login {
  margin: 0;
  min-height: 100vh;
  min-height: 100dvh;
  background: #000000;
  overflow-x: hidden;
}

body.px-dash {
  background: transparent !important;
}

html.xa-shell {
  background: #000000;
}

/* Lenis — match Blaze Website Final scroll feel */
html.lenis,
html.lenis body {
  height: auto;
}

html.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}

html {
  scroll-behavior: auto;
  overflow-x: hidden;
}
