.loading_wrap {
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: var(--ld-bg-start, #ffffff);
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99999;
}

html.dark-theme .loading_wrap {
  background: var(--ld-bg-start, #141414);
}

:root {
  --ld-bg-start: #ffffff;
  --ld-bg-end: #f7faf5;
}

html.dark-theme {
  --ld-bg-start: #141414;
  --ld-bg-end: #1c1c1c;
}

.system-loader-container {
  width: 100%;
  max-width: 760px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.tech-loader-svg {
  width: 100%;
  height: auto;
}

/* --- LOGIC ANIMATIONS --- */

/* Circuit Line Streaming Data Effects */
.pipe-flow {
  stroke-dasharray: 12, 6;
  animation: streamingData 1.5s linear infinite;
}
@keyframes streamingData {
  to {
    stroke-dashoffset: -36;
  }
}

/* Mechanical/Robotic Arm Action */
.robot-arm {
  transform-origin: 20px 0px;
  animation: mechArmMove 3s ease-in-out infinite alternate;
}
@keyframes mechArmMove {
  0% { transform: translate(130px, 30px) rotate(0deg); }
  50% { transform: translate(130px, 30px) rotate(-8deg); }
  100% { transform: translate(130px, 30px) rotate(5deg); }
}

/* Logistics Drone/Delivery System Simulation */
.logistic-drone {
  animation: droneTransit 4s ease-in-out infinite alternate;
}
@keyframes droneTransit {
  0% { transform: translate(15px, 0px); }
  100% { transform: translate(110px, 0px); }
}

/* Component Float Modulations (Gives an advanced ecosystem dimension) */
.floating-item-1 { animation: softFloatY 4s ease-in-out infinite alternate; }
.floating-item-2 { animation: softFloatY 5s ease-in-out infinite 0.5s alternate; }
.floating-item-3 { animation: softFloatY 4.5s ease-in-out infinite 0.2s alternate; }

@keyframes softFloatY {
  0% { transform: translateY(0px) translate(var(--tw-translate-x, 0), var(--tw-translate-y, 0)); }
  100% { transform: translateY(-6px) translate(var(--tw-translate-x, 0), var(--tw-translate-y, 0)); }
}

/* Module UI Graph Bars Dynamic Growth Scaling */
.bar-grow-1, .bar-grow-2, .bar-grow-3, .bar-grow-4 {
  transform-origin: bottom;
  transform-box: fill-box;
  animation: barPulse 2s ease-in-out infinite alternate;
}
.bar-grow-1 { animation-delay: 0.1s; }
.bar-grow-2 { animation-delay: 0.4s; }
.bar-grow-3 { animation-delay: 0.2s; }
.bar-grow-4 { animation-delay: 0.6s; }

@keyframes barPulse {
  0% { transform: scaleY(0.4); }
  100% { transform: scaleY(1); }
}

/* Core Rotation Speeds */
.rotate-clockwise {
  transform-origin: center;
  transform-box: fill-box;
  animation: spinClockwise 12s linear infinite;
}
.rotate-counter {
  transform-origin: center;
  transform-box: fill-box;
  animation: spinCounter 7s linear infinite;
}
@keyframes spinClockwise { to { transform: rotate(360deg); } }
@keyframes spinCounter { to { transform: rotate(-360deg); } }

/* System Pulse Indicators */
.pulse-fast { animation: blinkGlow 0.8s ease-in-out infinite alternate; }
.pulse-slow { animation: blinkGlow 1.8s ease-in-out infinite alternate; }
@keyframes blinkGlow {
  0% { opacity: 0.4; }
  100% { opacity: 1; }
}

/* Modern Minimalist Typography Feedback Details */
.system-status-text {
  text-align: center;
  margin-top: 15px;
  font-family: 'Courier New', Courier, monospace;
  letter-spacing: 2px;
  color: #285e50;
  font-weight: bold;
  font-size: 13px;
}
.system-status-text .status-sub {
  font-family: sans-serif;
  letter-spacing: 0.5px;
  color: #7a9d75;
  font-size: 11px;
  font-weight: normal;
  margin-top: 5px;
}
