/* =========================================================
   EPTK unified technical cursor
   Exact visual language of the main page: cyan/orange crosshair,
   diamond core, glow, hover enlargement and sparks.
   Desktop fine pointers only.
   ========================================================= */
html.custom-cursor-enabled,
html.custom-cursor-enabled *{
  cursor:none!important;
}

.tech-cursor-dot,
.tech-cursor-ring,
.cursor-spark{
  position:fixed!important;
  left:0;
  top:0;
  margin:0!important;
  padding:0!important;
  pointer-events:none!important;
  box-sizing:border-box!important;
}

.tech-cursor-dot,
.tech-cursor-ring{
  z-index:2147483646!important;
  opacity:0;
  will-change:transform,opacity;
}

.tech-cursor-dot{
  width:8px!important;
  height:8px!important;
  border-radius:2px;
  background:#fff;
  box-shadow:0 0 0 2px #00d8ff,0 0 14px 3px rgba(0,216,255,.9);
}

.tech-cursor-ring{
  width:38px!important;
  height:38px!important;
  border-radius:50%;
  border:1.5px solid rgba(0,216,255,.95);
  box-shadow:0 0 0 1px rgba(255,138,0,.18) inset,0 0 18px rgba(0,216,255,.32);
  transition:width .18s ease,height .18s ease,border-color .18s ease,box-shadow .18s ease,opacity .18s ease;
}

.tech-cursor-ring::before,
.tech-cursor-ring::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  background:linear-gradient(90deg,#00d8ff,#ff8a00);
  transform:translate(-50%,-50%);
  opacity:.9;
}
.tech-cursor-ring::before{width:52px;height:1px}
.tech-cursor-ring::after{width:1px;height:52px}

.tech-cursor-ring.is-hover{
  width:54px!important;
  height:54px!important;
  border-color:#ff9d1c;
  box-shadow:0 0 22px rgba(255,138,0,.42),0 0 0 1px rgba(0,216,255,.2) inset;
}
.tech-cursor-ring.is-down{
  width:28px!important;
  height:28px!important;
  box-shadow:0 0 28px rgba(0,216,255,.65);
}
.tech-cursor-dot.is-hover{
  background:#ffb233;
  box-shadow:0 0 0 2px #fff,0 0 16px 4px rgba(255,138,0,.75);
}

.tech-cursor-visible .tech-cursor-dot,
.tech-cursor-visible .tech-cursor-ring{opacity:1}

.cursor-spark{
  width:5px!important;
  height:5px!important;
  border-radius:50%;
  z-index:2147483645!important;
  background:#00d8ff;
  box-shadow:0 0 10px currentColor;
  animation:eptkCursorSpark .45s ease-out forwards;
  will-change:transform,opacity;
}
@keyframes eptkCursorSpark{
  to{opacity:0;transform:translate(var(--sx),var(--sy)) scale(.2)}
}

@media (hover:none),(pointer:coarse){
  .tech-cursor-dot,.tech-cursor-ring,.cursor-spark{display:none!important}
  html.custom-cursor-enabled,html.custom-cursor-enabled *{cursor:auto!important}
}
