body { background-color: #030303; color: #e0e0e0; overflow-x: hidden; }
::-webkit-scrollbar { width: 5px; }
::-webkit-scrollbar-track { background: #030303; }
::-webkit-scrollbar-thumb { background: #333; }
::-webkit-scrollbar-thumb:hover { background: #00ffa3; }
.text-stroke { -webkit-text-stroke: 1px rgba(255, 255, 255, 0.25); color: transparent; }
.text-stroke-hover:hover { -webkit-text-stroke: 1px #00ffa3; color: rgba(0, 255, 163, 0.1); }
.grid-bg { background-size: 50px 50px; }
.hover-card { transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1); }
.hover-card:hover { background: rgba(255, 255, 255, 0.03); border-color: #00ffa3; }
.preloader { position: fixed; inset: 0; background: #030303; z-index: 9999; display: flex; align-items: center; justify-content: center; }
.scan-line {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 5px;
  background: linear-gradient(to right, transparent, #00ffa3, transparent);
  opacity: 0.5;
  box-shadow: 0 0 15px #00ffa3;
  animation: scan 4s linear infinite;
}
@keyframes scan {
  0% { top: 0; }
  100% { top: 100%; }
}
.tech-separator {
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.1), transparent);
  position: relative;
  margin: 0 auto;
}
.tech-separator::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 50px;
  height: 3px;
  background: #00ffa3;
  box-shadow: 0 0 10px rgba(0, 255, 163, 0.5);
}
.singularity-wrapper {
  perspective: 800px;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0; left: 0;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.tunnel-ring {
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(0, 255, 163, 0.15);
  box-shadow: 0 0 20px rgba(0, 255, 163, 0.05);
  animation: tunnelMove 6s linear infinite;
  opacity: 0;
}
.tunnel-ring:nth-child(even) {
  border-style: dashed;
  border-width: 1px;
  border-color: rgba(255, 255, 255, 0.1);
}
@keyframes tunnelMove {
  0% { transform: translateZ(-500px) scale(0); opacity: 0; }
  20% { opacity: 1; }
  100% { transform: translateZ(800px) scale(2); opacity: 0; }
}
.tunnel-ring:nth-child(1) { animation-delay: 0s; }
.tunnel-ring:nth-child(2) { animation-delay: 0.5s; }
.tunnel-ring:nth-child(3) { animation-delay: 1s; }
.tunnel-ring:nth-child(4) { animation-delay: 1.5s; }
.tunnel-ring:nth-child(5) { animation-delay: 2s; }
.tunnel-ring:nth-child(6) { animation-delay: 2.5s; }
.tunnel-ring:nth-child(7) { animation-delay: 3s; }
.tunnel-ring:nth-child(8) { animation-delay: 3.5s; }
.tunnel-ring:nth-child(9) { animation-delay: 4s; }
.tunnel-ring:nth-child(10) { animation-delay: 4.5s; }
.tunnel-ring:nth-child(11) { animation-delay: 5s; }
.tunnel-ring:nth-child(12) { animation-delay: 5.5s; }
@keyframes cms-shimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}
.cms-loading {
  position: relative;
  color: transparent !important;
  background-image: none !important;
  background-color: transparent !important;
  background: linear-gradient(90deg, rgba(128, 128, 128, 0.1) 25%, rgba(128, 128, 128, 0.2) 50%, rgba(128, 128, 128, 0.1) 75%) !important;
  background-size: 200% 100% !important;
  animation: cms-shimmer 1.5s infinite !important;
  border-radius: 12px;
  min-height: 1em;
  min-width: 3em;
  overflow: hidden;
}
.cms-loading * { visibility: hidden !important; }
.cms-loading img { opacity: 0 !important; }
html, body { opacity: 1 !important; visibility: visible !important; }
.page-loader, .site-loader, [class*='loading-screen'], [id*='loading-screen'] { display: none !important; }
.pin-spacer { height: auto !important; min-height: 0 !important; padding: 0 !important; max-height: none !important; }
.pin-spacer > * { position: relative !important; inset: auto !important; top: auto !important; left: auto !important; }
