.tool-chip[data-astro-cid-inf4e2zp] {
  isolation: isolate;
  clip-path: polygon(14px 0, 100% 0, 100% calc(100% - 14px), calc(100% - 14px) 100%, 0 100%, 0 14px);
  background: color-mix(in srgb, var(--tc-color) 4%, transparent);
}

.tool-chip__grid[data-astro-cid-inf4e2zp] {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: linear-gradient(color-mix(in srgb, var(--tc-color) 14%, transparent) 1px, transparent 1px),
      linear-gradient(90deg, color-mix(in srgb, var(--tc-color) 14%, transparent) 1px, transparent 1px);
  background-size: 16px 16px;
  opacity: .18;
  animation: toolChipGridPan calc(7s + var(--rhythm, 0) * 5s) linear infinite;
  animation-delay: calc(var(--rhythm, 0) * -10s);
}

.tool-chip__scan[data-astro-cid-inf4e2zp] {
  position: absolute;
  left: 0;
  right: 0;
  height: 2px;
  top: -10%;
  background: linear-gradient(90deg, transparent, var(--tc-color), transparent);
  box-shadow: 0 0 10px 1px var(--tc-color);
  opacity: 0;
  z-index: 1;
  pointer-events: none;
  transition: opacity .3s;
}

.tool-chip[data-astro-cid-inf4e2zp]:hover .tool-chip__scan[data-astro-cid-inf4e2zp], .tool-chip[data-astro-cid-inf4e2zp].is-selected .tool-chip__scan[data-astro-cid-inf4e2zp] {
  opacity: .85;
  animation: 1.8s linear infinite toolChipScan;
}

.tool-chip__corner[data-astro-cid-inf4e2zp] {
  position: absolute;
  width: 14px;
  height: 14px;
  z-index: 2;
  opacity: 0;
  transform: scale(.5);
  transition: opacity .3s, transform .3s cubic-bezier(.34, 1.56, .64, 1);
  pointer-events: none;
}

.tool-chip__corner--tl[data-astro-cid-inf4e2zp] {
  top: .5rem;
  left: .5rem;
  border-top: 2px solid var(--tc-color);
  border-left: 2px solid var(--tc-color);
}

.tool-chip__corner--tr[data-astro-cid-inf4e2zp] {
  top: .5rem;
  right: .5rem;
  border-top: 2px solid var(--tc-color);
  border-right: 2px solid var(--tc-color);
}

.tool-chip__corner--bl[data-astro-cid-inf4e2zp] {
  bottom: .5rem;
  left: .5rem;
  border-bottom: 2px solid var(--tc-color);
  border-left: 2px solid var(--tc-color);
}

.tool-chip__corner--br[data-astro-cid-inf4e2zp] {
  bottom: .5rem;
  right: .5rem;
  border-bottom: 2px solid var(--tc-color);
  border-right: 2px solid var(--tc-color);
}

.tool-chip[data-astro-cid-inf4e2zp]:hover .tool-chip__corner[data-astro-cid-inf4e2zp], .tool-chip[data-astro-cid-inf4e2zp].is-selected .tool-chip__corner[data-astro-cid-inf4e2zp] {
  opacity: 1;
  transform: scale(1);
}

.tool-chip__target[data-astro-cid-inf4e2zp] {
  position: absolute;
  top: .6rem;
  right: .6rem;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.35rem;
  height: 1.35rem;
  color: var(--tc-color);
  opacity: 0;
  transform: scale(.4) rotate(-45deg);
  transition: opacity .3s, transform .3s cubic-bezier(.34, 1.56, .64, 1);
}

.tool-chip[data-astro-cid-inf4e2zp].is-selected .tool-chip__target[data-astro-cid-inf4e2zp] {
  opacity: 1;
  transform: scale(1) rotate(0);
  animation: 3s linear infinite toolChipTargetSpin;
}

.tool-chip__name[data-astro-cid-inf4e2zp] {
  font-family: Courier New, ui-monospace, monospace;
  letter-spacing: .04em;
}

.tool-chip[data-astro-cid-inf4e2zp]:hover .tool-chip__name[data-astro-cid-inf4e2zp], .tool-chip[data-astro-cid-inf4e2zp].is-selected .tool-chip__name[data-astro-cid-inf4e2zp] {
  text-shadow: -1px 0 #ff00aab3, 1px 0 #00e5ffb3, 0 0 12px var(--tc-color);
  animation: 2.4s step-end infinite toolChipGlitch;
}

.tool-chip__bars[data-astro-cid-inf4e2zp] {
  position: absolute;
  left: 1.25rem;
  right: 1.25rem;
  bottom: 1rem;
  z-index: 1;
  display: flex;
  align-items: flex-end;
  gap: 3px;
  height: 14px;
  opacity: .55;
  transition: opacity .3s;
}

.tool-chip[data-astro-cid-inf4e2zp]:hover .tool-chip__bars[data-astro-cid-inf4e2zp], .tool-chip[data-astro-cid-inf4e2zp].is-selected .tool-chip__bars[data-astro-cid-inf4e2zp] {
  opacity: 1;
}

.tool-chip__bar[data-astro-cid-inf4e2zp] {
  flex: 1;
  height: 30%;
  border-radius: 1px;
  background: var(--tc-color);
  animation: toolChipBar calc(.9s + var(--rhythm, 0) * .6s) ease-in-out infinite;
  animation-delay: calc(var(--rhythm, 0) * -1.2s + var(--bar-i, 0) * .12s);
}

.tool-chip__bar[data-astro-cid-inf4e2zp]:first-child {
  --bar-i: 0;
}

.tool-chip__bar[data-astro-cid-inf4e2zp]:nth-child(2) {
  --bar-i: 1;
}

.tool-chip__bar[data-astro-cid-inf4e2zp]:nth-child(3) {
  --bar-i: 2;
}

.tool-chip__bar[data-astro-cid-inf4e2zp]:nth-child(4) {
  --bar-i: 3;
}

.tool-chip__bar[data-astro-cid-inf4e2zp]:nth-child(5) {
  --bar-i: 4;
}

@keyframes toolChipGridPan {
  from {
    background-position: 0 0, 0 0;
  }

  to {
    background-position: 16px 16px, 16px 16px;
  }
}

@keyframes toolChipScan {
  0% {
    top: -10%;
  }

  100% {
    top: 110%;
  }
}

@keyframes toolChipTargetSpin {
  from {
    transform: scale(1) rotate(0);
  }

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

@keyframes toolChipGlitch {
  0%, 92%, 100% {
    transform: translate(0);
  }

  93% {
    transform: translate(-1px, 1px);
  }

  95% {
    transform: translate(1px, -1px);
  }

  97% {
    transform: translate(-1px);
  }
}

@keyframes toolChipBar {
  0%, 100% {
    height: 25%;
  }

  50% {
    height: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tool-chip[data-astro-cid-inf4e2zp], .tool-chip__grid[data-astro-cid-inf4e2zp], .tool-chip__scan[data-astro-cid-inf4e2zp], .tool-chip__corner[data-astro-cid-inf4e2zp], .tool-chip__target[data-astro-cid-inf4e2zp], .tool-chip__name[data-astro-cid-inf4e2zp], .tool-chip__bar[data-astro-cid-inf4e2zp] {
    transition: none;
    animation: none;
  }
}
.film-card__info-title,
  .film-card__info-meta {
    transition: filter 0.3s ease;
  }
  .film-card:hover .film-card__info-title,
  .film-card:focus-within .film-card__info-title,
  .film-card:hover .film-card__info-meta,
  .film-card:focus-within .film-card__info-meta {
    background-image: linear-gradient(90deg, #ff6b6b, #ffd166, #06d6a0, #4cc9f0, #b388ff, #ff6b6b);
    background-size: 300% 100%;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: filmCardInfoShimmer 2.6s linear infinite;
  }
  @keyframes filmCardInfoShimmer {
    from { background-position: 0% 50%; }
    to   { background-position: 300% 50%; }
  }
  @media (prefers-reduced-motion: reduce) {
    .film-card__info-title,
    .film-card__info-meta {
      transition: none;
      animation: none !important;
    }
  }