/* ===== NEXACORE ANIMATED PROJECT ICONS V6.4.4 START ===== */

.project-card .picon.nx-project-icon,
.nx-workspace-icon{
  --ico:#29d9ff;
  --ico2:#7a5cff;
  position:relative;
  width:48px!important;
  height:48px!important;
  display:grid!important;
  place-items:center!important;
  overflow:visible;
  border-radius:14px!important;
  background:
    radial-gradient(circle at 30% 20%,color-mix(in srgb,var(--ico) 17%,transparent),transparent 45%),
    linear-gradient(145deg,#0b2b3b,#071824)!important;
  border:1px solid color-mix(in srgb,var(--ico) 40%,#173b4a)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.045),
    0 9px 23px rgba(0,0,0,.22),
    0 0 0 1px rgba(0,209,255,.025);
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease!important;
  isolation:isolate;
}

.project-card .picon.nx-project-icon:before,
.nx-workspace-icon:before{
  content:"";
  position:absolute;
  inset:-1px;
  z-index:-1;
  border-radius:inherit;
  background:conic-gradient(from 220deg,transparent,var(--ico),transparent 32%,var(--ico2),transparent 64%);
  opacity:.13;
  filter:blur(8px);
  animation:nxIconAura 5.5s linear infinite;
}

.nx-project-icon svg,
.nx-workspace-icon svg{
  width:30px;
  height:30px;
  overflow:visible;
  fill:none;
  stroke:var(--ico);
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:drop-shadow(0 0 5px color-mix(in srgb,var(--ico) 27%,transparent));
}

.project-card:hover .nx-project-icon{
  transform:translateY(-2px) scale(1.045);
  border-color:color-mix(in srgb,var(--ico) 72%,white 5%)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    0 12px 26px rgba(0,0,0,.28),
    0 0 22px color-mix(in srgb,var(--ico) 12%,transparent);
}

/* project-specific accent pairs */
.nx-icon-warehouse{--ico:#20d9ff;--ico2:#00ffc6}
.nx-icon-field{--ico:#27e6c2;--ico2:#00a9ff}
.nx-icon-gigpilot{--ico:#4bdfff;--ico2:#7a5cff}
.nx-icon-mixer{--ico:#00e5ff;--ico2:#d565ff}
.nx-icon-viralos{--ico:#c66cff;--ico2:#00d1ff}
.nx-icon-live{--ico:#ff4e88;--ico2:#7a5cff}
.nx-icon-ecommerce{--ico:#00ffc6;--ico2:#00a9ff}
.nx-icon-fleet{--ico:#4fd4ff;--ico2:#00ffc6}
.nx-icon-clock{--ico:#70f2ca;--ico2:#47b7ff}
.nx-icon-workforce{--ico:#81a7ff;--ico2:#c36bff}
.nx-icon-tiktok{--ico:#20f0e7;--ico2:#ff3c7e}

/* WAREHOUSE */
.nx-icon-warehouse .nx-ico-grid rect{fill:color-mix(in srgb,var(--ico) 7%,transparent)}
.nx-icon-warehouse .nx-scan{
  stroke:var(--ico2);stroke-width:2.2;
  animation:nxScan 2.2s cubic-bezier(.45,0,.55,1) infinite;
}
.nx-icon-warehouse .nx-spark{fill:var(--ico2);stroke:none;animation:nxSpark 1.3s ease-in-out infinite}

/* FIELD */
.nx-icon-field .nx-route{stroke-dasharray:5 5;animation:nxDash 3.2s linear infinite}
.nx-icon-field .nx-node{fill:#071824;animation:nxNode 2.6s ease-in-out infinite}
.nx-icon-field .n2{animation-delay:.45s}.nx-icon-field .n3{animation-delay:.9s}
.nx-icon-field .nx-pin{fill:color-mix(in srgb,var(--ico2) 9%,transparent);stroke:var(--ico2);animation:nxPin 2.8s ease-in-out infinite}
.nx-icon-field .nx-pin-core{fill:var(--ico2);stroke:none}

/* GIGPILOT */
.nx-icon-gigpilot .nx-orbit{stroke:color-mix(in srgb,var(--ico) 45%,transparent);stroke-dasharray:4 5}
.nx-icon-gigpilot .nx-orbit-dot{fill:var(--ico2);stroke:none;transform-origin:24px 24px;animation:nxOrbit 4.2s linear infinite}
.nx-icon-gigpilot .nx-gp-path{stroke-width:2.4}
.nx-icon-gigpilot .nx-flight{fill:color-mix(in srgb,var(--ico) 12%,transparent);stroke:var(--ico);animation:nxFlight 3.4s ease-in-out infinite}

/* MIXER */
.nx-icon-mixer .nx-deck{stroke-dasharray:7 4;transform-box:fill-box;transform-origin:center;animation:nxDeck 4s linear infinite}
.nx-icon-mixer .d2{animation-direction:reverse}
.nx-icon-mixer .nx-deck-core{fill:var(--ico2);stroke:none}
.nx-icon-mixer .nx-eq rect{fill:var(--ico);stroke:none;transform-origin:center bottom;animation:nxEq 1s ease-in-out infinite}
.nx-icon-mixer .nx-eq rect:nth-child(2){animation-delay:.22s}
.nx-icon-mixer .nx-fader-knob{fill:var(--ico2);stroke:none;animation:nxFader 2.8s ease-in-out infinite}

/* VIRALOS */
.nx-icon-viralos .nx-core-ring{stroke-dasharray:4 4;transform-origin:24px 24px;animation:nxOrbit 6s linear infinite}
.nx-icon-viralos .nx-core{fill:var(--ico2);stroke:none;animation:nxSpark 1.5s ease-in-out infinite}
.nx-icon-viralos .nx-network circle{fill:#081824;animation:nxNode 2.5s ease-in-out infinite}
.nx-icon-viralos .nx-network path{stroke:color-mix(in srgb,var(--ico2) 65%,var(--ico));stroke-dasharray:3 4;animation:nxDash 3s linear infinite}

/* LIVE */
.nx-icon-live .nx-live-dot{fill:var(--ico);stroke:none;animation:nxLive 1.25s ease-in-out infinite}
.nx-icon-live .nx-wave{stroke:var(--ico2);transform-origin:24px 24px;animation:nxWave 2.15s ease-in-out infinite}
.nx-icon-live .w2{animation-delay:.35s}
.nx-icon-live .nx-rec-bar{stroke:var(--ico);stroke-dasharray:3 3;animation:nxDash 2.2s linear infinite}

/* ECOMMERCE */
.nx-icon-ecommerce .nx-bag{fill:color-mix(in srgb,var(--ico) 5%,transparent)}
.nx-icon-ecommerce .nx-handle{stroke:var(--ico2)}
.nx-icon-ecommerce .nx-chart{stroke:var(--ico2);stroke-dasharray:28;stroke-dashoffset:28;animation:nxChart 3s ease-in-out infinite}
.nx-icon-ecommerce .nx-chart-dot{fill:var(--ico);stroke:none;animation:nxSpark 1.6s ease-in-out infinite}
.nx-icon-ecommerce .c2{animation-delay:.4s}

/* FLEET */
.nx-icon-fleet .nx-road{stroke:color-mix(in srgb,var(--ico2) 58%,transparent);stroke-dasharray:4 5;animation:nxDash 2.8s linear infinite}
.nx-icon-fleet .nx-car{fill:color-mix(in srgb,var(--ico) 5%,transparent);animation:nxCar 3.2s ease-in-out infinite}
.nx-icon-fleet .nx-wheel{fill:#071824}
.nx-icon-fleet .nx-route-dot{fill:var(--ico2);stroke:none;animation:nxSpark 1.3s ease-in-out infinite}

/* CLOCK */
.nx-icon-clock .nx-clock{stroke:color-mix(in srgb,var(--ico) 78%,transparent)}
.nx-icon-clock .nx-hour{stroke:var(--ico2)}
.nx-icon-clock .nx-minute{transform-origin:24px 24px;animation:nxMinute 8s linear infinite}
.nx-icon-clock .nx-clock-core{fill:var(--ico);stroke:none}
.nx-icon-clock .nx-check{stroke:var(--ico2);stroke-dasharray:18;stroke-dashoffset:18;animation:nxCheck 3s ease-in-out infinite}

/* WORKFORCE */
.nx-icon-workforce .nx-team-link{stroke:color-mix(in srgb,var(--ico2) 62%,transparent);stroke-dasharray:4 4;animation:nxDash 3s linear infinite}
.nx-icon-workforce .nx-person{fill:#071824;animation:nxNode 2.5s ease-in-out infinite}
.nx-icon-workforce .p2{animation-delay:.35s}.nx-icon-workforce .p3{animation-delay:.7s}
.nx-icon-workforce .nx-team-pulse{fill:var(--ico2);stroke:none;animation:nxSpark 1.4s ease-in-out infinite}

/* TIKTOK */
.nx-icon-tiktok .nx-note{stroke:var(--ico);stroke-width:2.4;filter:drop-shadow(2px 0 0 color-mix(in srgb,var(--ico2) 65%,transparent));animation:nxNote 2.5s ease-in-out infinite}
.nx-icon-tiktok .nx-social-node{fill:var(--ico2);stroke:none;animation:nxNode 1.9s ease-in-out infinite}
.nx-icon-tiktok .s2{animation-delay:.45s}
.nx-icon-tiktok .nx-social-link{stroke:color-mix(in srgb,var(--ico2) 70%,var(--ico));stroke-dasharray:3 3;animation:nxDash 2.3s linear infinite}

/* subtle card accent, no circus */
.project-card[data-nx-icon]{
  transition:border-color .24s ease,box-shadow .24s ease,transform .24s ease!important;
}
.project-card[data-nx-icon]:hover{
  border-color:color-mix(in srgb,var(--ico,#00d1ff) 34%,#244958)!important;
}

/* Keyframes */
@keyframes nxIconAura{to{transform:rotate(360deg)}}
@keyframes nxScan{0%,100%{transform:translateY(-12px);opacity:.25}50%{transform:translateY(12px);opacity:1}}
@keyframes nxSpark{0%,100%{opacity:.42;transform:scale(.78)}50%{opacity:1;transform:scale(1.2)}}
@keyframes nxDash{to{stroke-dashoffset:-18}}
@keyframes nxNode{0%,100%{stroke:var(--ico);transform:scale(.9)}50%{stroke:var(--ico2);transform:scale(1.08)}}
@keyframes nxPin{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
@keyframes nxOrbit{to{transform:rotate(360deg)}}
@keyframes nxFlight{0%,100%{transform:translate(0,0)}50%{transform:translate(2px,-2px)}}
@keyframes nxDeck{to{transform:rotate(360deg)}}
@keyframes nxEq{0%,100%{transform:scaleY(.55)}50%{transform:scaleY(1.25)}}
@keyframes nxFader{0%,100%{transform:translateX(-3px)}50%{transform:translateX(3px)}}
@keyframes nxLive{0%,100%{opacity:.48;transform:scale(.82)}50%{opacity:1;transform:scale(1.22)}}
@keyframes nxWave{0%,100%{opacity:.34;transform:scale(.94)}50%{opacity:1;transform:scale(1.04)}}
@keyframes nxChart{0%,15%{stroke-dashoffset:28}55%,100%{stroke-dashoffset:0}}
@keyframes nxCar{0%,100%{transform:translateX(-1px)}50%{transform:translateX(2px)}}
@keyframes nxMinute{to{transform:rotate(360deg)}}
@keyframes nxCheck{0%,20%{stroke-dashoffset:18}50%,100%{stroke-dashoffset:0}}
@keyframes nxNote{0%,100%{transform:translateY(0)}50%{transform:translateY(-1.5px)}}

/* Pause work while tab is hidden */
.nx-icons-paused .nx-project-icon *,
.nx-icons-paused .nx-project-icon:before,
.nx-icons-paused .nx-workspace-icon *,
.nx-icons-paused .nx-workspace-icon:before{
  animation-play-state:paused!important;
}

/* Accessibility */
@media(prefers-reduced-motion:reduce){
  .nx-project-icon *,
  .nx-project-icon:before,
  .nx-workspace-icon *,
  .nx-workspace-icon:before{
    animation:none!important;
  }
}

@media(max-width:720px){
  .project-card .picon.nx-project-icon{
    width:46px!important;height:46px!important;border-radius:13px!important;
  }
  .nx-project-icon svg{width:28px;height:28px}
}

/* ===== NEXACORE ANIMATED PROJECT ICONS V6.4.4 END ===== */
