/* Override the legacy unconditional cursor hiding on every page. */
html body, html body * { cursor: auto !important; }
html body :is(a[href], button, summary, [role="button"]) { cursor: pointer !important; }
html body :is(input, textarea) { cursor: text !important; }
html #cursor-layer { visibility: hidden !important; pointer-events: none !important; }
html body :is(.custom-cursor-dot, .custom-cursor-ring) { display: none !important; }
@media (hover: hover) and (pointer: fine) and (min-width: 861px) and (prefers-reduced-motion: no-preference) {
  html[data-shenox-cursor="active"] body, html[data-shenox-cursor="active"] body * { cursor: none !important; }
  html[data-shenox-cursor="active"] #cursor-layer { visibility: visible !important; }
}
.shenox-loader {
  position: fixed;
  inset: 0;
  z-index: 2147483646;
  display: grid;
  place-items: center;
  background: #030816;
  color: #e5faff;
  pointer-events: none;
  animation: shenox-loader-exit .25s ease 2.2s forwards;
  transition: opacity .2s ease, visibility .2s ease;
}
.shenox-loader[data-state="complete"] { opacity: 0; visibility: hidden; }
.shenox-loader-content { display: grid; justify-items: center; gap: 14px; }
.shenox-loader-mark {
  width: 38px;
  height: 38px;
  border: 1px solid #0ea5e944;
  border-top-color: #00d2ff;
  border-radius: 50%;
  animation: shenox-loader-spin .8s linear infinite;
}
.shenox-loader-name { font: 700 25px/1.3 Orbitron, sans-serif; letter-spacing: .2em; }
.shenox-loader-caption { color: #9baec5; font: 12px/1.5 Inter, sans-serif; letter-spacing: .08em; }
.shenox-loader-track { width: 160px; height: 2px; overflow: hidden; background: #0ea5e922; }
.shenox-loader-track span { display: block; height: 100%; width: 40%; background: #00d2ff; animation: shenox-loader-progress 1s ease-in-out infinite alternate; }
@keyframes shenox-loader-exit { to { opacity: 0; visibility: hidden; } }
@keyframes shenox-loader-spin { to { transform: rotate(360deg); } }
@keyframes shenox-loader-progress { from { transform: translateX(-100%); } to { transform: translateX(350%); } }
@media (prefers-reduced-motion: reduce) {
  .shenox-loader-mark, .shenox-loader-track span { animation: none; }
  .shenox-loader { transition: none; animation-duration: .001s; }
}
