/* logo.css — LIM wordmark */

:root {
  --logo-color: #111;
}

:root[data-theme="day"] {
  --logo-color: #000;
}

:root[data-theme="night"] {
  --logo-color: #fff;
}

.lim-logo,
a.brand.lim-logo {
  display: inline-flex;
  width: clamp(160px, 24vw, 420px);
  color: var(--logo-color);
  text-decoration: none;
  min-width: 0;
}

.site-header .lim-logo {
  width: clamp(150px, 22vw, 260px);
  max-height: 44px;
}

.site-header .lim-logo svg {
  max-height: 44px;
  width: auto;
}

.lim-logo svg {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
}

/*
 * L и M остаются неподвижными.
 * Анимируются только две версии курсора.
 */
.lim-logo__cursor {
  transform-box: fill-box;
  transform-origin: center;
}

.lim-logo__cursor--rest {
  opacity: 0.42;
  animation:
    lim-cursor-rest 3.6s cubic-bezier(0.65, 0, 0.35, 1) infinite;
}

.lim-logo__cursor--active {
  opacity: 0;
  transform: scaleY(0.66);
  animation:
    lim-cursor-active 3.6s cubic-bezier(0.65, 0, 0.35, 1) infinite;
}

@keyframes lim-cursor-rest {
  0%,
  52% {
    opacity: 0.42;
  }

  66%,
  80% {
    opacity: 0;
  }

  100% {
    opacity: 0.42;
  }
}

@keyframes lim-cursor-active {
  0%,
  52% {
    opacity: 0;
    transform: scaleY(0.66);
  }

  66%,
  80% {
    opacity: 1;
    transform: scaleY(1);
  }

  100% {
    opacity: 0;
    transform: scaleY(0.66);
  }
}

.lim-logo:hover .lim-logo__cursor--rest,
.lim-logo:focus-visible .lim-logo__cursor--rest {
  animation: none;
  opacity: 0;
}

.lim-logo:hover .lim-logo__cursor--active,
.lim-logo:focus-visible .lim-logo__cursor--active {
  animation: none;
  opacity: 1;
  transform: scaleY(1);
}

.lim-logo:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 4px;
  border-radius: 4px;
}

/* Version index — fixed neutral gray, independent of theme / currentColor */
.lim-logo .lim-logo__version {
  fill: #86868b;
  opacity: 1;
  font-family:
    "SFMono-Regular",
    "SF Mono",
    "JetBrains Mono",
    "IBM Plex Mono",
    ui-monospace,
    monospace;
  font-size: 40px;
  font-weight: 500;
  letter-spacing: 0.02em;
  pointer-events: none;
  user-select: none;
  animation: none;
  transition: none;
}

:root[data-theme="day"] .lim-logo .lim-logo__version,
:root[data-theme="night"] .lim-logo .lim-logo__version,
.lim-logo:hover .lim-logo__version,
.lim-logo:focus-visible .lim-logo__version {
  fill: #86868b;
  opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
  .lim-logo__cursor {
    animation: none;
  }

  .lim-logo__cursor--rest {
    opacity: 0.5;
  }

  .lim-logo__cursor--active {
    opacity: 0;
    transform: none;
  }

  .lim-logo .lim-logo__version {
    opacity: 1;
  }
}
