/* =========================================================
   Роли на сайте: ADMIN, MODER, VIP и DELUX
   Подключается после остальных стилей и переопределяет .role-pill
   ========================================================= */

/* ---------- Значки ---------- */
.role-pill {
  position: relative;
  overflow: hidden;
  height: 22px;
  padding: 0 9px;
  border-radius: 7px;
  border: 1px solid transparent;
  font-size: 10.5px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
  white-space: nowrap;
  vertical-align: middle;
}
.role-pill i { margin-right: 5px; font-size: 10px; }

.role-pill.admin {
  color: #fff;
  border-color: rgba(255, 130, 140, .55);
  background: linear-gradient(135deg, #ff4d5e 0%, #c81e37 55%, #8a1024 100%);
  box-shadow: 0 0 0 1px rgba(255, 77, 94, .18), 0 4px 16px rgba(255, 60, 80, .38);
  text-shadow: 0 1px 0 rgba(0, 0, 0, .35);
}
.role-pill.moderator {
  color: #fff;
  border-color: rgba(120, 210, 255, .55);
  background: linear-gradient(135deg, #38c4ff 0%, #1f7bea 55%, #1550b8 100%);
  box-shadow: 0 0 0 1px rgba(56, 196, 255, .16), 0 4px 16px rgba(40, 150, 255, .34);
  text-shadow: 0 1px 0 rgba(0, 0, 0, .3);
}
.role-pill.delux {
  color: #fff;
  border-color: rgba(151, 111, 255, .72);
  background: linear-gradient(135deg, #41d9f5 0%, #8d54ff 48%, #ef59d9 100%);
  box-shadow: 0 0 0 1px rgba(141, 84, 255, .22), 0 4px 20px rgba(125, 74, 255, .46), 0 0 22px rgba(65, 217, 245, .16);
  text-shadow: 0 1px 0 rgba(0, 0, 0, .32);
}
.role-pill.vip {
  color: #3a2300;
  border-color: rgba(255, 226, 140, .8);
  background: linear-gradient(135deg, #fff0a8 0%, #ffc93a 45%, #ff9a17 100%);
  box-shadow: 0 0 0 1px rgba(255, 201, 58, .2), 0 4px 18px rgba(255, 176, 30, .42);
  text-shadow: 0 1px 0 rgba(255, 255, 255, .35);
}
/* Блик, пробегающий по значку */
.role-pill.admin::after,
.role-pill.moderator::after,
.role-pill.delux::after,
.role-pill.vip::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 -60%;
  width: 45%;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .55), transparent);
  transform: skewX(-20deg);
  animation: role-shine 4.5s ease-in-out infinite;
  pointer-events: none;
}
.role-pill.vip::after { animation-duration: 3.6s; }
.role-pill.delux::after { animation-duration: 3.1s; }
@keyframes role-shine {
  0%, 55% { left: -60%; }
  100% { left: 130%; }
}

/* ---------- Имена ---------- */
.nm { font-weight: 800; }
.nm-admin {
  color: #ff6a74;
  text-shadow: 0 0 14px rgba(255, 70, 90, .55);
}
.nm-moderator {
  color: #62ccff;
  text-shadow: 0 0 14px rgba(70, 175, 255, .5);
}
.nm-delux {
  color: #a66cff;
  background: linear-gradient(90deg, #55e5ff, #a36bff 48%, #ff67dc);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 9px rgba(145, 86, 255, .48));
}
.nm-vip {
  color: #ffc93a;
  background: linear-gradient(90deg, #fff0a8, #ffc93a 45%, #ff9a17);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 8px rgba(255, 176, 30, .38));
}
/* Иконка перед ником в списках */
.nm-admin::before, .nm-moderator::before, .nm-vip::before, .nm-delux::before {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: .8em;
  margin-right: 5px;
  -webkit-text-fill-color: currentColor;
}
.nm-admin::before { content: "\f3ed"; }      /* shield-halved */
.nm-moderator::before { content: "\f0e3"; }  /* gavel */
.nm-vip::before { content: "\f521"; color: #ffc93a; -webkit-text-fill-color: #ffc93a; } /* crown */
.nm-delux::before { content: "\f3a5"; color: #9c6bff; -webkit-text-fill-color: #9c6bff; } /* gem */
.nm.no-ico::before { content: none; }

/* ---------- Сообщения на форуме ---------- */
.post.tier-admin { box-shadow: inset 4px 0 0 #ff4d5e, 0 0 0 1px rgba(255, 77, 94, .22), 0 10px 34px rgba(255, 60, 80, .10); }
.post.tier-moderator { box-shadow: inset 4px 0 0 #38a8ff, 0 0 0 1px rgba(56, 168, 255, .22), 0 10px 34px rgba(40, 150, 255, .10); }
.post.tier-delux { box-shadow: inset 4px 0 0 #9c6bff, 0 0 0 1px rgba(156, 107, 255, .28), 0 10px 36px rgba(112, 70, 255, .14); }
.post.tier-vip { box-shadow: inset 4px 0 0 #ffc93a, 0 0 0 1px rgba(255, 201, 58, .24), 0 10px 34px rgba(255, 176, 30, .10); }

.post.tier-admin .post-author { background: linear-gradient(180deg, rgba(255, 77, 94, .13), #0b111b 70%); }
.post.tier-moderator .post-author { background: linear-gradient(180deg, rgba(56, 168, 255, .13), #0b111b 70%); }
.post.tier-delux .post-author { background: linear-gradient(180deg, rgba(126, 82, 255, .16), #0b111b 70%); }
.post.tier-vip .post-author { background: linear-gradient(180deg, rgba(255, 201, 58, .14), #0b111b 70%); }

.post.tier-admin .post-author img { box-shadow: 0 0 0 2px #ff4d5e, 0 0 22px rgba(255, 77, 94, .55); }
.post.tier-moderator .post-author img { box-shadow: 0 0 0 2px #38a8ff, 0 0 22px rgba(56, 168, 255, .5); }
.post.tier-delux .post-author img { box-shadow: 0 0 0 2px #9c6bff, 0 0 24px rgba(113, 80, 255, .58); }
.post.tier-vip .post-author img { box-shadow: 0 0 0 2px #ffc93a, 0 0 22px rgba(255, 190, 40, .5); }

/* ---------- Списки тем ---------- */
.x-topic-meta em.nm { font-style: normal; }
.x-topic.tier-admin { border-left: 3px solid #ff4d5e; }
.x-topic.tier-moderator { border-left: 3px solid #38a8ff; }
.x-topic.tier-vip { border-left: 3px solid #ffc93a; }
.x-topic.tier-delux { border-left: 3px solid #9c6bff; }
.x-topic .tg.staff { color: #fff; background: linear-gradient(135deg, #ff4d5e, #c81e37); border-color: transparent; }
.x-topic .tg.priv { color: #b9c2d6; background: rgba(120, 135, 165, .14); border-color: rgba(120, 135, 165, .35); }

/* Тикет, который игрок открыть не может: видно только строку в списке */
.x-topic.no-open { cursor: default; opacity: .82; }
.x-topic.no-open:hover { transform: none; border-color: var(--line, #232c3d); background: inherit; }
.x-topic .no-open-note { display: inline-flex; align-items: center; gap: 6px; margin-top: 4px; font-size: 11.5px; color: #8b96ad; }

/* ---------- Другие места ---------- */
.online-list li b.nm, .pl-cell b.nm, .x-pl-main b.nm, .pod-name.nm { display: inline-block; }
.ph-name h1.nm, .cab-id h1.nm { display: inline-block; }
.tb-user-name.nm { font-weight: 800; }

@media (prefers-reduced-motion: reduce) {
  .role-pill::after { animation: none !important; display: none; }
}
