/* Ninja Labs: znaczek „strona wykonana przez” do stopki.
   Podwójna klasa + !important: odporność na style motywu strony, na której osadzono znaczek.
   Znaczek zajmuje stałe miejsce (sama ikona), a napis wysuwa się jako dymek, nie przesuwając układu strony. */
a.nlb.nlb {
  --nlb-text: #e9ecf3; --nlb-accent: #7cf29c; --nlb-hover: rgba(255, 255, 255, .08);
  --nlb-pill: #151924; --nlb-pill-border: rgba(255, 255, 255, .12);
  position: relative !important; display: inline-flex !important; align-items: center !important; vertical-align: middle;
  margin: 0 !important; padding: 4px !important; border: 0 !important; border-radius: 999px !important;
  background: transparent !important; box-shadow: none !important; text-decoration: none !important; text-shadow: none !important;
  color: var(--nlb-text) !important; text-transform: none !important;
  font: 600 15px/1 "Space Grotesk", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif !important; letter-spacing: -.02em !important;
  transition: background-color .3s;
}
a.nlb.nlb--light {
  --nlb-text: #0b0d12; --nlb-accent: #18a957; --nlb-hover: rgba(11, 13, 18, .06);
  --nlb-pill: #ffffff; --nlb-pill-border: rgba(11, 13, 18, .12);
}
a.nlb.nlb:hover, a.nlb.nlb:focus-visible { background: var(--nlb-hover) !important; }
a.nlb.nlb:focus-visible { outline: 2px solid var(--nlb-accent) !important; outline-offset: 2px; }
a.nlb.nlb .nlb__icon {
  display: block !important; flex: none !important; width: 28px !important; height: 28px !important; max-width: none !important;
  margin: 0 !important; overflow: visible !important; transition: transform .5s cubic-bezier(.2, .7, .2, 1);
}
a.nlb.nlb:hover .nlb__icon, a.nlb.nlb:focus-visible .nlb__icon { transform: rotate(-8deg) scale(1.08); }
a.nlb.nlb .nlb__head { fill: #e9ecf3; }
a.nlb.nlb--light .nlb__head { stroke: #0b0d12; stroke-width: 1; }
a.nlb.nlb .nlb__band { fill: #0b0d12; }
a.nlb.nlb .nlb__eyes { fill: #7cf29c; transform-box: fill-box; transform-origin: center; animation: nlb-blink 5s infinite; }
a.nlb.nlb .nlb__tails {
  fill: none; stroke: var(--nlb-accent); stroke-width: 2.4; stroke-linecap: round;
  transform-box: view-box; transform-origin: 25.5px 16px; animation: nlb-wave 2.8s ease-in-out infinite;
}
a.nlb.nlb:hover .nlb__tails, a.nlb.nlb:focus-visible .nlb__tails { animation-duration: 1s; }
/* Dymek z napisem: domyślnie w prawo od ikony, przy prawej krawędzi ekranu w lewo (klasa nlb--left z JS) */
a.nlb.nlb .nlb__text {
  position: absolute !important; top: 50%; left: calc(100% + 6px); right: auto; z-index: 10;
  display: inline-flex !important; flex-direction: column !important; align-items: center; text-align: center !important; gap: 3px;
  padding: 8px 14px 9px !important; margin: 0 !important;
  border-radius: 14px !important; background: var(--nlb-pill) !important; border: 1px solid var(--nlb-pill-border) !important;
  box-shadow: 0 10px 24px -10px rgba(0, 0, 0, .5) !important; white-space: nowrap !important;
  color: var(--nlb-text) !important; opacity: 0; visibility: hidden; transform: translate(-10px, -50%) scale(.96);
  transition: opacity .25s, transform .4s cubic-bezier(.2, .7, .2, 1), visibility .25s;
}
a.nlb.nlb--left .nlb__text { left: auto; right: calc(100% + 6px); transform: translate(10px, -50%) scale(.96); }
a.nlb.nlb:hover .nlb__text, a.nlb.nlb:focus-visible .nlb__text { opacity: 1; visibility: visible; transform: translate(0, -50%) scale(1); }
a.nlb.nlb .nlb__by {
  display: block !important; margin: 0 !important; color: var(--nlb-text) !important; opacity: .6;
  font: 400 11px/1.1 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif !important; letter-spacing: .01em !important;
}
a.nlb.nlb .nlb__brand { display: block !important; font-size: 16px !important; line-height: 1 !important; }
a.nlb.nlb .nlb__text b { font-weight: 700 !important; color: var(--nlb-accent) !important; }
@keyframes nlb-blink { 0%, 92%, 100% { transform: scaleY(1); } 95% { transform: scaleY(.1); } }
@keyframes nlb-wave { 0%, 100% { transform: rotate(0deg); } 50% { transform: rotate(-9deg) scaleX(1.06); } }
@media (prefers-reduced-motion: reduce) {
  a.nlb.nlb, a.nlb.nlb * { animation: none !important; transition: none !important; }
}
