/* ================= RANGI - KOLORY ================= */
.rg{font-weight:700}
.rg i{margin-right:3px}

/* Administracja */
.rg-wlasciciel{color:#ff1a1a;text-shadow:0 0 6px #ff0000,0 0 12px #ff0000}
.rg-admin{color:#d40000;text-shadow:0 0 6px #a00000}
.rg-jadmin{color:#4f8a8b;text-shadow:0 0 5px #2d5556}
/* Wsparcie */
.rg-gmod{color:#22dd22;text-shadow:0 0 6px #00aa00}
.rg-mod{color:#2fb12f;text-shadow:0 0 5px #127a12}
.rg-technik{color:#7ab8ff;text-shadow:0 0 6px #2f7fe0}
/* Forumowe */
.rg-ubteam{color:#f0a818;text-shadow:0 0 6px #b37400}
.rg-redaktor{color:#f5e7a1;text-shadow:0 0 5px #a89650}
.rg-grafik{color:#ff3b3b;text-shadow:0 0 6px #c00000}
/* Serwerowe */
.rg-wlserwera{color:#1e8fff;text-shadow:0 0 6px #0059c9}
.rg-opiekun{color:#3d9bff;text-shadow:0 0 5px #1a5fb0}
.rg-admincs{color:#b8bfd6;text-shadow:0 0 5px #5a6280}
.rg-glosowy{color:#3cc0a8;text-shadow:0 0 5px #1a7a68}
/* Specjalne */
.rg-legenda{color:#ff8a3d;text-shadow:0 0 6px #c04f00}
.rg-zasluzony{color:#8cff1a;text-shadow:0 0 6px #4fa000}
.rg-wspierajace{color:#2fbfa5;text-shadow:0 0 5px #127a68}
.rg-konkursowe{color:#a64dff;text-shadow:0 0 6px #6a00cc}
/* Podstawowe */
.rg-wspolpraca{color:#d63a6e;text-shadow:0 0 5px #8a1a40}
.rg-kobieta{color:#ff3ad1;text-shadow:0 0 7px #ff00b3}
.rg-przyjaciel{color:#ffd0d0;text-shadow:0 0 5px #b06060}
.rg-bywalec{color:#a8ff70;text-shadow:0 0 5px #4f9a20}
.rg-user{color:#ffffff}
.rg-swiezak{color:#2f9bff;text-shadow:0 0 5px #0a5fc0}
.rg-ban{color:#6b7280;text-decoration:line-through;font-weight:400}

/* ================= ANIMACJE ================= */
/* Gwiazdki w tle */
.iskry{position:relative;display:inline-block;padding:0 3px}
.iskry::before,.iskry::after{
  content:"";position:absolute;inset:-5px -8px;
  pointer-events:none;filter:drop-shadow(0 0 2px currentColor)}
.iskry::before{
  background-image:
    radial-gradient(1.6px 1.6px at 10% 25%,#fff 50%,transparent 52%),
    radial-gradient(1.2px 1.2px at 55% 70%,currentColor 50%,transparent 52%),
    radial-gradient(1.4px 1.4px at 85% 35%,#fff 50%,transparent 52%);
  background-size:40px 22px;
  animation:iskry-ruch1 3s linear infinite,iskry-mig 1.4s ease-in-out infinite alternate}
.iskry::after{
  background-image:
    radial-gradient(1px 1px at 30% 60%,#fff 50%,transparent 52%),
    radial-gradient(1.3px 1.3px at 75% 15%,currentColor 50%,transparent 52%),
    radial-gradient(1px 1px at 50% 90%,#fff 50%,transparent 52%);
  background-size:28px 18px;
  animation:iskry-ruch2 4.5s linear infinite,iskry-mig 2s ease-in-out infinite alternate-reverse}
@keyframes iskry-ruch1{from{background-position:0 0}to{background-position:40px -22px}}
@keyframes iskry-ruch2{from{background-position:0 0}to{background-position:-28px 18px}}
@keyframes iskry-mig{from{opacity:.15}to{opacity:1}}

/* Pulsująca poświata */
.puls{animation:puls 1.8s ease-in-out infinite}
@keyframes puls{
  0%,100%{filter:brightness(1) drop-shadow(0 0 0 currentColor)}
  50%{filter:brightness(1.35) drop-shadow(0 0 6px currentColor)}}

@media (prefers-reduced-motion:reduce){
  .iskry::before,.iskry::after,.puls{animation:none}}

/* ######################################################################
   NOWE RUCHOME RANGI (LegacyZone IPB) – stare klasy .rg-* zostają wyżej
   ###################################################################### */
/* =====================================================================
   RANGI LEGACYZONE – ruchome nicki
   Styl nazwy grupy (ACP → Użytkownicy i grupy → Grupy → edycja → „Styl nazwy”):
   <span class="lzi-n lzi-spark" style="--c:#ff1a1a"><i class="fa-solid fa-crown"></i>{username}</span>
   Efekty:  lzi-spark  = iskry + połysk (najwyższe rangi)
            lzi-shine  = połysk przelatujący po napisie
            lzi-glow   = pulsująca poświata
            (bez klasy) = sam kolor i ikona
   ===================================================================== */

.lzi-n{--c:#9aa0ab;position:relative;display:inline-flex;align-items:center;gap:6px;color:var(--c);font-weight:700;white-space:nowrap}
.lzi-n > i{font-size:.85em;color:var(--c);-webkit-text-fill-color:var(--c)}
a .lzi-n,a:link .lzi-n,a:visited .lzi-n{color:var(--c)}
a:hover .lzi-n{filter:brightness(1.2)}

/* połysk */
.lzi-shine,.lzi-spark{
  background:linear-gradient(100deg,var(--c) 0%,var(--c) 40%,#fff 50%,var(--c) 60%,var(--c) 100%);
  background-size:250% 100%;-webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;animation:lziShine 2.8s linear infinite}
@keyframes lziShine{0%{background-position:120% 0}100%{background-position:-120% 0}}

/* iskry */
.lzi-spark::before,.lzi-spark::after{
  content:"";position:absolute;left:4px;top:60%;width:3px;height:3px;border-radius:50%;
  background:var(--c);
  box-shadow:14px -8px 0 var(--c),32px 6px 0 -1px var(--c),52px -10px 0 var(--c),74px 4px 0 -1px var(--c),94px -6px 0 var(--c);
  animation:lziFloat 1.9s ease-in-out infinite;pointer-events:none;-webkit-text-fill-color:initial}
.lzi-spark::after{left:10px;top:30%;animation-delay:.95s;opacity:0}
@keyframes lziFloat{0%{transform:translateY(8px);opacity:0}40%{opacity:1}100%{transform:translateY(-16px);opacity:0}}
.lzi-spark > i{animation:lziWob 3s ease-in-out infinite;display:inline-block}
@keyframes lziWob{0%,100%{transform:rotate(0)}25%{transform:rotate(-12deg)}75%{transform:rotate(12deg)}}

/* poświata */
.lzi-glow{animation:lziGlow 2.2s ease-in-out infinite}
@keyframes lziGlow{0%,100%{text-shadow:0 0 0 transparent}50%{text-shadow:0 0 12px var(--c)}}

/* ----- ikona w kółku (box Grupy, kontakt) ----- */
.lzi-gi .lzi-n > i,.lzi-subi .lzi-n > i{
  width:40px;height:40px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:17px;
  background:color-mix(in srgb,var(--c) 15%,transparent);margin-right:8px;flex:none}
.lzi-gi .lzi-spark > i,.lzi-gi .lzi-glow > i,.lzi-gi .lzi-shine > i{animation:lziRing 2.2s ease-in-out infinite}
.lzi-gi .lzi-spark > i{animation:lziRing 2.2s ease-in-out infinite,lziWob 3s ease-in-out infinite}
@keyframes lziRing{0%,100%{box-shadow:0 0 0 0 transparent}50%{box-shadow:0 0 14px 0 color-mix(in srgb,var(--c) 60%,transparent)}}

/* ----- box Grupy ----- */
.lzi-groups{display:flex;flex-direction:column;gap:14px}
.lzi-gcat{position:relative;background:linear-gradient(180deg,rgba(23,23,31,.95),rgba(11,11,17,.95));border:1px solid var(--lz-border-soft);border-radius:14px;padding:20px 16px 10px}
.lzi-gcat::before{content:"";position:absolute;top:0;left:16px;right:16px;height:2px;background:linear-gradient(90deg,transparent,var(--lz-accent) 20%,var(--lz-accent) 60%,transparent);border-radius:2px}
.lzi-gcat-title{font-family:Rajdhani,sans-serif;font-weight:700;font-size:16px;letter-spacing:.14em;color:#c9ccd3;margin-bottom:6px}
.lzi-gi{display:flex;align-items:center;padding:8px 8px;border-radius:10px;border:1px solid transparent;font-size:16px}
.lzi-gi:hover{background:#1b1e24;border-color:#2b2f39}
details.lzi-dd{display:block}
details.lzi-dd > summary{display:flex;align-items:center;cursor:pointer;list-style:none}
details.lzi-dd > summary::-webkit-details-marker{display:none}
details.lzi-dd > summary .lzi-chev{margin-left:auto;color:#9aa0ab;font-size:13px;transition:transform .2s}
details.lzi-dd[open]{background:#1b1e24;border-color:#2b2f39}
details.lzi-dd[open] > summary .lzi-chev{transform:rotate(180deg)}
.lzi-sub{margin:10px 0 4px;padding:8px;background:#0f1114;border:1px solid #262a33;border-radius:12px;display:flex;flex-direction:column;gap:6px;position:relative}
.lzi-sub::before{content:"";position:absolute;top:-7px;left:50%;width:12px;height:12px;background:#0f1114;border-left:1px solid #262a33;border-top:1px solid #262a33;transform:translateX(-50%) rotate(45deg)}
.lzi-subi{display:flex;align-items:center;padding:8px 12px;border:1px solid #262a33;border-radius:9px;background:#15171c;font-size:15px}
.lzi-subi .lzi-n > i{width:auto;height:auto;background:none;margin-right:4px;font-size:14px}

/* ----- belka rangi pod awatarem w poście ----- */
.lzi-rankbar{--c:#9aa0ab;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:6px 14px;border-radius:30px;
  background:color-mix(in srgb,var(--c) 13%,transparent);border:1px solid color-mix(in srgb,var(--c) 35%,transparent);font-size:14px}
.lzi-rankbar .lzi-n{font-family:Rajdhani,sans-serif;font-size:15px;letter-spacing:.06em;text-transform:uppercase}
.lzi-rankbar .lzi-n > i{width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:12px;background:color-mix(in srgb,var(--c) 22%,transparent)}

/* wyłącz ruch dla osób, które tego nie chcą */
@media (prefers-reduced-motion:reduce){
  .lzi-shine,.lzi-spark,.lzi-glow,.lzi-spark > i,.lzi-gi .lzi-n > i{animation:none!important}
  .lzi-spark::before,.lzi-spark::after{display:none}
}

		