/* =========================================================
   MESTHI × Plane
   ========================================================= */

/* Kill Plane GitHub star link */
a[href*="github.com/makeplane/plane"] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 0 !important;
  min-width: 0 !important;
  max-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
}


/* =========================================================
   MESTHI Loader
   ========================================================= */

.mesthi-loader-shell {
  position: relative !important;

  width: 96px !important;
  height: 96px !important;
  min-width: 96px !important;
  min-height: 96px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  overflow: visible !important;
}


/* rotating outer ring */
.mesthi-loader-shell::before {
  content: "";

  position: absolute;
  inset: 5px;

  border-radius: 9999px;

  border: 1px solid rgba(128, 128, 128, 0.18);
  border-top-color: currentColor;
  border-right-color: rgba(128, 128, 128, 0.55);

  animation: mesthi-spin 1.45s linear infinite;

  pointer-events: none;
}


/* soft inner pulse */
.mesthi-loader-shell::after {
  content: "";

  position: absolute;
  inset: 18px;

  border-radius: 9999px;

  background: currentColor;

  opacity: 0.035;

  animation: mesthi-pulse 1.8s ease-in-out infinite;

  pointer-events: none;
}


.mesthi-loader-mark {
  position: relative !important;

  z-index: 3;

  width: 44px !important;
  height: 44px !important;

  min-width: 44px !important;
  max-width: 44px !important;

  object-fit: contain !important;

  animation: mesthi-logo-breathe 1.8s ease-in-out infinite !important;

  filter:
    drop-shadow(0 0 8px rgba(120, 120, 120, 0.20))
    drop-shadow(0 0 22px rgba(120, 120, 120, 0.12));
}


.mesthi-loader-text {
  position: absolute;

  bottom: -10px;
  left: 50%;

  transform: translateX(-50%);

  font-size: 9px;
  font-weight: 700;

  letter-spacing: 0.28em;

  opacity: 0.5;

  white-space: nowrap;

  animation: mesthi-text 1.8s ease-in-out infinite;
}


@keyframes mesthi-spin {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}


@keyframes mesthi-logo-breathe {
  0%,
  100% {
    transform: scale(0.90);
    opacity: 0.70;
  }

  50% {
    transform: scale(1.08);
    opacity: 1;
  }
}


@keyframes mesthi-pulse {
  0%,
  100% {
    transform: scale(0.8);
    opacity: 0.025;
  }

  50% {
    transform: scale(1.35);
    opacity: 0.08;
  }
}


@keyframes mesthi-text {
  0%,
  100% {
    opacity: 0.30;
  }

  50% {
    opacity: 0.75;
  }
}
