/* ======================================================
   NAVIGATION BAR
   ====================================================== */
.nav-container {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: auto;
  box-sizing: border-box;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: repeat-x center top #111;
  border-bottom: 2px solid #2e2a25;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.7);
  padding: 0 28px 0 12px;
  z-index: 9999;
  background:
    linear-gradient(to bottom, rgba(10, 10, 10, 0.97), rgba(10, 10, 10, 0.93)),
    linear-gradient(to right, rgba(72, 53, 20, 0.18), rgba(0, 0, 0, 0));
  -webkit-backdrop-filter: blur(8px) saturate(115%);
  backdrop-filter: blur(8px) saturate(115%);
}

/* === Logo === */
.nav-logo {
  order: 1;
}
.nav-logo img {
  height: 32px;
  width: auto;
  margin-right: 12px;
  transition: transform 0.25s ease, filter 0.25s ease;
}
.nav-logo img:hover {
  transform: scale(1.1);
  filter: drop-shadow(0 0 6px #ffd700) drop-shadow(0 0 12px #ff9900);
}

/* === Main Menu === */
.nav-menu {
  order: 2;
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 12px;
}
.nav-menu li { position: relative; }

.nav-menu > li > a {
  display: flex;
  align-items: center;
  color: #d0a803;
  font-weight: bold;
  font-size: 14px;
  padding: 6px 8px;
  text-decoration: none;
  transition: color 0.2s ease, text-shadow 0.2s ease;
}
.nav-menu > li > a:hover {
  color: #fff1b0;
  text-shadow: 0 0 4px #ffd700, 0 0 8px #ff9900;
}

/* === Submenus === */
.nav-menu li ul {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 160px; /* match parent width exactly */
  background: rgba(17, 17, 17, 0.95);
  border: 1px solid #333;
  border-radius: 4px;
  padding: 4px 0;
  margin: 0;
  z-index: 1000;
  list-style: none;
  backdrop-filter: blur(2px);
}
/* Child link styling matches parent */
.nav-menu li ul li a {
  display: block;
  padding: 6px 12px;
  font-size: 14px;
  font-weight: bold;
  color: #d0a803; /* same as parent text */
  text-decoration: none;
  text-align: left;
  transition: color 0.2s ease, text-shadow 0.2s ease, background 0.2s ease;
  white-space: nowrap;
}
.menu-link-label--marketplace {
  display: inline-grid;
  grid-template-columns: 18px auto;
  grid-template-areas: "icon text";
  align-items: center;
  column-gap: 8px;
  row-gap: 1px;
}
.menu-link-label__icon {
  grid-area: icon;
  width: 16px;
  height: 16px;
}
.menu-link-label__text {
  grid-area: text;
  line-height: 1.1;
}
.menu-link-disabled {
  display: block;
  padding: 6px 12px;
  color: #9f8751;
  cursor: not-allowed;
  opacity: 0.82;
  text-decoration: none;
}
/* Hover effect matches parent hover */
.nav-menu li ul li a:hover {
  background: #2a2a2a;
  color: #fff1b0;
  text-shadow: 0 0 4px #ffd700, 0 0 8px #ff9900;
}
.nav-menu li:hover > ul { display: block; }
.nav-menu li ul li:hover > ul {
  display: block;
  position: absolute;
  top: 0;
  left: 100%;
  margin-left: 1px;
}

/* === Account Dropdown === */
.account-dropdown {
  position: relative;
  display: flex;
  align-items: center;
  flex: 0 0 auto;
}
.account-dropdown > a.subscribe {
  background: #2c2c2c;
  border: 1px solid #444;
  border-radius: 4px;
  margin-right: 16px;
  padding: 6px 14px;
  color: #ffc600;
  font-weight: bold;
  text-decoration: none;
}
.account-dropdown > a.subscribe:hover {
  background: #444;
  color: #fff;
}
.account-dropdown .account-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: auto;
  right: 0;
  min-width: 220px;
  max-width: min(320px, calc(100vw - 24px));
  background: linear-gradient(180deg, rgba(9, 14, 22, 0.98), rgba(4, 8, 14, 0.98));
  border: 1px solid #444;
  border-radius: 6px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.8);
  list-style: none;
  padding: 8px 0;
  z-index: 9999;
}
.account-dropdown .account-menu::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 100%;
  height: 6px;
}
.account-dropdown:hover .account-menu,
.account-dropdown.open .account-menu,
.account-dropdown:focus-within .account-menu { display: block; }
.account-dropdown .account-menu li { margin: 0; padding: 0; }
.account-dropdown .account-menu a,
.account-dropdown .account-menu .account-logout-button {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  box-sizing: border-box;
  padding: 8px 15px;
  color: #ffc600;
  font-weight: bold;
  font-size: inherit;
  font-family: inherit;
  text-decoration: none;
  text-align: left;
  border: 0;
  background: transparent;
  cursor: pointer;
  transition: background 0.2s ease;
}
.account-dropdown .account-menu a:hover,
.account-dropdown .account-menu .account-logout-button:hover {
  background: #222;
  color: #fff;
}
.account-dropdown .account-menu .account-logout-form {
  display: block;
  margin: 0;
}
.account-dropdown .account-menu a::before {
  font-family: inherit;
  font-weight: 700;
  width: 16px;
  text-align: center;
  content: "";
}
.account-dropdown .account-menu .account-logout-button::before {
  font-family: inherit;
  font-weight: 700;
  width: 16px;
  text-align: center;
  content: "";
}
.account-dropdown .account-menu a[href*="manage"]::before { content: ""; }
.account-dropdown .account-menu li.active-char a::before { content: ">"; }

/* === Right Section === */
.nav-right {
  order: 3;
  display: flex;
  align-items: center;
  height: 100%;
  gap: 8px;
  margin-left: auto;
  margin-right: 6px;
  padding: 0;
}
.nav-right a.subscribe {
  background: linear-gradient(#3d2a00, #6e4f0a);
  border: 1px solid #d4a017;
  border-radius: 4px;
  color: #fff2c1;
  padding: 4px 10px;
  font-size: 13px;
  font-weight: bold;
  text-decoration: none;
  transition: all 0.2s ease;
}
.nav-right a.subscribe:hover {
  background: linear-gradient(#6e4f0a, #3d2a00);
  box-shadow: 0 0 8px #ffb400;
  color: #fff;
}

/* ======================================================
   MOBILE NAVIGATION
   ====================================================== */
.mobile-toggle {
  display: none;
  font-size: 24px;
  color: #ffc600;
  cursor: pointer;
  background: transparent;
  border: 0;
  padding: 0;
}
.hamburger {
  cursor: pointer;
  width: 28px;
  height: 22px;
  position: relative;
  z-index: 10001;
}
.hamburger span {
  display: block;
  position: absolute;
  height: 3px;
  width: 100%;
  background: #ffc600;
  border-radius: 2px;
  left: 0;
  transition: all 0.3s ease-in-out;
}
.hamburger span:nth-child(1) { top: 0; }
.hamburger span:nth-child(2) { top: 9px; }
.hamburger span:nth-child(3) { top: 18px; }
.hamburger.active span:nth-child(1) {
  transform: rotate(45deg);
  top: 9px;
}
.hamburger.active span:nth-child(2) { opacity: 0; }
.hamburger.active span:nth-child(3) {
  transform: rotate(-45deg);
  top: 9px;
}


/* === Mobile Menu Panel === */
.mobile-menu {
  position: fixed;
  top: 0;
  left: -280px;
  bottom: 0;
  width: min(320px, calc(100vw - 48px));
  height: 100vh;
  height: 100dvh;
  max-height: 100vh;
  max-height: 100dvh;
  box-sizing: border-box;
  background: linear-gradient(180deg, rgba(9, 14, 22, 0.98), rgba(4, 8, 14, 0.98));
  border-right: 2px solid #444;
  box-shadow: 4px 0 12px rgba(0,0,0,0.7);
  padding: 16px;
  overflow-y: auto;
  z-index: 10001;
  transition: left 0.3s ease-in-out;
}
.mobile-menu.open { left: 0; }

.menu-logo {
  display: block;
  width: min(190px, 72%);
  max-height: 100px;
  margin: 0 auto 16px;
  object-fit: contain;
}

.mobile-menu ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.mobile-menu li {
  position: relative;
  margin: 4px 0;
}
.mobile-menu li.has-sub > a::after {
  content: "\25B8";
  float: none;
  margin-left: auto;
  font-size: 10px;
  color: #ffc107;
  transition: transform 0.2s ease;
}
.mobile-menu li.has-sub.open > a::after { transform: rotate(90deg); }
.mobile-menu li ul {
  display: none;
  padding: 2px 0 6px 15px;
}
.mobile-menu li.open > ul { display: block; }

.mobile-menu a {
  display: flex;
  align-items: center;
  min-height: 44px;
  color: #ffc600;
  text-decoration: none;
  font-weight: bold;
  font-size: 15px;
  padding: 0;
}
.mobile-menu .menu-link-label--marketplace {
  grid-template-columns: 18px minmax(0, 1fr);
}
.mobile-menu .menu-link-disabled {
  min-height: 44px;
  padding: 0;
}
.mobile-menu a:hover {
  color: #fff;
  text-shadow: 0 0 6px #ffd700;
}

/* === Mobile Menu Close & Overlay === */
.menu-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.6);
  z-index: 9998;
  display: none;
}
.menu-overlay.active { display: block; }

.menu-close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  font-size: 24px;
  color: #ffc600;
  cursor: pointer;
  margin: 0 0 6px auto;
  background: transparent;
  border: 0;
  padding: 0;
}
.menu-close:hover { color: #fff; }

/* ======================================================
   TOOLTIP: SERVER INFO
   ====================================================== */
.serverinfo-tooltip {
  background: rgba(0,0,0,0.9);
  border: 1px solid #666;
  border-radius: 6px;
  padding: 8px 10px;
  font-size: 13px;
  color: #eee;
  line-height: 1.5;
  min-width: 240px;
  box-shadow: 0 0 8px rgba(0,0,0,0.8);
}
.serverinfo-tooltip .info-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.serverinfo-tooltip .label {
  flex: 0 0 120px;
  color: #aaa;
  text-align: left;
}
.serverinfo-tooltip .value {
  flex: 1;
  text-align: right;
  color: #fff;
}
.serverinfo-tooltip .status-online { color: #3f3; font-weight: bold; }
.serverinfo-tooltip .status-offline { color: #f33; font-weight: bold; }
.serverinfo-tooltip .maplink {
  color: #3ba9ff;
  font-weight: bold;
  text-decoration: none;
}
.serverinfo-tooltip .maplink:hover { text-decoration: underline; }

/* ======================================================
   FOOTER
   ====================================================== */
#copyright {
  background: #000;
  color: #ccc;
  font-size: 12px;
  padding: 12px 0 24px 0;
  text-align: center;
  border-top: 2px solid #2e2a25;
  box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.6);
}
#copyright small { color: #d1b45a; }
#blizzlogo-bot {
  display: inline-block;
  vertical-align: middle;
  margin-right: 8px;
}
#blizzlogo-bot img {
  height: 40px;
  width: auto;
  vertical-align: middle;
}
.textlinks {
  display: inline-block;
  vertical-align: middle;
  text-align: left;
  line-height: 1.4;
}

/* ======================================================
   RESPONSIVE ADJUSTMENTS
   ====================================================== */
/* === Hide mobile menu and overlay on desktop === */
.mobile-menu {
  transform: translateX(-100%);
  left: 0;
  visibility: hidden;
  opacity: 0;
  transition: transform 0.3s ease, opacity 0.2s ease;
}
.mobile-menu.open {
  transform: translateX(0);
  visibility: visible;
  opacity: 1;
}
.nav-right .account-dropdown {
  top: auto;
  right: auto;
  transform: none;
}

@media (max-width: 760px) {
  .nav-container {
    gap: 10px;
    padding: 0 12px;
  }

  .desktop-menu {
    display: none;
  }

  .mobile-toggle {
    order: 2;
    display: block;
    margin-left: auto;
  }

  .nav-right {
    order: 3;
    flex: 0 0 auto;
    margin-left: 0;
    margin-right: 0;
  }

  .nav-logo img {
    margin-right: 0;
  }
}



 
.banner {
  display: block;
  margin: 0 auto 12px auto;
   margin-top: 30px;
  max-width: 100%;
  height: auto;
  border-radius: 6px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.6);
}

/* ======================================================
   SHARED WOW TABLE â€” used by both AH and Character tables
   ====================================================== */

/* ======================================================
   CLASS COLORS (shared across all tables)
   ====================================================== */
.class-warrior { --class-color:#C79C6E; --class-color-rgb:199,156,110; }
.class-mage { --class-color:#69CCF0; --class-color-rgb:105,204,240; }
.class-priest { --class-color:#FFFFFF; --class-color-rgb:255,255,255; }
.class-hunter { --class-color:#ABD473; --class-color-rgb:171,212,115; }
.class-rogue { --class-color:#FFF569; --class-color-rgb:255,245,105; }
.class-warlock { --class-color:#9482C9; --class-color-rgb:148,130,201; }
.class-paladin { --class-color:#F58CBA; --class-color-rgb:245,140,186; }
.class-druid { --class-color:#FF7D0A; --class-color-rgb:255,125,10; }
.class-shaman { --class-color:#0070DE; --class-color-rgb:0,112,222; }
.class-deathknight { --class-color:#C41F3B; --class-color-rgb:196,31,59; }

/* Accent usage */
[class*="class-"] .portrait,
[class*="class-"] .class-icon {
  color: var(--class-color);
  border-color: var(--class-color);
  box-shadow: 0 0 4px var(--class-color, #888);
  transition: box-shadow 0.25s ease, border-color 0.25s ease;
}
[class*="class-"]:hover .portrait,
[class*="class-"]:hover .class-icon {
  box-shadow: 0 0 10px var(--class-color, #aaa);
  filter: brightness(1.1);
}

/* Class-colored name links */
[class*="class-"] a {
  color: var(--class-color);
  text-shadow: none;
  display: flex;
  align-items: center;
  gap: 10px;
}

/* ======================================================
   FACTION / RACE ICON BORDERS
   ====================================================== */

/* Alliance */
.col img[title="Alliance"],
img.list-page-avatar-circle[alt="race"][src*="race/1-"],
img.list-page-avatar-circle[alt="race"][src*="race/3-"],
img.list-page-avatar-circle[alt="race"][src*="race/4-"],
img.list-page-avatar-circle[alt="race"][src*="race/7-"],
img.list-page-avatar-circle[alt="race"][src*="race/11-"] {
  border: 1px solid #0055ff;
  box-shadow: 0 0 4px #0055ff;
  border-radius: 50%;
}

/* Horde */
.col img[title="Horde"],
img.list-page-avatar-circle[alt="race"][src*="race/2-"],
img.list-page-avatar-circle[alt="race"][src*="race/5-"],
img.list-page-avatar-circle[alt="race"][src*="race/6-"],
img.list-page-avatar-circle[alt="race"][src*="race/8-"],
img.list-page-avatar-circle[alt="race"][src*="race/10-"] {
  border: 1px solid #aa0000;
  box-shadow: 0 0 4px #aa0000;
  border-radius: 50%;
}

/* ======================================================
   RESPONSIVE BEHAVIOR
   ====================================================== */
<!--armor set shared-->

/* === CLASS BAR === */
.class-bar {
  display: flex;
  justify-content: center;      /* center all icons horizontally */
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin: 12px auto 20px;       /* centers block itself */
  padding: 8px 0;
  background: transparent;      /* removes parchment look */
  border: none;
  border-radius: 0;
  backdrop-filter: none;
  box-shadow: none;
}

/* === CLASS TOKEN ICONS === */
.class-token {
  --ring:#888;
  --glow:rgba(136,136,136,.55);
  position: relative;
  width: 40px;
  height: 40px;
  border-radius: 999px;
  background: transparent;
  cursor: pointer;
  box-shadow:
    0 0 0 2px rgba(0,0,0,.45) inset,
    0 0 0 2px rgba(255,255,255,.2);
  transition: transform .12s, box-shadow .12s, filter .12s;
}
.class-token img {
  width: 100%;
  height: 100%;
  border-radius: 999px;
}

/* Hover / Active Effects */
.class-token:hover,
.class-token:focus {
  transform: translateY(-1px);
  filter: brightness(1.05);
  box-shadow:
    0 0 0 2px rgba(0,0,0,.6) inset,
    0 0 0 2px var(--ring),
    0 0 16px var(--glow);
}
.class-token.is-active {
  box-shadow:
    0 0 0 2px rgba(0,0,0,.7) inset,
    0 0 0 2px var(--ring),
    0 0 18px var(--glow);
}

/* === TOOLTIP (class name on hover) === */
.class-token::after {
  content: attr(data-name);
  position: absolute;
  bottom: -30px;
  left: 50%;
  transform: translateX(-50%);
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0.92),
    rgba(0, 0, 0, 0.85)
  );
  color: var(--ring, #ffd700);
  font-size: 12px;
  font-weight: bold;
  padding: 4px 8px;
  border-radius: 4px;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
  box-shadow:
    0 0 4px rgba(0,0,0,0.6),
    0 0 10px var(--glow, rgba(255,255,255,0.25));
  border: 1px solid var(--ring, rgba(255,255,255,0.2));
  z-index: 25;
}
.class-token:hover::after {
  opacity: 1;
  transform: translateX(-50%) translateY(2px);
  box-shadow:
    0 0 6px var(--glow, rgba(255,255,255,0.25)),
    0 0 12px var(--glow, rgba(255,255,255,0.25));
}

/* === CLASS COLOR VARIABLES === */
.is-warrior {--ring:#C79C6E;--glow:rgba(199,156,110,.6);}
.is-paladin {--ring:#F58CBA;--glow:rgba(245,140,186,.6);}
.is-hunter  {--ring:#ABD473;--glow:rgba(171,212,115,.6);}
.is-rogue   {--ring:#FFF569;--glow:rgba(255,245,105,.55);}
.is-priest  {--ring:#FFFFFF;--glow:rgba(255,255,255,.55);}
.is-shaman  {--ring:#0070DE;--glow:rgba(0,112,222,.55);}
.is-mage    {--ring:#69CCF0;--glow:rgba(105,204,240,.55);}
.is-warlock {--ring:#9482C9;--glow:rgba(148,130,201,.55);}
.is-druid   {--ring:#FF7D0A;--glow:rgba(255,125,10,.55);}
.is-dk      {--ring:#C41F3B;--glow:rgba(196,31,59,.55);}

/* === CLASS COLOR TEXT (for inline <b> names) === */
.is-warrior  b { color:#C79C6E; }
.is-paladin  b { color:#F58CBA; }
.is-hunter   b { color:#ABD473; }
.is-rogue    b { color:#FFF569; }
.is-priest   b { color:#FFFFFF; }
.is-shaman   b { color:#0070DE; }
.is-mage     b { color:#69CCF0; }
.is-warlock  b { color:#9482C9; }
.is-druid    b { color:#FF7D0A; }
.is-dk       b { color:#C41F3B; }

/* === SET GROUPING === */
.set-group   { margin: 20px 0 10px; }
.set-title   { font-size: 20px; font-weight: 700; color: #6b2d1f; margin: 14px 0 6px; }
.set-subtitle{ font-weight: 700; color: #7a3f28; }
.set-desc    { margin: 2px 0 10px; }
.set-note    { color: #7b6a52; display: block; margin-top: 2px; }

/* === SET ITEMS === */
.set-item {
  display:inline-block;
  padding:1px 6px;
  margin:0 3px;
  border-radius:7px;
  background:rgba(0,0,0,.06);
  box-shadow:
    0 1px 0 rgba(255,255,255,.2) inset,
    0 1px 2px rgba(0,0,0,.08);
  font-weight:700;
  font-size:12px;
  white-space:nowrap;
}
.set-item img {
  width:14px;
  height:14px;
  margin-right:4px;
  border-radius:3px;
  vertical-align:-2px;
}
.set-item.ghost {
  background:rgba(0,0,0,.05);
  color:#7b6a52;
  opacity:.95;
}

/* === TOOLTIP POPUP FOR ITEMS === */
.talent-tt {
  position:fixed;
  z-index:9999;
  min-width:220px;
  max-width:360px;
  padding:14px;
  background:rgba(16,24,48,.78);
  border:1px solid rgba(200,220,255,.18);
  border-radius:10px;
  color:#e9eefb;
  font:14px/1.45 "Trebuchet MS",Arial,sans-serif;
  pointer-events:none;
  backdrop-filter:blur(2px);
}
.talent-tt h5 {
  margin:0 0 6px;
  font-size:18px;
  font-weight:800;
  color:#f1f6ff;
}
.talent-tt .tt-subtle {
  font-size:13px;
  opacity:.9;
}

/* === SET ROWS === */
.set-row {
  display:flex;
  align-items:center;
  margin:6px 0;
}
.set-name {
  flex:0 0 240px;
  font-weight:bold;
}
.set-icons {
  display:flex;
  gap:6px;
  margin-left:10px;
}
.set-icons img {
  border-radius:4px;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.2),
    0 1px 2px rgba(0,0,0,.4);
  transition:transform .12s,box-shadow .12s;
}
.set-icons img:hover {
  transform:translateY(-2px) scale(1.08);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.35),
    0 2px 6px rgba(0,0,0,.6);
}






body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

main {
  flex: 1 0 auto;
  min-height: 0;
  overflow: visible;
  padding: 8px 0 12px;
}

/* === INLINE FOOTER === */
.site-footer {
  position: relative;
  flex: 0 0 auto;
  width: 100%;
  margin-top: 0;
  text-align: center;
  font-size: 12px;
  line-height: 1.4;
  padding: 10px 0;

  background:
    linear-gradient(to bottom, rgba(12, 10, 8, 0.95), rgba(5, 5, 5, 0.97)),
    linear-gradient(to right, rgba(96, 68, 24, 0.16), rgba(0, 0, 0, 0));
  border-top: 1px solid #3a3118;
  box-shadow: 0 -10px 22px rgba(0, 0, 0, 0.28);
  -webkit-backdrop-filter: blur(8px) saturate(115%);
  backdrop-filter: blur(8px) saturate(115%);
}

/* Wrap the logo + text inline */
.footer-inner {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 14px; /* space between logo and text */
  flex-wrap: wrap; /* keep readable on small screens */
}

/* Blizzard logo */
.footer-inner img {
  height: 36px;
  width: auto;
  opacity: 0.9;
  filter: drop-shadow(0 0 4px rgba(255, 204, 0, 0.25));
  transition: transform 0.3s ease, filter 0.3s ease;
  vertical-align: middle;
}
.footer-inner img:hover {
  transform: scale(1.05);
  filter: drop-shadow(0 0 8px #ffd700);
}

/* Footer text */
.footer-text {
  color: #e4d6a3;
  text-shadow: 0 0 4px rgba(0,0,0,0.9);
  font-size: 12.5px;
}
.footer-text a {
  color: #ffcc00;
  text-decoration: none;
  font-weight: bold;
}
.footer-text a:hover {
  color: #fff1b0;
  text-shadow: 0 0 4px #ffd700, 0 0 8px #ff9900;
}

/* Gold top edge */
.site-footer::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 6px;
  background: linear-gradient(to bottom, rgba(255,215,0,0.12), transparent);
}

.nav-container::after,
.site-footer::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.nav-container::after {
  background: linear-gradient(to bottom, rgba(255, 220, 120, 0.05), transparent 48%);
}

.site-footer::after {
  background: linear-gradient(to top, rgba(255, 220, 120, 0.04), transparent 55%);
}





/* ---------- News Polished WoW Style ---------- */

.news-container {
  width: 100%;
  margin: 0;
  padding: 0;
  font-family: "Trebuchet MS", Verdana, Arial, sans-serif;
  backdrop-filter: blur(2px);
}

/* article spacing */
.news-expand {
  margin-bottom: 20px;
  border-bottom: 1px solid #1e1e1e;
  padding-bottom: 12px;
}

/* header clickable area */
.news-listing {
  cursor: pointer;
  padding: 10px;
  border-radius: 6px;
  transition: background 0.25s ease, transform 0.1s ease;
}
.news-listing:hover {
  background: rgba(210,180,90,0.14);
  transform: translateY(-1px);
}

/* header row layout */
.news-top ul {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.news-top .item-icon img {
  width: 42px;
  height: 42px;
  border-radius: 4px;
  border: 1px solid #292015;
  background: #000;
  box-shadow: 0 0 6px rgba(0,0,0,0.6);
}

.news-entry h1 {
  background: linear-gradient(to right, rgba(30, 20, 5, 0.85), rgba(12, 10, 6, 0.6));
  padding: 8px 12px;
  border-radius: 6px;
  border: 1px solid rgba(180,140,60,0.3);
  box-shadow: inset 0 0 10px rgba(255,200,90,0.08);
  color: #ffcb66;
  margin: 0 0 6px;
  font-weight: 700;
  font-size: 1.15rem;
  text-shadow: 0 0 6px rgba(0,0,0,0.8);
}
.news-expand {
  margin-bottom: 20px;
  border: 1px solid rgba(50, 40, 20, 0.4);
  border-radius: 8px;
  background: rgba(0,0,0,0.4);
  box-shadow: 0 0 10px rgba(0,0,0,0.6);
  padding: 16px;
  transition: transform 0.15s ease, box-shadow 0.25s ease;
}
.news-expand:hover {
  transform: translateY(-2px);
  box-shadow: 0 0 18px rgba(255,215,80,0.15);
}
.frontpage-online-shell {
  margin-left: -29px;
}
.frontpage-online-spacer {
  width: 470px;
}
.frontpage-online-spacer--wide {
  width: 490px;
}
.module-container--banner-active {
  position: relative;
}
.news-archive-link--banner-active {
  position: relative;
}
.frontpage-community-parchment {
  background-repeat: repeat-y;
  background-position: top right;
  height: 7px;
  width: 456px;
  margin-left: 6px;
  font-size: 1px;
}
.frontpage-community-chain {
  position: relative;
}
.frontpage-community-chain--left {
  top: -16px;
  left: -100px;
}
.frontpage-community-chain--right {
  top: -32px;
  left: 100px;
}
.frontpage-community-links-wrap {
  position: relative;
  top: -38px;
  left: 0;
}
.frontpage-community-links-cell {
  position: relative;
  top: 1px;
  left: 0;
}
.html-index-content {
  padding: 10px;
}
.population-status--low {
  color: green;
}
.population-status--medium {
  color: orange;
}
.population-status--high,
.population-status--full {
  color: red;
}
.legacy-subheader-table__fill {
  background-color: #05374a;
}
.legacy-subheader-table__label {
  color: #fff;
}
.legacy-metalborder-table__top-fill {
  background: url('../images/metalborder-top.gif');
}
.legacy-metalborder-table__side-fill--left {
  background: url('../images/metalborder-left.gif');
}
.legacy-metalborder-table__side-fill--right {
  background: url('../images/metalborder-right.gif');
}
.legacy-metalborder-table__bottom-fill {
  background: url('../images/metalborder-bot.gif');
}
.list-page-show-bots-toggle {
  margin-left: 10px;
}


.news-entry .user {
  font-size: 0.82rem;
  color: rgba(200,180,120,0.8);
  text-shadow: 0 0 2px rgba(0,0,0,0.8);
}


/* content block */
.news-item blockquote {
  margin: 0;
  padding: 12px 14px;
  border-left: 3px solid #bda66c;
  background: #101010;
  border-radius: 6px;
  box-shadow: inset 0 0 8px rgba(0,0,0,0.7);
}

.blog-post ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.blog-post li {
  position: relative;
  margin: 6px 0;
  padding-left: 16px;
}
.blog-post li::before {
  content: "\2022";
  color: #ffcc66;
  position: absolute;
  left: 0;
  top: 0;
}

.news-meta-links {
  margin-top: 6px;
  text-align: right;
}


/* banner consistency */
.modern-content img[alt*="Banner"] {
  display: block;
  width: 100%;
  max-width: 520px;
  height: auto;
  margin: 0 auto 20px;
   margin-top: 30px;
  border-radius: 8px;
  box-shadow: 0 0 16px rgba(0,0,0,0.7);
  border: 1px solid #3a2b18;
}

/* section header */
.builddiv-header, .modern-content h2 {
  color: #f8c46c;
  font-size: 1.2rem;
  font-weight: bold;
  text-align: center;
  text-shadow: 0 0 8px rgba(255,215,128,0.5);
  margin-bottom: 12px;
}

/* ======================================================
   GLOBAL STYLES
   ====================================================== */
html {
  height: 100%;
  scroll-padding-top: 64px;
}

img[src*="*.jpg"] {
  display: block;
  margin: 0 auto 12px auto;
  max-width: 100%;
  height: auto;
  border-radius: 6px;
  box-shadow: 0 0 10px rgba(0,0,0,0.6);
}

.site-shell {
  margin: 0;
  box-sizing: border-box;
  min-height: 100vh;
  padding-top: 48px;
  overflow-x: hidden;
  position: relative;
  isolation: isolate;
  background-color: #02060b;
  color: #ddebf6;
  font-family: Arial, sans-serif;
  display: flex;
  flex-direction: column;
}

.site-shell::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  background-color: #000;
  background-image: var(--site-shell-background-image);
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
  filter: saturate(1) contrast(1.04) brightness(.96);
  pointer-events: none;
}

.site-shell::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(ellipse at 82% 24%, rgba(86, 131, 67, 0.1), transparent 34%),
    linear-gradient(90deg, rgba(0, 0, 0, 0.36), rgba(3, 12, 24, 0.22) 18%, rgba(2, 8, 16, 0.62) 42%, rgba(2, 8, 16, 0.64) 62%, rgba(0, 0, 0, 0.24) 84%, rgba(0, 0, 0, 0.42)),
    linear-gradient(180deg, rgba(1, 6, 12, 0.12), rgba(1, 7, 14, 0.72));
  pointer-events: none;
}

.site-shell.menu-open {
  overflow: hidden;
}

.site-main {
  flex: 1 0 auto;
  min-height: 0;
  padding: 8px 0 12px;
}

.modern-wrapper,
.modern-wrapper *,
.modern-wrapper::before,
.modern-wrapper::after {
  box-sizing: border-box;
}

.modern-wrapper {
  position: relative;
  overflow: hidden;
  max-width: 1000px;
  margin: 16px auto;
  border: 1px solid #222;
  border-radius: 10px;
  box-shadow: 0 0 15px rgba(0,0,0,0.7);
  background: rgba(6, 8, 14, 0.24);
  padding: 20px 24px 22px;
  font-family: 'Trebuchet MS', sans-serif;
  color: #ccc;
  --content-flow-space: 16px;
}

.modern-wrapper::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(8, 10, 16, 0.68), rgba(5, 7, 12, 0.58)),
    radial-gradient(circle at top center, rgba(255, 204, 102, 0.06), transparent 42%);
  z-index: 0;
}

.modern-header {
  background: linear-gradient(to right, #2a1b05, #111);
  color: #ffcc66;
  text-align: center;
  padding: 12px 14px;
  margin: 0 0 16px;
  font-size: 1.4rem;
  font-weight: bold;
  border-bottom: 1px solid #2e2e2e;
}

.modern-header-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

.modern-header-title {
  flex: 1 1 240px;
  min-width: 0;
}

.modern-header-controls {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}

.header-action-group,
.builddiv-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.realm-select-form {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  flex-wrap: wrap;
}

.realm-select-label {
  font-weight: bold;
  color: #ffcc00;
}

.realm-select-input {
  padding: 3px 6px;
  border-radius: 4px;
  background: #111;
  border: 1px solid #333;
  color: #fff;
}

.modern-header .btn.secondary {
  display: inline-block;
  padding: 10px 18px;
  border-radius: 8px;
  background: #2f3136;
  border: 1px solid #3d4046;
  color: #f0e0b6;
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  text-shadow: none;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.05), 0 1px 8px rgba(0,0,0,0.25);
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.modern-header .btn.secondary:hover {
  background: #3a3d43;
  border-color: #565a63;
  color: #ffcc66;
}
.modern-content,
.modern-header {
  position: relative;
  z-index: 1;
}

.modern-content > .wow-table,
.modern-content > .sections,
.modern-content > .subsections,
.modern-content > .character-page,
.modern-content > #tc-root,
.modern-content > .tc-container {
  margin-top: var(--content-flow-space) !important;
}

.modern-content > :first-child {
  margin-top: 0 !important;
}

.modern-content > :last-child {
  margin-bottom: 0 !important;
}
.modern-desc {
  color: #ccc;
  margin-bottom: 20px;
  line-height: 1.5;
}

/* ======================================================
   WOW TABLE STYLES
   ====================================================== */
.wow-table {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 1000px;
  margin: 20px auto;
  border: 1px solid #222;
  border-radius: 10px;
  box-sizing: border-box;
  font-family: 'Trebuchet MS', sans-serif;
  color: #ccc;

}
.wow-table::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(13,13,13,0.80);
  z-index: 0;
}
.wow-table .header,
.wow-table .row,
.wow-table .guild-table__header,
.wow-table .guild-table__row,
.wow-table .character-table__header,
.wow-table .character-table__row,
.wow-table .honor-table__header,
.wow-table .honor-table__row,
.wow-table .ah-table__header,
.wow-table .ah-table__row,
.wow-table .ah-header-filters,
.wow-table .item-vault__table-header,
.wow-table .item-vault__table-row {
  position: relative;
  z-index: 1;
  display: grid;
  align-items: center;
  text-align: center;
  padding: 8px 0;
  border-bottom: 1px solid #222;
}
.wow-table .header,
.wow-table .guild-table__header,
.wow-table .character-table__header,
.wow-table .honor-table__header,
.wow-table .ah-table__header,
.wow-table .ah-header-filters,
.wow-table .item-vault__table-header {
  background: linear-gradient(to bottom, #1a1a1a, #101010);
  color: #ffcc66;
  font-weight: bold;
  text-transform: uppercase;
}
.wow-table .row:nth-child(even),
.wow-table .guild-table__row:nth-child(even),
.wow-table .character-table__row:nth-child(even),
.wow-table .honor-table__row:nth-child(even),
.wow-table .ah-table__row:nth-child(even),
.wow-table .item-vault__table-row:nth-child(even) { background: rgba(255,255,255,0.04); }
.wow-table .row:hover,
.wow-table .guild-table__row:hover,
.wow-table .character-table__row:hover,
.wow-table .honor-table__row:hover,
.wow-table .ah-table__row:hover,
.wow-table .item-vault__table-row:hover { background: rgba(255,255,255,0.08); }

/* Links */
.wow-table a {
  color: #ccc;
  text-decoration: none;
  transition: color .2s, text-shadow .2s;
}
.wow-table a:hover {
  color: #fff3a0;
  text-shadow: 0 0 8px #ffcc66;
}

/* Quality Colors */
a.iqual0 { color:#9e9e9e; }
a.iqual1 { color:#eee; }
a.iqual2 { color:#00ff10; }
a.iqual3 { color:#0070dd; }
a.iqual4 { color:#a335ee; }
a.iqual5 { color:#ff8000; }
a.iqual6 { color:#e60000; }
a[class^="iqual"]:hover { color:#fff; }

/* Icons */
.wow-table img.list-page-avatar-circle,
.wow-table .class-icon {
  transition: transform .25s ease, box-shadow .25s ease;
}
.wow-table img.list-page-avatar-circle:hover,
.wow-table .class-icon:hover {
  transform: scale(1.08);
  box-shadow: 0 0 12px currentColor, 0 0 24px rgba(255,255,255,0.2);
}

/* Pagination + Filters */
.wow-table .pagination-controls { text-align:center; margin-top:12px; color:#ccc; }
.wow-table .filter-bar { text-align:center; margin:10px 0 20px; }
.wow-table .filter {
  color:#aaa; text-decoration:none; margin:0 8px; font-weight:bold;
}
.wow-table .filter.is-active,
.wow-table .filter:hover { color:#ffcc66; }

/* Dropdown filter menu */
.wow-table .has-dropdown { position:relative; cursor:pointer; }
.wow-table .dropdown {
  display:none; position:absolute; top:100%; left:0;
  background:#181818; border:1px solid #333; border-radius:4px;
  min-width:160px; z-index:20;
}
.wow-table .has-dropdown:hover .dropdown { display:block; }
.wow-table .option {
  padding:5px 10px; color:#ddd; white-space:nowrap;
}
.wow-table .option:hover {
  background:#333; color:#ffcc66;
}

/* ======================================================
   CLASS & FACTION COLORS
   ====================================================== */
.class-warrior { --class-color:#C79C6E; --class-color-rgb:199,156,110; }
.class-mage { --class-color:#69CCF0; --class-color-rgb:105,204,240; }
.class-priest { --class-color:#FFFFFF; --class-color-rgb:255,255,255; }
.class-hunter { --class-color:#ABD473; --class-color-rgb:171,212,115; }
.class-rogue { --class-color:#FFF569; --class-color-rgb:255,245,105; }
.class-warlock { --class-color:#9482C9; --class-color-rgb:148,130,201; }
.class-paladin { --class-color:#F58CBA; --class-color-rgb:245,140,186; }
.class-druid { --class-color:#FF7D0A; --class-color-rgb:255,125,10; }
.class-shaman { --class-color:#0070DE; --class-color-rgb:0,112,222; }
.class-deathknight { --class-color:#C41F3B; --class-color-rgb:196,31,59; }

[class*="class-"] .portrait,
[class*="class-"] .class-icon {
  color: var(--class-color);
  border-color: var(--class-color);
  box-shadow: 0 0 4px var(--class-color, #888);
  transition: box-shadow 0.25s ease, border-color 0.25s ease;
}
[class*="class-"]:hover .portrait,
[class*="class-"]:hover .class-icon {
  box-shadow: 0 0 10px var(--class-color, #aaa);
  filter: brightness(1.1);
}
[class*="class-"] a {
  color: var(--class-color);
  text-shadow: none;
  display: flex;
  align-items: center;
  gap: 10px;
}

/* Faction Icon Borders */
img.list-page-avatar-circle[alt="race"][src*="race/1-"],
img.list-page-avatar-circle[alt="race"][src*="race/3-"],
img.list-page-avatar-circle[alt="race"][src*="race/4-"],
img.list-page-avatar-circle[alt="race"][src*="race/7-"],
img.list-page-avatar-circle[alt="race"][src*="race/11-"],
.col img[title="Alliance"] {
  border: 1px solid #0055ff;
  box-shadow: 0 0 4px #0055ff;
  border-radius: 50%;
}
img.list-page-avatar-circle[alt="race"][src*="race/2-"],
img.list-page-avatar-circle[alt="race"][src*="race/5-"],
img.list-page-avatar-circle[alt="race"][src*="race/6-"],
img.list-page-avatar-circle[alt="race"][src*="race/8-"],
img.list-page-avatar-circle[alt="race"][src*="race/10-"],
.col img[title="Horde"] {
  border: 1px solid #aa0000;
  box-shadow: 0 0 4px #aa0000;
  border-radius: 50%;
}

/* ======================================================
   RESPONSIVE BEHAVIOR
   ====================================================== */
#commandSearch:focus {
  border-color: #ffcc66;
  outline: none;
}

/* ---------- Command Table ---------- */
#commandTable {
  width: 100%;
  border-collapse: collapse;
  color: #ddd;
}

#commandTable th {
  background: linear-gradient(to bottom, #2a2a2a, #1a1a1a);
  color: #ffcc66;
  font-weight: bold;
  text-align: left;
  padding: 8px;
  border-bottom: 1px solid #333;
  text-transform: uppercase;
}

#commandTable td {
  padding: 10px;
  border-bottom: 1px solid #222;
  vertical-align: top;
}

#commandTable tr:nth-child(even) {
  background: rgba(255,255,255,0.03);
}

#commandTable tr:hover {
  background: rgba(255,204,102,0.08);
}

/* ---------- Details + Summary ---------- */
details summary {
  cursor: pointer;
  font-weight: bold;
  color: #7abaff;
  transition: color 0.3s;
}
details summary:hover {
  color: #ffd97a;
}
details p {
  margin-top: 8px;
  color: #ccc;
  line-height: 1.4;
}

/* ---------- Security Level ---------- */
td.serverStatus b {
  color: #aefb6b;
}

/* ---------- Banner ---------- */
img.ah-banner {
  display: block;
  margin: 0 auto 16px auto;
  max-width: 100%;
  border-radius: 6px;
  box-shadow: 0 0 10px rgba(0,0,0,0.6);
}




/* ---------- Search Box ---------- */
#commandSearch {
  width: 100%;
  padding: 10px 0px;
  margin-bottom: 16px;
  border: 1px solid #444;
  border-radius: 6px;
  background: #0f0f0f;
  color: #eee;
  font-size: 1rem;
  margin-top: 0;
}
#commandSearch:focus {
  border-color: #ffcc66;
  outline: none;
}

/* ---------- Command Table ---------- */
#commandTable {
  width: 100%;
  border-collapse: collapse;
  color: #ddd;
}

#commandTable th {
  background: linear-gradient(to bottom, #2a2a2a, #1a1a1a);
  color: #ffcc66;
  font-weight: bold;
  text-align: left;
  padding: 8px;
  border-bottom: 1px solid #333;
  text-transform: uppercase;
}

#commandTable td {
  padding: 10px;
  border-bottom: 1px solid #222;
  vertical-align: top;
}

#commandTable tr:nth-child(even) {
  background: rgba(255,255,255,0.03);
}

#commandTable tr:hover {
  background: rgba(255,204,102,0.08);
}

/* ---------- Details + Summary ---------- */
details summary {
  cursor: pointer;
  font-weight: bold;
  color: #7abaff;
  transition: color 0.3s;
}
details summary:hover {
  color: #ffd97a;
}
details p {
  margin-top: 8px;
  color: #ccc;
  line-height: 1.4;
}

/* ---------- Security Level ---------- */
td.serverStatus b {
  color: #aefb6b;
}

/* ---------- Banner ---------- */
img.ah-banner {
  display: block;
  margin: 0 auto 16px auto;
  max-width: 100%;
  border-radius: 6px;
  box-shadow: 0 0 10px rgba(0,0,0,0.6);
}
/* ===== CATEGORY COLORS ===== */
tr.cat-chat-commands  { background: rgba(122,186,255,0.05); }
tr.cat-chat-filters   { background: rgba(102,255,153,0.05); }
tr.cat-macros         { background: rgba(255,204,102,0.05); }
tr.cat-strategies     { background: rgba(255,122,191,0.05); }
tr.cat-system-commands{ background: rgba(255,102,102,0.05); }

/* ===== CATEGORY TITLE COLORS ===== */
tr.cat-chat-commands  td:nth-child(2) { color: #7abaff; }
tr.cat-chat-filters   td:nth-child(2) { color: #66ff99; }
tr.cat-macros         td:nth-child(2) { color: #ffcc66; }
tr.cat-strategies     td:nth-child(2) { color: #ff7abf; }
tr.cat-system-commands td:nth-child(2){ color: #ff6666; }

/* ===== SUBCATEGORY COLORS ===== */
tr.sub-combat td:nth-child(3)         { color: #ff4444; }
tr.sub-group td:nth-child(3)          { color: #99ccff; }
tr.sub-guild td:nth-child(3)          { color: #ffaa33; }
tr.sub-inventory td:nth-child(3)      { color: #ffcc99; }
tr.sub-utility td:nth-child(3)        { color: #66ffcc; }
tr.sub-quest-interaction td:nth-child(3){ color: #a1ff66; }
tr.sub-training td:nth-child(3)       { color: #cc99ff; }
tr.sub-bot-management td:nth-child(3) { color: #ff9999; }
tr.sub-behavior td:nth-child(3)       { color: #ffaaee; }


.status.up{color:#9f6;}
.status.down{color:#f66;}
.realm-list{display:flex;flex-direction:column;gap:30px;}
.realm-card{
  background:#111;border:1px solid #333;border-radius:8px;padding:18px 20px;
  box-shadow:0 1px 4px rgba(0,0,0,.5);transition:background .25s;
}
.realm-card.online:hover{background:rgba(0,255,100,.05);}
.realm-card.offline:hover{background:rgba(255,60,60,.05);}
.realm-card__header{display:flex;align-items:center;gap:10px;margin-bottom:8px;}
.realm-card__icon{width:20px;height:20px;}
.realm-card__name{font-weight:bold;color:#ffcc66;font-size:1.1rem;}
.realm-card__body{color:#ccc;line-height:1.4;}
.realm-card__body strong{color:#ffcc66;}








/* === Pagination Wrapper === */
.pagination-controls {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  padding: 12px 18px;
  background: #111;
  border: 1px solid #222;
  border-radius: 8px;
  color: #ccc;
  width: 100%;
  max-width: 1000px;
  box-sizing: border-box;
  margin-left: auto;
  margin-right: auto;
}


/* === Page Links === */
.page-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
  align-items: center;
}

.page-links a,
.page-links span {
  color: #ffcc66;
  text-decoration: none;
  padding: 6px 10px;
  border-radius: 6px;
  font-weight: bold;
  transition: background 0.2s, color 0.2s;
}

.page-links a:hover {
  background: #ffcc66;
  color: #000;
}

.page-links .current {
  background: #ffcc66;
  color: #000;
  font-weight: bold;
  box-shadow: 0 0 6px #ffcc66;
}

.dots {
  color: #ffcc66;
  padding: 0 6px;
  user-select: none;
}

/* === Page Buttons === */
.page-btn {
  color: #ffcc66;
  background: transparent;
  border: 1px solid transparent;
  padding: 4px 8px;
  border-radius: 6px;
  transition: all 0.2s;
  font-weight: bold;
  text-decoration: none;
}

.page-btn:hover {
  background: #ffcc66;
  color: #000;
  border-color: #ffcc66;
}

.page-btn.active {
  background: #ffcc66;
  color: #000;
  border-color: #ffcc66;
  cursor: default;
}

.page-btn.disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

/* === Per Page Form === */
.page-size-form {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #ccc;
  font-family: 'Trebuchet MS', sans-serif;
  font-size: 14px;
}

.page-size-form label {
  color: #ffcc66;
  font-weight: bold;
}

.page-size-form select {
  background: #1a1a1a;
  color: #ffcc66;
  border: 1px solid #444;
  border-radius: 4px;
  padding: 4px 8px;
  cursor: pointer;
  font-weight: bold;
  transition: all 0.2s ease;
}

.page-size-form select:hover {
  border-color: #ffcc66;
  box-shadow: 0 0 6px #ffcc66;
}

.page-size-form span {
  color: #aaa;
}

.pagination-controls,
.character-table {
  max-width: 1000px;
  margin: 0 auto;
}

.character-table {
  width: 100%;
  border-collapse: collapse;
}

/* from server.realmstatus.php */
.status.up{color:#9f6;}
.status.down{color:#f66;}
.realm-list{display:flex;flex-direction:column;gap:30px;}
.realm-card{
  background:
    radial-gradient(circle at top right, rgba(91,170,255,0.10), transparent 30%),
    radial-gradient(circle at left center, rgba(255,196,0,0.09), transparent 26%),
    linear-gradient(180deg, rgba(11,16,28,0.96), rgba(6,8,14,0.98));
  border:1px solid rgba(255,196,0,0.18);
  border-radius:18px;
  padding:20px 22px;
  box-shadow:0 18px 40px rgba(0,0,0,.28);
  transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.realm-card.online:hover,
.realm-card.offline:hover{
  transform:translateY(-1px);
  border-color:rgba(241,207,117,0.34);
  box-shadow:0 22px 44px rgba(0,0,0,.34);
}
.realm-card.online:hover{
  background:
    radial-gradient(circle at top right, rgba(91,170,255,0.10), transparent 30%),
    radial-gradient(circle at left center, rgba(122,255,156,0.12), transparent 26%),
    linear-gradient(180deg, rgba(11,16,28,0.96), rgba(6,8,14,0.98));
}
.realm-card.offline:hover{
  background:
    radial-gradient(circle at top right, rgba(91,170,255,0.10), transparent 30%),
    radial-gradient(circle at left center, rgba(255,106,106,0.11), transparent 26%),
    linear-gradient(180deg, rgba(11,16,28,0.96), rgba(6,8,14,0.98));
}
.realm-card__header{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap;}
.realm-card__icon{width:20px;height:20px;flex-shrink:0;}
.realm-card__name{font-weight:700;color:#ffcc66;font-size:1.1rem;}
.realm-card__body{color:#d9d1ba;line-height:1.6;}
.realm-card__body strong{color:#ffcc66;}

.faction-labels {
  display:flex;
  justify-content:space-between;
  font-size:0.9rem;
  margin:3px 0 2px 0;
  font-weight:bold;
}
.faction-labels .alliance{color:#2b5eff;}
.faction-labels .horde{color:#c11b1b;}

.faction-bar {
  display:flex;
  height:8px;
  border-radius:4px;
  overflow:hidden;
  margin-bottom:4px;
  background:rgba(255,255,255,0.06);
}
.faction-bar .alliance{background:#2b5eff;}
.faction-bar .horde{background:#c11b1b;}

.faction-balance {
  text-align:center;
  font-size:0.85rem;
  margin-top:2px;
  font-weight:bold;
}
.faction-balance.alliance{color:#2b5eff;}
.faction-balance.horde{color:#c11b1b;}
.faction-balance.balanced{color:#aaa;}

.realm-card__progression{margin-top:10px;font-size:.9rem;line-height:1.6;}
.realm-card__progression span{margin-right:8px;}
.realm-card__progression .cleared{color:#9f6;}
.realm-card__progression .partial{color:#ffcc66;}
.realm-card__progression .uncleared{color:#f66;}
.legend{font-size:.9rem;color:#d9d1ba;margin-bottom:6px;}
.legend span{margin-right:10px;}


/* === CLASS BAR === */
.class-bar {
  display: flex;
  justify-content: center;      /* center all icons horizontally */
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin: 12px auto 20px;       /* centers block itself */
  padding: 8px 0;
  background: transparent;      /* removes parchment look */
  border: none;
  border-radius: 0;
  backdrop-filter: none;
  box-shadow: none;
}

/* === CLASS TOKEN ICONS === */
.class-token {
  --ring:#888;
  --glow:rgba(136,136,136,.55);
  position: relative;
  width: 40px;
  height: 40px;
  border-radius: 999px;
  background: transparent;
  cursor: pointer;
  box-shadow:
    0 0 0 2px rgba(0,0,0,.45) inset,
    0 0 0 2px rgba(255,255,255,.2);
  transition: transform .12s, box-shadow .12s, filter .12s;
}
.class-token img {
  width: 100%;
  height: 100%;
  border-radius: 999px;
}

/* Hover / Active Effects */
.class-token:hover,
.class-token:focus {
  transform: translateY(-1px);
  filter: brightness(1.05);
  box-shadow:
    0 0 0 2px rgba(0,0,0,.6) inset,
    0 0 0 2px var(--ring),
    0 0 16px var(--glow);
}
.class-token.is-active {
  box-shadow:
    0 0 0 2px rgba(0,0,0,.7) inset,
    0 0 0 2px var(--ring),
    0 0 18px var(--glow);
}

/* === TOOLTIP (class name on hover) === */
.class-token::after {
  content: attr(data-name);
  position: absolute;
  bottom: -30px;
  left: 50%;
  transform: translateX(-50%);
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0.92),
    rgba(0, 0, 0, 0.85)
  );
  color: var(--ring, #ffd700);
  font-size: 12px;
  font-weight: bold;
  padding: 4px 8px;
  border-radius: 4px;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
  box-shadow:
    0 0 4px rgba(0,0,0,0.6),
    0 0 10px var(--glow, rgba(255,255,255,0.25));
  border: 1px solid var(--ring, rgba(255,255,255,0.2));
  z-index: 25;
}
.class-token:hover::after {
  opacity: 1;
  transform: translateX(-50%) translateY(2px);
  box-shadow:
    0 0 6px var(--glow, rgba(255,255,255,0.25)),
    0 0 12px var(--glow, rgba(255,255,255,0.25));
}

/* === CLASS COLOR VARIABLES === */
.is-warrior {--ring:#C79C6E;--glow:rgba(199,156,110,.6);}
.is-paladin {--ring:#F58CBA;--glow:rgba(245,140,186,.6);}
.is-hunter  {--ring:#ABD473;--glow:rgba(171,212,115,.6);}
.is-rogue   {--ring:#FFF569;--glow:rgba(255,245,105,.55);}
.is-priest  {--ring:#FFFFFF;--glow:rgba(255,255,255,.55);}
.is-shaman  {--ring:#0070DE;--glow:rgba(0,112,222,.55);}
.is-mage    {--ring:#69CCF0;--glow:rgba(105,204,240,.55);}
.is-warlock {--ring:#9482C9;--glow:rgba(148,130,201,.55);}
.is-druid   {--ring:#FF7D0A;--glow:rgba(255,125,10,.55);}
.is-dk      {--ring:#C41F3B;--glow:rgba(196,31,59,.55);}

/* === CLASS COLOR TEXT (for inline <b> names) === */
.is-warrior  b { color:#C79C6E; }
.is-paladin  b { color:#F58CBA; }
.is-hunter   b { color:#ABD473; }
.is-rogue    b { color:#FFF569; }
.is-priest   b { color:#FFFFFF; }
.is-shaman   b { color:#0070DE; }
.is-mage     b { color:#69CCF0; }
.is-warlock  b { color:#9482C9; }
.is-druid    b { color:#FF7D0A; }
.is-dk       b { color:#C41F3B; }

/* === SET GROUPING === */
.set-group   { margin: 20px 0 10px; }
.set-title   { font-size: 20px; font-weight: 700; color: #6b2d1f; margin: 14px 0 6px; }
.set-subtitle{ font-weight: 700; color: #7a3f28; }
.set-desc    { margin: 2px 0 10px; }
.set-note    { color: #7b6a52; display: block; margin-top: 2px; }

/* === SET ITEMS === */
.set-item {
  display:inline-block;
  padding:1px 6px;
  margin:0 3px;
  border-radius:7px;
  background:rgba(0,0,0,.06);
  box-shadow:
    0 1px 0 rgba(255,255,255,.2) inset,
    0 1px 2px rgba(0,0,0,.08);
  font-weight:700;
  font-size:12px;
  white-space:nowrap;
}
.set-item img {
  width:14px;
  height:14px;
  margin-right:4px;
  border-radius:3px;
  vertical-align:-2px;
}
.set-item.ghost {
  background:rgba(0,0,0,.05);
  color:#7b6a52;
  opacity:.95;
}

/* === TOOLTIP POPUP FOR ITEMS === */
.talent-tt {
  position:fixed;
  z-index:9999;
  min-width:220px;
  max-width:360px;
  padding:14px;
  background:rgba(16,24,48,.78);
  border:1px solid rgba(200,220,255,.18);
  border-radius:10px;
  color:#e9eefb;
  font:14px/1.45 "Trebuchet MS",Arial,sans-serif;
  pointer-events:none;
  backdrop-filter:blur(2px);
}
.talent-tt h5 {
  margin:0 0 6px;
  font-size:18px;
  font-weight:800;
  color:#f1f6ff;
}
.talent-tt .tt-subtle {
  font-size:13px;
  opacity:.9;
}

/* === SET ROWS === */
.set-row {
  display:flex;
  align-items:center;
  margin:6px 0;
}
.set-name {
  flex:0 0 240px;
  font-weight:bold;
}
.set-icons {
  display:flex;
  gap:6px;
  margin-left:10px;
}
.set-icons img {
  border-radius:4px;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.2),
    0 1px 2px rgba(0,0,0,.4);
  transition:transform .12s,box-shadow .12s;
}
.set-icons img:hover {
  transform:translateY(-2px) scale(1.08);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.35),
    0 2px 6px rgba(0,0,0,.6);
}


/* ---------- Playermap Frame ---------- */
.playermap-shell {
  display: grid;
  gap: 18px;
}
.playermap-shell .modern-content {
  padding-top: 0;
}
.playermap-frame-wrap {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: center;
  justify-content: center;
}
.playermap-status {
  display: grid;
  gap: 6px;
  width: min(100%, 966px);
  padding: 12px 14px;
  border: 1px solid rgba(112, 210, 255, 0.18);
  border-radius: 10px;
  background: rgba(8, 15, 25, 0.88);
  color: #d6e7f3;
}
.playermap-status strong {
  color: #fff1bd;
}
.playermap-status.is-loaded {
  display: none;
}
.playermap-status.is-delayed {
  border-color: rgba(255, 204, 72, 0.24);
  background: rgba(28, 22, 10, 0.88);
}
.playermap-frame {
  display: block;
  width: min(100%, 966px);
  max-width: 966px;
  height: 740px;
  border: 0;
  background: #05070d;
}


/* ===============================
   AUCTION HOUSE TABLE
   =============================== */
.ah-table { composes: wow-table; }
.ah-table .header,
.ah-table .row,
.ah-table .ah-table__header,
.ah-table .ah-table__row {
  grid-template-columns: 130px 250px 70px 120px 100px 120px 120px 120px;
}
.ah-table .gold-cell { text-align: right; padding-right: 10px; }

/* ===============================
   AUCTION HOUSE FILTER BUTTONS
   =============================== */
.ah-filter-bar {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
}
.pagination-controls {
  margin-top: 20px;
}
.ah-filter {
  color: #ffcc66;
  background: #111;
  border: 1px solid #333;
  border-radius: 6px;
  padding: 4px 10px;
  text-decoration: none;
  font-weight: bold;
  font-size: 0.95rem;
  transition: background 0.2s, color 0.2s, box-shadow 0.2s;
}
.ah-filter:hover {
  background: rgba(255,204,102,0.1);
  box-shadow: 0 0 6px rgba(255,204,102,0.5);
}
.ah-filter.is-active {
  background: linear-gradient(to bottom, #2a2a2a, #1a1a1a);
  border-color: #ffcc66;
  color: #fff3a0;
  box-shadow: 0 0 8px rgba(255,204,102,0.4);
}

/* ===============================
   FACTION COLOR THEMES
   =============================== */
.ah-filter.faction-alliance {
  color: #79a9ff;
  border-color: #3366ff;
  text-shadow: 0 0 6px rgba(120,160,255,0.4);
}
.ah-filter.faction-alliance:hover,
.ah-filter.faction-alliance.is-active {
  background: rgba(60,100,255,0.15);
  box-shadow: 0 0 8px rgba(120,160,255,0.6);
  color: #bcd8ff;
}

.ah-filter.faction-horde {
  color: #ff5c5c;
  border-color: #b30000;
  text-shadow: 0 0 6px rgba(255,60,60,0.4);
}
.ah-filter.faction-horde:hover,
.ah-filter.faction-horde.is-active {
  background: rgba(180,0,0,0.15);
  box-shadow: 0 0 8px rgba(255,60,60,0.6);
  color: #ffc0c0;
}

.ah-filter.faction-blackwater {
  color: #ffcc66;
  border-color: #8b6a2a;
  text-shadow: 0 0 6px rgba(255,204,102,0.4);
}
.ah-filter.faction-blackwater:hover,
.ah-filter.faction-blackwater.is-active {
  background: rgba(255,204,102,0.1);
  box-shadow: 0 0 8px rgba(255,204,102,0.6);
  color: #fff3a0;
}

.ah-filter.faction-neutral {
  color: #ccc;
  border-color: #555;
  text-shadow: 0 0 4px rgba(255,255,255,0.2);
}
.ah-filter.faction-neutral:hover,
.ah-filter.faction-neutral.is-active {
  background: rgba(200,200,200,0.1);
  box-shadow: 0 0 8px rgba(255,255,255,0.4);
  color: #fff;
}

/* === GOLD DISPLAY FIX === */
.gold-cell {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.gold-inline {
  display: inline-flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 2px;
  white-space: nowrap;
}
.gold-inline img {
  height: 14px;
  width: auto;
  vertical-align: middle;
  margin: 0 1px -1px 1px;
}
.ah-table .col.gold-cell {
  padding-right: 8px;
}
.ah-table .header,
.ah-table .row {
  grid-template-columns:
    130px   /* Type */
    280px   /* Item name */
    70px    /* Qty */
    120px   /* Time Left */
    minmax(140px, 1fr)  /* Current Bid */
    minmax(160px, 1fr); /* Buyout */
}

/* keep coin sections aligned and readable */
.gold-cell {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  min-width: 140px;
  gap: 2px;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  font-size: 0.95rem;
}

.guild-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.95fr);
  gap: 24px;
  padding: 18px 24px 14px;
  background: linear-gradient(180deg, rgba(2, 4, 12, 0.92), rgba(1, 2, 8, 0.98));
  border: 1px solid rgba(255, 196, 0, 0.22);
  border-radius: 18px 18px 0 0;
}
.guild-hero-main {
  display: flex;
  align-items: center;
  gap: 16px;
}
.guild-hero-copy {
  min-width: 0;
}
.guild-crest {
  width: 72px;
  height: 72px;
  object-fit: contain;
  filter: drop-shadow(0 0 12px rgba(255, 193, 7, 0.22));
}
.guild-title {
  margin: 0 0 4px;
  font-size: 2.45rem;
  line-height: 0.98;
  color: #fff4c9;
}
.guild-subtitle {
  margin: 0 0 4px;
  font-size: 1.06rem;
  color: #d9c99a;
}
.guild-masterline {
  margin: 0;
  font-size: 0.92rem;
  color: #f2ddb0;
}
.guild-masterline strong {
  color: #ffd65e;
}
.guild-establishedline {
  margin: 2px 0 0;
  font-size: 0.9rem;
  color: #d7c28e;
}
.guild-establishedline strong {
  color: #f4d06a;
  font-weight: 700;
}
.guild-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 20px;
  align-content: start;
}
.guild-meta-card {
  min-width: 0;
}
.guild-meta-label {
  display: block;
  margin-bottom: 3px;
  font-size: 0.74rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #c4b27c;
}
.guild-meta-value {
  font-size: 1.35rem;
  font-weight: 700;
  color: #ffd65e;
}
.guild-shell {
  display: grid;
  grid-template-columns: minmax(0, 1.9fr) minmax(280px, 0.8fr);
  gap: 20px;
  align-items: start;
  padding: 24px 20px 28px;
  overflow: hidden;
  border-top: 0;
  border-radius: 0 0 18px 18px;
}
.guild-side-stack {
  display: flex;
  flex-direction: column;
  gap: 18px;
  min-height: 100%;
  min-width: 0;
  height: 100%;
  align-self: stretch;
}
.guild-section {
  padding: 20px;
  background: rgba(4, 8, 18, 0.34);
  border: 1px solid rgba(255, 204, 72, 0.18);
  border-radius: 16px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
  min-width: 0;
  box-sizing: border-box;
}
.guild-roster-panel {
  min-width: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  align-self: start;
}
.guild-roster-panel.is-height-bound {
  min-height: 0;
}
.guild-motd-panel {
  padding-bottom: 20px;
}
.guild-insights-panel {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
.guild-flavor-form {
  margin-top: 8px;
  display: grid;
  gap: 10px;
}
.guild-flavor-select {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  background: #1a1a1a;
  border: 1px solid #444;
  color: #ddd;
  padding: 8px 10px;
  border-radius: 6px;
  font-size: 13px;
}
.guild-flavor-button {
  justify-self: start;
  background: #2a3a4a;
  color: #7ec8e3;
  border: none;
  border-radius: 6px;
  padding: 8px 14px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
}
.guild-flavor-feedback,
.guild-flavor-error {
  border-radius: 4px;
  padding: 8px 10px;
  margin-bottom: 10px;
  font-size: 13px;
}
.guild-flavor-feedback {
  background: #1a3a1a;
  border: 1px solid #3a6a3a;
  color: #7ec87e;
}
.guild-flavor-error {
  background: #3a1a1a;
  border: 1px solid #6a3a3a;
  color: #e07e7e;
}
.guild-panel-title,
.guild-side-title {
  margin: 0 0 16px;
  font-size: 1.9rem;
  color: #fff7d1;
}
.guild-side-title {
  font-size: 1.55rem;
}
.guild-filter-grid {
  display: grid;
  grid-template-columns: minmax(240px, 1.7fr) 180px 180px auto;
  gap: 14px;
  margin-bottom: 16px;
}
.guild-input,
.guild-select {
  width: 90%;
  height: 46px;
  padding: 0 14px;
  color: #f8f1d4;
  background: rgba(4, 6, 16, 0.94);
  border: 1px solid rgba(255, 196, 0, 0.75);
}
.guild-check {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #f4d05c;
  font-weight: 700;
}
.guild-summary {
  margin: 4px 0 14px;
  color: #ffcc66;
  font-weight: 700;
}
.guild-roster-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin: 4px 0 14px;
  flex-wrap: wrap;
}
.guild-wip-note {
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid rgba(255, 204, 72, 0.2);
  background: rgba(255, 204, 72, 0.08);
  color: #d9c99a;
  font-size: 0.92rem;
}
.guild-wip-note--emphasis {
  cursor: pointer;
  background: rgba(255, 204, 72, 0.12);
  border-color: rgba(255, 204, 72, 0.35);
}
.guild-note-banner {
  margin: 0 0 14px;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid rgba(255, 204, 72, 0.22);
  background: rgba(255, 204, 72, 0.08);
  color: #ffe39a;
}
.guild-note-banner.is-error {
  border-color: rgba(255, 122, 122, 0.3);
  background: rgba(95, 16, 16, 0.4);
  color: #ffd5d5;
}
.guild-roster {
  width: 100%;
  min-width: 960px;
  border-collapse: collapse;
  background: rgba(10, 10, 18, 0.72);
}
.guild-roster-panel.is-leader-tab .guild-roster {
  min-width: 1180px;
}
.guild-roster-table-wrap {
  flex: 1 1 auto;
  max-width: 100%;
  min-height: 0;
  height: auto;
  max-height: none;
  overflow: auto;
  overscroll-behavior: contain;
  padding-bottom: 10px;
  scrollbar-gutter: stable both-edges;
}
.guild-roster-table-wrap.is-leader-tab {
  overflow-x: auto;
  overflow-y: visible;
  padding-bottom: 14px;
}
.guild-roster-table-wrap.is-scroll-bound {
  min-height: 0;
  overflow-y: auto;
}
.guild-roster-table-wrap::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
.guild-roster-table-wrap::-webkit-scrollbar-thumb {
  background: rgba(255, 204, 72, 0.28);
  border-radius: 999px;
}
.guild-roster thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: rgba(10, 10, 18, 0.96);
  padding: 12px 10px;
  text-align: left;
  font-size: 0.9rem;
  color: #ffc21c;
  border-bottom: 1px solid rgba(255, 204, 72, 0.28);
}
.guild-roster thead th a {
  color: inherit;
  text-decoration: none;
  font-weight: 700;
}
.guild-roster thead th a:hover,
.guild-roster thead th a.is-active {
  color: #fff1b0;
}
.guild-status-cell {
  width: 52px;
  text-align: center;
}
.guild-status-dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 999px;
  vertical-align: middle;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.35);
}
.guild-status-dot.online {
  background: #56d37d;
  box-shadow: 0 0 8px rgba(86, 211, 125, 0.45);
}
.guild-status-dot.offline {
  background: #d35b5b;
  box-shadow: 0 0 8px rgba(211, 91, 91, 0.4);
}
.guild-roster tbody td {
  padding: 12px 10px;
  border-bottom: 1px solid rgba(255, 204, 72, 0.14);
  vertical-align: middle;
}
.guild-roster tbody td.guild-notes-cell {
  min-width: 150px;
}
.guild-roster thead th.guild-note-col,
.guild-roster tbody td.guild-note-col {
  width: 150px;
}
.guild-roster tbody tr:nth-child(odd) {
  background: rgba(255, 255, 255, 0.03);
}
.guild-note-stack {
  display: grid;
  gap: 8px;
}
.guild-note-line {
  display: grid;
  gap: 4px;
}
.guild-note-card {
  display: grid;
  gap: 6px;
}
.guild-note-label {
  color: #c4b27c;
  font-size: 0.76rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.guild-note-value {
  color: #f3e6bf;
  line-height: 1.4;
}
.guild-note-value.is-empty {
  color: #8f7d57;
  font-style: italic;
}
.guild-note-form {
  display: grid;
  gap: 10px;
}
.guild-note-form.is-compact {
  gap: 8px;
}
.guild-note-input {
  width: 100%;
  min-height: 40px;
  padding: 0 12px;
  color: #f8f1d4;
  background: rgba(4, 6, 16, 0.94);
  border: 1px solid rgba(255, 196, 0, 0.4);
  border-radius: 10px;
  box-sizing: border-box;
}
.guild-note-help {
  color: #9f8b60;
  font-size: 0.84rem;
}
.guild-note-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}
.guild-note-actions.is-compact {
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
}
.guild-note-save {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid rgba(255, 204, 72, 0.3);
  background: linear-gradient(180deg, #ffd87a, #d9a63d);
  color: #120d03;
  font-weight: 800;
  cursor: pointer;
}
.guild-note-save.is-compact {
  width: 100%;
}
.guild-action-cell {
  min-width: 92px;
}
.guild-action-form {
  margin: 0;
}
.guild-action-buttons {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-wrap: nowrap;
}
.guild-action-placeholder-icon {
  display: inline-block;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
}
.guild-action-btn {
  min-height: 34px;
  min-width: 0;
  padding: 0 6px;
  border-radius: 999px;
  border: 1px solid rgba(255, 204, 72, 0.26);
  background: rgba(255, 204, 72, 0.1);
  color: #ffe39a;
  font-weight: 700;
  cursor: pointer;
  font-size: 0.78rem;
  line-height: 1;
  white-space: nowrap;
}
.guild-action-btn.is-symbol {
  min-width: 34px;
  padding: 0;
  font-size: 0.92rem;
  line-height: 1;
}
.guild-action-btn:hover {
  background: rgba(255, 204, 72, 0.18);
}
.guild-action-btn.is-danger {
  border-color: rgba(255, 122, 122, 0.35);
  background: rgba(120, 26, 26, 0.35);
  color: #ffd5d5;
}
.guild-action-placeholder {
  color: #8f7d57;
  font-style: italic;
}
.guild-member {
  display: flex;
  align-items: center;
  gap: 8px;
}
.guild-portrait,
.guild-class-icon,
.guild-race-icon {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 2px solid rgba(255, 198, 0, 0.45);
  object-fit: cover;
  background: #050505;
}
.guild-rank {
  color: #d6bc7e;
}
.guild-side-copy {
  margin: 0;
  line-height: 1.55;
  color: #d9c99a;
}
.guild-motd-form {
  display: grid;
  gap: 12px;
}
.guild-meeting-helper {
  display: grid;
  gap: 6px;
  max-width: 100%;
}
.guild-meeting-label {
  color: #ffd773;
  font-size: 0.95rem;
  font-weight: 700;
}
.guild-meeting-select {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  background: #1a2230;
  border: 1px solid #4c6487;
  color: #f2f5fb;
  padding: 12px 14px;
  border-radius: 8px;
}
.guild-meeting-select:focus {
  outline: none;
  border-color: #86a8de;
  box-shadow: 0 0 0 2px rgba(134, 168, 222, 0.18);
}
.guild-motd-input {
  width: 90%;
  min-height: 92px;
  padding: 12px 14px;
  color: #f8f1d4;
  background: rgba(4, 6, 16, 0.94);
  border: 1px solid rgba(255, 196, 0, 0.4);
  border-radius: 14px;
  resize: vertical;
  line-height: 1.5;
}
.guild-motd-input:focus {
  outline: none;
  border-color: rgba(255, 220, 112, 0.8);
  box-shadow: 0 0 0 2px rgba(255, 196, 0, 0.12);
}
.guild-motd-help {
  display: grid;
  gap: 8px;
  color: #d7c28e;
  font-size: 0.92rem;
  line-height: 1.55;
}
.guild-motd-help strong {
  color: #ffe39a;
}
.guild-motd-example {
  margin: 0;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(255, 196, 0, 0.18);
  background: rgba(255, 204, 72, 0.08);
  color: #fff0bf;
  font-family: Consolas, "Courier New", monospace;
  font-size: 0.9rem;
}
.guild-motd-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.guild-motd-status {
  color: #cdbb8b;
  font-size: 0.88rem;
}
.guild-motd-current {
  margin: 0 0 12px;
}
.guild-divider {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid rgba(255, 204, 72, 0.16);
}
.guild-breakdown {
  display: grid;
  gap: 10px;
}
.guild-breakdown-row {
  display: grid;
  grid-template-columns: 110px 1fr 34px;
  gap: 12px;
  align-items: center;
}
.guild-breakdown-label {
  color: var(--class-color, #e5d4a0);
  font-weight: 700;
}
.guild-breakdown-bar {
  height: 14px;
  border-radius: 999px;
  background: rgba(255,255,255,0.08);
  overflow: hidden;
}
.guild-breakdown-fill {
  height: 100%;
  border-radius: 999px;
  box-shadow: 0 0 14px rgba(var(--class-color-rgb, 255, 204, 72), 0.22);
}
.guild-breakdown-row > div:last-child {
  color: var(--class-color, #f3e6bf);
  font-weight: 700;
}
.guild-level-breakdown {
  margin-top: 18px;
}
.guild-level-columns {
  display: grid;
  grid-template-columns: repeat(9, minmax(0, 1fr));
  justify-content: stretch;
  gap: 6px;
  align-items: end;
  min-height: 190px;
  margin-top: 12px;
}
.guild-level-column {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  min-width: 0;
}
.guild-level-value {
  color: #f3d58d;
  font-weight: 700;
  font-size: 0.78rem;
}
.guild-level-track {
  display: flex;
  align-items: end;
  justify-content: center;
  width: 100%;
  height: 132px;
  padding: 4px;
  border-radius: 12px 12px 8px 8px;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.01)),
    repeating-linear-gradient(
      to top,
      rgba(255,255,255,0.05) 0,
      rgba(255,255,255,0.05) 1px,
      transparent 1px,
      transparent 20%
    );
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.05);
}
.guild-level-fill {
  width: 100%;
  min-height: 8px;
  border-radius: 8px 8px 6px 6px;
  background: var(--class-color, #ffcc66);
}
.guild-level-label {
  color: var(--class-color, #f3e6bf);
  font-weight: 700;
  font-size: 0.68rem;
  text-align: center;
  line-height: 1.15;
  overflow-wrap: anywhere;
}
.class-priest .guild-breakdown-fill {
  box-shadow: inset 0 0 0 1px rgba(12, 12, 18, 0.55), 0 0 14px rgba(255,255,255,0.28);
}
[class*="class-"] a {
  color: var(--class-color);
  text-decoration: none;
  font-weight: 700;
}

.item-detail-page { display: grid; gap: 18px; }
.item-detail-error { padding: 16px 18px; border-radius: 14px; border: 1px solid rgba(255, 107, 107, 0.26); background: rgba(140, 29, 29, 0.2); color: #ffd5d5; }
.item-detail-return { display: flex; justify-content: flex-end; }
.item-detail-hero { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(280px, 0.9fr); gap: 22px; padding: 26px 28px; border: 1px solid rgba(255, 196, 0, 0.2); border-radius: 18px; background: radial-gradient(circle at top right, rgba(255, 176, 61, 0.14), transparent 34%), linear-gradient(180deg, rgba(6, 9, 19, 0.96), rgba(4, 5, 13, 0.98)); }
.item-detail-hero-main { display: grid; gap: 18px; min-width: 0; }
.item-detail-head { display: flex; gap: 20px; align-items: flex-start; }
.item-detail-hero-copy { min-width: 0; }
.item-detail-icon { width: 86px; height: 86px; border-radius: 18px; border: 1px solid rgba(255, 196, 0, 0.35); background: rgba(0, 0, 0, 0.55); box-shadow: 0 18px 34px rgba(0, 0, 0, 0.28); }
.item-detail-eyebrow { margin: 0 0 8px; color: #c6b07a; letter-spacing: 0.08em; text-transform: uppercase; font-size: 0.82rem; }
.item-detail-title { margin: 0; font-size: 2.5rem; line-height: 1.02; }
.item-detail-title a { color: inherit; text-decoration: none; border-bottom: 1px dashed rgba(255, 227, 154, 0.34); }
.item-detail-title a:hover { color: inherit; border-bottom-color: rgba(255, 227, 154, 0.76); }
.item-detail-subtitle { margin: 10px 0 0; color: #e2d4ae; font-size: 1.1rem; }
.item-detail-subtitle-link { color: inherit; text-decoration: none; border-bottom: 1px dashed rgba(255, 227, 154, 0.38); }
.item-detail-subtitle-link:hover { color: #fff1bd; border-bottom-color: rgba(255, 227, 154, 0.76); }
.item-detail-description { margin: 14px 0 0; color: #bfae82; line-height: 1.55; font-style: italic; }
.item-detail-description--set { margin: 0; max-width: none; }
.item-detail-actions { margin-top: 18px; display: flex; gap: 12px; flex-wrap: wrap; }
.item-detail-realm-switch { display: grid; gap: 6px; min-width: min(260px, 100%); }
.item-detail-realm-switch span { color: #cfbc87; font-size: 0.82rem; text-transform: uppercase; letter-spacing: 0.08em; }
.item-detail-realm-switch select { width: 100%; min-height: 42px; border-radius: 999px; border: 1px solid rgba(255, 196, 0, 0.22); background: rgba(8,10,19,0.88); color: #f5ebcd; padding: 0 16px; box-sizing: border-box; }
.item-detail-link { display: inline-flex; align-items: center; min-height: 42px; padding: 0 16px; border-radius: 999px; border: 1px solid rgba(255, 196, 0, 0.32); color: #ffe39a; text-decoration: none; font-weight: 700; background: rgba(255, 204, 72, 0.06); }
.item-detail-link:hover { background: rgba(255, 204, 72, 0.12); }
.item-detail-meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 18px; align-content: start; }
.item-detail-card { padding: 18px 18px 16px; border-radius: 16px; background: rgba(255,255,255,0.03); border: 1px solid rgba(255, 204, 72, 0.18); }
.item-detail-card--span-2 { grid-column: 1 / -1; }
.item-detail-card--realm { padding-bottom: 18px; }
.item-detail-card--action { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; justify-content: flex-start; }
.item-detail-card-label { display: block; margin-bottom: 6px; color: #c4b27c; font-size: 0.8rem; letter-spacing: 0.08em; text-transform: uppercase; }
.item-detail-card-value { color: #ffd467; font-size: 1.55rem; font-weight: 700; }
.item-detail-card-value a { color: inherit; text-decoration: none; border-bottom: 1px dashed rgba(255, 227, 154, 0.34); }
.item-detail-card-value a:hover { border-bottom-color: rgba(255, 227, 154, 0.76); }
.item-detail-grid { display: grid; grid-template-columns: minmax(320px, 0.9fr) minmax(0, 1.5fr); gap: 18px; }
.item-detail-panel { padding: 22px 24px; border-radius: 18px; border: 1px solid rgba(255, 196, 0, 0.18); background: rgba(5, 8, 18, 0.62); }
.item-detail-panel-title { margin: 0 0 16px; color: #fff4c4; font-size: 1.7rem; }
.item-detail-facts { display: grid; gap: 12px; }
.item-detail-fact { display: grid; gap: 4px; padding-bottom: 12px; border-bottom: 1px solid rgba(255, 204, 72, 0.12); }
.item-detail-fact:last-child { padding-bottom: 0; border-bottom: 0; }
.item-detail-fact span { color: #bda877; font-size: 0.83rem; text-transform: uppercase; letter-spacing: 0.08em; }
.item-detail-fact strong { color: #f7edd0; font-size: 1.08rem; }
.item-detail-fact a { color: inherit; text-decoration: none; border-bottom: 1px dashed rgba(255, 227, 154, 0.34); }
.item-detail-fact a:hover { color: #fff1bd; border-bottom-color: rgba(255, 227, 154, 0.76); }
.item-detail-tooltip-shell { min-height: 320px; }
.item-detail-tooltip-shell .talent-tt,
.item-detail-tooltip-shell .tt-item { max-width: none; }
.item-detail-tooltip-loading { padding: 16px 18px; border-radius: 12px; border: 1px solid rgba(255, 196, 0, 0.24); background: rgba(1, 4, 10, 0.8); color: #f8e8af; }
.item-random-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 14px; }
.item-random-card { padding: 16px 18px; border-radius: 14px; border: 1px solid rgba(255, 196, 0, 0.16); background: rgba(255,255,255,0.03); }
.item-random-name { margin: 0 0 6px; color: #1eff00; font-size: 1.08rem; font-weight: 800; }
.item-random-chance { color: #cdb88a; font-size: 0.92rem; }
.item-random-stats { margin: 10px 0 0; padding: 0; list-style: none; display: grid; gap: 6px; }
.item-random-stats li { color: #f7edd0; }
.item-owner-table { width: 100%; border-collapse: collapse; background: rgba(10, 10, 18, 0.72); }
.item-owner-table thead th { padding: 14px 16px; text-align: left; font-size: 0.95rem; color: #ffc21c; border-bottom: 1px solid rgba(255, 204, 72, 0.28); }
.item-owner-table tbody td { padding: 14px 16px; border-bottom: 1px solid rgba(255, 204, 72, 0.14); vertical-align: middle; }
.item-owner-table tbody tr:nth-child(odd) { background: rgba(255, 255, 255, 0.03); }
.item-owner-link,
.item-guild-link { text-decoration: none; font-weight: 700; }
.item-owner-link:hover,
.item-guild-link:hover { text-decoration: underline; }
.item-owner-icons { display: flex; align-items: center; gap: 8px; }
.item-owner-icons img { width: 26px; height: 26px; border-radius: 50%; border: 1px solid rgba(255, 196, 0, 0.28); background: #050505; }
.item-owner-faction img { width: 28px; height: 28px; border-radius: 50%; border: 1px solid rgba(255, 196, 0, 0.28); background: #050505; display: block; object-fit: cover; }
.item-tabs { display: grid; gap: 16px; }
.item-tabs-nav { display: flex; flex-wrap: wrap; gap: 10px; }
.item-tabs-nav button { min-height: 42px; padding: 0 16px; border-radius: 999px; border: 1px solid rgba(255, 196, 0, 0.22); background: rgba(255,255,255,0.03); color: #f6e8be; cursor: pointer; font-weight: 700; }
.item-tabs-nav button.is-active { background: rgba(255, 204, 72, 0.14); border-color: rgba(255, 204, 72, 0.42); color: #fff1bd; }
.item-tab-panel { display: none; }
.item-tab-panel.is-active { display: block; }
.item-upgrade-shell { display: grid; gap: 16px; }
.item-upgrade-controls { display: grid; gap: 14px; padding: 16px 18px; border-radius: 14px; border: 1px solid rgba(255, 196, 0, 0.16); background: rgba(255,255,255,0.03); }
.item-upgrade-form { display: grid; gap: 12px; }
.item-upgrade-form-row { display: grid; grid-template-columns: minmax(180px, 0.7fr) minmax(0, 1.4fr) auto; gap: 12px; align-items: end; }
.item-upgrade-field { display: grid; gap: 6px; }
.item-upgrade-field span { color: #cfbc87; font-size: 0.82rem; text-transform: uppercase; letter-spacing: 0.08em; }
.item-upgrade-field select,
.item-upgrade-field input { width: 100%; min-height: 44px; border-radius: 12px; border: 1px solid rgba(255, 196, 0, 0.22); background: rgba(8,10,19,0.88); color: #f5ebcd; padding: 0 14px; box-sizing: border-box; }
.item-upgrade-form-actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; }
.item-upgrade-button,
.item-upgrade-fallback,
.item-upgrade-clear { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 0 16px; border-radius: 999px; border: 1px solid rgba(255, 196, 0, 0.32); background: rgba(255, 204, 72, 0.08); color: #ffe39a; text-decoration: none; font-weight: 700; cursor: pointer; }
.item-upgrade-fallback { border-color: rgba(255, 196, 0, 0.22); background: rgba(255,255,255,0.03); }
.item-upgrade-clear { border-color: rgba(194, 66, 66, 0.38); background: rgba(194, 66, 66, 0.12); color: #ffb3a8; }
.item-upgrade-summary { display: flex; flex-wrap: wrap; gap: 10px; }
.item-upgrade-pill { display: inline-flex; align-items: center; min-height: 30px; padding: 0 12px; border-radius: 999px; background: rgba(255, 194, 28, 0.1); color: #ffe49e; font-size: 0.84rem; }
.item-upgrade-note { color: #cfbc87; line-height: 1.45; }
.item-upgrade-note code { color: #fff0bc; }
.item-upgrade-grid { display: grid; gap: 12px; }
.item-upgrade-card { display: grid; grid-template-columns: 60px minmax(0, 1fr); gap: 14px; padding: 14px 16px; border-radius: 14px; border: 1px solid rgba(255, 196, 0, 0.16); background: rgba(255,255,255,0.03); }
.item-upgrade-card img { width: 52px; height: 52px; border-radius: 12px; border: 1px solid rgba(255, 196, 0, 0.22); background: rgba(0,0,0,0.45); }
.item-upgrade-name { margin: 0 0 6px; font-size: 1.05rem; font-weight: 800; }
.item-upgrade-name a { text-decoration: none; }
.item-upgrade-meta,
.item-comment-meta { color: #cfbc87; line-height: 1.45; }
.item-upgrade-score { display: flex; flex-wrap: wrap; gap: 10px; margin: 8px 0 0; color: #fff1bd; font-weight: 700; }
.item-upgrade-score strong { color: #ffd467; }
.item-comment-list { display: grid; gap: 12px; }
.item-comment-card { padding: 14px 16px; border-radius: 14px; border: 1px solid rgba(255, 196, 0, 0.16); background: rgba(255,255,255,0.03); }
.item-comment-header { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 8px; color: #fff1bd; font-weight: 700; }
.item-comment-poster-meta { display: grid; gap: 2px; min-width: 0; }
.item-comment-poster-name { color: #fff1bd; }
.item-comment-poster-level { color: #c8b17a; font-size: 0.92rem; font-weight: 600; }
.item-comment-body { color: #f2e7ca; line-height: 1.6; }
.item-comment-form { display: grid; gap: 10px; margin-top: 16px; }
.item-comment-poster { display: grid; gap: 6px; }
.item-comment-poster span { color: #cfbc87; font-size: 0.82rem; text-transform: uppercase; letter-spacing: 0.08em; }
.item-comment-poster select { width: 100%; min-height: 44px; border-radius: 12px; border: 1px solid rgba(255, 196, 0, 0.22); background: rgba(8,10,19,0.88); color: #f5ebcd; padding: 0 14px; box-sizing: border-box; }
.item-comment-form textarea { width: 100%; min-height: 140px; border-radius: 12px; border: 1px solid rgba(255, 196, 0, 0.22); background: rgba(8,10,19,0.88); color: #f5ebcd; padding: 14px; box-sizing: border-box; }
.item-comment-submit { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 0 16px; border-radius: 999px; border: 1px solid rgba(255, 196, 0, 0.34); background: rgba(255, 204, 72, 0.08); color: #ffe39a; text-decoration: none; font-weight: 700; cursor: pointer; }
.item-comment-message { margin-bottom: 12px; padding: 12px 14px; border-radius: 12px; }
.item-comment-message.is-error { background: rgba(140, 29, 29, 0.2); border: 1px solid rgba(255, 107, 107, 0.26); color: #ffd5d5; }
.item-comment-message.is-success { background: rgba(33, 84, 33, 0.2); border: 1px solid rgba(124, 255, 124, 0.18); color: #ddffdd; }
.item-set-summary-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.item-set-summary-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 18px; }
.item-set-piece-list,
.item-set-bonus-list { display: grid; gap: 10px; }
.item-set-piece { display: block; padding: 12px 14px; border-radius: 12px; border: 1px solid rgba(255, 196, 0, 0.16); background: rgba(255,255,255,0.03); color: #f5ebcd; text-decoration: none; }
.item-set-piece--full { display: grid; grid-template-columns: 52px 1fr; gap: 14px; align-items: center; }
.item-set-piece--full img { width: 52px; height: 52px; border-radius: 12px; border: 1px solid rgba(255, 196, 0, 0.24); background: rgba(0,0,0,0.35); object-fit: cover; }
.item-set-piece.is-active { border-color: rgba(255, 215, 119, 0.42); background: rgba(255, 204, 72, 0.08); color: #fff3c4; font-weight: 700; }
.item-set-bonus { display: grid; grid-template-columns: auto 1fr; gap: 10px; align-items: start; padding: 12px 14px; border-radius: 12px; border: 1px solid rgba(255, 196, 0, 0.12); background: rgba(255,255,255,0.025); color: #f2e7ca; }
.item-set-bonus-pieces { color: #ffe39a; font-weight: 700; }
.item-set-bonus span:last-child { line-height: 1.45; }

@media (max-height: 1100px) and (min-width: 1200px) {
  .item-detail-page { gap: 14px; }
  .item-detail-hero { grid-template-columns: minmax(0, 1.45fr) minmax(250px, 0.82fr); gap: 16px; padding: 20px 22px; }
  .item-detail-hero-main { gap: 14px; }
  .item-detail-head { gap: 16px; }
  .item-detail-icon { width: 72px; height: 72px; border-radius: 14px; }
  .item-detail-eyebrow { margin-bottom: 6px; font-size: 0.75rem; }
  .item-detail-title { font-size: 2rem; }
  .item-detail-subtitle { font-size: 1rem; }
  .item-detail-description { font-size: 0.96rem; line-height: 1.55; }
  .item-detail-meta { gap: 10px; }
  .item-detail-card { padding: 12px 14px; }
  .item-detail-card-label { font-size: 0.72rem; }
  .item-detail-card-value { font-size: 1rem; }
  .item-detail-grid { grid-template-columns: minmax(280px, 0.88fr) minmax(0, 1.12fr); gap: 14px; }
  .item-detail-panel { padding: 18px 20px; }
  .item-detail-panel-title { margin-bottom: 12px; font-size: 1.4rem; }
  .item-set-piece-list,
  .item-set-bonus-list { gap: 8px; }
  .item-set-piece { padding: 10px 12px; }
  .item-set-piece--full { grid-template-columns: 44px 1fr; gap: 12px; }
  .item-set-piece--full img { width: 44px; height: 44px; border-radius: 10px; }
  .item-set-bonus { gap: 8px; padding: 10px 12px; }
}
.item-quality-0 { color: #9d9d9d; }
.item-quality-1 { color: #ffffff; }
.item-quality-2 { color: #1eff00; }
.item-quality-3 { color: #0070dd; }
.item-quality-4 { color: #a335ee; }
.item-quality-5 { color: #ff8000; }

@media (max-width: 820px) {
  .item-upgrade-form-row { grid-template-columns: 1fr; }
  .item-upgrade-form-actions { justify-content: flex-start; }
}

.admin-home {
  color: #f4efe2;
  width: min(100%, 1120px);
  margin: 0 auto;
}
.admin-home__intro {
  margin-bottom: 0;
}
.admin-home__eyebrow {
  margin: 0 0 8px;
  color: #c9a45a;
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.admin-home__title {
  margin: 0 0 6px;
  color: #ffca5a;
  font-size: 20px;
  font-weight: 700;
}
.admin-home__body {
  margin: 0;
  color: #d6d0c4;
  line-height: 1.6;
}
.admin-home__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 18px;
}
.admin-home__card { color: #f4efe2; }
.admin-home__card h3 {
  margin: 0 0 8px;
  color: #ffca5a;
  font-size: 15px;
}
.admin-home__card p {
  margin: 0 0 14px;
  color: #cfc8ba;
  line-height: 1.55;
}
.admin-home__links {
  margin: 0;
  padding: 0;
  list-style: none;
}
.admin-home__links li + li { margin-top: 10px; }
.admin-home__links a {
  display: block;
  padding: 10px 12px;
  border: 1px solid rgba(255, 206, 102, 0.22);
  border-radius: 14px;
  background: rgba(22, 34, 58, 0.88);
  color: #e7f0ff;
  text-decoration: none;
  font-weight: 600;
  transition: background 0.18s ease, border-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}
.admin-home__links small {
  display: block;
  margin-top: 4px;
  color: #c7bead;
  font-weight: 400;
  line-height: 1.45;
}
.admin-home__links a:hover {
  background: rgba(40, 64, 102, 0.95);
  border-color: rgba(127, 199, 255, 0.28);
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.2);
  transform: translateY(-1px);
}

.realm-admin {
  color: #f4efe2;
  width: min(100%, 1120px);
  margin: 0 auto;
}
.realm-admin__intro {
  margin-bottom: 0;
  line-height: 1.6;
}
.realm-admin__intro strong { color: #ffca5a; }
.realm-admin__table-wrap {
  overflow-x: auto;
  margin-bottom: 0;
}
.realm-admin__table {
  width: 100%;
  border-collapse: collapse;
  min-width: 1080px;
}
.realm-admin__table th,
.realm-admin__table td {
  padding: 12px 10px;
  border-bottom: 1px solid rgba(230, 193, 90, 0.12);
  text-align: left;
  vertical-align: top;
}
.realm-admin__table th {
  color: #c9a45a;
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background: rgba(255, 198, 87, 0.05);
}
.realm-admin__table tr:last-child td { border-bottom: none; }
.realm-admin__name {
  color: #6fb2ff;
  font-weight: 700;
  text-decoration: none;
}
.realm-admin__muted { color: #b8b0a0; }
.realm-admin__secret { color: #b8b0a0; letter-spacing: 0.08em; }
.realm-admin__card { color: #f4efe2; }
.realm-admin__card h3 {
  margin: 0 0 6px;
  color: #ffca5a;
  font-size: 18px;
}
.realm-admin__card p {
  margin: 0 0 16px;
  color: #cfc7b8;
}
.realm-admin__form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 16px;
}
.realm-admin__field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.realm-admin__field label {
  color: #c9a45a;
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.realm-admin__field input,
.realm-admin__field select {
  width: 100%;
  box-sizing: border-box;
  padding: 10px 12px;
  border: 1px solid rgba(230, 193, 90, 0.2);
  border-radius: 10px;
  background: rgba(7, 10, 16, 0.85);
  color: #f4efe2;
}
.realm-admin__advanced {
  grid-column: 1 / -1;
  margin-top: 4px;
  padding-top: 14px;
  border-top: 1px solid rgba(230, 193, 90, 0.12);
}
.realm-admin__advanced-title {
  margin: 0 0 12px;
  color: #c9a45a;
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.realm-admin__actions {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  margin-top: 18px;
  flex-wrap: wrap;
}
.realm-admin__button,
.realm-admin__button:visited {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 14px;
  border: 1px solid rgba(255, 206, 102, 0.22);
  border-radius: 999px;
  background: rgba(22, 34, 58, 0.88);
  color: #e7f0ff;
  text-decoration: none;
  font-weight: 700;
  transition: background 0.18s ease, border-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}
.realm-admin__button:hover {
  background: rgba(40, 64, 102, 0.95);
  border-color: rgba(127, 199, 255, 0.28);
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.18);
  transform: translateY(-1px);
}
.realm-admin__button--danger {
  border-color: rgba(210, 82, 82, 0.35);
  background: rgba(176, 47, 47, 0.18);
  color: #ffe2e2;
}
.realm-admin__button--danger:hover {
  background: rgba(170, 35, 35, 0.28);
  text-decoration: none;
}
.realm-admin__actions input.realm-admin__button {
  cursor: pointer;
}

.ah-search-form { display: grid; gap: 12px; }
.ah-filter-group { min-width: 0; }
.ah-filter-group label {
  display: block;
  color: #ffcc66;
  font-weight: bold;
  margin-bottom: 4px;
}
.ah-filter-group select,
.ah-filter-group input[type="number"] {
  width: 100%;
  box-sizing: border-box;
}
.ah-controls {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}
.ah-filter-bar {
  justify-content: flex-end;
  gap: 10px;
}
.ah-table {
  width: 100%;
}
.ah-table .ah-table__header,
.ah-table .ah-header-filters,
.ah-table .ah-table__row {
  width: 100%;
  grid-template-columns: minmax(132px,1.05fr) minmax(240px,2.7fr) minmax(60px,.48fr) minmax(82px,.62fr) minmax(82px,.62fr) minmax(108px,.78fr) minmax(142px,1fr) minmax(142px,1fr) !important;
}
.ah-table .ah-table__cell:nth-child(1),
.ah-table .ah-table__cell:nth-child(2) {
  text-align: left;
  padding: 0 12px;
}
.ah-table .ah-table__header .ah-table__cell {
  white-space: nowrap;
  min-width: 0;
}
.ah-header-filter-control,
.ah-header-filter-input {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
.ah-quality-filter-wrap {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.ah-header-filter-control--quality {
  max-width: 180px;
}
.ah-header-filter-control.quality-any { color: #f4ead0; }
.ah-header-filter-control.quality-0 { color: #9d9d9d; }
.ah-header-filter-control.quality-1 { color: #ffffff; }
.ah-header-filter-control.quality-2 { color: #1eff00; }
.ah-header-filter-control.quality-3 { color: #0070dd; }
.ah-header-filter-control.quality-4 { color: #a335ee; }
.ah-header-filter-control.ah-header-filter-control--quality,
.ah-header-filter-control.ah-header-filter-control--quality option {
  color: #1b1f26;
  background-color: #ffffff;
}
.ah-header-filter-input {
  min-height: 38px;
}
.ah-header-apply {
  white-space: nowrap;
}
.ah-table .ah-table__cell:nth-child(2) a {
  white-space: normal;
  line-height: 1.2;
}
.ah-table .ah-table__header .ah-table__cell:nth-child(n+3):nth-child(-n+6),
.ah-table .ah-table__row .ah-table__cell:nth-child(n+3):nth-child(-n+8) {
  text-align: center;
}
.ah-table .ah-table__header .ah-table__cell:nth-child(7),
.ah-table .ah-table__header .ah-table__cell:nth-child(8),
.ah-table .ah-table__row .ah-table__cell:nth-child(7),
.ah-table .ah-table__row .ah-table__cell:nth-child(8) {
  text-align: right;
}
.ah-table .ah-table__header .ah-table__cell:nth-child(7),
.ah-table .ah-table__header .ah-table__cell:nth-child(8),
.ah-table .price-cell {
  padding-right: 14px;
}
.ah-table .price-cell {
  white-space: nowrap;
}

.guild-table .guild-table__header .guild-table__cell a {
  color: inherit;
  text-decoration: none;
  font-weight: 700;
}
.guild-table .guild-table__header .guild-table__cell a:hover,
.guild-table .guild-table__header .guild-table__cell a.is-active {
  color: #fff1b0;
}
.guild-table .guild-table__header,
.guild-table .guild-table__row {
  grid-template-columns: minmax(240px, 2.3fr) 96px minmax(180px, 1.3fr) minmax(88px, auto) minmax(84px, auto) minmax(84px, auto) minmax(96px, auto) minmax(96px, auto);
}
.guild-table .guild-table__header .guild-table__cell {
  white-space: nowrap;
}
.guild-table .guild-table__cell:nth-child(1),
.guild-table .guild-table__cell:nth-child(3) {
  text-align: left;
  padding: 0 12px;
}
.guild-table .guild-table__name a,
.guild-table .guild-table__leader a {
  font-weight: bold;
}
.guild-table .guild-table__faction {
  display: flex;
  justify-content: center;
  align-items: center;
}
.guild-table .guild-table__faction img {
  width: 34px;
  height: 34px;
  object-fit: contain;
}
.guild-table .guild-table__faction-filter {
  display: flex;
  align-items: center;
  justify-content: center;
}
.guild-table .guild-table__inline-filter {
  min-width: 108px;
}
.guild-table .guild-table__motd {
  color: #b6a57c;
  font-size: 0.95rem;
  white-space: normal;
  line-height: 1.2;
}
.guild-table.gm-mode .guild-table__header,
.guild-table.gm-mode .guild-table__row {
  grid-template-columns: minmax(240px, 2.3fr) 96px minmax(180px, 1.3fr) minmax(88px, auto) minmax(220px, 1fr);
}
.guild-table .guild-table__motd-edit input[type="text"] {
  background: #1a1a1a;
  border: 1px solid #444;
  color: #ddd;
  padding: 3px 6px;
  border-radius: 3px;
  font-size: 0.82rem;
  flex: 1;
  min-width: 0;
}
.guild-table .guild-table__motd-edit button {
  background: #333;
  border: 1px solid #555;
  color: #aaa;
  padding: 3px 8px;
  border-radius: 3px;
  font-size: 0.8rem;
  white-space: nowrap;
}
.guild-toolbar label.inline-toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #f1cf75;
  font-size: .92rem;
  white-space: nowrap;
}
.admin-tool-shell,
.admin-transfer-shell {
  display: flex;
  flex-direction: column;
  gap: 18px;
  color: #ddd;
}
.admin-tool-shell {
  width: min(100%, 1120px);
  margin: 0 auto;
}
.admin-tool-card,
.admin-transfer-card {
  color: #ddd;
}
.admin-transfer-card {
  background: linear-gradient(180deg, rgba(18, 18, 18, 0.92), rgba(9, 9, 9, 0.9));
  border: 1px solid rgba(223, 168, 70, 0.28);
  border-radius: 14px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.22);
  padding: 20px 22px;
}
.admin-tool-kicker,
.admin-transfer-kicker {
  margin: 0 0 8px;
  color: #c9a86a;
  font-size: 0.82rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.admin-tool-title,
.admin-transfer-title {
  margin: 0 0 10px;
  color: #ffcc66;
  font-size: 1.4rem;
}
.admin-tool-copy,
.admin-transfer-copy {
  margin: 0;
  color: #d2d2d2;
}
.admin-tool-form,
.admin-transfer-form {
  display: grid;
  grid-template-columns: minmax(180px, 220px) minmax(0, 1fr);
  gap: 12px 16px;
  align-items: center;
}
.admin-tool-form label,
.admin-transfer-form label {
  color: #c3a46a;
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.admin-tool-form select,
.admin-tool-form input[type=text],
.admin-transfer-form select,
.admin-transfer-form input[type=text] {
  width: 100%;
  box-sizing: border-box;
  border-radius: 10px;
  border: 1px solid rgba(255, 206, 102, 0.2);
  background: rgba(12, 12, 12, 0.72);
  color: #f1f1f1;
  padding: 10px 12px;
}
.admin-tool-actions,
.admin-transfer-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 18px;
}
.admin-tool-actions {
  margin-top: 18px;
}
.admin-transfer-actions {
  gap: 10px;
  flex-wrap: wrap;
}
.admin-tool-form-wrap {
  margin-top: 18px;
}
.admin-tool-actions input[type=submit],
.admin-transfer-actions input[type=submit] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  cursor: pointer;
}
.admin-tool-actions input[type=submit] {
  min-height: 38px;
  padding: 0 16px;
  border-radius: 999px;
  border: 1px solid rgba(255, 206, 102, 0.22);
  background: rgba(22, 34, 58, 0.88);
  color: #e7f0ff;
  transition: background 0.18s ease, border-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}
.admin-tool-actions input[type=submit]:hover {
  background: rgba(40, 64, 102, 0.95);
  border-color: rgba(127, 199, 255, 0.28);
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.18);
  transform: translateY(-1px);
}
.admin-transfer-actions input[type=submit] {
  padding: 10px 18px;
  border-radius: 10px;
  border: 1px solid rgba(255, 206, 102, 0.35);
  background: rgba(255, 193, 72, 0.08);
  color: #ffd27a;
}
.admin-transfer-actions input[type=submit]:hover {
  color: #fff6dc;
  background: rgba(255, 193, 72, 0.18);
  box-shadow: 0 0 10px rgba(255, 193, 72, 0.18);
}
.admin-transfer-actions input[type=submit][disabled] {
  cursor: not-allowed;
  opacity: 0.55;
  color: #b9b9b9;
  background: rgba(90, 90, 90, 0.14);
  border-color: rgba(180, 180, 180, 0.18);
  box-shadow: none;
}
.admin-transfer-actions .danger-submit {
  border-color: rgba(255, 110, 110, 0.38);
  background: rgba(170, 35, 35, 0.18);
  color: #ff9b9b;
}
.admin-transfer-actions .danger-submit:hover {
  background: rgba(170, 35, 35, 0.28);
  color: #ffe2e2;
}
.admin-tool-msg,
.admin-transfer-msg {
  padding: 12px 14px;
  border-radius: 10px;
  font-size: 0.95rem;
}
.admin-tool-msg.error,
.admin-transfer-msg.error {
  background: rgba(170, 35, 35, 0.18);
  border: 1px solid rgba(255, 110, 110, 0.28);
  color: #ffb0b0;
}
.admin-tool-msg.success,
.admin-transfer-msg.success {
  background: rgba(44, 127, 75, 0.18);
  border: 1px solid rgba(92, 199, 129, 0.28);
  color: #9ef0b2;
}
.admin-transfer-msg--spaced {
  margin-top: 14px;
}
.admin-bots__warning {
  color: #ffb0b0;
}
.admin-tool-meta {
  color: #9f9f9f;
  font-size: 0.9rem;
  margin-top: 8px;
}
.admin-news {
  color: #f4efe2;
  width: min(100%, 1120px);
  margin: 0 auto;
}
.admin-news__grid {
  display: grid;
  gap: 18px;
}
.admin-news__card {
  color: #f4efe2;
}
.admin-news__card h3 {
  margin: 0 0 8px;
  color: #ffca5a;
}
.admin-news__subtext {
  color: #cfc7b8;
  margin: 0 0 14px;
}
.admin-news__subtext.is-tight {
  margin: 0;
}
.admin-news__field {
  display: grid;
  gap: 6px;
  margin-bottom: 14px;
}
.admin-news__field label {
  color: #c9a45a;
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.admin-news__field input,
.admin-news__field textarea,
.admin-news__field select {
  box-sizing: border-box;
  width: 100%;
  padding: 10px 12px;
  border: 1px solid rgba(230, 193, 90, 0.2);
  border-radius: 10px;
  background: rgba(7, 10, 16, 0.85);
  color: #f4efe2;
}
.admin-news__field textarea {
  min-height: 220px;
  resize: vertical;
}
.admin-news__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 14px;
  border: 1px solid rgba(255, 206, 102, 0.22);
  border-radius: 999px;
  background: rgba(22, 34, 58, 0.88);
  color: #e7f0ff;
  font-weight: 700;
  text-decoration: none;
  transition: background 0.18s ease, border-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}
.admin-news__button:hover {
  background: rgba(40, 64, 102, 0.95);
  border-color: rgba(127, 199, 255, 0.28);
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.18);
  transform: translateY(-1px);
}
.admin-news__button.is-inline-spaced {
  margin-left: 8px;
}
.admin-news__button--danger {
  background: rgba(150, 50, 50, 0.22);
  border-color: rgba(220, 120, 120, 0.28);
  color: #ffe2e2;
}
.admin-news__button--danger:hover {
  background: rgba(170, 35, 35, 0.28);
  border-color: rgba(255, 110, 110, 0.3);
}
.admin-news__table {
  width: 100%;
  border-collapse: collapse;
}
.admin-news__table th,
.admin-news__table td {
  padding: 12px 10px;
  border-bottom: 1px solid rgba(230, 193, 90, 0.12);
  text-align: left;
  vertical-align: top;
}
.admin-news__table th {
  color: #c9a45a;
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.admin-news__link {
  color: #6fb2ff;
  text-decoration: none;
  font-weight: 700;
}
.admin-news__link-button {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
}
.admin-news__alert {
  margin-bottom: 14px;
  padding: 12px 14px;
  border-radius: 10px;
}
.admin-news__alert--ok {
  border: 1px solid rgba(107, 193, 107, 0.4);
  background: rgba(38, 92, 38, 0.25);
}
.admin-news__alert--bad {
  border: 1px solid rgba(193, 107, 107, 0.4);
  background: rgba(92, 38, 38, 0.25);
}
.admin-news__toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}
.admin-news__toolbar form {
  margin: 0;
}
.admin-news__inline-form {
  display: inline;
}
.admin-bots {
  color: #f4efe2;
  display: flex;
  flex-direction: column;
  gap: 18px;
  width: min(100%, 1120px);
  margin: 0 auto;
}
.admin-bots__panel,
.admin-bots__table-wrap {
  color: #f4efe2;
}
.admin-bots__eyebrow {
  margin: 0 0 10px;
  color: #c9a45a;
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.admin-bots__title {
  margin: 0 0 8px;
  color: #ffca5a;
  font-size: 1.4rem;
}
.admin-bots__title-sm {
  font-size: 1.18rem;
}
.admin-bots__body,
.admin-bots__note {
  margin: 0;
  color: #d6d0c4;
  line-height: 1.6;
}
.admin-bots__list {
  margin: 14px 0 0;
  padding-left: 18px;
  color: #d6d0c4;
  line-height: 1.6;
}
.admin-bots__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 12px;
}
.admin-bots__mini {
  padding: 12px 14px;
  border-radius: 10px;
  background: rgba(255, 198, 87, 0.05);
  border: 1px solid rgba(230, 193, 90, 0.12);
}
.admin-bots__mini strong {
  display: block;
  color: #ffcc66;
  font-size: 1.15rem;
}
.admin-bots__mini span {
  display: block;
  color: #d6d0c4;
  font-size: 0.92rem;
}
.admin-bots__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}
.admin-bots__actions form {
  margin: 0;
}
.admin-bots__select {
  min-width: 220px;
  box-sizing: border-box;
  border-radius: 10px;
  border: 1px solid rgba(255, 206, 102, 0.2);
  background: rgba(12, 12, 12, 0.72);
  color: #f1f1f1;
  padding: 10px 12px;
}
.admin-bots__btn,
.admin-bots__btn-input {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid rgba(255, 206, 102, 0.22);
  background: rgba(22, 34, 58, 0.88);
  color: #e7f0ff;
  text-decoration: none;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.18s ease, border-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}
.admin-bots__btn:hover,
.admin-bots__btn-input:hover {
  background: rgba(40, 64, 102, 0.95);
  border-color: rgba(127, 199, 255, 0.28);
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.18);
  transform: translateY(-1px);
}
.admin-bots__btn-danger {
  border-color: rgba(227, 117, 117, 0.4);
  background: rgba(227, 117, 117, 0.12);
  color: #ffb4a8;
}
.admin-bots__btn-danger:hover {
  background: rgba(227, 117, 117, 0.2);
  border-color: rgba(255, 110, 110, 0.3);
  color: #fff2ef;
}
.admin-bots__status {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(121, 205, 118, 0.12);
  color: #a7ef99;
}
.admin-bots__status--warn {
  background: rgba(214, 102, 102, 0.16);
  color: #ffaaa1;
}
.admin-bots__table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 16px;
}
.admin-bots__table th,
.admin-bots__table td {
  padding: 11px 10px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  text-align: left;
  vertical-align: top;
}
.admin-bots__table th {
  color: #ffca5a;
  font-size: 0.8rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.admin-bots__flash {
  padding: 12px 14px;
  border-radius: 10px;
}
.admin-bots__flash--success {
  background: #17311f;
  border: 1px solid #2f6a40;
  color: #bbf0c8;
}
.admin-bots__flash--error {
  background: #301010;
  border: 1px solid rgba(210, 100, 100, 0.35);
  color: #ffb0b0;
}
.admin-bots__mono {
  font-family: Consolas, Monaco, monospace;
  font-size: 0.92rem;
  word-break: break-word;
}
.admin-bots__command {
  margin-top: 12px;
  padding: 10px;
  border-radius: 8px;
  font-family: Consolas, Monaco, monospace;
  font-size: 0.82rem;
  white-space: pre-wrap;
  word-break: break-word;
  background: #111;
  color: #dbe9ff;
  border: 1px solid rgba(255, 255, 255, 0.12);
}
.admin-bots__command.is-collapsed {
  display: none;
}
.admin-bots__section-gap {
  margin-top: 14px;
}
.admin-bots__note-gap {
  margin-top: 12px;
}
.admin-bots__note-danger {
  color: #ffbfa8;
}
.admin-bots__note-error {
  color: #ffb0b0;
}
.playerbots-shell {
  display: grid;
  gap: 16px;
  font-size: 0.9em;
  width: min(100%, 1120px);
  margin: 0 auto;
}
.playerbots-card {
  color: #e3e8f2;
}
.playerbots-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 16px;
}
.playerbots-wide {
  display: grid;
  gap: 16px;
}
.playerbots-field label {
  display: block;
  color: #d7b968;
  font-weight: bold;
  margin-bottom: 6px;
}
.playerbots-field input,
.playerbots-field select,
.playerbots-field textarea {
  width: 100%;
  box-sizing: border-box;
  padding: 8px 10px;
  border-radius: 4px;
  border: 1px solid #5f6d84;
  background: #111823;
  color: #fff;
}
.playerbots-field textarea {
  min-height: 96px;
  resize: vertical;
  font-family: monospace;
  font-size: 0.9em;
}
.playerbots-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 12px;
}
.playerbots-actions.is-flush-top {
  margin-top: 0;
  margin-bottom: 12px;
}
.playerbots-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid rgba(255, 206, 102, 0.22);
  background: rgba(22, 34, 58, 0.88);
  color: #e7f0ff;
  font-weight: bold;
  cursor: pointer;
  text-decoration: none;
  transition: background 0.18s ease, border-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}
.playerbots-button:hover {
  background: rgba(40, 64, 102, 0.95);
  border-color: rgba(127, 199, 255, 0.28);
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.18);
  transform: translateY(-1px);
}
.playerbots-button.is-muted {
  border-color: rgba(156, 178, 214, 0.16);
  background: rgba(15, 21, 32, 0.9);
}
.playerbots-note {
  color: #b8c6da;
  font-size: 0.9em;
  line-height: 1.45;
}
.playerbots-note.is-gap-md {
  margin: 8px 0 12px;
}
.playerbots-note.is-gap-sm {
  margin: 6px 0 12px;
}
.playerbots-success {
  background: #17311f;
  border: 1px solid #2f6a40;
  color: #bbf0c8;
  padding: 10px 12px;
  border-radius: 4px;
}
.playerbots-success.is-warning {
  background: #3a2612;
  border-color: #8d6130;
  color: #f5d8a8;
}
.playerbots-list {
  display: grid;
  gap: 8px;
  max-height: 360px;
  overflow: auto;
}
.playerbots-row {
  padding: 10px 12px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.02);
}
.playerbots-preview {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 6px;
  padding: 12px;
}
.playerbots-preview.is-gap-top {
  margin-top: 12px;
}
.playerbots-preview.is-gap-bottom {
  margin-bottom: 12px;
}
.playerbots-preview code {
  white-space: pre-wrap;
}
.playerbots-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 8px;
}
.playerbots-table th,
.playerbots-table td {
  padding: 8px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  vertical-align: top;
}
.playerbots-table th {
  text-align: left;
  color: #f0e0b6;
  background: rgba(255, 255, 255, 0.04);
}
.playerbots-table.is-compact th,
.playerbots-table.is-compact td {
  padding: 6px 8px;
  font-size: 0.92em;
}
.playerbots-inline {
  display: grid;
  grid-template-columns: repeat(2, minmax(120px, 1fr));
  gap: 10px;
}
.playerbots-empty {
  color: #8ea0bb;
  font-style: italic;
}
.playerbots-section-title {
  margin: 0 0 8px;
}
.playerbots-profile-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
}
.playerbots-profile-grid.is-gap-bottom {
  margin-bottom: 12px;
}
.playerbots-profile-card {
  padding: 10px 12px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.03);
}
.playerbots-profile-card strong {
  display: block;
  color: #f0e0b6;
  margin-bottom: 4px;
}
.playerbots-lane-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
  margin-top: 12px;
}
.playerbots-lane-card {
  padding: 12px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.03);
}
.playerbots-lane-card h4 {
  margin: 0 0 4px;
  color: #f0e0b6;
}
.playerbots-advanced-toggle {
  margin-top: 14px;
  padding: 12px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.03);
}
.playerbots-advanced-toggle summary {
  cursor: pointer;
  color: #f0e0b6;
  font-weight: 700;
}
.playerbots-tone-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 12px;
}
.playerbots-tone-card {
  padding: 12px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.03);
}
.playerbots-tone-card h4 {
  margin: 0 0 6px;
}
.playerbots-tone-key {
  margin: 0 0 6px;
  color: #f0e0b6;
  font-size: 0.92em;
}
.playerbots-strategy-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
}
.playerbots-strategy-builder {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 8px 0 12px;
}
.playerbots-strategy-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255, 204, 72, 0.18);
  background: rgba(255, 255, 255, 0.04);
  color: #f2dfb1;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}
.playerbots-strategy-chip:hover {
  border-color: rgba(255, 204, 72, 0.34);
  background: rgba(255, 216, 122, 0.12);
  color: #fff3c4;
}
.playerbots-status {
  display: inline-block;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  color: #d7e4f7;
  font-size: 0.85em;
}
.bot-admin-shell {
  display: grid;
  gap: 18px;
  font-size: 0.84em;
  color: #e3e8f2;
}
.bot-tabs {
  display: flex;
  gap: 10px;
  margin: 0;
  flex-wrap: wrap;
}
.bot-tab,
.bot-actions a,
.bot-actions button,
.bot-save {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 16px;
  border-radius: 8px;
  border: 1px solid #47556b;
  background: linear-gradient(180deg, #2e3d51, #253344);
  color: #eef5ff;
  font-size: 0.95em;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}
.bot-tab:hover,
.bot-actions a:hover,
.bot-actions button:hover,
.bot-save:hover {
  border-color: #667894;
  background: linear-gradient(180deg, #3a4e67, #2b3a4e);
  color: #ffffff;
}
.bot-tab.active {
  background: linear-gradient(180deg, #3f5f86, #2f4867);
  border-color: #7a95bb;
  color: #ffffff;
}
.bot-card,
.bot-panel {
  background: linear-gradient(180deg, rgba(19, 24, 31, 0.96), rgba(11, 15, 21, 0.98));
  border: 1px solid rgba(115, 129, 153, 0.22);
  border-radius: 12px;
  padding: 16px 18px;
  box-shadow: 0 16px 28px rgba(0, 0, 0, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.03);
}
.bot-panel {
  padding: 18px;
}
.bot-card h4,
.bot-panel h4 {
  margin: 0 0 12px;
  color: #f1d09a;
  font-size: 1.02rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.bot-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 14px;
}
.bot-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 16px;
  align-items: flex-start;
}
.btn-scan {
  border-color: #5f89b7;
  background: linear-gradient(180deg, #496e9d, #38577d);
  color: #f4f9ff;
}
.btn-process {
  border-color: #5f985f;
  background: linear-gradient(180deg, #4d8d45, #376b31);
  color: #f3fff0;
}
.btn-dry {
  border-color: #8f939b;
  background: linear-gradient(180deg, #7f858d, #656b73);
  color: #ffffff;
}
.btn-skip {
  border-color: #cf744a;
  background: linear-gradient(180deg, #c96339, #a84d29);
  color: #fff7f1;
}
.bot-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 12px;
  margin-bottom: 12px;
}
.bot-stat {
  background: linear-gradient(180deg, #2a2f34, #20252b);
  border: 1px solid rgba(142, 151, 166, 0.28);
  border-radius: 10px;
  padding: 14px 16px;
  text-align: center;
  min-width: 0;
  color: #eceff4;
}
.bot-stat strong {
  display: block;
  margin-bottom: 4px;
  color: #d0d4db;
  font-size: 2rem;
  line-height: 1;
}
.bot-stat small {
  display: block;
  margin-top: 8px;
  color: #bdc5d2;
  font-size: 0.82em;
  line-height: 1.45;
}
.bot-output,
.bot-error {
  font-family: Consolas, "Courier New", monospace;
  font-size: 0.84em;
  padding: 12px 14px;
  white-space: pre-wrap;
  border-radius: 10px;
  margin-bottom: 12px;
  border: 1px solid;
}
.bot-output {
  background: #070907;
  color: #34ff59;
  border-color: rgba(64, 160, 74, 0.34);
  max-height: 300px;
  overflow-y: auto;
}
.bot-output.is-collapsed {
  display: none;
}
.bot-error {
  background: #220d0d;
  color: #ffb1b1;
  border-color: rgba(172, 58, 58, 0.32);
}
.bot-field {
  display: grid;
  gap: 6px;
}
.bot-field label {
  color: #c9d3e1;
  font-size: 0.84rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.bot-field input,
.bot-field textarea,
.bot-field select,
.bot-search input,
.bot-process-controls input {
  width: 100%;
  box-sizing: border-box;
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid rgba(115, 129, 153, 0.24);
  background: #171d24;
  color: #f2f5fa;
}
.bot-field textarea {
  min-height: 72px;
  resize: vertical;
  font-family: Consolas, "Courier New", monospace;
  font-size: 0.9em;
}
.bot-two {
  display: grid;
  grid-template-columns: repeat(2, minmax(110px, 1fr));
  gap: 10px;
}
.bot-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 8px;
}
.bot-table th,
.bot-table td {
  border: 1px solid rgba(115, 129, 153, 0.16);
  padding: 8px;
  vertical-align: top;
}
.bot-table th {
  background: rgba(54, 65, 84, 0.4);
  color: #f1d8a6;
  text-align: left;
}
.bot-table td input,
.bot-table td select {
  width: 100%;
  box-sizing: border-box;
  padding: 7px 9px;
  border-radius: 7px;
  border: 1px solid rgba(115, 129, 153, 0.22);
  background: #171d24;
  color: #f2f5fa;
}
.bot-list {
  display: grid;
  gap: 10px;
  max-height: 420px;
  overflow: auto;
}
.bot-list.categories {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  max-height: 620px;
}
.bot-check {
  display: flex;
  gap: 8px;
  padding: 10px 12px;
  border: 1px solid rgba(115, 129, 153, 0.14);
  border-radius: 8px;
  background: rgba(16, 21, 29, 0.84);
}
.bot-check input {
  accent-color: #6c8fc0;
}
.bot-meta,
.bot-note {
  color: #c4ccda;
  font-size: 0.9em;
  line-height: 1.5;
}
.bot-alert {
  margin-bottom: 14px;
  padding: 12px 14px;
  border-radius: 10px;
}
.bot-alert.success {
  background: #142016;
  border: 1px solid rgba(90, 173, 98, 0.26);
  color: #c9ffd0;
}
.bot-alert.error {
  background: #1c0b0b;
  border: 1px solid rgba(172, 58, 58, 0.32);
  color: #ffb3b3;
}
.bot-ach-row {
  padding: 10px 12px;
  border: 1px solid rgba(115, 129, 153, 0.12);
  border-radius: 8px;
  background: rgba(15, 20, 28, 0.9);
}
.bot-ach-name {
  font-weight: 700;
  color: #f1e1bd;
}
.bot-ach-sub {
  font-size: 0.8em;
  color: #aeb7c8;
}
.bot-ach-desc {
  font-size: 0.82em;
  color: #c9d0dc;
  margin-top: 4px;
}
.bot-achievement-columns {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 14px;
  margin-top: 14px;
}
.bot-process-form {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  flex-wrap: wrap;
  flex: 1 1 640px;
}
.bot-process-controls {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}
.bot-process-controls input {
  max-width: 140px;
}
.bot-event-types {
  display: grid;
  grid-template-columns: repeat(2, minmax(220px, 1fr));
  gap: 8px 14px;
  width: 100%;
  padding: 12px;
  border: 1px solid rgba(115, 129, 153, 0.18);
  border-radius: 10px;
  background: rgba(14, 19, 27, 0.86);
}
.bot-event-types label {
  display: flex;
  gap: 8px;
  align-items: center;
  color: #f0d7a2;
  font-size: 0.92em;
  white-space: nowrap;
}
.bot-command-card {
  margin-bottom: 12px;
}
.bot-command-actions {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  flex-wrap: wrap;
}
.bot-command-note {
  display: grid;
  gap: 4px;
  max-width: 720px;
  color: #d9d1ba;
  font-size: 0.88em;
  line-height: 1.45;
}
.bot-command-note strong {
  color: #f4d27a;
}
.bot-command-note span {
  display: block;
}
.bot-command-output {
  max-height: none;
  color: #d9ffd5;
}
.bot-events-table {
  margin-top: 10px;
}
.bot-events-table td,
.bot-events-table th {
  padding: 10px 8px;
}
.bot-events-table .windowbg,
.bot-events-table .windowbg2 {
  background: rgba(13, 18, 24, 0.95);
  color: #e7ebf2;
}
.bot-events-table .windowbg {
  background: rgba(10, 14, 20, 0.95);
}
.bot-events-table .catbg3 td {
  background: rgba(43, 53, 69, 0.72);
  color: #f0d7a2;
  border-bottom: 1px solid rgba(115, 129, 153, 0.24);
}
.modern-wrapper:has(.rot-shell) {
  max-width: 1480px;
  padding-left: 28px;
  padding-right: 28px;
}
.rot-shell {
  margin: 0 auto;
  width: 100%;
  padding: 0 0 18px;
  box-sizing: border-box;
}
.rot-shell .btn.secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  background: rgba(22, 34, 58, 0.88);
  border: 1px solid rgba(255, 206, 102, 0.22);
  color: #e7f0ff;
  font-weight: 700;
  text-decoration: none;
  transition: background 0.18s ease, border-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}
.rot-shell .btn.secondary:hover {
  background: rgba(40, 64, 102, 0.95);
  border-color: rgba(127, 199, 255, 0.28);
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.18);
  transform: translateY(-1px);
}
.rot-panel {
  width: 100%;
  color: #ddd;
  box-sizing: border-box;
}
.rot-panel + .rot-panel {
  margin-top: 18px;
}
.rot-dashboard {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(320px, 0.95fr);
  gap: 18px;
  align-items: start;
}
.rot-side-stack {
  display: flex;
  flex-direction: column;
  gap: 18px;
  min-height: 0;
}
.rot-title {
  font-size: 1.05rem;
  font-weight: 700;
  color: #e8c96a;
  text-shadow: 0 0 8px rgba(232, 201, 106, 0.3);
  margin-bottom: 18px;
  letter-spacing: 0.04em;
  border-bottom: 1px solid #2a2a2a;
  padding-bottom: 10px;
}
.rot-context {
  margin: -8px 0 16px;
  color: #9a9a9a;
  font-size: 0.78rem;
  letter-spacing: 0.04em;
}
.rot-context strong {
  color: #e8c96a;
}
.rot-error {
  background: rgba(255, 60, 60, 0.08);
  border: 1px solid #5a1a1a;
  border-radius: 6px;
  padding: 10px 14px;
  color: #f88;
  font-size: 0.82rem;
  margin-bottom: 12px;
  font-family: monospace;
}
.rot-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 20px;
}
.rot-stat {
  flex: 1 1 140px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid #2c2c2c;
  border-radius: 6px;
  padding: 12px 14px;
  text-align: center;
}
.rot-stat-link {
  display: block;
  color: inherit;
  text-decoration: none;
  transition: border-color 0.2s ease, background 0.2s ease, transform 0.2s ease;
}
.rot-stat-link:hover {
  border-color: #565a63;
  background: rgba(255, 255, 255, 0.05);
  transform: translateY(-1px);
}
.rot-stat-link:focus-visible {
  outline: 2px solid #e8c96a;
  outline-offset: 2px;
}
.rot-stat .val {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.1;
}
.rot-stat .lbl {
  font-size: 0.72rem;
  color: #888;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-top: 4px;
}
.rot-stat .meta {
  font-size: 0.72rem;
  color: #999;
  margin-top: 6px;
  line-height: 1.35;
}
.rot-stat.highlight .val {
  color: #e8c96a;
}
.rot-stat.good .val {
  color: #4caf81;
}
.rot-stat.info .val {
  color: #79a9ff;
}
.rot-stat.warn .val {
  color: #ff8c42;
}
.rot-stat.muted .val {
  color: #888;
}
.rot-gauge-wrap {
  margin-bottom: 20px;
}
.rot-gauge-label {
  display: flex;
  justify-content: space-between;
  font-size: 0.8rem;
  color: #999;
  margin-bottom: 5px;
}
.rot-gauge-label span:last-child {
  color: #e8c96a;
  font-weight: 700;
}
.rot-gauge-track {
  height: 10px;
  background: #1a1a1a;
  border-radius: 6px;
  overflow: hidden;
  border: 1px solid #2a2a2a;
}
.rot-gauge-fill {
  height: 100%;
  border-radius: 6px;
  transition: width 0.8s ease;
  background: linear-gradient(90deg, #3a6b4a, #4caf81);
}
.rot-gauge-fill.warn {
  background: linear-gradient(90deg, #7a4a1a, #ff8c42);
}
.rot-breakdown {
  margin-bottom: 20px;
}
.rot-breakdown-label {
  font-size: 0.78rem;
  color: #888;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 6px;
}
.rot-breakdown-bar {
  display: flex;
  height: 22px;
  border-radius: 4px;
  overflow: hidden;
  border: 1px solid #2a2a2a;
  font-size: 0.7rem;
}
.rot-breakdown-bar .seg {
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, 0.85);
  font-weight: 600;
  transition: flex 0.6s ease;
  white-space: nowrap;
  overflow: hidden;
}
.seg.rotating {
  background: #2e6e47;
}
.seg.idle {
  background: #5a4a1a;
}
.seg.cycled {
  background: #1a3d6b;
}
.seg.cold {
  background: #222;
  color: #555;
}
.rot-history {
  margin-top: 4px;
}
.rot-history-title {
  font-size: 0.8rem;
  color: #777;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 8px;
}
.rot-history-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.8rem;
}
.rot-history-table th {
  color: #666;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-size: 0.7rem;
  padding: 4px 8px;
  text-align: left;
  border-bottom: 1px solid #222;
}
.rot-history-table td {
  padding: 4px 8px;
  border-bottom: 1px solid #1a1a1a;
  color: #bbb;
}
.rot-history-table tr:hover td {
  background: rgba(255, 255, 255, 0.02);
}
.pct-good {
  color: #4caf81;
  font-weight: 600;
}
.pct-ok {
  color: #e8c96a;
  font-weight: 600;
}
.pct-warn {
  color: #ff8c42;
  font-weight: 600;
}
.pct-bad {
  color: #f44;
  font-weight: 600;
}
.rot-no-history {
  font-size: 0.78rem;
  color: #555;
  font-style: italic;
  padding: 6px 0;
}
.rot-subtitle {
  margin: 18px 0 10px;
  color: #9f9f9f;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.rot-help {
  margin: -2px 0 12px;
  color: #8a8a8a;
  font-size: 0.74rem;
  line-height: 1.45;
}
.rot-toolbox {
  margin: 0 0 20px;
  padding: 16px 18px;
  border: 1px solid #2c2c2c;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.03);
}
.rot-panel.rot-toolbox {
  display: flex;
  flex-direction: column;
  margin: 0;
}
.rot-toolbox-title {
  margin: 0 0 6px;
  color: #e8c96a;
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}
.rot-toolbox-note {
  margin: 0 0 14px;
  color: #9a9a9a;
  font-size: 0.76rem;
  line-height: 1.5;
}
.rot-command-stack {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: auto;
}
.rot-command-wrap {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.rot-command {
  margin: 0;
  padding: 10px 12px;
  border-radius: 6px;
  border: 1px solid #2a2a2a;
  background: #111;
  color: #dbe9ff;
  font-family: Consolas, Monaco, monospace;
  font-size: 0.8rem;
  white-space: pre-wrap;
  word-break: break-word;
  min-height: 52px;
  align-content: center;
}
.rot-command.is-collapsed {
  display: none;
}
.rot-command-caption {
  margin: 0;
  font-size: 0.68rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #7f7f7f;
}
.rot-command-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 2px;
}
.rot-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid rgba(255, 206, 102, 0.22);
  background: rgba(22, 34, 58, 0.88);
  color: #e7f0ff;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.18s ease, border-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}
.rot-btn:hover {
  background: rgba(40, 64, 102, 0.95);
  border-color: rgba(127, 199, 255, 0.28);
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.18);
  transform: translateY(-1px);
}
.rot-history-card {
  margin-top: 0;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
}
.rot-history-toggle {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
}
.rot-history-summary {
  color: #e8c96a;
  font-size: 0.92rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  margin: 0;
}
.rot-history-body {
  min-height: 0;
  overflow: auto;
  padding-right: 6px;
}
.news-page {
  width: 82%;
  margin: 18px auto;
}
.news-page__stack {
  display: grid;
  gap: 18px;
}
.news-page__card {
  display: grid;
  gap: 0;
}
.news-page__title {
  margin: 0 0 8px;
  color: #fff1bd;
  font-size: 22px;
}
.news-page__meta {
  color: #c9b78f;
  margin-bottom: 14px;
}
.news-page__body {
  color: #ddd7c9;
  line-height: 1.7;
}
.news-page__link {
  display: inline-block;
  margin-top: 14px;
}
.news-view {
  width: 82%;
  margin: 18px auto;
}
.news-view__meta {
  color: #c9b78f;
  margin: 10px 0 18px;
}
.news-view__body {
  color: #ddd7c9;
  line-height: 1.75;
}
.news-view__back {
  display: inline-block;
  margin-top: 20px;
}
/* ======================================================
   FROZENCORE ARMORY DATABASE
   ====================================================== */
.item-vault {
  display: grid;
  gap: 18px;
}

.item-vault__hero {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(280px, 0.9fr);
  gap: 20px;
  padding: 24px 26px;
  border: 1px solid rgba(255, 194, 28, 0.2);
  border-radius: 18px;
  background:
    radial-gradient(circle at top right, rgba(255, 194, 28, 0.12), transparent 38%),
    linear-gradient(180deg, rgba(6, 9, 19, 0.96), rgba(4, 5, 13, 0.98));
}

.item-vault__eyebrow {
  margin: 0 0 8px;
  color: #d2bb82;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.82rem;
}

.item-vault__title {
  margin: 0;
  font-size: 2.5rem;
  color: #fff4c8;
}

.item-vault__lead {
  margin: 12px 0 0;
  color: #dccda8;
  line-height: 1.6;
  max-width: 60ch;
}

.item-vault__hero-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.item-vault__metric {
  padding: 16px 18px;
  border-radius: 14px;
  border: 1px solid rgba(255, 194, 28, 0.18);
  background: rgba(255, 255, 255, 0.04);
}

.item-vault__metric-label {
  display: block;
  color: #c4b27c;
  text-transform: uppercase;
  font-size: 0.78rem;
  letter-spacing: 0.08em;
}

.item-vault__metric strong {
  display: block;
  margin-top: 8px;
  color: #ffd467;
  font-size: 1.6rem;
}

.item-vault__quicklinks {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}

.item-vault__typebar {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.item-vault__quicklink,
.item-vault__typechip {
  display: flex;
  flex-direction: column;
  gap: 6px;
  position: relative;
  padding: 16px 78px 16px 18px;
  border-radius: 14px;
  text-decoration: none;
  border: 1px solid rgba(255, 194, 28, 0.16);
  background: rgba(5, 8, 18, 0.7);
  transition: border-color 0.18s ease, transform 0.18s ease, background 0.18s ease;
}

.item-vault__quicklink {
  min-width: 0;
}

.item-vault__quicklink:hover,
.item-vault__typechip:hover,
.item-vault__quicklink.is-active,
.item-vault__typechip.is-active {
  border-color: rgba(255, 194, 28, 0.42);
  background: rgba(255, 194, 28, 0.08);
  transform: translateY(-1px);
}

.item-vault__quicklink-title,
.item-vault__typechip span {
  color: #fff0bc;
  font-weight: 700;
}

.item-vault__quicklink-icon {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  border: 1px solid rgba(255, 194, 28, 0.24);
  background: rgba(0, 0, 0, 0.4);
  object-fit: cover;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.22);
}

.item-vault__quicklink-copy {
  color: #cdb88a;
  line-height: 1.45;
  max-width: 24ch;
}

.item-vault__typechip {
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  flex: 1 1 210px;
  min-width: 0;
}

.item-vault__typechip--all {
  flex-basis: 100%;
}

.item-vault__typechip strong {
  color: #ffd467;
  font-size: 1.05rem;
}

.item-vault__filters {
  padding: 20px 22px;
  border-radius: 18px;
  border: 1px solid rgba(255, 194, 28, 0.18);
  background: rgba(5, 8, 18, 0.62);
}

.item-vault__form {
  display: grid;
  gap: 14px;
}

.item-vault__form-row {
  display: grid;
  gap: 14px;
  align-items: end;
}

.item-vault__form-row--primary {
  grid-template-columns: minmax(0, 1.8fr) minmax(220px, 0.85fr) minmax(160px, 0.65fr) auto;
}

.item-vault__form-row--secondary {
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.item-vault__field {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.item-vault__field--search {
  min-width: 0;
}

.item-vault__field span {
  color: #cfbc87;
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.item-vault__field input,
.item-vault__field select {
  width: 100%;
  min-width: 0;
  min-height: 44px;
  box-sizing: border-box;
  border: 1px solid rgba(255, 194, 28, 0.2);
  border-radius: 12px;
  background: rgba(8, 10, 19, 0.88);
  color: #f5ebcd;
  padding: 0 14px;
}

.item-vault__actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: nowrap;
  justify-content: flex-end;
}

.item-vault__button,
.item-vault__reset,
.item-vault__view,
.item-vault__section-head a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 16px;
  border-radius: 999px;
  border: 1px solid rgba(255, 194, 28, 0.34);
  background: rgba(255, 194, 28, 0.08);
  color: #ffe49e;
  text-decoration: none;
  font-weight: 700;
}

.item-vault__button:hover,
.item-vault__view:hover,
.item-vault__section-head a:hover {
  background: rgba(255, 194, 28, 0.14);
}

.item-vault__reset {
  border-color: rgba(194, 66, 66, 0.42);
  background: rgba(194, 66, 66, 0.12);
  color: #ffb3a8;
}

.item-vault__reset:hover {
  background: rgba(194, 66, 66, 0.2);
  border-color: rgba(224, 92, 92, 0.56);
}

.item-vault__results-head,
.item-vault__section {
  padding: 20px 22px;
  border-radius: 18px;
  border: 1px solid rgba(255, 194, 28, 0.18);
  background: rgba(5, 8, 18, 0.62);
}

.item-vault__results-title {
  margin: 0;
  color: #fff4c8;
  font-size: 1.4rem;
  font-weight: 800;
}

.item-vault__results-copy {
  margin: 10px 0 0;
  color: #cfbc87;
}

.item-vault__active-filters {
  margin-top: 16px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.item-vault__pill,
.item-vault__tag {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(255, 194, 28, 0.1);
  color: #ffe49e;
  font-size: 0.82rem;
}

.item-vault__grid,
.item-vault__mini-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 14px;
}

.item-vault__table-shell {
  padding: 0;
}

.item-vault__table {
  overflow: hidden;
}

.item-vault__table .item-vault__table-header,
.item-vault__table .item-vault__table-row {
  grid-template-columns:
    86px
    minmax(220px, 1.5fr)
    minmax(120px, 0.7fr)
    minmax(180px, 0.9fr)
    minmax(220px, 1.1fr)
    100px;
}

.item-vault__table--sets .item-vault__table-header,
.item-vault__table--sets .item-vault__table-row {
  grid-template-columns:
    86px
    minmax(240px, 1.65fr)
    minmax(150px, 0.8fr)
    minmax(200px, 1fr)
    100px;
}

.item-vault__table-icon {
  display: inline-flex;
  width: 54px;
  height: 54px;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  border: 1px solid rgba(255, 194, 28, 0.2);
  background: rgba(0, 0, 0, 0.45);
}

.item-vault__table-icon img {
  width: 44px;
  height: 44px;
  border-radius: 8px;
}

.item-vault__table-name {
  display: inline-block;
  font-weight: 700;
  font-size: 1rem;
  text-decoration: none;
}

.item-vault__sort-link {
  color: #ffd467;
  text-decoration: none;
  font-weight: 800;
}

.item-vault__sort-link:hover,
.item-vault__sort-link.is-active {
  color: #fff1bd;
}

.item-vault__table-sub,
.item-vault__table-note {
  color: #cfbc87;
  line-height: 1.45;
  font-size: 0.92rem;
}

.item-vault__table-note--muted {
  color: #8f845f;
}

.item-vault__table-statline {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  color: #f1dfaf;
  font-size: 0.9rem;
}

@media (max-width: 1080px) {
  .item-vault__table .item-vault__table-header,
  .item-vault__table .item-vault__table-row {
    grid-template-columns:
      72px
      minmax(200px, 1.3fr)
      minmax(110px, 0.7fr)
      minmax(160px, 0.8fr)
      minmax(180px, 1fr)
      88px;
  }

  .item-vault__table--sets .item-vault__table-header,
  .item-vault__table--sets .item-vault__table-row {
    grid-template-columns:
      72px
      minmax(220px, 1.45fr)
      minmax(130px, 0.8fr)
      minmax(180px, 1fr)
      88px;
  }
}

@media (max-width: 820px) {
  .item-vault__table .item-vault__table-header {
    display: none;
  }

  .item-vault__table .item-vault__table-row {
    grid-template-columns: 64px 1fr;
    gap: 10px 14px;
  }

  .item-vault__table .item-vault__table-cell--type,
  .item-vault__table .item-vault__table-cell--meta,
  .item-vault__table .item-vault__table-cell--note,
  .item-vault__table .item-vault__table-cell--action {
    grid-column: 2;
  }
}

.item-vault__card,
.item-vault__mini-card {
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr);
  gap: 14px;
  padding: 16px 18px;
  border-radius: 16px;
  border: 1px solid rgba(255, 194, 28, 0.14);
  background: rgba(255, 255, 255, 0.03);
}

.item-vault__thumb {
  display: inline-flex;
  width: 74px;
  height: 74px;
  border-radius: 16px;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.48);
  border: 1px solid rgba(255, 194, 28, 0.22);
}

.item-vault__thumb img,
.item-vault__mini-card img {
  width: 64px;
  height: 64px;
  border-radius: 12px;
}

.item-vault__thumb--static {
  cursor: default;
}

.item-vault__card-body {
  display: grid;
  gap: 10px;
}

.botcommands-page {
  width: min(100%, 1080px);
  margin: 0 auto;
}
.botcommands-shell {
  padding: 0;
}
.sref-tabs { display:flex; gap:4px; margin-bottom:12px; flex-wrap:wrap; }
.sref-tab-btn {
  padding:8px 16px; cursor:pointer; border:1px solid rgba(255,204,72,.18); border-radius:999px;
  background:rgba(255,255,255,.04); color:#d9d1ba; font-size:13px; font-weight:700;
}
.sref-tab-btn.active { background:linear-gradient(180deg,#ffd87a,#d9a63d); color:#201300; border-color:rgba(255,204,72,.5); }
.sref-panel { display:none; }
.sref-panel.active { display:block; }
.sref-panel table { width:100%; border-collapse:collapse; margin-bottom:16px; font-size:13px; }
.sref-panel th { background:#2a2a2a; color:#f0c070; padding:6px 8px; text-align:left; }
.sref-panel td { padding:5px 8px; border-bottom:1px solid #333; vertical-align:top; }
.sref-panel td code, .sref-panel th code { background:#1a1a1a; padding:1px 4px; border-radius:3px; font-size:12px; color:#7ec8e3; }
.sref-panel h3 { color:#f0c070; margin:20px 0 6px; font-size:14px; border-bottom:1px solid #444; padding-bottom:4px; }
.sref-panel h4 { color:#ccc; margin:12px 0 4px; font-size:13px; }
.sref-panel pre { background:#1a1a1a; padding:10px; border-radius:4px; font-size:12px; color:#aed6a0; overflow-x:auto; margin:6px 0 12px; }
.sref-panel p { color:#bbb; font-size:13px; margin:4px 0 10px; }
.sref-flavor-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:16px; }
.sref-flavor-card { background:linear-gradient(180deg,rgba(15,20,34,.94),rgba(7,10,18,.94)); border:1px solid rgba(255,204,72,.14); border-radius:12px; padding:10px 12px; }
.sref-flavor-card h4 { color:#f0c070; margin:0 0 6px; font-size:13px; text-transform:uppercase; letter-spacing:.5px; }
.sref-flavor-card p { color:#999; font-size:12px; margin:0 0 8px; font-style:italic; }
.sref-flavor-card table { font-size:12px; }
.sref-flavor-card td { padding:3px 6px; border-bottom:1px solid #2a2a2a; }
.sref-flavor-card td:first-child { color:#7ec8e3; width:40px; font-weight:600; }
.csb-section { margin-bottom:18px; }
.csb-row { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:6px; }
.csb-label { color:#aaa; font-size:12px; min-width:54px; }
.csb-input { background:#1a1a1a; border:1px solid #444; color:#ddd; padding:4px 8px; border-radius:4px; font-size:13px; }
.csb-input:focus { outline:none; border-color:#f0c070; }
.csb-select {
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
  background-color:#1a1a1a;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%23d9d1ba' d='M0 0l5 6 5-6z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 10px center;
  border:1px solid rgba(255,204,72,.22);
  color:#ddd;
  padding:7px 32px 7px 10px;
  border-radius:8px;
  font-size:12px;
  line-height:1.2;
  min-height:36px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.02);
}
.csb-select:focus { outline:none; border-color:#f0c070; }
.csb-btn { padding:4px 10px; border:none; border-radius:4px; cursor:pointer; font-size:12px; font-weight:600; }
.csb-btn-add { background:#2a4a2a; color:#7ec87e; }
.csb-btn-add:hover { background:#3a5a3a; }
.csb-btn-del { background:#4a2a2a; color:#e07e7e; }
.csb-btn-del:hover { background:#5a3a3a; }
.csb-btn-copy { background:#2a3a4a; color:#7ec8e3; padding:5px 14px; }
.csb-btn-copy:hover { background:#3a4a5a; }
.csb-line-card { background:#1e1e1e; border:1px solid #383838; border-radius:6px; padding:10px 12px; margin-bottom:10px; }
.csb-line-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:8px; }
.csb-line-num { color:#888; font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:.5px; }
.csb-action-row { display:flex; align-items:center; gap:6px; margin-bottom:5px; flex-wrap:wrap; }
.csb-priority { width:52px; }
.csb-qual { min-width:140px; }
.csb-output { background:#111; border:1px solid #333; border-radius:6px; padding:12px 14px; font-family:monospace; font-size:12px; color:#aed6a0; white-space:pre-wrap; word-break:break-all; margin-bottom:8px; min-height:40px; }
.csb-output.is-inline-fill { flex:1; }
.csb-output.is-activation { flex:1; min-height:unset; padding:6px 10px; }
.csb-output-label { color:#888; font-size:11px; text-transform:uppercase; letter-spacing:.5px; margin-bottom:4px; }
.csb-copy-row { display:flex; align-items:center; gap:8px; margin-bottom:12px; }
.csb-scope-row { display:flex; gap:16px; align-items:center; }
.csb-scope-label { font-size:13px; color:#bbb; cursor:pointer; }
.csb-radio { accent-color:#f0c070; }
.csb-sep { border:none; border-top:1px solid #333; margin:14px 0; }
.csb-hint { color:#666; font-size:12px; }
.csb-add-line { margin-bottom:16px; }
.csb-guid.is-hidden { display:none; }
.csb-select.is-trigger { min-width:180px; }
.csb-select.is-action { min-width:130px; }
.csb-line-actions { margin-left:62px; }
.csb-btn-add.is-tight-top { margin-top:4px; }
.mb-empty-value { color:#777; font-size:12px; }
.cff-search { width:100%; max-width:420px; margin-bottom:12px; }
.cff-note { color:#999; font-size:12px; margin-bottom:10px; }
.cff-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)); gap:12px; }
.cff-card { background:linear-gradient(180deg,rgba(15,20,34,.94),rgba(7,10,18,.94)); border:1px solid rgba(255,204,72,.14); border-radius:16px; overflow:hidden; }
.cff-card .collapse-card__summary { padding:16px 18px 14px; min-height:auto; }
.cff-card .collapse-card__title { color:#f0c070; font-size:13px; }
.cff-card p { color:#aaa; font-size:12px; margin:0 0 10px; }
.vanilla-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.cff-card .collapse-card__body { padding:0 18px 18px; }
.cff-token-row { margin-bottom:8px; font-size:12px; color:#bbb; }
.cff-token-row code { margin-right:4px; }
.cff-example-list { display:flex; flex-direction:column; gap:6px; }
.cff-example-item { background:#151515; border:1px solid #2d2d2d; border-radius:4px; padding:8px; }
.cff-example-item code { display:block; margin-bottom:4px; }
.ref-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)); gap:12px; }
.ref-card { background:linear-gradient(180deg,rgba(15,20,34,.94),rgba(7,10,18,.94)); border:1px solid rgba(255,204,72,.14); border-radius:12px; padding:12px; }
.ref-card ul { margin:8px 0 0; padding-left:18px; color:#bbb; }
.ref-card li { margin-bottom:6px; }
.vanilla-stack { display:flex; flex-direction:column; gap:12px; margin:16px 0; }
.vanilla-card { background:linear-gradient(180deg,rgba(15,20,34,.94),rgba(7,10,18,.94)); border:1px solid rgba(255,204,72,.14); border-radius:16px; overflow:hidden; }
.vanilla-card summary::-webkit-details-marker { display:none; }
.vanilla-card .collapse-card__summary{ padding:16px 18px 14px; min-height:auto; }
.vanilla-card .collapse-card__title{ color:#f0c070; font-size:13px; text-transform:uppercase; letter-spacing:.4px; }
.vanilla-body { padding:0 18px 18px; }
.vanilla-body p:first-child { margin-top:0; }
.vanilla-body ul { margin:8px 0 12px; padding-left:18px; color:#bbb; }
.vanilla-body li { margin-bottom:8px; }
.vanilla-body pre { margin-top:8px; }
.cmd-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(300px, 1fr)); gap:12px; }
.cmd-card { background:linear-gradient(180deg,rgba(15,20,34,.94),rgba(7,10,18,.94)); border:1px solid rgba(255,204,72,.14); border-radius:12px; overflow:hidden; }
.cmd-card .collapse-card__summary { padding:16px 18px 12px; min-height:auto; }
.cmd-card .collapse-card__title { color:#f0c070; font-size:14px; }
.cmd-body { padding:0 18px 18px; }
.cmd-meta { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:10px; }
.cmd-chip { background:#151515; border:1px solid #2d2d2d; border-radius:999px; padding:3px 8px; color:#bbb; font-size:11px; }
.cmd-chip.is-clickable { cursor:pointer; }
.cmd-chip.is-clickable:hover { border-color:#f0c070; color:#f0c070; }
.cmd-help { color:#bbb; font-size:12px; line-height:1.45; white-space:pre-line; }
.cmd-filter-bar { display:flex; flex-wrap:wrap; gap:12px; margin:0 0 12px; align-items:flex-end; }
.cmd-filter-group{ display:flex; align-items:center; gap:8px; flex-wrap:nowrap; }
.cmd-filter-group.is-stacked{ flex-direction:column; align-items:flex-start; gap:6px; }
.cmd-filter-label { color:#888; font-size:12px; margin-right:0; }
.cmd-filter-select.is-sm{ width:140px; }
.cmd-filter-select.is-md{ width:152px; }
.cmd-filter-select.is-lg{ width:164px; }
.cmd-filter-reset { margin-left:4px; }
.cmd-search-input.list-page-search-input{
  max-width:572px;
  min-height:44px;
  margin-bottom:12px;
}
.cmd-filter-select.list-page-inline-filter{
  min-width:0;
  height:40px;
}
.cmd-filter-reset.feature-button{
  min-height:40px;
  padding:0 16px;
  margin-left:4px;
}
.mb-card { background:linear-gradient(180deg,rgba(15,20,34,.94),rgba(7,10,18,.94)); border:1px solid rgba(255,204,72,.14); border-radius:12px; padding:12px; margin-bottom:14px; }
.mb-filter-row { display:flex; gap:8px; align-items:center; flex-wrap:wrap; margin-bottom:8px; }
.mb-filter-list { margin-top:8px; }
.mb-help-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); gap:12px; margin:12px 0; }
.mb-help-card { background:#181818; border:1px solid #2d2d2d; border-radius:6px; padding:10px 12px; }
.mb-help-card h4 { margin:0 0 6px; color:#f0c070; font-size:13px; }
.mb-help-card p { margin:0; color:#aaa; font-size:12px; }
.mb-status { color:#d8bf7a; font-size:12px; margin-bottom:8px; }
.mb-quick-groups { display:flex; flex-direction:column; gap:10px; margin:10px 0 12px; }
.mb-quick-group { display:flex; gap:8px; align-items:flex-start; flex-wrap:wrap; }
.mb-quick-label { color:#888; font-size:12px; min-width:44px; padding-top:6px; }
.mb-quick-buttons { display:flex; flex-wrap:wrap; gap:8px; }
.mb-quick-btn { background:#151515; border:1px solid #3a3a3a; color:#bbb; border-radius:999px; padding:4px 10px; cursor:pointer; font-size:12px; }
.mb-quick-btn:hover { border-color:#f0c070; color:#f0c070; }
.mb-row { display:flex; align-items:flex-start; gap:12px; margin-bottom:10px; }
.mb-row .csb-label { min-width:68px; padding-top:7px; }
.mb-row-fields { display:flex; flex:0 1 auto; gap:10px; flex-wrap:wrap; align-items:center; }
.mb-row-fields .csb-input,
.mb-row-fields .csb-select { flex:0 1 auto; min-width:0; }
#mb-target { width:20ch; }
#mb-delivery { width:14ch; }
#mb-preset { width:18ch; }
#mb-preset-option { width:18ch; }
#mb-preset-value { width:34ch; max-width:100%; }
.mb-sub-builder { margin:6px 0 10px 80px; max-width:52ch; padding:10px 12px; background:#181818; border:1px solid #2d2d2d; border-radius:6px; }
.mb-sub-builder.is-hidden { display:none; }
.mb-sub-title { color:#888; font-size:11px; text-transform:uppercase; letter-spacing:.05em; margin-bottom:8px; }
.mb-strategy-row { display:flex; gap:8px; align-items:center; flex-wrap:wrap; margin-bottom:8px; }
.mb-strategy-row .csb-select { width:28ch; max-width:100%; min-width:0; }
.mb-layer { background:#181818; border:1px solid #2d2d2d; border-radius:6px; padding:10px 12px; margin-bottom:10px; }
.mb-layer-head { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:8px; }
.mb-layer-title { color:#f0c070; font-size:12px; font-weight:600; }
.mb-layer-grid { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.mb-layer-grid .csb-select,
.mb-layer-grid .csb-input { min-width:0; }
.mb-layer-target { width:14ch; }
.mb-layer-preset { width:18ch; }
.mb-layer-option { width:18ch; }
.mb-layer-value { width:26ch; max-width:100%; }

.item-vault__card-topline {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.item-vault__card-title {
  margin: 0;
  font-size: 1.15rem;
  line-height: 1.3;
}

.item-vault__card-title a,
.item-vault__card-title span {
  text-decoration: none;
}

.item-vault__card-meta,
.item-vault__card-desc,
.item-vault__mini-card p {
  margin: 0;
  color: #cfbc87;
  line-height: 1.5;
}

.item-vault__mini-card h3 {
  margin: 0 0 6px;
  color: #fff0bc;
  font-size: 1rem;
}

.item-vault__state {
  display: grid;
  gap: 8px;
  padding: 20px 22px;
  border-radius: 18px;
  border: 1px solid rgba(255, 194, 28, 0.18);
  background: rgba(5, 8, 18, 0.62);
  color: #f2e4bf;
}

.item-vault__state--error {
  border-color: rgba(255, 107, 107, 0.28);
  color: #ffd5d5;
}

.item-vault__sections {
  display: grid;
  gap: 16px;
}

.item-vault__section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.item-vault__section-head h2 {
  margin: 0;
  color: #fff4c8;
  font-size: 1.3rem;
}

@media (max-width: 900px) {
  .item-vault__hero {
    grid-template-columns: 1fr;
  }

  .item-vault__form-row--primary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .item-vault__form-row--secondary {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .item-vault__actions {
    justify-content: flex-start;
  }
}

@media (max-width: 640px) {
  .item-vault__hero,
  .item-vault__filters,
  .item-vault__results-head,
  .item-vault__section,
  .item-vault__state {
    padding: 18px;
  }

  .item-vault__hero-metrics,
  .item-vault__quicklinks,
  .item-vault__grid,
  .item-vault__mini-grid {
    grid-template-columns: 1fr;
  }

  .item-vault__form-row--primary {
    grid-template-columns: 1fr;
  }

  .item-vault__form-row--secondary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .item-vault__actions {
    flex-wrap: wrap;
  }

  .item-vault__typebar {
    display: grid;
    grid-template-columns: 1fr;
  }
}
.item-search-shell {
  display: grid;
  gap: 18px;
}
.item-search-intro {
  display: grid;
  gap: 14px;
  padding: 22px 24px;
  border: 1px solid rgba(255, 196, 0, 0.18);
  border-radius: 18px;
  background:
    radial-gradient(circle at top right, rgba(235, 163, 35, 0.14), transparent 34%),
    linear-gradient(180deg, rgba(9, 12, 23, 0.96), rgba(4, 6, 14, 0.98));
}
.item-search-title {
  margin: 0;
  font-size: 2.3rem;
  color: #fff3c2;
}
.item-search-copy {
  margin: 0;
  max-width: 760px;
  color: #d5c7a0;
  line-height: 1.55;
}
.item-search-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 12px;
  align-items: center;
}
.item-search-form input[type="text"],
.item-search-form select {
  min-height: 50px;
  padding: 0 16px;
  color: #f9f1d8;
  background: rgba(4, 6, 16, 0.9);
  border: 1px solid rgba(255, 196, 0, 0.45);
  border-radius: 12px;
}
.item-search-button {
  min-height: 50px;
  padding: 0 20px;
  border: 0;
  border-radius: 12px;
  background: linear-gradient(180deg, #ffcf68, #d38a1f);
  color: #231503;
  font-weight: 800;
  cursor: pointer;
}
.item-search-meta,
.item-search-error,
.item-search-empty {
  padding: 16px 18px;
  border-radius: 14px;
}
.item-search-meta {
  color: #ffd56c;
  background: rgba(255, 204, 72, 0.08);
  border: 1px solid rgba(255, 204, 72, 0.16);
}
.item-search-error {
  color: #ffd0c2;
  background: rgba(110, 18, 18, 0.28);
  border: 1px solid rgba(238, 120, 97, 0.28);
}
.item-search-empty {
  color: #d5c7a0;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 196, 0, 0.08);
}
.item-search-table .header,
.item-search-table .row {
  grid-template-columns: 84px minmax(260px, 2.2fr) 120px minmax(220px, 1.7fr) 120px;
}
.item-search-table .col.icon,
.item-search-table .col.level,
.item-search-table .col.relevance {
  justify-content: center;
}
.item-search-table .col.name {
  display: flex;
  align-items: center;
  padding: 0 12px;
}
.item-search-table .col.source {
  padding: 0 12px;
  text-align: left;
}
.item-search-table .row:nth-child(even) {
  background: rgba(255,255,255,0.03);
}
.item-search-table .row:hover {
  background: rgba(255, 215, 120, 0.05);
}
.item-search-icon {
  width: 42px;
  height: 42px;
  border-radius: 10px;
  border: 1px solid rgba(255, 196, 0, 0.28);
  background: rgba(0,0,0,0.5);
}
.item-link {
  text-decoration: none;
  font-weight: 700;
}
.item-search-header-link {
  color: inherit;
  text-decoration: none;
  font-weight: 700;
}
.item-search-header-link.active {
  color: #ffd56c;
}
.item-search-header-link:hover {
  color: #ffe39a;
}
.item-search-helper {
  margin: 0;
  color: #a99a76;
  font-size: 0.92rem;
}

/* ===============================
   FEATURE PAGE SHELL
   =============================== */
.feature-code {
  display: inline-block;
  max-width: 100%;
  padding: 3px 8px;
  border-radius: 999px;
  background: rgba(255, 204, 72, 0.08);
  border: 1px solid rgba(255, 204, 72, 0.12);
  color: #ffe39a;
  font-family: Consolas, "Courier New", monospace;
  font-size: 0.92rem;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.feature-code-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
  min-width: 0;
}
.feature-code-row .feature-code {
  flex: 1 1 240px;
  border-radius: 8px;
  overflow-wrap: anywhere;
}
.feature-copy-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 11px;
  border: 1px solid rgba(112, 210, 255, 0.32);
  border-radius: 999px;
  background: rgba(34, 134, 210, 0.14);
  color: #d9efff;
  cursor: pointer;
  font-size: 0.8rem;
  font-weight: 800;
}
.feature-copy-button:hover,
.feature-copy-button.is-copied {
  border-color: rgba(112, 210, 255, 0.62);
  background: rgba(34, 134, 210, 0.24);
  color: #ffffff;
}
.feature-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-top: 18px;
}
.feature-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  max-width: 100%;
  min-width: 0;
  min-height: 44px;
  padding: 10px 18px;
  border-radius: 999px;
  border: 1px solid rgba(255, 204, 72, 0.24);
  background: rgba(255, 255, 255, 0.04);
  color: #f6e3ad;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  font-weight: 800;
  white-space: normal;
  overflow-wrap: anywhere;
  transition: background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease, color 0.2s ease;
}
.feature-button.is-primary {
  background: linear-gradient(180deg, #ffd87a, #d9a63d);
  border-color: rgba(255, 204, 72, 0.5);
  color: #201300;
}
.feature-link {
  color: #7fc7ff;
  text-decoration: none;
  font-weight: 700;
  transition: color 0.2s ease, text-shadow 0.2s ease;
}
.feature-link:hover {
  color: var(--feature-link-hover);
  text-decoration: underline;
  text-shadow: 0 0 12px rgba(127, 199, 255, 0.18);
}
.feature-button:hover {
  text-decoration: none;
  transform: translateY(-1px);
  border-color: rgba(255, 204, 72, 0.4);
  background: rgba(255, 204, 72, 0.1);
  box-shadow: 0 12px 26px rgba(0, 0, 0, 0.22);
}
.feature-button.is-primary:hover {
  background: linear-gradient(180deg, #ffe09a, #e0ad48);
  color: #1c1200;
}
.feature-card-list {
  display: grid;
  gap: 14px;
}
.feature-card {
  display: block;
  min-width: 0;
  padding: 16px 18px;
  border-radius: 16px;
  border: 1px solid rgba(255, 204, 72, 0.14);
  background: linear-gradient(180deg, rgba(15, 20, 34, 0.94), rgba(7, 10, 18, 0.94));
  color: inherit;
  text-decoration: none;
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.18);
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}
.feature-card:hover {
  transform: translateY(-2px);
  border-color: rgba(255, 204, 72, 0.22);
  box-shadow: 0 18px 36px rgba(0, 0, 0, 0.24);
}
.feature-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  margin: 0 0 8px;
  min-width: 0;
}
.feature-card-head strong {
  min-width: 0;
  color: #fff1bd;
  font-size: 1.02rem;
  overflow-wrap: anywhere;
}
.feature-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: 100%;
  padding: 5px 10px;
  border-radius: 999px;
  background: rgba(255, 204, 72, 0.08);
  border: 1px solid rgba(255, 204, 72, 0.12);
  color: #c7b07b;
  font-size: 0.76rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-align: center;
  white-space: normal;
  overflow-wrap: anywhere;
}
.feature-copy-list,
.feature-step-list {
  margin: 14px 0 0;
  padding-left: 20px;
  color: #f4ead0;
}
.feature-copy-list li {
  margin: 0 0 8px;
  line-height: 1.55;
}
.feature-copy-footer {
  margin-top: 14px;
}
.feature-step-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  align-items: start;
}
.feature-step {
  padding: 14px 16px;
  border-radius: 16px;
  border: 1px solid rgba(255, 204, 72, 0.14);
  background: rgba(255, 255, 255, 0.03);
}
.feature-step strong {
  display: block;
  margin-bottom: 6px;
  color: #fff1bd;
}
.feature-step-list {
  margin-top: 0;
}
.feature-step-list li {
  margin: 0 0 6px;
  line-height: 1.5;
}
.downloads-shell {
  gap: var(--feature-gap);
}
.downloads-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
  gap: var(--feature-gap);
  min-width: 0;
}
.downloads-file-list {
  display: grid;
  gap: 12px;
  margin-top: 16px;
}
.download-item {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas:
    "link badge"
    "meta meta";
  gap: 8px 12px;
  align-items: start;
  padding: 14px 16px;
  border-radius: 16px;
  border: 1px solid rgba(255, 204, 72, 0.14);
  background: linear-gradient(180deg, rgba(15, 20, 34, 0.94), rgba(7, 10, 18, 0.94));
}
.download-item a {
  grid-area: link;
  min-width: 0;
  overflow-wrap: anywhere;
}
.download-badge,
.download-meta {
  color: #d9d1ba;
  font-size: 0.92rem;
}
.download-badge {
  grid-area: badge;
  justify-self: end;
  align-self: start;
  min-width: 48px;
  text-align: center;
  padding: 4px 8px;
}
.download-meta {
  grid-area: meta;
  white-space: normal;
  overflow-wrap: anywhere;
}

@media (max-width: 640px) {
  .feature-actions {
    display: grid;
    grid-template-columns: 1fr;
    align-items: stretch;
    gap: 10px;
  }

  .feature-button,
  .feature-copy-button {
    width: 100%;
  }

  .feature-code-row {
    align-items: stretch;
  }

  .feature-code-row .feature-code {
    flex-basis: 100%;
  }

  .downloads-grid {
    grid-template-columns: 1fr;
  }

  .download-item {
    grid-template-columns: 1fr;
    grid-template-areas:
      "link"
      "badge"
      "meta";
  }

  .download-badge {
    justify-self: start;
  }
}
.alert-denied {
  margin: 10px;
  padding: 8px 12px;
  border-radius: 6px;
  border: 2px solid #d22;
  background-color: #800;
  color: #fff;
  text-align: center;
}
.userlist {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.userlist-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 16px;
  min-width: 0;
  box-sizing: border-box;
}
.userlist-header .alphabet-filter {
  display: flex;
  align-items: center;
}
.userlist-table {
  width: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  min-width: 0;
  box-sizing: border-box;
}
.userlist-table.feature-panel {
  padding: 0;
}
.userlist-row {
  display: grid;
  grid-template-columns: 48px minmax(220px, 1fr) 100px;
  align-items: center;
  min-width: 0;
  box-sizing: border-box;
  padding: 10px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  background: rgba(15, 15, 15, 0.45);
}
.userlist-row.userlist-row--header {
  border-bottom: 1px solid rgba(255, 210, 102, 0.25);
  background: linear-gradient(to bottom, rgba(84, 56, 10, 0.9), rgba(37, 24, 5, 0.95));
  color: gold;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.userlist-row:hover {
  background: rgba(57, 39, 6, 0.42);
}
.userlist-row .userlist-table__cell {
  padding: 4px 8px;
  text-align: center;
}
.userlist-row .userlist-table__cell--name {
  min-width: 0;
  text-align: left;
}
.userlist-row .userlist-table__cell--name a {
  display: inline-block;
  max-width: 100%;
  color: #ffcc66;
  text-decoration: none;
  overflow-wrap: anywhere;
}
.userlist-row .userlist-table__cell--name a:hover {
  color: #fff;
  text-shadow: 0 0 6px #ffcc00;
}
.pm-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 6px;
  border: 1px solid rgba(255, 206, 102, 0.3);
  background: rgba(255, 193, 72, 0.07);
  color: #ffd27a;
  text-decoration: none;
  font-size: 1rem;
  line-height: 1;
}
.pm-btn:hover {
  background: rgba(255, 193, 72, 0.18);
  color: #fff6dc;
  box-shadow: 0 0 8px rgba(255, 193, 72, 0.2);
}
.letter-filter-form {
  display: flex;
  align-items: center;
  gap: 8px;
}
.filter-label {
  color: #c3a46a;
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.profile-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid rgba(255, 206, 102, 0.22);
  background: rgba(22, 34, 58, 0.88);
  color: #e7f0ff;
  text-decoration: none;
  font-weight: bold;
}
.profile-link:hover {
  background: rgba(40, 64, 102, 0.95);
  text-decoration: underline;
}
.userlist-empty {
  padding: 24px 18px;
  color: #b8b8b8;
  text-align: center;
}
.header-account {
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 0;
}
.header-account td {
  padding: 0;
}
.header-bg {
  height: 180px;
  background: var(--account-header-bg-image, none) repeat-x center;
  text-align: center;
  position: relative;
}
.account-header-title {
  position: relative;
  top: 45px;
  max-width: 380px;
}
.header-bottomimg {
  width: 100%;
  height: 16px;
  display: block;
}
.account-auth-layout {
  display: flex;
  align-items: flex-start;
  gap: 24px;
  min-width: 0;
  box-sizing: border-box;
  padding: 24px;
}
.account-auth-layout img {
  flex: 0 0 auto;
  max-width: 100%;
  border-radius: 16px;
  border: 1px solid rgba(255, 196, 0, 0.18);
  box-shadow: 0 18px 36px rgba(0, 0, 0, 0.24);
}
.account-auth-copy {
  margin-top: 0;
  flex: 1;
  min-width: 0;
}
.account-note {
  margin: 0;
  color: #d9d1ba;
  line-height: 1.6;
  max-width: none;
  text-align: left;
}
.register-panel > .account-note.feature-copy {
  max-width: 78ch;
  margin: 18px auto 0;
  text-align: center;
}
.login-panel,
.register-panel {
  width: min(100%, 1080px);
  margin: 0 auto;
}
.login-message {
  color: #ff9d9d;
}
.login-message.feature-note,
.register-message {
  margin-bottom: 0;
}
.login-message.feature-note.is-error,
.register-message.is-error {
  border-color: rgba(255, 90, 90, 0.35);
  box-shadow: inset 0 0 0 1px rgba(255, 90, 90, 0.1);
}
.register-message.is-success {
  color: #8ef7a7;
  border-color: rgba(80, 220, 120, 0.4);
  box-shadow: inset 0 0 0 1px rgba(80, 220, 120, 0.12);
}
.register-message code {
  display: inline-block;
  margin-top: 4px;
  padding: 3px 8px;
  border-radius: 999px;
  background: rgba(255, 208, 92, 0.12);
  color: #fff3c2;
}
.register-message-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 12px;
}
.login-shell.feature-panel,
.register-shell.feature-panel {
  padding: 0;
  overflow: hidden;
}
.login-form,
.register-form {
  display: flex;
  flex-direction: column;
  gap: 14px;
  flex: 1;
  min-width: 0;
}
.login-form {
  width: 100%;
  max-width: 560px;
}
.register-form {
  max-width: 760px;
}
.login-field,
.form-group {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  text-align: left;
  margin: 0;
}
.login-field label,
.form-group label {
  color: #d9d1ba;
  font-size: 0.9rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 6px;
}
.login-field input,
.form-group input {
  width: 100%;
  min-width: 0;
  min-height: 44px;
  box-sizing: border-box;
  background: rgba(4, 6, 16, 0.94);
  border: 1px solid rgba(255, 196, 0, 0.22);
  color: #f4ead0;
  border-radius: 10px;
  padding: 10px 12px;
  font-size: 0.95rem;
}
.login-field input:focus,
.form-group input:focus {
  border-color: rgba(255, 220, 112, 0.8);
  box-shadow: 0 0 0 2px rgba(255, 196, 0, 0.12);
  outline: none;
}
.login-actions.feature-actions,
.form-actions.feature-actions {
  align-items: center;
  gap: 18px;
}
.login-actions.feature-actions {
  justify-content: flex-start;
}
.form-actions.feature-actions {
  margin-top: 6px;
}
.login-welcome {
  text-align: left;
}
.login-welcome h3 {
  margin: 0 0 10px;
}
.login-panel .account-auth-layout img {
  width: 236px;
}
.register-panel .account-auth-layout img {
  width: 196px;
}

@media (max-width: 760px) {
  .account-auth-layout {
    flex-direction: column;
    align-items: stretch;
    gap: 18px;
    padding: 18px;
  }

  .account-auth-layout img {
    width: min(100%, 280px);
    max-height: 180px;
    object-fit: cover;
    object-position: center top;
  }

  .login-form,
  .register-form {
    width: 100%;
    max-width: none;
  }

  .login-actions.feature-actions,
  .form-actions.feature-actions,
  .register-message-actions {
    align-items: stretch;
    gap: 10px;
  }

  .account-auth-copy {
    width: 100%;
  }
}

@media (max-width: 560px) {
  .account-auth-layout img {
    display: none;
  }

  .header-bg {
    height: 132px;
    background-size: auto 132px;
  }

  .account-header-title {
    top: 36px;
    width: min(100%, 320px);
  }
}
.modern-content.pm-container {
  max-width: 900px;
  margin: 0 auto;
  color: #ddd;
  font-family: "Trebuchet MS", sans-serif;
}
.pm-nav {
  display: flex;
  gap: 12px;
  margin-bottom: 0;
}
.pm-nav a {
  flex: 1;
  color: #ccc;
  text-decoration: none;
  padding: 6px 10px;
  border-radius: 4px;
  background: rgba(25,25,25,0.8);
  border: 1px solid #3a2a00;
  text-align: center;
  transition: 0.2s;
}
.pm-nav a:hover { background:#2c2c2c; color:#fff; }
.pm-nav a.active {
  background: linear-gradient(to bottom,#c08a00,#7a5100);
  border: 1px solid #cda400;
  box-shadow: 0 0 8px rgba(255,204,0,0.4);
  color: #fff;
  font-weight: bold;
}
.pm-view-list,
.pm-thread-list,
.pm-thread-shell {
  display: flex;
  flex-direction: column;
}
.pm-view-list,
.pm-thread-list {
  gap: 12px;
}
.pm-thread-shell {
  gap: 14px;
}
.pm-thread-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border: 1px solid rgba(255, 204, 102, 0.16);
  border-radius: 12px;
  background: rgba(255,255,255,0.03);
}
.pm-thread-title {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.pm-thread-kicker {
  color: #c7a56a;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 0.72rem;
}
.pm-thread-peer {
  color: #ffcc66;
  font-size: 1.15rem;
  font-weight: 700;
}
.pm-thread-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.pm-thread-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 14px;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 700;
}
.pm-thread-link.secondary {
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.12);
  color: #f0f0f0;
}
.pm-thread-link.primary {
  background: linear-gradient(180deg, #c08a00, #7a5100);
  border: 1px solid #cda400;
  color: #fff;
}
.pm-thread-link.secondary:hover {
  background: rgba(255,255,255,0.1);
}
.pm-thread-link.primary:hover {
  box-shadow: 0 0 8px rgba(255,204,0,0.25);
}
.pm-thread-reply {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 14px;
  border: 1px solid rgba(255, 204, 102, 0.16);
  border-radius: 14px;
  background: rgba(255,255,255,0.03);
}
.pm-thread-reply textarea {
  width: 100%;
  min-height: 130px;
  box-sizing: border-box;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(12,12,12,0.92);
  color: #f0f0f0;
  resize: vertical;
}
.pm-thread-reply textarea:focus {
  outline: none;
  border-color: rgba(255, 206, 102, 0.45);
  box-shadow: 0 0 0 3px rgba(216, 158, 57, 0.12);
}
.pm-thread-reply-actions {
  display: flex;
  justify-content: flex-end;
}
.pm-thread-send {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 16px;
  border: 0;
  border-radius: 10px;
  background: linear-gradient(180deg, #ffd27a, #d89e39);
  color: #17120a;
  font-weight: 700;
  cursor: pointer;
}
.pm-thread-send:hover {
  filter: brightness(1.05);
}
.pm-card {
  position: relative;
  box-sizing: border-box;
  width: min(72%, 700px);
  max-width: calc(100% - 12px);
  background: rgba(20,20,20,0.9);
  border: 1px solid #333;
  border-radius: 18px;
  padding: 14px 16px 16px;
  transition: background 0.2s, border-color 0.2s, transform 0.2s;
}
.pm-card:hover { background: rgba(35,35,35,0.95); border-color: rgba(255, 204, 102, 0.2); transform: translateY(-1px); }
.pm-card.unread { border-color: #bba100; }
.pm-card.outgoing {
  border-right: 3px solid rgba(120, 200, 255, 0.5);
  align-self: flex-end;
  margin-right: 6px;
  background: linear-gradient(180deg, rgba(18, 28, 38, 0.94), rgba(10, 18, 26, 0.9));
}
.pm-card.incoming {
  border-left: 3px solid rgba(255, 204, 102, 0.55);
  align-self: flex-start;
  margin-left: 6px;
  background: linear-gradient(180deg, rgba(28, 24, 14, 0.94), rgba(18, 14, 10, 0.9));
}
.pm-row-header {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  font-size: 0.88rem;
  color: #ccc;
  margin-bottom: 8px;
  gap: 12px;
}
.pm-row-main {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.pm-direction {
  display: inline-flex;
  align-self: flex-start;
  padding: 2px 8px;
  border-radius: 999px;
  border: 1px solid rgba(255, 204, 102, 0.18);
  background: rgba(255,255,255,0.04);
  color: #ffcc66;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.pm-time {
  color: #d5d5d5;
  font-size: 0.88rem;
  white-space: nowrap;
}
.pm-inline-reply,
.pm-inline-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 0.82rem;
  font-weight: 700;
  text-decoration: none;
}
.pm-inline-reply {
  background: rgba(255, 204, 0, 0.12);
  border: 1px solid rgba(255, 204, 0, 0.28);
  color: #ffd45f;
}
.pm-inline-reply:hover {
  background: rgba(255, 204, 0, 0.2);
  color: #fff2b8;
}
.pm-inline-mark {
  background: rgba(120, 200, 160, 0.12);
  border: 1px solid rgba(120, 200, 160, 0.28);
  color: #9be0bb;
}
.pm-inline-mark:hover {
  background: rgba(120, 200, 160, 0.2);
  color: #d6ffea;
}
.pm-preview {
  margin-top: 8px;
  color: #d0d0d0;
  line-height: 1.6;
}
.pm-card-footer {
  display: flex;
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px solid rgba(255,255,255,0.06);
}
.pm-card.incoming .pm-card-footer {
  justify-content: flex-start;
}
.pm-card.outgoing .pm-card-footer {
  justify-content: flex-end;
}
.pm-card.outgoing .pm-row-header,
.pm-card.outgoing .pm-row-main {
  align-items: flex-end;
  text-align: right;
}
.pm-card.outgoing .pm-direction {
  align-self: flex-end;
  border-color: rgba(120, 200, 255, 0.2);
  color: #9fd8ff;
}
.pm-card.outgoing .pm-label {
  color: #9fd8ff;
}
.pm-empty {
  padding: 18px;
  text-align: center;
  color: #b7b7b7;
}
.pm-conversation-card {
  width: 95%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  padding: 16px 18px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(20,20,20,0.9);
  text-decoration: none;
  color: inherit;
  transition: transform 0.18s ease, border-color 0.18s ease, background 0.18s ease;
}
.pm-conversation-card:hover {
  transform: translateY(-1px);
  border-color: rgba(255, 204, 102, 0.18);
  background: rgba(28,28,28,0.95);
}
.pm-conversation-main {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}
.pm-conversation-top {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.pm-conversation-name {
  color: #ffcc66;
  font-size: 1.05rem;
  font-weight: 700;
}
.pm-conversation-preview {
  color: #c8c8c8;
  line-height: 1.55;
}
.pm-conversation-meta {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
  white-space: nowrap;
}
.pm-unread-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  height: 28px;
  padding: 0 9px;
  border-radius: 999px;
  background: rgba(255, 204, 0, 0.15);
  border: 1px solid rgba(255, 204, 0, 0.3);
  color: #ffdf7a;
  font-weight: 700;
}
.pm-view-card {
  background: rgba(20,20,20,0.9);
  border: 1px solid #333;
  border-radius: 12px;
  padding: 18px;
}
.pm-view-header {
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid #333;
  padding-bottom: 6px;
  margin-bottom: 10px;
}
.pm-view-fromto div { color: #ccc; font-size: 0.9rem; }
.pm-label { color: #ffcc66; font-weight: 600; }
.pm-view-subject {
  font-weight: bold;
  color: #ffcc00;
  margin-bottom: 8px;
}
.pm-view-body {
  background: #111;
  border-radius: 10px;
  padding: 14px;
  color: #eee;
  white-space: pre-wrap;
  min-height: 100px;
}
.pm-view-footer {
  text-align: right;
  margin-top: 12px;
}
.pm-reply-btn {
  background: #b58300;
  border: 1px solid #ffcc33;
  color: #fff;
  padding: 6px 12px;
  border-radius: 4px;
  text-decoration: none;
  font-weight: bold;
}
.pm-reply-btn:hover {
  background: #dca800;
  box-shadow: 0 0 6px #ffcc00;
}
.pm-back-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-right: 10px;
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid rgba(255, 206, 102, 0.25);
  background: rgba(255,255,255,0.06);
  color: #f0f0f0;
  text-decoration: none;
  font-weight: 700;
}
.pm-back-btn:hover {
  background: rgba(255,255,255,0.12);
}
.pm-compose label {
  display:block;
  margin:6px 0 4px 2px;
  color:#ffcc66;
  font-weight:600;
}
.pm-compose .compose-help {
  margin: -2px 0 10px 2px;
  color: #a8a8a8;
  font-size: 0.92rem;
}
.pm-compose input[type=text],
.pm-compose select,
.pm-compose textarea {
  width:100%;
  background:rgba(20,20,20,0.95);
  border:1px solid #444;
  color:#f0f0f0;
  border-radius:4px;
  padding:8px 10px;
  margin-bottom:10px;
  box-sizing:border-box;
}
.pm-compose textarea {
  min-height:200px;
  resize:vertical;
}
.pm-recipient-row {
  display: grid;
  gap: 12px;
  margin-bottom: 8px;
}
.pm-recipient-quickpick {
  background: rgba(15,15,15,0.96);
  border: 1px solid rgba(255,200,80,0.2);
  border-radius: 8px;
  padding: 10px 12px;
}
.pm-recipient-quickpick label {
  margin-top: 0;
}
.pm-recipient-quickpick select {
  margin-bottom: 0;
}
.pm-buttons {
  display:flex;
  gap:10px;
  justify-content:flex-end;
}
.btn-primary {
  background:#2c6ac8;
  color:#fff;
  border:none;
  border-radius:4px;
  padding:6px 14px;
  cursor:pointer;
}
.btn-primary:hover { background:#3d7cff; }
.suggestion-box {
  position: absolute;
  background: rgba(10, 10, 10, 0.95);
  border: 1px solid #654321;
  border-radius: 6px;
  max-height: 180px;
  overflow-y: auto;
  width: 100%;
  z-index: 999;
  margin-top: 2px;
}
.suggestion-item {
  padding: 6px 8px;
  color: #ffc;
  cursor: pointer;
  font-family: "Trebuchet MS", sans-serif;
}
.suggestion-item:hover {
  background: #2c2c2c;
  color: #fff;
}
.list-page-avatar-circle {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 2px solid #222;
  background-color: #000;
  transition: 0.3s;
}
.honor-table .honor-table__header,
.honor-table .honor-table__row {
  grid-template-columns: minmax(220px, 1.15fr) 126px 72px 88px 88px minmax(180px, 1.2fr) 96px;
}
.honor-table .honor-table__header .sortable {
  cursor: pointer;
  user-select: none;
}
.honor-table .honor-table__header .honor-table__cell {
  white-space: nowrap;
}
.honor-table .honor-table__name {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-left: 14px;
  text-align: left;
}
.honor-table .honor-table__icon,
.honor-table .honor-table__level,
.honor-table .honor-table__hk,
.honor-table .honor-table__dk,
.honor-table .honor-table__honor {
  text-align: center;
}
.honor-table .honor-table__row:nth-child(even) {
  background: rgba(255, 255, 255, 0.04);
}
.honor-table .honor-table__row:hover {
  background: rgba(255, 255, 255, 0.08);
}
.honor-table .honor-table__rank {
  padding: 0 12px;
  text-align: left;
}
.honor-rank-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
  position: relative;
  cursor: help;
}
.honor-rank-id {
  font-size: 0.75em;
  opacity: 0.55;
}
.honor-table .faction-icon,
.honor-table .rank-icon {
  width: 34px;
  height: 34px;
  object-fit: contain;
}
.honor-table .faction-filter,
.honor-table .honor-table__faction-filter {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
}
.honor-table .inline-filter-select,
.honor-table .honor-table__inline-filter {
  width: min(112px, 100%);
  min-width: 0;
}
.honor-rank-tooltip {
  position: fixed;
  z-index: 9999;
  display: none;
  width: min(360px, calc(100vw - 24px));
  padding: 14px 16px;
  border: 1px solid rgba(212, 170, 55, 0.4);
  border-radius: 12px;
  background: rgba(7, 11, 24, 0.97);
  box-shadow: 0 18px 36px rgba(0, 0, 0, 0.45);
  color: #f4ead2;
  pointer-events: none;
}
.honor-rank-tooltip.is-visible {
  display: block;
}
.honor-rank-tooltip__title {
  margin-bottom: 6px;
  color: #ffd66a;
  font-weight: 700;
  font-size: 1rem;
}
.honor-rank-tooltip__copy {
  color: rgba(244, 234, 210, 0.9);
  font-size: 0.95rem;
  line-height: 1.45;
}
.character-table .character-table__header,
.character-table .character-table__row {
  grid-template-columns: 220px 180px 92px 92px 164px 72px minmax(180px, 1fr);
}
.character-table .character-table__header .character-table__cell {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.character-table .character-table__header .sortable {
  cursor: pointer;
  user-select: none;
}
.character-table .character-table__header .sortable::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translateY(-50%);
  color: transparent;
  font-size: 0.85em;
  transition: color 0.15s ease;
}
.character-table .character-table__header .sortable[data-state="asc"]::after {
  content: '^';
  color: #f1cf75;
}
.character-table .character-table__header .sortable[data-state="desc"]::after {
  content: 'v';
  color: #f1cf75;
}
.character-table .character-table__name {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-left: 14px;
}
.character-table .character-table__faction,
.character-table .character-table__location {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.character-table .character-table__header .character-table__name-header {
  justify-content: flex-start;
  padding-left: 14px;
}
.character-table .character-table__faction-filter {
  gap: 8px;
  justify-content: center;
}
.character-table .character-table__filter-label {
  color: #f1cf75;
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  white-space: nowrap;
}
.character-table .character-table__location-filter {
  display: flex;
  align-items: center;
  justify-content: center;
}
.character-table .inline-toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
  color: #f1cf75;
  font-size: 0.92rem;
  white-space: nowrap;
}
.character-table .inline-toggle input[type="checkbox"] {
  width: 16px;
  height: 16px;
  accent-color: #2f7cf6;
}
.character-table .character-table__inline-filter {
  min-width: 92px;
}
.character-table .character-table__row:nth-child(even) {
  background: rgba(255, 255, 255, 0.04);
}
.character-table .character-table__row:hover {
  background: rgba(255, 255, 255, 0.08);
}
.pagination-controls {
  margin-top: 12px !important;
}
.character-table-toolbar {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  margin: 0;
}
.character-table .character-table__row .character-table__cell a {
  color: inherit;
  text-decoration: none;
}
.character-table .character-table__row .character-table__cell a:hover {
  color: #fff2c4;
}
.character-table .character-table__row .character-table__cell a img {
  flex-shrink: 0;
}
.character-table .character-table__name a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  line-height: 1.1;
}
.character-table .character-table__name .portrait {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  border: 1px solid rgba(255, 204, 102, 0.42);
  background: #070707;
  object-fit: cover;
  box-shadow:
    0 0 0 1px rgba(0, 0, 0, 0.55) inset,
    0 2px 8px rgba(0, 0, 0, 0.45);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.character-table .character-table__row:hover .character-table__name .portrait {
  transform: translateY(-1px);
  box-shadow:
    0 0 0 1px rgba(0, 0, 0, 0.62) inset,
    0 6px 14px rgba(0, 0, 0, 0.55);
}
.character-filter-actions,
.character-toolbar-controls {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
}
.character-filter-actions {
  gap: 16px;
}
.character-toolbar-controls {
  gap: 14px;
}
.admin-members {
  display: flex;
  flex-direction: column;
  gap: 18px;
  width: min(100%, 1180px);
  margin: 0 auto;
  color: #ddd;
}
.admin-panel,
.admin-detail-grid > div,
.admin-character-list,
.admin-form-panel,
.admin-list-shell,
.admin-list-toolbar {
  padding: 18px 20px;
  color: #ddd;
}
.admin-members__heading {
  margin: 0 0 8px;
  color: #ffcc66;
  font-size: 1.35rem;
}
.admin-members__heading.admin-members__heading--compact {
  font-size: 1.1rem;
}
.admin-subheading {
  margin: 0 0 14px;
  color: #c9a86a;
  font-size: 0.82rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.admin-subheading.is-tight {
  margin: 0;
}
.admin-members__note {
  margin: 0;
  color: #c9c9c9;
}
.admin-members__note.admin-members__note--status-summary {
  margin-bottom: 14px;
}
.admin-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}
.admin-spacer {
  height: 18px;
}
.admin-btn,
.admin-btn:visited,
.admin-form-panel input[type=submit],
.admin-form-panel input[type=reset],
.admin-members-toolbar__form button,
.admin-members-toolbar__form .toolbar-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid rgba(255, 206, 102, 0.22);
  background: rgba(22, 34, 58, 0.88);
  color: #e7f0ff;
  text-decoration: none;
  font-weight: bold;
  cursor: pointer;
  transition: background 0.18s ease, border-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}
.admin-btn:hover,
.admin-form-panel input[type=submit]:hover,
.admin-form-panel input[type=reset]:hover,
.admin-members-toolbar__form button:hover,
.admin-members-toolbar__form .toolbar-link:hover {
  background: rgba(40, 64, 102, 0.95);
  border-color: rgba(127, 199, 255, 0.28);
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.18);
  transform: translateY(-1px);
}
.admin-btn.danger,
.admin-members-toolbar__form .danger {
  border-color: rgba(255, 110, 110, 0.38);
  background: rgba(170, 35, 35, 0.18);
  color: #ffe2e2;
}
.admin-btn.danger:hover,
.admin-members-toolbar__form .danger:hover {
  background: rgba(170, 35, 35, 0.28);
  border-color: rgba(255, 110, 110, 0.3);
}
.admin-btn[aria-disabled="true"],
.admin-members-toolbar__form .toolbar-link[aria-disabled="true"] {
  cursor: not-allowed;
  opacity: 0.55;
  color: #b9b9b9;
  background: rgba(90, 90, 90, 0.14);
  border-color: rgba(180, 180, 180, 0.18);
  box-shadow: none;
  pointer-events: none;
}
.admin-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
  gap: 18px;
}
.admin-detail-grid > div {
  padding: 18px 20px;
}
.admin-meta {
  display: grid;
  grid-template-columns: minmax(160px, 220px) 1fr;
  gap: 10px 18px;
}
.admin-meta-label {
  color: #c3a46a;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.76rem;
}
.admin-meta-value {
  color: #f2f2f2;
}
.admin-status {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  padding: 8px 12px;
  border-radius: 999px;
  font-weight: bold;
}
.admin-status.active {
  border: 1px solid rgba(92, 199, 129, 0.28);
  background: rgba(44, 127, 75, 0.18);
  color: #8ff0a7;
}
.admin-status.banned {
  border: 1px solid rgba(255, 110, 110, 0.28);
  background: rgba(170, 35, 35, 0.18);
  color: #ff9b9b;
}
.admin-character-list ul {
  margin: 0;
  padding-left: 18px;
}
.admin-realm-groups,
.admin-signature-realm-groups {
  display: grid;
  gap: 14px;
}
.admin-realm-group,
.admin-signature-realm-group,
.admin-preflight-card {
  padding: 14px;
  border-radius: 12px;
  border: 1px solid rgba(255, 204, 102, 0.12);
  background: rgba(255, 204, 102, 0.05);
}
.admin-realm-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 10px;
}
.admin-realm-title {
  color: #ffcc66;
  font-size: 1rem;
  font-weight: bold;
}
.admin-signature-realm-title {
  margin-bottom: 12px;
  color: #ffcc66;
  font-size: 1rem;
  font-weight: bold;
}
.admin-realm-summary {
  color: #c7c7c7;
  font-size: 0.88rem;
}
.admin-character-list li {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 10px;
  color: #ddd;
  list-style: none;
}
.admin-character-status-dot {
  width: 10px;
  height: 10px;
  flex: 0 0 10px;
  border-radius: 999px;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.35);
}
.admin-character-status-dot.online {
  background: #56d37d;
  box-shadow: 0 0 8px rgba(86, 211, 125, 0.45);
}
.admin-character-status-dot.offline {
  background: #d35b5b;
  box-shadow: 0 0 8px rgba(211, 91, 91, 0.4);
}
.admin-character-entry {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}
.admin-character-list a {
  color: #ffcc66;
  text-decoration: none;
}
.admin-character-list a:hover {
  color: #fff;
}
.admin-form-stack,
.admin-signature-stack,
.admin-tool-stack,
.admin-list-toolbar {
  display: flex;
  flex-direction: column;
}
.admin-form-stack {
  gap: 16px;
}
.admin-form-stack.is-gap-bottom {
  margin-bottom: 18px;
}
.admin-form-grid {
  display: grid;
  grid-template-columns: minmax(180px, 220px) minmax(0, 1fr);
  gap: 10px 16px;
  align-items: center;
}
.admin-form-grid label,
.admin-field-label,
.admin-signature-row label,
.admin-preflight-label {
  color: #c3a46a;
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.admin-form-grid input[type=text],
.admin-form-grid input[type=password],
.admin-form-grid input[type=file],
.admin-form-grid select,
.admin-members-toolbar__form input[type=text],
.admin-members-toolbar__form select,
.admin-form-panel textarea {
  width: 100%;
  box-sizing: border-box;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid rgba(255, 206, 102, 0.2);
  background: rgba(12, 12, 12, 0.72);
  color: #f1f1f1;
}
.admin-form-panel textarea {
  min-height: 120px;
  resize: vertical;
}
.admin-expansion-grid,
.admin-preflight {
  display: grid;
  gap: 10px;
}
.admin-expansion-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.admin-expansion-grid form {
  margin: 0;
}
.admin-expansion-btn {
  width: 100%;
  border: 1px solid rgba(255, 206, 102, 0.2);
  background: rgba(12, 12, 12, 0.72);
  color: #f1f1f1;
}
.admin-expansion-btn.active {
  border-color: rgba(255, 206, 102, 0.45);
  background: linear-gradient(180deg, #ffd27a, #d89e39);
  color: #17120a;
}
.admin-expansion-btn[disabled] {
  opacity: 0.45;
  cursor: not-allowed;
  box-shadow: none;
}
.admin-form-help {
  color: #a9a9a9;
  font-size: 0.88rem;
}
.admin-form-actions {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 10px;
}
.admin-preflight {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 10px;
}
.admin-preflight-label {
  margin-bottom: 6px;
  font-size: 0.76rem;
}
.admin-preflight-value {
  color: #f2f2f2;
  font-weight: bold;
}
.admin-preflight-value.online {
  color: #ff9b9b;
}
.admin-preflight-value.offline {
  color: #8ff0a7;
}
.admin-tool-stack {
  gap: 18px;
}
.admin-tool-divider {
  height: 1px;
  background: rgba(255, 206, 102, 0.14);
}
.admin-signature-stack {
  gap: 12px;
}
.admin-signature-row {
  display: grid;
  grid-template-columns: minmax(110px, 150px) minmax(0, 1fr);
  gap: 10px 14px;
  align-items: center;
}
.admin-avatar-preview {
  display: flex;
  align-items: center;
  gap: 12px;
}
.admin-avatar-preview img {
  max-width: 88px;
  max-height: 88px;
  border-radius: 10px;
  border: 1px solid rgba(255, 206, 102, 0.3);
}
.admin-list-toolbar {
  gap: 16px;
}
.admin-members-toolbar__row,
.admin-members-toolbar__form,
.admin-members-toolbar__links {
  display: flex;
  flex-wrap: wrap;
}
.admin-members-toolbar__row {
  align-items: end;
  gap: 12px;
}
.admin-members-toolbar__form {
  align-items: end;
  gap: 10px;
}
.admin-members-toolbar__group {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 160px;
}
.admin-members-toolbar__group.admin-members-toolbar__group--full-width {
  min-width: 100%;
}
.admin-members-toolbar__links {
  gap: 8px;
}
.admin-members-toolbar__links a {
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255, 206, 102, 0.22);
  background: rgba(22, 34, 58, 0.88);
  color: #e7f0ff;
  text-decoration: none;
  transition: background 0.18s ease, border-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}
.admin-members-toolbar__links a.active,
.admin-members-toolbar__links a:hover {
  background: rgba(40, 64, 102, 0.95);
  border-color: rgba(127, 199, 255, 0.28);
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.18);
  transform: translateY(-1px);
}
.admin-list-shell {
  padding: 0;
  overflow: hidden;
}
.admin-list-row {
  display: grid;
  grid-template-columns: minmax(220px, 1.4fr) 110px 150px 110px 110px;
  align-items: center;
  gap: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  background: rgba(15, 15, 15, 0.45);
}
.admin-list-row.header {
  background: linear-gradient(to bottom, rgba(84, 56, 10, 0.9), rgba(37, 24, 5, 0.95));
  color: gold;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.admin-list-row:last-child {
  border-bottom: none;
}
.admin-list-row > div {
  padding: 14px 16px;
}
.admin-list-row .name a,
.admin-list-row .manage a {
  color: #ffcc66;
  text-decoration: none;
  font-weight: bold;
}
.admin-list-row .name a:hover,
.admin-list-row .manage a:hover {
  color: #fff;
}
.admin-list-empty {
  padding: 28px 20px;
  color: #b8b8b8;
  text-align: center;
}
.admin-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 10px;
  border-radius: 999px;
  font-size: 0.82rem;
  font-weight: bold;
}
.admin-badge.bot {
  border: 1px solid rgba(77, 135, 255, 0.28);
  background: rgba(77, 135, 255, 0.14);
  color: #8db9ff;
}
.admin-badge.human,
.admin-badge.good {
  border: 1px solid rgba(74, 170, 125, 0.28);
  background: rgba(74, 170, 125, 0.14);
  color: #8ef0b7;
}
.admin-badge.warn {
  border: 1px solid rgba(255, 110, 110, 0.28);
  background: rgba(170, 35, 35, 0.18);
  color: #ff9b9b;
}
.admin-pagination {
  padding: 16px 20px;
  border-top: 1px solid rgba(255, 255, 255, 0.05);
  color: #d6d6d6;
}
.admin-pagination a {
  color: #ffcc66;
}
.settings-page {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.settings-card {
  color: #ddd;
}
.settings-hero {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
}
.settings-card-title,
.settings-mini-title {
  color: #c7a56a;
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.settings-card-intro {
  margin: 8px 0 0;
  color: #b7b7b7;
  line-height: 1.55;
}
.settings-hero h2 {
  margin: 6px 0 8px;
  color: #ffcc66;
  font-size: 2rem;
}
.settings-intro {
  max-width: 640px;
}
.settings-badges {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}
.settings-badges span {
  padding: 8px 12px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.05);
}
.settings-grid,
.settings-toggle-row,
.settings-recovery-grid,
.settings-expansion-grid {
  display: grid;
  gap: 18px;
}
.settings-grid {
  grid-template-columns: 1.2fr 1fr;
}
.settings-stack-form,
.settings-field,
.settings-expansion-panel {
  display: flex;
  flex-direction: column;
}
.settings-stack-form {
  gap: 14px;
  margin-top: 14px;
}
.settings-field {
  gap: 6px;
}
.settings-field label,
.settings-field span {
  color: #bdbdbd;
  font-size: 0.95rem;
}
.settings-field input,
.settings-field select,
.settings-field textarea {
  width: 100%;
  box-sizing: border-box;
  padding: 10px 12px;
  border: 1px solid rgba(255, 214, 120, 0.22);
  border-radius: 10px;
  background: rgba(15, 18, 22, 0.84);
  color: #f1f1f1;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}
.settings-field select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding-right: 42px;
  background-image:
    linear-gradient(45deg, transparent 50%, rgba(255, 214, 120, 0.88) 50%),
    linear-gradient(135deg, rgba(255, 214, 120, 0.88) 50%, transparent 50%),
    linear-gradient(180deg, rgba(255, 214, 120, 0.12), rgba(255, 214, 120, 0.03));
  background-position:
    calc(100% - 18px) calc(50% - 2px),
    calc(100% - 12px) calc(50% - 2px),
    calc(100% - 36px) 50%;
  background-size: 6px 6px, 6px 6px, 1px 60%;
  background-repeat: no-repeat;
}
.settings-field input::placeholder,
.settings-field textarea::placeholder {
  color: rgba(226, 226, 226, 0.45);
}
.settings-field input:focus,
.settings-field select:focus,
.settings-field textarea:focus {
  outline: none;
  border-color: rgba(255, 206, 102, 0.55);
  box-shadow: 0 0 0 3px rgba(216, 158, 57, 0.12);
}
.settings-field input:disabled {
  opacity: 0.8;
}
.settings-toggle-row,
.settings-recovery-grid {
  gap: 14px;
}
.settings-toggle-row,
.settings-recovery-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.settings-tool-panel {
  margin-top: 12px;
  padding: 16px;
  border: 1px solid rgba(255, 204, 72, 0.14);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(15, 20, 34, 0.94), rgba(7, 10, 18, 0.94));
}
.settings-tool-panel-soon {
  position: relative;
  overflow: hidden;
}
.settings-tool-panel-soon::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255, 214, 120, 0.05), transparent 42%);
  pointer-events: none;
}
.settings-access-tool-panel {
  margin-top: 0;
}
.settings-status-pill {
  display: inline-flex;
  align-self: flex-start;
  padding: 5px 10px;
  border: 1px solid rgba(255, 214, 120, 0.22);
  border-radius: 999px;
  background: rgba(216, 158, 57, 0.12);
  color: #ffcc66;
  font-size: 0.72rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.settings-compact select {
  width: 100%;
}
.settings-avatar-block {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 16px;
  align-items: start;
  min-width: 0;
}
.settings-avatar-preview,
.settings-avatar-controls {
  min-width: 0;
}
.settings-avatar-controls {
  display: grid;
  gap: 10px;
}
.settings-avatar-preview img,
.settings-avatar-placeholder {
  width: 104px;
  height: 104px;
  border: 1px solid rgba(255, 214, 120, 0.2);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.04);
  object-fit: cover;
}
.settings-avatar-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffd27a;
  font-size: 2rem;
  font-weight: bold;
}
.settings-help-text {
  color: #9d9d9d;
  font-size: 0.9rem;
  line-height: 1.5;
}
.settings-background-image-picker.is-hidden {
  display: none;
}
.settings-checkbox-row,
.settings-actions,
.settings-expansion-panel {
  display: flex;
}
.settings-checkbox-row {
  align-items: center;
  gap: 8px;
  color: #d5d5d5;
  min-width: 0;
}
.settings-checkbox-row input {
  width: auto;
}
.settings-actions {
  flex-wrap: wrap;
  gap: 10px;
}
.settings-expansion-btn {
  width: 100%;
  padding: 10px 16px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.07);
  color: #eee;
  font-weight: bold;
  cursor: pointer;
}
.settings-expansion-btn.active {
  background: linear-gradient(180deg, #ffd27a, #d89e39);
  color: #17120a;
}
.builddiv-actions .btn {
  display: inline-block;
  padding: 6px 12px;
  border: 0;
  border-radius: 6px;
  font-size: 0.7em;
  text-decoration: none;
}
.builddiv-actions .btn.secondary {
  border: 0;
  background: #333;
  color: #ccc;
}
.builddiv-actions .btn:hover {
  opacity: 0.9;
}
.settings-actions .feature-button[disabled="disabled"],
.settings-actions .feature-button:disabled {
  opacity: 0.45;
  cursor: not-allowed;
  text-decoration: none;
}
.settings-section-gap {
  margin-top: 18px;
}
.settings-expansion-panel {
  gap: 12px;
}
.settings-expansion-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.settings-expansion-grid form {
  margin: 0;
}
.settings-recovery-card {
  grid-column: 1 / -1;
}

@media (max-width: 767px) {
  .settings-card.feature-panel {
    padding: 16px;
  }

  .settings-hero {
    gap: 14px;
  }

  .settings-hero h2 {
    overflow-wrap: anywhere;
  }

  .settings-badges span {
    min-height: 36px;
  }

  .settings-avatar-preview img,
  .settings-avatar-placeholder {
    width: 88px;
    height: 88px;
    border-radius: 16px;
  }

  .settings-field input[type="file"] {
    min-height: 44px;
    padding: 10px;
  }

  .settings-actions.feature-actions,
  .settings-expansion-grid {
    grid-template-columns: 1fr;
  }

  .settings-actions .feature-button {
    width: 100%;
  }
}
.admin-identity-health {
  display: flex;
  flex-direction: column;
  gap: 18px;
  width: min(100%, 1120px);
  margin: 0 auto;
  color: #f4efe2;
}
.admin-identity-health__panel,
.admin-identity-health__grid > section,
.admin-identity-health__table-wrap,
.admin-identity-health__warning {
  color: #f4efe2;
}
.admin-identity-health__eyebrow {
  margin: 0 0 10px;
  color: #c9a45a;
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.admin-identity-health__title {
  margin: 0 0 8px;
  color: #ffca5a;
  font-size: 1.4rem;
}
.admin-identity-health__body,
.admin-identity-health__note,
.admin-identity-health__hint {
  margin: 0;
  color: #d6d0c4;
  line-height: 1.6;
}
.admin-identity-health__note--spaced,
.admin-identity-health__hint--spaced {
  margin-top: 12px;
}
.admin-identity-health__list {
  margin: 14px 0 0;
  padding-left: 18px;
  color: #d6d0c4;
  line-height: 1.6;
}
.admin-identity-health__grid {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.admin-identity-health__metric {
  margin: 0 0 6px;
  color: #ffcc66;
  font-size: 2rem;
  font-weight: 700;
}
.admin-identity-health__label {
  margin: 0 0 12px;
  color: #f5f1e7;
  font-weight: 600;
}
.admin-identity-health__subgrid,
.admin-identity-health__summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 14px;
  margin-top: 14px;
}
.admin-identity-health__summary {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.admin-identity-health__mini {
  padding: 12px 14px;
  border: 1px solid rgba(230, 193, 90, 0.12);
  border-radius: 10px;
  background: rgba(255, 198, 87, 0.05);
}
.admin-identity-health__mini strong {
  display: block;
  color: #ffcc66;
  font-size: 1.15rem;
}
.admin-identity-health__mini span {
  display: block;
  color: #d6d0c4;
  font-size: 0.92rem;
}
.admin-identity-health__actions,
.admin-identity-health__command-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.admin-identity-health__actions {
  margin-top: 16px;
}
.admin-identity-health__actions--flush {
  margin-top: 0;
}
.admin-identity-health__actions form {
  margin: 0;
}
.admin-identity-health__btn,
.admin-identity-health__btn-input {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 14px;
  border: 1px solid rgba(255, 206, 102, 0.22);
  border-radius: 999px;
  background: rgba(22, 34, 58, 0.88);
  color: #e7f0ff;
  text-decoration: none;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.18s ease, border-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}
.admin-identity-health__btn:hover,
.admin-identity-health__btn-input:hover {
  background: rgba(40, 64, 102, 0.95);
  border-color: rgba(127, 199, 255, 0.28);
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.18);
  transform: translateY(-1px);
}
.admin-identity-health__btn[aria-disabled=true] {
  pointer-events: none;
  opacity: 0.55;
}
.admin-identity-health__select {
  min-width: 220px;
  box-sizing: border-box;
  padding: 10px 12px;
  border: 1px solid rgba(255, 206, 102, 0.2);
  border-radius: 10px;
  background: rgba(12, 12, 12, 0.72);
  color: #f1f1f1;
}
.admin-identity-health__table {
  width: 100%;
  margin-top: 16px;
  border-collapse: collapse;
}
.admin-identity-health__table th,
.admin-identity-health__table td {
  padding: 11px 10px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  text-align: left;
  vertical-align: top;
}
.admin-identity-health__table th {
  color: #ffca5a;
  font-size: 0.8rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.admin-identity-health__status {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(121, 205, 118, 0.12);
  color: #a7ef99;
}
.admin-identity-health__status--warn {
  background: rgba(214, 102, 102, 0.16);
  color: #ffaaa1;
}
.admin-identity-health__mono {
  font-family: Consolas, Monaco, monospace;
  font-size: 0.92rem;
}
.admin-identity-health__output,
.admin-identity-health__error,
.admin-identity-health__command {
  margin-top: 12px;
  padding: 10px;
  border-radius: 8px;
  font-family: Consolas, Monaco, monospace;
  font-size: 0.82rem;
  white-space: pre-wrap;
  word-break: break-word;
}
.admin-identity-health__output {
  border: 1px solid rgba(95, 126, 162, 0.35);
  background: #101723;
  color: #dbe9ff;
}
.admin-identity-health__error {
  border: 1px solid rgba(210, 100, 100, 0.35);
  background: #301010;
  color: #ffb0b0;
}
.admin-identity-health__command {
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: #111;
  color: #dbe9ff;
}
.admin-identity-health__command.is-collapsed {
  display: none;
}
.admin-identity-health__command-actions {
  margin-top: 12px;
}
.realmstatus-shell {
  display: grid;
  gap: 18px;
  min-width: 0;
}
.realmstatus-hero {
  padding: 0;
  overflow: hidden;
  min-width: 0;
}
.realmstatus-hero .realm-banner {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
}
.realmstatus-content {
  display: grid;
  gap: 18px;
  align-items: start;
  min-width: 0;
}
.realmstatus-legend {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  align-self: start;
  gap: 12px;
  padding: 18px 16px;
  min-width: 0;
}
.realmstatus-legend-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border: 1px solid rgba(201, 164, 75, 0.16);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(31, 38, 58, 0.9), rgba(12, 16, 28, 0.94));
  color: #ead9ad;
  font-size: 1rem;
  font-weight: 600;
  min-width: 0;
  overflow-wrap: anywhere;
}
.realmstatus-legend-dot {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
  font-size: 1rem;
  line-height: 1;
}
.realm-list {
  gap: 24px;
  width: 100%;
  min-width: 0;
}
.realm-card {
  position: relative;
  width: 100%;
  max-width: none;
  box-sizing: border-box;
  min-width: 0;
  margin: 0;
  margin-left: 0;
  margin-right: 0;
  padding: 22px 24px;
  align-self: stretch;
  background-clip: padding-box;
  overflow-wrap: anywhere;
}
.realm-card-link {
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: inherit;
}
.realm-card > * {
  position: relative;
  z-index: 2;
}
.realm-card .realm-card__collapse-toggle {
  position: relative;
  z-index: 3;
}
.realm-card__progression .realm-card__avg-ilvl {
  display: inline-block;
  margin-left: 14px;
  color: #d8c99d;
}
.realm-card__progression .realm-card__progression-note {
  color: #94aec0;
  font-style: italic;
}
.realm-card.is-selected {
  border-color: #c9a44b;
  box-shadow: 0 0 0 1px rgba(201, 164, 75, 0.28), 0 10px 20px rgba(0, 0, 0, 0.26);
}
.realm-card:hover {
  border-color: rgba(241, 207, 117, 0.34);
  box-shadow: 0 22px 44px rgba(0, 0, 0, 0.34);
  transform: translateY(-1px);
}
.realm-card.is-selected:hover {
  box-shadow: 0 0 0 1px rgba(201, 164, 75, 0.28), 0 22px 44px rgba(0, 0, 0, 0.34);
}
.realm-card.is-collapsed .realm-card__body,
.realm-card.is-collapsed .realm-card__meta,
.realm-card.is-collapsed .realm-card__progression,
.realm-card.is-collapsed .realm-card__debug {
  display: none;
}
.realm-card__selected-badge {
  padding: 3px 8px;
  border: 1px solid rgba(201, 164, 75, 0.45);
  border-radius: 999px;
  background: rgba(201, 164, 75, 0.12);
  color: #f0d58a;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.realm-card__header-meta {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 6px;
  margin-left: auto;
  min-width: 0;
}
.realm-card__collapse-toggle {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  gap: 8px;
  padding: 5px 10px;
  border: 1px solid rgba(201, 164, 75, 0.28);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.03);
  color: #d8c99d;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  white-space: normal;
}
.realm-card__build {
  color: #888;
  font-size: 0.9rem;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

@media (max-width: 640px) {
  .realmstatus-content {
    grid-template-columns: 1fr;
  }

  .realmstatus-legend {
    display: grid;
    grid-template-columns: 1fr;
    padding: 14px;
  }

  .realm-card {
    padding: 16px;
    border-radius: 14px;
  }

  .realm-card__header {
    align-items: flex-start;
  }

  .realm-card__header-meta {
    width: 100%;
    align-items: flex-start;
    margin-left: 0;
  }

  .realm-card__progression .realm-card__avg-ilvl {
    display: block;
    margin-left: 0;
    margin-top: 6px;
  }
}
.modern-item-tooltip {
  min-width: 220px;
  max-width: min(420px, calc(100vw - 24px));
  max-height: calc(100vh - 24px);
  overflow: auto;
}
.modern-item-tooltip-loading {
  padding: 14px 16px;
  border: 1px solid rgba(255, 196, 0, 0.35);
  border-radius: 10px;
  background: rgba(5, 8, 18, 0.96);
  box-shadow: 0 16px 38px rgba(0, 0, 0, 0.45);
  color: #f5e6b2;
}
#modern-item-tooltip {
  position: fixed;
  z-index: 9999;
  display: none;
  pointer-events: none;
}
.member-profile {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.member-hero,
.member-identity,
.member-actions,
.member-subline {
  display: flex;
}
.member-hero {
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}
.member-identity {
  align-items: center;
  gap: 16px;
}
.member-avatar img,
.member-avatar-placeholder {
  width: 92px;
  height: 92px;
  border: 1px solid rgba(255, 204, 102, 0.35);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.04);
  object-fit: cover;
}
.member-avatar-placeholder {
  align-items: center;
  justify-content: center;
  color: #ffd27a;
  font-size: 2rem;
  font-weight: bold;
}
.member-panel-label {
  color: #c7a56a;
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.member-copy h2 {
  margin: 4px 0 6px;
  color: #ffcc66;
  font-size: 2rem;
}
.member-subline {
  flex-wrap: wrap;
  gap: 10px;
  color: #cfcfcf;
}
.member-subline span {
  padding: 5px 10px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.05);
}
.member-actions {
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}
.member-grid,
.member-chars-groups,
.member-stat-list {
  display: grid;
}
.member-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.member-panel {
  color: #ddd;
}
.member-stat-list {
  gap: 10px;
  margin-top: 12px;
}
.member-stat-item {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.member-stat-item:last-child,
.member-chars-item:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}
.member-stat-label {
  min-width: 140px;
  color: #a9a9a9;
  font-weight: 600;
}
.member-stat-value,
.member-character-name {
  color: #f0f0f0;
}
.member-character-card,
.member-chars-group {
  margin-top: 12px;
  padding: 14px;
  border: 1px solid rgba(255, 204, 102, 0.12);
  border-radius: 12px;
  background: rgba(255, 204, 102, 0.05);
}
.member-character-name {
  margin-bottom: 6px;
  color: #ffcc66;
  font-size: 1.2rem;
}
.member-character-meta,
.member-empty-copy {
  margin-top: 4px;
  color: #c7c7c7;
}
.member-chars-groups {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 12px;
}
.member-chars-group-title {
  margin-bottom: 10px;
  color: #ffcc66;
  font-size: 1rem;
  font-weight: bold;
}
.member-chars-list {
  display: grid;
  gap: 10px;
}
.member-chars-item {
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.member-chars-item-main {
  color: #f0f0f0;
  font-weight: 700;
}
.member-chars-item-meta {
  margin-top: 4px;
  color: #bdbdbd;
  font-size: 0.88rem;
}
.wb-page {
  max-width: 1180px;
}
.wb-grid {
  display: grid;
  grid-template-columns: minmax(300px, 420px) minmax(320px, 1fr);
  gap: 16px;
}
.wb-card {
  margin-bottom: 16px;
  padding: 14px;
  border: 1px solid #383838;
  border-radius: 8px;
  background: #1e1e1e;
}
.wb-card h3 {
  margin: 0 0 10px;
  padding-bottom: 4px;
  border-bottom: 1px solid #444;
  color: #f0c070;
  font-size: 14px;
}
.wb-card p {
  margin: 4px 0 10px;
  color: #bbb;
  font-size: 13px;
}
.wb-row,
.wb-copy-row,
.wb-tag-row {
  display: flex;
}
.wb-row {
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 10px;
}
.wb-label {
  width: 90px;
  color: #aaa;
  font-size: 12px;
  letter-spacing: 0.4px;
  text-transform: uppercase;
}
.wb-field {
  flex: 1;
  min-width: 180px;
}
.wb-field-small {
  width: 110px;
}
.wb-input,
.wb-select,
.wb-textarea,
.wb-spell-name {
  width: 100%;
  padding: 6px 8px;
  border: 1px solid #444;
  border-radius: 4px;
  background: #1a1a1a;
  color: #ddd;
  font-size: 13px;
}
.wb-input:focus,
.wb-select:focus,
.wb-textarea:focus,
.wb-spell-name:focus {
  outline: none;
  border-color: #f0c070;
}
.wb-textarea {
  min-height: 120px;
  resize: vertical;
  font-family: monospace;
}
.wb-btn {
  padding: 6px 12px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 12px;
  font-weight: 600;
}
.wb-btn-add {
  background: #2a4a2a;
  color: #7ec87e;
}
.wb-btn-add:hover {
  background: #3a5a3a;
}
.wb-btn-del {
  background: #4a2a2a;
  color: #e07e7e;
}
.wb-btn-del:hover {
  background: #5a3a3a;
}
.wb-btn-copy {
  background: #2a3a4a;
  color: #7ec8e3;
}
.wb-btn-copy:hover {
  background: #3a4a5a;
}
.wb-preset-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-height: 420px;
  overflow: auto;
}
.wb-preset-btn {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #3b3b3b;
  border-radius: 6px;
  background: #161616;
  color: #ddd;
  text-align: left;
  cursor: pointer;
}
.wb-preset-btn:hover,
.wb-preset-btn.active {
  border-color: #f0c070;
  background: #202020;
}
.wb-preset-btn strong {
  display: block;
  margin-bottom: 4px;
  color: #f0c070;
}
.wb-preset-btn span,
.wb-note {
  color: #999;
  font-size: 12px;
}
.wb-tag-row {
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}
.wb-tag {
  padding: 4px 10px;
  border: 1px solid #494949;
  border-radius: 999px;
  background: #151515;
  color: #d7c29b;
  font-size: 12px;
}
.wb-spell-row {
  display: grid;
  grid-template-columns: minmax(260px, 1.4fr) minmax(110px, 0.6fr) auto;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}
.wb-copy-row {
  align-items: flex-start;
  gap: 8px;
}
.wb-output {
  min-height: 42px;
  flex: 1;
  padding: 12px 14px;
  border: 1px solid #333;
  border-radius: 6px;
  background: #111;
  color: #aed6a0;
  font-family: monospace;
  font-size: 12px;
  white-space: pre-wrap;
  word-break: break-all;
}
.wb-back {
  display: inline-flex;
  align-items: center;
  margin-bottom: 12px;
  color: #7ec8e3;
  font-weight: 600;
  text-decoration: none;
}
.wb-back:hover {
  color: #a9def0;
  text-decoration: underline;
}
.backup-admin {
  display: flex;
  flex-direction: column;
  gap: 18px;
  color: #f4efe2;
}
.backup-admin__panel {
  padding: 18px 20px;
  border: 1px solid rgba(230, 193, 90, 0.22);
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(20, 24, 34, 0.82), rgba(10, 12, 18, 0.9));
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.22);
}
.backup-admin__eyebrow {
  margin: 0 0 8px;
  color: #c9a45a;
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.backup-admin__title {
  margin: 0 0 8px;
  color: #ffca5a;
  font-size: 1.35rem;
}
.backup-admin__copy,
.backup-admin__note {
  margin: 0;
  color: #d6d0c4;
  line-height: 1.6;
}
.backup-admin__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
  margin-top: 14px;
}
.backup-admin__mini {
  padding: 12px 14px;
  border: 1px solid rgba(230, 193, 90, 0.12);
  border-radius: 10px;
  background: rgba(255, 198, 87, 0.05);
}
.backup-admin__mini strong {
  display: block;
  color: #ffcc66;
  font-size: 1.1rem;
}
.backup-admin__form {
  display: grid;
  grid-template-columns: minmax(180px, 220px) minmax(0, 1fr);
  align-items: center;
  gap: 12px 16px;
  margin-top: 16px;
}
.backup-admin__form label {
  color: #c3a46a;
  font-size: 0.82rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.backup-admin__form input[type=text],
.backup-admin__form select {
  width: 100%;
  box-sizing: border-box;
  padding: 10px 12px;
  border: 1px solid rgba(255, 206, 102, 0.2);
  border-radius: 10px;
  background: rgba(12, 12, 12, 0.72);
  color: #f1f1f1;
}
.backup-admin__actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 18px;
}
.backup-admin__pair {
  display: contents;
}
.backup-admin__pair.is-hidden {
  display: none;
}
.backup-admin__actions input[type=submit] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 18px;
  border: 1px solid rgba(255, 206, 102, 0.35);
  border-radius: 10px;
  background: rgba(255, 193, 72, 0.08);
  color: #ffd27a;
  font-weight: bold;
  cursor: pointer;
}
.backup-admin__actions input[type=submit][disabled] {
  cursor: not-allowed;
  opacity: 0.55;
  border-color: rgba(180, 180, 180, 0.18);
  background: rgba(90, 90, 90, 0.14);
  color: #b9b9b9;
}
.backup-admin__msg {
  margin-top: 14px;
  padding: 12px 14px;
  border-radius: 10px;
  font-size: 0.95rem;
}
.backup-admin__msg.error {
  border: 1px solid rgba(255, 110, 110, 0.28);
  background: rgba(170, 35, 35, 0.18);
  color: #ffb0b0;
}
.backup-admin__msg.success {
  border: 1px solid rgba(92, 199, 129, 0.28);
  background: rgba(44, 127, 75, 0.18);
  color: #9ef0b2;
}
.backup-admin__msg a,
.backup-admin__file-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}
.backup-admin__msg a {
  margin-left: 10px;
  padding: 7px 12px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  color: #f6f0da;
}
.backup-admin__msg a:hover {
  background: rgba(255, 255, 255, 0.14);
}
.backup-admin__files,
.backup-admin__file-meta {
  display: flex;
  flex-direction: column;
}
.backup-admin__files {
  gap: 10px;
  margin-top: 14px;
}
.backup-admin__file {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  padding: 12px 14px;
  border: 1px solid rgba(230, 193, 90, 0.12);
  border-radius: 10px;
  background: rgba(255, 198, 87, 0.05);
}
.backup-admin__file-meta {
  gap: 4px;
  min-width: 0;
}
.backup-admin__file-name {
  color: #ffcc66;
  font-weight: bold;
  word-break: break-all;
}
.backup-admin__file-sub {
  color: #cfc7b8;
  font-size: 0.92rem;
}
.backup-admin__file-link {
  padding: 8px 14px;
  border: 1px solid rgba(255, 206, 102, 0.35);
  border-radius: 999px;
  background: rgba(255, 193, 72, 0.08);
  color: #f6f0da;
  white-space: nowrap;
}
.backup-admin__file-link:hover {
  background: rgba(255, 193, 72, 0.14);
}
.statistics-page .stats-faction-columns {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: clamp(24px, 6vw, 72px);
  width: 100%;
  max-width: 680px;
  margin: 0 auto;
  transition: all 0.3s ease;
}
.statistics-page .stats-faction-col {
  position: relative;
  display: flex;
  flex: 0 1 260px;
  flex-direction: column;
  align-items: center;
  min-width: 260px;
  max-width: 260px;
  min-height: 360px;
  margin-top: 30px;
  padding: 24px 16px;
  border: 1px solid #333;
  border-radius: 8px;
  background: rgba(0, 0, 0, 0.5);
  box-shadow: inset 0 0 12px rgba(0, 0, 0, 0.7);
  text-align: center;
}
.statistics-page .stats-faction-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100%;
  opacity: 0.1;
  filter: saturate(150%) brightness(1.3);
}
.statistics-page .stats-faction-text {
  position: relative;
  z-index: 1;
  margin-bottom: 10px;
  font-size: 1.2rem;
  font-weight: 700;
}
.statistics-page .stats-faction-col.alliance .stats-faction-text {
  color: #79a9ff;
  text-shadow: 0 0 6px rgba(255, 220, 100, 0.4);
}
.statistics-page .stats-faction-col.horde .stats-faction-text {
  color: #ff4444;
  text-shadow: 0 0 6px rgba(255, 60, 60, 0.4);
}
.statistics-page .stats-race-line {
  display: flex;
  justify-content: left;
  align-items: center;
  gap: 8px;
  width: fit-content;
  margin: 6px auto;
}
.statistics-page .stats-race-line img {
  width: 42px;
  height: auto;
  border: 1px solid #444;
  border-radius: 4px;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.4);
}
.statistics-page .stats-race-line span {
  min-width: 100px;
  color: #ddd;
  font-size: 0.95rem;
  text-align: left;
}
.statistics-page .stats-neutral-dk {
  margin-top: 20px;
  color: #c41f3b;
  font-weight: bold;
  text-align: center;
}
.statistics-page .stats-breakdown-shell {
  max-width: 1100px;
  margin: 34px auto 0;
  padding: 26px 28px 30px;
  border: 1px solid rgba(255, 214, 120, 0.18);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(10, 12, 18, 0.94), rgba(5, 7, 12, 0.9));
  box-shadow: inset 0 0 30px rgba(0, 0, 0, 0.45), 0 18px 36px rgba(0, 0, 0, 0.24);
}
.statistics-page .stats-breakdown-grid,
.statistics-page .stats-bars,
.statistics-page .stats-bucket-list,
.statistics-page .stats-split-card,
.statistics-page .stats-guild-human-list {
  display: flex;
  flex-direction: column;
}
.statistics-page .stats-breakdown-grid {
  gap: 18px;
}
.statistics-page .stats-panel {
  padding: 20px 20px 18px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 14px;
  background: rgba(8, 10, 16, 0.74);
}
.statistics-page .stats-accordion {
  overflow: hidden;
}
.statistics-page .stats-accordion-summary-copy {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.statistics-page .stats-accordion-summary-copy h3,
.statistics-page .stats-panel h3 {
  margin: 0;
  color: #ffd777;
  font-size: 1.2rem;
}
.statistics-page .stats-accordion-summary-copy p,
.statistics-page .stats-panel .panel-note {
  margin: 0;
  color: #b3b3b3;
  font-size: 0.88rem;
}
.statistics-page .stats-panel .panel-note {
  margin-bottom: 16px;
}
.statistics-page .stats-accordion-body {
  padding: 0 20px 18px;
}
.statistics-page .stats-bars {
  gap: 12px;
}
.statistics-page .stats-row {
  display: grid;
  grid-template-columns: 150px minmax(140px, 1fr) 42px;
  gap: 10px;
  align-items: center;
}
.statistics-page .stats-label {
  font-size: 0.98rem;
  font-weight: 700;
}
.statistics-page .stats-bar-track {
  position: relative;
  overflow: hidden;
  height: 20px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.05);
}
.statistics-page .stats-bar-fill {
  min-width: 10px;
  height: 100%;
  border-radius: inherit;
}
.statistics-page .stats-value,
.statistics-page .stats-bucket-value,
.statistics-page .stats-split-stat strong,
.statistics-page .stats-guild-human-stat strong {
  color: #f2d086;
  font-weight: 700;
}
.statistics-page .stats-value {
  font-size: 1.05rem;
  text-align: right;
}
.statistics-page .stats-columns {
  display: flex;
  justify-content: center;
  align-items: end;
  gap: 8px;
  min-height: 290px;
  padding-top: 10px;
}
.statistics-page .stats-column {
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.statistics-page .stats-column-value {
  color: #f5d892;
  font-size: 0.88rem;
  font-weight: 700;
}
.statistics-page .stats-column-track {
  display: flex;
  justify-content: center;
  align-items: end;
  width: 100%;
  height: 220px;
  padding: 7px;
  border-radius: 14px 14px 10px 10px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.01)),
    repeating-linear-gradient(
      to top,
      rgba(255, 255, 255, 0.06) 0,
      rgba(255, 255, 255, 0.06) 1px,
      transparent 1px,
      transparent 20%
    );
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.05);
}
.statistics-page .stats-column-fill {
  width: 100%;
  min-height: 8px;
  border-radius: 10px 10px 8px 8px;
}
.statistics-page .stats-column-label {
  color: inherit;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  white-space: nowrap;
}
.statistics-page .stats-mini-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.statistics-page .stats-mini-card {
  padding: 14px 16px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.03);
}
.statistics-page .stats-mini-card h4 {
  margin: 0 0 4px;
  color: #f2d086;
  font-size: 1rem;
}
.statistics-page .stats-mini-note {
  margin: 0 0 12px;
  color: #9f9f9f;
  font-size: 0.8rem;
}
.statistics-page .stats-bucket-list,
.statistics-page .stats-split-card,
.statistics-page .stats-guild-human-list {
  gap: 10px;
}
.statistics-page .stats-bucket-row {
  display: grid;
  grid-template-columns: 92px minmax(100px, 1fr) 48px;
  gap: 10px;
  align-items: center;
}
.statistics-page .stats-bucket-label,
.statistics-page .stats-split-stat {
  color: #ddd;
}
.statistics-page .stats-bucket-label {
  font-size: 0.9rem;
  font-weight: 700;
}
.statistics-page .stats-bucket-value {
  font-size: 0.95rem;
  text-align: right;
}
.statistics-page .stats-split-stat {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  font-size: 0.95rem;
}
.statistics-page .stats-guild-human-row {
  display: grid;
  grid-template-columns: minmax(200px, 1.6fr) repeat(4, minmax(72px, auto));
  gap: 12px;
  align-items: center;
  padding: 14px 16px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.03);
}
.statistics-page .stats-guild-human-name a {
  color: #f4ead0;
  text-decoration: none;
  font-weight: 700;
}
.statistics-page .stats-guild-human-name a:hover {
  color: #fff1bd;
}
.statistics-page .stats-guild-human-name small,
.statistics-page .stats-guild-human-stat span {
  display: block;
  margin-top: 4px;
  color: #b3b3b3;
  font-size: 0.8rem;
}
.statistics-page .stats-guild-human-name small {
  color: #9f9f9f;
}
.statistics-page .stats-guild-human-stat {
  text-align: right;
}
.statistics-page .stats-guild-human-stat strong {
  display: block;
  font-size: 1rem;
}
.statistics-page .stats-controls {
  display: flex;
  justify-content: flex-end;
  max-width: 1100px;
  margin: 0 auto 18px;
}
.statistics-page .stats-filter-group {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.statistics-page .stats-filter-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 14px;
  border: 1px solid rgba(255, 196, 0, 0.22);
  border-radius: 999px;
  background: rgba(7, 10, 18, 0.72);
  color: #f4ead0;
  text-decoration: none;
  font-weight: 700;
}
.statistics-page .stats-filter-chip.is-active {
  color: #fff1bd;
  background:
    radial-gradient(circle at top right, rgba(91, 170, 255, 0.14), transparent 42%),
    linear-gradient(180deg, rgba(15, 22, 38, 0.96), rgba(9, 13, 24, 0.98));
  box-shadow:
    0 0 0 1px rgba(255, 196, 0, 0.18) inset,
    0 12px 30px rgba(0, 0, 0, 0.24);
}
.feature-button:focus-visible,
.feature-link:focus-visible,
.list-page-search-input:focus-visible,
.list-page-inline-filter:focus-visible,
.nav-menu > li > a:focus-visible,
.account-dropdown .account-menu .account-logout-button:focus-visible,
.account-dropdown > a.subscribe:focus-visible,
.nav-right a.subscribe:focus-visible,
.mobile-menu a:focus-visible {
  outline: none;
  box-shadow: var(--feature-focus-ring);
}
.gold-inline img {
  height: 14px;
  width: auto;
  vertical-align: middle;
  margin: 0 1px -1px 1px;
}
/* === Base Grid === */
.ah-table .header,
.ah-table .row,
.ah-table .ah-table__header,
.ah-table .ah-table__row {
  display: grid;
  grid-template-columns:
    130px  /* Type */
    280px  /* Item */
    70px   /* Qty */
    120px  /* Time Left */
    minmax(140px, 1fr)  /* Current Bid */
    minmax(160px, 1fr); /* Buyout */
  align-items: center;
}
.ah-table .col a,
.ah-table .ah-table__cell a {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  display: inline-block;
  max-width: 100%;
}


/* === Responsive Compression === */

/* Medium screens â€” hide less relevant info */
/* Small screens â€” show only Item + Buyout */
/* Keep gold layout tight and clean */
.gold-cell {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  min-width: 140px;
  gap: 2px;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  font-size: 0.95rem;
}



/* Character Page Migrated Styles */
.character-page{display:grid;gap:20px;margin-top:0;color:#f4ead0}.character-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.9fr);gap:22px;padding:28px;border-radius:22px;border:1px solid rgba(255,196,0,.22);background:radial-gradient(circle at top right,rgba(255,178,54,.15),transparent 36%),linear-gradient(180deg,rgba(8,10,20,.98),rgba(5,6,14,1))}.character-hero>*{position:relative;z-index:1}.character-hero-mark{position:absolute;right:320px;top:34px;bottom:34px;width:min(360px,26vw);display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:0}.character-hero-mark img{width:100%;max-width:340px;max-height:100%;object-fit:contain;opacity:.14;filter:drop-shadow(0 10px 24px rgba(0,0,0,.3))}.character-hero-primary{display:grid;gap:12px}.character-identity{display:flex;gap:20px;align-items:flex-start}.character-portrait{width:118px;height:118px;border-radius:26px;border:1px solid rgba(255,196,0,.38);background:#050505;object-fit:cover}.character-eyebrow{margin:0 0 8px;color:#c7b07b;letter-spacing:.08em;text-transform:uppercase;font-size:.8rem}.character-title{margin:0;font-size:2.7rem;line-height:1}.character-title a{color:inherit;text-decoration:none}.class-warrior{color:#C79C6E}.class-paladin{color:#F58CBA}.class-hunter{color:#ABD473}.class-rogue{color:#FFF569}.class-priest{color:#FFFFFF}.class-deathknight{color:#C41F3B}.class-shaman{color:#0070DE}.class-mage{color:#69CCF0}.class-warlock{color:#9482C9}.class-druid{color:#FF7D0A}.character-subtitle{margin:10px 0 0;color:#e2d4ae;font-size:1.05rem}.character-tabs{display:flex;gap:6px;flex-wrap:nowrap;align-items:center;overflow:hidden}.character-guildline{display:flex;align-items:center;gap:12px;margin-top:10px;flex-wrap:wrap;color:#e2d4ae;font-size:1.05rem}.character-tab,.character-link{display:inline-flex;align-items:center;min-height:36px;padding:0 10px;border-radius:999px;border:1px solid rgba(255,204,72,.16);background:rgba(255,255,255,.04);color:#f2dfb1;text-decoration:none;font-weight:700;font-size:.96rem;white-space:nowrap;transition:background .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease}.character-tab:hover{color:#fff3c4;border-color:rgba(255,204,72,.34);background:linear-gradient(180deg,rgba(255,216,122,.16),rgba(130,84,14,.18));box-shadow:0 0 0 1px rgba(255,204,72,.1),0 8px 20px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,245,214,.08);transform:translateY(-1px)}.character-link{border-color:rgba(255,196,0,.34);color:#ffe39a;background:rgba(255,204,72,.06)}.character-tab.is-active{color:#120d03;background:linear-gradient(180deg,#ffd87a,#d9a63d);border-color:rgba(255,204,72,.45);box-shadow:0 10px 22px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.18)}.character-tab.is-active:hover{color:#120d03;transform:none}.character-hero-grid,.character-grid{display:grid;gap:18px}.character-hero-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.character-grid{grid-template-columns:minmax(300px,.9fr) minmax(0,1.4fr)}.character-stat-card,.character-panel,.character-item,.character-skill-item,.character-achievement-item{border-radius:18px;border:1px solid rgba(255,196,0,.18);background:rgba(5,8,18,.72)}.character-stat-card{padding:18px}.character-stat-label,.character-item-slot{display:block;margin-bottom:6px;color:#c4b27c;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}.character-stat-value{color:#ffd467;font-size:1.55rem;font-weight:700}.character-panel{padding:22px 24px}.character-panel-title{margin:0 0 16px;color:#fff4c4;font-size:1.55rem}.character-facts,.character-bars,.character-skill-list,.character-achievement-list{display:grid;gap:12px}.character-fact{display:grid;gap:4px;padding-bottom:12px;border-bottom:1px solid rgba(255,204,72,.12)}.character-fact:last-child{padding-bottom:0;border-bottom:0}.character-fact span{color:#bda877;font-size:.83rem;text-transform:uppercase;letter-spacing:.08em}.character-fact strong{color:#f7edd0;font-size:1.08rem}.character-snapshot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.character-snapshot-card{position:relative;overflow:hidden;padding:14px 16px;border-radius:16px;border:1px solid rgba(255,204,72,.16);background:linear-gradient(180deg,rgba(14,19,34,.92),rgba(7,10,18,.9))}.character-snapshot-card::after{content:'';position:absolute;inset:auto -20% -40% auto;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(255,196,0,.14),transparent 68%);pointer-events:none}.character-snapshot-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.character-snapshot-label{display:block;color:#c7b07b;font-size:.76rem;letter-spacing:.12em;text-transform:uppercase}.character-snapshot-value{display:block;margin-top:6px;color:#fff3c4;font-size:1.6rem;font-weight:800;line-height:1}.character-snapshot-meta{margin-top:10px;color:#9ea8c7;font-size:.82rem}.character-snapshot-accent{width:36px;height:36px;border-radius:12px;border:1px solid rgba(255,204,72,.18);background:linear-gradient(180deg,rgba(255,217,90,.22),rgba(255,217,90,.05));box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}.character-equip-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.character-item{display:grid;grid-template-columns:54px minmax(0,1fr);gap:12px;align-items:center;padding:14px}.character-item img,.character-skill-head img,.character-achievement-icon{border-radius:12px;border:1px solid rgba(255,204,72,.22);background:#090909}.character-item img{width:54px;height:54px}.character-item-name{margin-top:4px;font-weight:700}.character-item-name a{color:inherit;text-decoration:none}.quality-0{color:#9d9d9d}.quality-1{color:#fff}.quality-2{color:#1eff00}.quality-3{color:#0070dd}.quality-4{color:#a335ee}.quality-5{color:#ff8000}.character-item-meta,.character-skill-meta,.character-fact-sub,.character-achievement-meta{margin-top:4px;color:#aa9870;font-size:.88rem}.character-fact-list{display:grid;gap:8px}.character-fact-link{display:flex;align-items:center;gap:10px;color:#f7edd0;text-decoration:none;font-weight:700}.character-fact-link img{width:24px;height:24px;border-radius:8px;border:1px solid rgba(255,204,72,.18);background:#090909}.character-combat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.character-combat-card{padding:14px 16px;border-radius:16px;border:1px solid rgba(255,204,72,.16);background:linear-gradient(180deg,rgba(14,19,34,.92),rgba(7,10,18,.9))}.character-combat-card strong{display:block;color:#fff3c4;font-size:1.35rem;line-height:1.1}.character-combat-card span{display:block;margin-bottom:6px;color:#c7b07b;font-size:.76rem;letter-spacing:.12em;text-transform:uppercase}.character-bar-label{display:flex;align-items:center;justify-content:space-between;color:#d8c89f;font-size:.92rem}.character-bar-track{height:12px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.08)}.character-bar-fill{height:100%;background:linear-gradient(90deg,#ffd45f,#ffeab0)}.character-skill-item,.character-achievement-item{padding:14px 16px}.character-skill-head{display:flex;align-items:center;gap:12px}.character-skill-head img{width:34px;height:34px}.character-empty,.character-error{padding:18px;border-radius:16px}.character-empty{background:rgba(255,255,255,.03);color:#c8b78c;border:1px dashed rgba(255,204,72,.16)}.character-error{background:rgba(95,16,16,.4);border:1px solid rgba(255,122,122,.25);color:#ffd5d5}.character-achievement-points{color:#ffd467;font-weight:700}.character-achievement-list{gap:14px}.character-achievement-item{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:14px;align-items:start}.character-achievement-icon{width:48px;height:48px;display:block}.character-achievement-title{color:#f7edd0;font-size:1.02rem;font-weight:800;line-height:1.2}.character-achievement-points-badge{display:inline-flex;align-items:center;justify-content:center;min-width:46px;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,204,72,.18);background:rgba(255,204,72,.08);color:#ffd467;font-weight:800}.character-achievement-sections{display:grid;gap:18px}.character-achievement-section{display:grid;gap:12px}.character-achievement-subtitle{margin:0 0 4px;color:#c7b07b;font-size:.88rem;letter-spacing:.08em;text-transform:uppercase}.character-achievement-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.character-grid.character-grid-overview{grid-template-columns:minmax(300px,.86fr) minmax(0,1.5fr)}
.character-social-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.character-social-card{padding:14px 16px;border-radius:16px;border:1px solid rgba(255,204,72,.16);background:linear-gradient(180deg,rgba(14,19,34,.92),rgba(7,10,18,.9))}
.character-social-card-label{display:block;color:#c7b07b;font-size:.76rem;letter-spacing:.12em;text-transform:uppercase}
.character-social-card-value{display:block;margin-top:8px;color:#fff3c4;font-size:1.45rem;font-weight:800;line-height:1.05}
.character-social-card-meta{margin-top:8px;color:#9ea8c7;font-size:.82rem}
.character-social-card-meta.is-statlines{white-space:nowrap}
.character-social-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.character-social-list{display:grid;gap:12px}
.character-social-item{padding:14px 16px;border-radius:16px;border:1px solid rgba(255,204,72,.16);background:linear-gradient(180deg,rgba(14,19,34,.92),rgba(7,10,18,.9))}
.character-social-item-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.character-social-item-title{color:#7fb7ff;font-size:1.02rem;font-weight:800;text-decoration:none}
.character-social-item-title:hover{color:#cfe4ff}
.character-social-item-meta{margin-top:6px;color:#aa9870;font-size:.88rem}
.character-social-item-excerpt{margin-top:8px;color:#d8c89f;font-size:.93rem;line-height:1.45}
.character-social-empty{color:#c8b78c;padding:16px;border:1px dashed rgba(255,204,72,.16);border-radius:16px;background:rgba(255,255,255,.03)}
.character-social-signature{padding:18px 20px;border-radius:16px;border:1px solid rgba(255,204,72,.16);background:linear-gradient(180deg,rgba(14,19,34,.92),rgba(7,10,18,.9));color:#e7d9b1;line-height:1.6}
.character-social-signature p:first-child{margin-top:0}
.character-social-signature p:last-child{margin-bottom:0}
.character-hero-signature{margin-top:12px;max-width:260px}
.character-hero-signature-label{display:block;margin-bottom:6px;color:#c7b07b;font-size:.76rem;letter-spacing:.12em;text-transform:uppercase}
.character-hero-signature-text{text-align:left;color:#f3e6c3;font-size:.94rem;line-height:1.5;word-break:break-word}
.character-hero-signature-text p:first-child{margin-top:0}
.character-hero-signature-text p:last-child{margin-bottom:0}
.character-guildline__link{color:#ffe39a;text-decoration:none;font-weight:700}
.character-guildline__empty{color:#aa9870}
.character-talents-embed{margin-top:4px}
.character-social-account-link{color:inherit;text-decoration:none}
.character-social-signature-block{margin-top:18px}
.character-admin-grid{display:grid;gap:16px}
.character-admin-card{display:grid;gap:12px;align-content:start;border-radius:18px;overflow:hidden}
.character-admin-grid>.character-admin-card{padding:18px 20px;border-radius:18px;border:1px solid rgba(255,228,169,.09);background:rgba(8,12,20,.62)}
.character-admin-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start;margin-bottom:18px}
.character-admin-card-grid .character-admin-card{padding:18px 20px;border-radius:18px;border:1px solid rgba(255,228,169,.09);background:rgba(8,12,20,.62)}
.character-admin-card-grid .character-panel-title,.character-admin-grid>.character-admin-card .character-panel-title{text-align:left;margin-bottom:6px;font-size:1.32rem}
.character-admin-banner{padding:12px 14px;border-radius:12px;border:1px solid rgba(255,228,169,.16);background:rgba(17,22,30,.72);color:#f0e4c4}
.character-admin-banner.is-error{border-color:rgba(206,98,98,.42);background:rgba(48,18,18,.82);color:#ffd1c7}
.character-admin-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.character-admin-stat{padding:12px 14px;border-radius:14px;background:rgba(14,19,27,.78);border:1px solid rgba(255,228,169,.09)}
.character-admin-stat span{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#a89878;margin-bottom:6px}
.character-admin-stat strong{display:block;font-size:14px;color:#fff3d1}
.character-admin-form{display:grid;gap:10px;align-content:start}
.character-admin-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.character-admin-form-grid .character-admin-form-wide{grid-column:1/-1}
.character-admin-form label{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#cdb98f}
.character-admin-form textarea,.character-admin-form select{box-sizing:border-box;width:100%;max-width:100%}
.character-admin-form textarea{display:block;overflow:auto;min-height:136px;border-radius:16px;border:1px solid rgba(255,228,169,.14);background:rgba(10,14,21,.9);color:#f5edd9;padding:12px 13px;font:inherit;font-size:.95rem;line-height:1.45;resize:vertical}
.character-admin-form textarea.character-admin-textarea-compact{min-height:144px}
.character-admin-form textarea:focus{outline:none;border-color:rgba(255,210,111,.48);box-shadow:0 0 0 1px rgba(255,210,111,.18)}
.character-admin-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.character-admin-button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:9px 16px;background:linear-gradient(135deg,#f0c56a,#b7862f);color:#23180b;font-weight:800;cursor:pointer}
.character-admin-note{font-size:12px;line-height:1.55;color:#bda97f}
.character-admin-code{padding:12px 14px;border-radius:12px;background:rgba(11,15,22,.88);border:1px solid rgba(255,228,169,.08);color:#f2e7ca;white-space:pre-wrap;word-break:break-word}
.character-admin-top-card .character-admin-actions{margin-top:auto}
.character-admin-subcards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:2px;padding-bottom:4px}
.character-admin-subcard{padding:12px 14px;border-radius:18px;border:1px solid rgba(255,228,169,.09);background:rgba(11,15,22,.52);box-shadow:inset 0 1px 0 rgba(255,255,255,.03);overflow:hidden}
.character-admin-subcard label{margin-bottom:7px}
.character-strategy-builder{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 10px}
.character-strategy-chip{display:inline-flex;align-items:center;justify-content:center;padding:5px 10px;border-radius:999px;border:1px solid rgba(255,204,72,.18);background:rgba(255,255,255,.04);color:#f2dfb1;font-size:12px;font-weight:700;cursor:pointer}
.character-strategy-chip:hover{border-color:rgba(255,204,72,.34);background:rgba(255,216,122,.12);color:#fff3c4}
.character-grid.character-grid-sheet{grid-template-columns:minmax(0,1.35fr) minmax(280px,.8fr)}
.character-progress-panel{display:grid;gap:18px}
.character-progress-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}
.character-progress-card{padding:14px 16px;border-radius:16px;border:1px solid rgba(255,204,72,.16);background:linear-gradient(180deg,rgba(14,19,34,.92),rgba(7,10,18,.9))}
.character-progress-card-label{display:block;color:#c7b07b;font-size:.76rem;letter-spacing:.12em;text-transform:uppercase}
.character-progress-card-value{display:block;margin-top:8px;color:#fff3c4;font-size:1.45rem;font-weight:800;line-height:1.05}
.character-progress-card-meta{margin-top:8px;color:#9ea8c7;font-size:.82rem}
.character-progress-chart{position:relative;overflow:hidden;padding:16px 16px 10px;border-radius:18px;border:1px solid rgba(255,204,72,.16);background:linear-gradient(180deg,rgba(9,13,24,.98),rgba(6,8,15,.96))}
.character-progress-chart svg{display:block;width:100%;height:auto}
.character-progress-grid line{stroke:rgba(255,255,255,.08);stroke-width:1}
.character-progress-grid text,.character-progress-axis text{fill:#9ea8c7;font-size:11px}
.character-progress-area{fill:url(#gearProgressFill)}
.character-progress-line{fill:none;stroke:#ffd467;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 6px 10px rgba(255,212,103,.18))}
.character-progress-dot{fill:#fff3c4;stroke:#c99524;stroke-width:2}
.character-progress-caption{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:10px;color:#aa9870;font-size:.86rem}
.character-fact-link{align-items:flex-start}
.character-fact-link .character-fact-sub{margin-top:2px}
.character-fact-list{gap:10px}
.character-fact-link{padding:10px 12px;border-radius:14px;border:1px solid rgba(255,204,72,.1);background:rgba(255,255,255,.03);font-size:1rem;font-weight:800;letter-spacing:.02em}
.character-fact-link img{width:26px;height:26px}
.character-fact-link.is-quest{padding:6px 0;border:0;background:transparent;color:#ffe6af;font-size:1.04rem;line-height:1.35}

.character-grid.character-grid-overview{grid-template-columns:minmax(300px,.84fr) minmax(0,1.6fr)}
.character-reputation-sections{display:grid;gap:18px}
.character-reputation-section{padding:0;border-radius:18px;border:1px solid rgba(255,204,72,.12);background:linear-gradient(180deg,rgba(10,14,26,.88),rgba(5,8,18,.9));overflow:hidden}
.character-reputation-summary{padding:18px 20px 16px}
.character-reputation-summary .collapse-card__title{font-size:1.35rem;color:#fff3c4}
.character-reputation-body{padding:0 18px 18px}
.character-reputation-section-title{margin:0 0 14px;color:#fff3c4;font-size:1.5rem}
.character-reputation-list{display:grid;gap:12px}
.character-reputation-item{padding:16px 18px;border-radius:16px;border:1px solid rgba(255,204,72,.1);background:rgba(255,255,255,.02)}
.character-reputation-head{display:flex;justify-content:space-between;align-items:center;gap:16px}
.character-reputation-identity{display:flex;align-items:center;gap:12px;min-width:0}
.character-reputation-icon{width:32px;height:32px;flex:0 0 32px;border-radius:8px;object-fit:cover;box-shadow:0 8px 18px rgba(0,0,0,.28)}
.character-reputation-name{margin:0;color:#f7edd0;font-size:1.1rem;font-weight:800}
.character-reputation-rank{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border-radius:999px;border:1px solid rgba(255,255,255,.08);font-size:.82rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.character-reputation-meta{margin-top:10px;color:#bca87a;font-size:.96rem;line-height:1.45}
.character-reputation-track{position:relative;height:18px;margin-top:12px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.08)}
.character-reputation-fill{height:100%;background:linear-gradient(90deg,#b68b00,#ffd467)}
.character-reputation-value{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.88rem;font-weight:800;letter-spacing:.03em;text-shadow:0 1px 2px rgba(0,0,0,.85)}
.rep-hated .character-reputation-rank,.rep-hated .character-reputation-fill{background:linear-gradient(90deg,#6b0000,#b50f0f);color:#ffe4e4}
.rep-hostile .character-reputation-rank,.rep-hostile .character-reputation-fill{background:linear-gradient(90deg,#8b2500,#d14a00);color:#fff0dc}
.rep-unfriendly .character-reputation-rank,.rep-unfriendly .character-reputation-fill{background:linear-gradient(90deg,#8b5f00,#d19a00);color:#fff4d8}
.rep-neutral .character-reputation-rank,.rep-neutral .character-reputation-fill{background:linear-gradient(90deg,#827200,#c1ae00);color:#fffbd6}
.rep-friendly .character-reputation-rank,.rep-friendly .character-reputation-fill{background:linear-gradient(90deg,#587d00,#90b900);color:#eefbd4}
.rep-honored .character-reputation-rank,.rep-honored .character-reputation-fill{background:linear-gradient(90deg,#00735d,#00a884);color:#d8fff5}
.rep-revered .character-reputation-rank,.rep-revered .character-reputation-fill{background:linear-gradient(90deg,#005f96,#2397df);color:#e0f5ff}
.rep-exalted .character-reputation-rank,.rep-exalted .character-reputation-fill{background:linear-gradient(90deg,#0084a8,#20d0e8);color:#e1fdff}
.character-quest-list{display:grid;gap:12px}
.character-quest-item{padding:16px 18px;border-radius:16px;border:1px solid rgba(255,204,72,.1);background:rgba(255,255,255,.02)}
.character-quest-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}
.character-quest-title{margin:0;color:#f7edd0;font-size:1.08rem;font-weight:800}
.character-quest-status{display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border-radius:999px;border:1px solid rgba(255,255,255,.08);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#ffe39a;background:rgba(255,204,72,.08)}
.character-quest-meta{margin-top:6px;color:#aa9870;font-size:.9rem}
.character-quest-progress{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.character-quest-chip{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;border:1px solid rgba(255,204,72,.14);background:rgba(255,204,72,.06);color:#f6e5b2;font-size:.8rem;font-weight:700}
.character-questlog-shell{display:grid;grid-template-columns:minmax(280px,.82fr) minmax(0,1.35fr);gap:18px;align-items:start;min-height:720px}
.character-questlog-sidebar,.character-questlog-detail{border-radius:18px;border:1px solid rgba(255,196,0,.16);background:rgba(5,8,18,.45)}
.character-questlog-sidebar{padding:14px;display:flex;flex-direction:column;gap:16px;align-self:start;min-height:720px;position:sticky;top:88px;max-height:calc(100vh - 108px);overflow:hidden}
.character-questlog-detail{padding:20px 22px;align-self:stretch;min-height:720px;background:linear-gradient(180deg,rgba(52,35,14,.32),rgba(13,11,9,.92)),radial-gradient(circle at top,rgba(255,215,140,.12),transparent 58%)}
.character-questlog-group{display:flex;flex-direction:column;min-height:0}
.character-questlog-group[open]{flex:1 1 0}
.character-questlog-group-body{display:flex;flex-direction:column;min-height:0}
.character-questlog-list{display:grid;gap:8px}
.character-questlog-list.is-scrollable{padding-right:6px;overflow:auto;flex:1 1 auto;min-height:0}
.character-questlog-list.is-scrollable::-webkit-scrollbar{width:8px}
.character-questlog-list.is-scrollable::-webkit-scrollbar-thumb{background:rgba(255,204,72,.28);border-radius:999px}
.character-questlog-list.is-scrollable::-webkit-scrollbar-track{background:rgba(255,255,255,.04);border-radius:999px}
.character-questlog-entry{position:relative;display:grid;gap:4px;width:100%;padding:12px 14px;border-radius:14px;border:1px solid rgba(255,204,72,.1);background:rgba(255,255,255,.02);color:#f7edd0;text-align:left;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease,transform .18s ease}
.character-questlog-entry:hover{border-color:rgba(255,204,72,.2);background:rgba(255,212,95,.05)}
.character-questlog-entry.is-active{border-color:rgba(255,214,102,.5);background:linear-gradient(180deg,rgba(255,212,95,.22),rgba(255,212,95,.08));box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 0 0 1px rgba(255,214,102,.08),0 10px 26px rgba(0,0,0,.22);transform:translateX(2px)}
.character-questlog-entry.is-active::before{content:'';position:absolute;left:-1px;top:12px;bottom:12px;width:3px;border-radius:999px;background:linear-gradient(180deg,#ffe27a,#c99524);box-shadow:0 0 12px rgba(255,214,102,.35)}
.character-questlog-entry-title{font-size:1rem;font-weight:800;color:#f7edd0}
.character-questlog-entry-title.is-red,.character-questlog-level.is-red{color:#ff6b6b}
.character-questlog-entry-title.is-orange,.character-questlog-level.is-orange{color:#ffb14d}
.character-questlog-entry-title.is-yellow,.character-questlog-level.is-yellow{color:#f7edd0}
.character-questlog-entry-title.is-green,.character-questlog-level.is-green{color:#66d17a}
.character-questlog-entry-title.is-gray,.character-questlog-level.is-gray{color:#9e9784}
.character-questlog-entry-meta-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.character-questlog-entry-meta{color:#bca87a;font-size:.85rem}
.character-questlog-entry-status{color:#ffe39a;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;font-weight:800}
.character-questlog-panel{display:none}
.character-questlog-panel.is-active{display:block}
.character-questlog-status{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border-radius:999px;border:1px solid rgba(255,255,255,.08);font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#ffe39a;background:rgba(255,204,72,.08)}
.character-questlog-entry-status.character-questlog-status{min-height:24px;padding:0 10px;font-size:.7rem}
.character-questlog-status.is-turn-in{border-color:rgba(116,232,149,.28);background:rgba(116,232,149,.12);color:#bff5c7}
.character-questlog-status.is-progress{border-color:rgba(255,204,72,.18);background:rgba(255,204,72,.08);color:#ffe39a}
.character-questlog-status.is-accepted{border-color:rgba(124,182,255,.2);background:rgba(124,182,255,.08);color:#cfe1ff}
.character-questlog-status.is-complete{border-color:rgba(183,156,255,.2);background:rgba(183,156,255,.1);color:#dfd0ff}
.character-questlog-title{margin:12px 0 10px;color:#fff0c8;font-size:1.7rem;line-height:1.1}
.character-questlog-level{color:#c8b78c;font-size:.9rem;letter-spacing:.08em;text-transform:uppercase}
.character-questlog-body{margin-top:18px;padding:18px;border-radius:16px;border:1px solid rgba(255,204,72,.1);background:rgba(255,245,220,.05);color:#f2e4bf;font-size:1.02rem;line-height:1.7}
.character-questlog-section{margin-top:18px}
.character-questlog-section-title{margin:0 0 10px;color:#ffe39a;font-size:.84rem;letter-spacing:.12em;text-transform:uppercase}
.character-questlog-objectives{display:grid;gap:8px}
.character-questlog-objective{padding:10px 12px;border-radius:12px;border:1px solid rgba(255,204,72,.12);background:rgba(255,255,255,.03);color:#f6e5b2}
.character-questlog-empty{color:#bda877;font-style:italic}
.character-questlog-rewards{display:grid;gap:10px}
.character-questlog-reward-group{display:grid;gap:8px}
.character-questlog-reward-label{color:#c8b78c;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}
.character-questlog-reward-items{display:grid;gap:8px}
.character-questlog-reward-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;border:1px solid rgba(255,204,72,.12);background:rgba(255,255,255,.03);color:#f7edd0;text-decoration:none}
.character-questlog-reward-item img{width:28px;height:28px;border-radius:8px;border:1px solid rgba(255,204,72,.18);background:#090909}
.character-questlog-reward-money{padding:10px 12px;border-radius:12px;border:1px solid rgba(255,204,72,.12);background:rgba(255,255,255,.03);color:#f6e5b2}
@media (max-width: 1080px){.character-questlog-shell{grid-template-columns:1fr}.character-questlog-sidebar{position:static;top:auto;max-height:none;min-height:0}}
.character-skill-sections{display:grid;gap:18px}
.character-skill-section{padding:0;border-radius:18px;border:1px solid rgba(255,196,0,.16);background:rgba(5,8,18,.5);overflow:hidden}
.character-skill-summary{padding:18px 22px 16px}
.character-skill-summary .collapse-card__title{font-size:1.18rem;color:#ffe39a}
.character-skill-body{padding:0 22px 18px}
.character-skill-section-title{margin:0 0 14px;color:#ffe39a;font-size:1.28rem}
.character-skill-grid{display:grid;gap:12px}
.character-skill-card{padding:16px 18px;border-radius:16px;border:1px solid rgba(255,204,72,.14);background:rgba(4,7,16,.72)}
.character-skill-card-head{display:flex;align-items:center;justify-content:space-between;gap:16px}
.character-skill-card-title{display:flex;align-items:center;gap:12px}
.character-skill-card-title img{width:34px;height:34px;border-radius:10px;border:1px solid rgba(255,204,72,.22);background:#090909}
.character-skill-card-title strong{display:block;color:#f7edd0;font-size:1.08rem}
.character-skill-rank{color:#ffd467;font-weight:800;font-size:1rem}
.character-skill-specialization{margin-top:4px;color:#9fd2ff;font-size:.86rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.character-skill-card .character-bar-track{margin-top:12px;height:16px;position:relative}
.character-skill-value{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.86rem;font-weight:800;text-shadow:0 1px 2px rgba(0,0,0,.85)}
.character-profession-recipes{margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,204,72,.12)}
.character-profession-recipes.collapse-card{background:rgba(255,255,255,.02)}
.character-profession-recipes .collapse-card__summary{padding:12px 0 10px}
.character-profession-recipes .collapse-card__title{font-size:1rem;color:#ffe39a}
.character-profession-recipes .collapse-card__meta{color:#bda87a;font-size:.9rem;font-weight:700}
.character-profession-recipes .collapse-card__body{padding:0}
.character-social-collapse.collapse-card{background:rgba(5,8,18,.38);border-color:rgba(255,196,0,.16)}
.character-social-collapse .collapse-card__summary{padding:16px 18px 14px}
.character-social-collapse .collapse-card__title{font-size:1.25rem;color:#ffe39a}
.character-social-collapse .collapse-card__meta{color:#bda87a}
.character-social-collapse .collapse-card__body{padding:0 18px 18px}
.character-recipe-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.character-recipe-filter{height:32px;padding:0 12px;border-radius:999px;border:1px solid rgba(255,204,72,.18);background:rgba(8,12,22,.88);color:#f7edd0;font-size:.84rem;font-weight:700;cursor:pointer}
.character-recipe-filter.is-active{background:linear-gradient(90deg,#8b6500,#c99a00);border-color:rgba(255,217,118,.4);color:#fff8e0}
.character-recipe-list{display:grid;gap:10px}
.character-profession-recipes .character-recipe-list{max-height:780px;overflow:auto;padding-right:6px}
.character-profession-recipes .character-recipe-list::-webkit-scrollbar{width:8px}
.character-profession-recipes .character-recipe-list::-webkit-scrollbar-thumb{background:rgba(255,204,72,.28);border-radius:999px}
.character-profession-recipes .character-recipe-list::-webkit-scrollbar-track{background:rgba(255,255,255,.04);border-radius:999px}
.character-recipe-row{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;align-items:center;padding:12px 14px;border-radius:14px;border:1px solid rgba(255,204,72,.1);background:rgba(255,255,255,.02);text-decoration:none}
.character-recipe-row.is-available{border-color:rgba(159,210,255,.18);background:rgba(159,210,255,.04)}
.character-recipe-row.is-hidden{display:none}
.character-recipe-row img{width:42px;height:42px;border-radius:12px;border:1px solid rgba(255,204,72,.18);background:#080808}
.character-recipe-copy{display:grid;gap:4px;min-width:0}
.character-recipe-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;min-width:0}
.character-recipe-row strong{display:block;color:#f7edd0;font-size:.98rem;line-height:1.2;min-width:0}
.character-recipe-meta-line{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;min-width:0}
.character-recipe-row .character-recipe-source{color:#bca87a;font-size:.88rem;line-height:1.25;white-space:nowrap;min-width:0}
.character-recipe-status{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:999px;border:1px solid rgba(255,204,72,.16);background:rgba(255,204,72,.08);color:#ffe39a;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.character-recipe-status.is-available{border-color:rgba(159,210,255,.24);background:rgba(159,210,255,.12);color:#b8e3ff}
.character-recipe-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.character-recipe-badge{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;border:1px solid rgba(255,255,255,.08);font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.character-recipe-badge.is-faction{background:rgba(45,124,209,.16);color:#9fd2ff}
.character-recipe-badge.is-rare-drop{background:rgba(162,76,232,.16);color:#d6b4ff}
.character-recipe-badge.is-endgame{background:rgba(255,204,72,.16);color:#ffe39a}
.character-recipe-badge.is-flask{background:rgba(63,169,92,.16);color:#b7ffcd}
.character-recipe-empty{padding:12px 14px;border-radius:14px;border:1px dashed rgba(255,204,72,.18);color:#bca87a;background:rgba(255,255,255,.02)}
@media (max-width: 720px){
.character-recipe-head{grid-template-columns:minmax(0,1fr)}
.character-recipe-meta-line{align-items:flex-start}
.character-recipe-row .character-recipe-source{white-space:normal}
}

.modern-item-tooltip{min-width:220px;max-width:min(420px,calc(100vw - 24px));max-height:calc(100vh - 24px);overflow:auto;overflow-wrap:anywhere;word-break:break-word}
.modern-item-tooltip-loading{padding:14px 16px;color:#f5e6b2;border:1px solid rgba(255,196,0,.35);border-radius:10px;background:rgba(5,8,18,.96);box-shadow:0 16px 38px rgba(0,0,0,.45)}
#modern-item-tooltip,.modern-item-tooltip-host{position:fixed;z-index:9999;pointer-events:none;display:none}
/* Server Talents */
.server-talents-shell {
  padding: 0;
}
.server-talents-shell #tc-root {
  width: 100%;
  margin: 0;
  transform: none;
}
.server-talents-shell .tc-container {
  max-width: none;
  margin: 0;
  padding: 0;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
}
.server-talents-shell .tc-header {
  width: 100%;
  margin: 0 0 12px;
}
.server-talents-shell .tc-stack {
  width: 100%;
  margin: 0;
  transform: none;
  justify-content: space-between;
}
.server-talents-shell .talent-trees {
  width: 100%;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  align-items: start;
}
.server-talents-shell .talent-tree {
  width: 100%;
  max-width: none;
}
.server-talents-shell .talent-flex {
  width: min(100%, var(--tree-inner-w));
}
.server-talents-shell.is-profile .tc-share,
.server-talents-shell.is-profile .tc-classgrid,
.server-talents-shell.is-profile #tcResetAllBtn {
  display: none !important;
}
.server-talents-shell.is-profile .tc-header {
  display: none !important;
}
.server-talents-shell.is-profile .tc-subtitle {
  font-size: 1.2rem;
}
.server-talents-shell.is-profile .talent-cell {
  cursor: default;
}
.server-talents-shell.is-embed {
  padding: 0;
}
.server-talents-shell.is-embed .tc-container {
  padding: 0;
}

:root {
  --site-shell-content-max: 1080px;
  --site-shell-wide-max: 1080px;
  --site-shell-gutter: 24px;
}

.site-main {
  padding-left: var(--site-shell-gutter);
  padding-right: var(--site-shell-gutter);
}

.modern-wrapper,
.wow-table,
.list-page-alert {
  width: min(100%, var(--site-shell-content-max));
  max-width: var(--site-shell-content-max);
  margin-left: auto;
  margin-right: auto;
}

.modern-wrapper {
  margin-top: 16px;
  margin-bottom: 16px;
  padding: clamp(18px, 2vw, 24px) clamp(14px, 2vw, 24px) clamp(20px, 2.2vw, 28px);
}

.modern-wrapper:has(.list-page-shell),
.modern-wrapper:has(.guild-shell),
.modern-wrapper:has(.marketplace-shell),
.modern-wrapper:has(.arena-shell),
.modern-wrapper:has(.character-page),
.modern-wrapper:has(.character-admin-shell) {
  width: min(100%, var(--site-shell-wide-max));
  max-width: var(--site-shell-wide-max);
}

.settings-page,
.news-page,
.news-view,
.downloads-shell,
.realmstatus-shell,
.botcommands-page {
  width: 100%;
  min-width: 0;
}

.settings-card,
.guild-section {
  min-width: 0;
}

.guild-title,
.guild-subtitle,
.guild-masterline,
.guild-establishedline,
.guild-summary,
.guild-orders-copy,
.guild-orders-help,
.guild-side-copy,
.settings-card-intro,
.settings-help-text {
  overflow-wrap: anywhere;
  word-break: break-word;
}

.guild-shell {
  grid-template-columns: minmax(0, 1.55fr) minmax(280px, 0.95fr);
  gap: clamp(18px, 2vw, 24px);
}

.guild-input,
.guild-select {
  width: 100%;
  box-sizing: border-box;
}

.guild-filter-grid {
  grid-template-columns: minmax(0, 1.7fr) repeat(2, minmax(0, 180px)) auto;
}

.guild-roster {
  min-width: 840px;
}

.guild-note-actions,
.guild-action-buttons {
  flex-wrap: wrap;
}

.playermap-shell,
.ah-shell,
.character-page,
.server-talents-shell {
  max-width: 1120px;
  margin-left: auto;
  margin-right: auto;
}

.playermap-frame-wrap {
  overflow: hidden;
  border-radius: 14px;
  border: 1px solid rgba(255, 204, 72, 0.14);
  background: rgba(5, 8, 18, 0.82);
  padding: 12px;
}

.playermap-frame {
  width: min(100%, 966px);
  height: clamp(560px, calc(100vh - 232px), 732px);
  min-height: 0;
}

.ah-table .header,
.ah-table .row,
.ah-table .ah-table__header,
.ah-table .ah-table__row {
  grid-template-columns: minmax(88px, 0.9fr) minmax(220px, 1.7fr) 56px 84px 84px 110px 128px 128px;
}

.character-page {
  gap: 18px;
}

.character-hero,
.character-grid,
.character-tabs,
.character-skill-sections,
.character-questlog-shell,
.character-reputation-sections,
.character-social-grid {
  width: 100%;
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}

.character-hero {
  grid-template-columns: minmax(0, 1.12fr) minmax(280px, 0.88fr);
  gap: 18px;
  padding: 22px;
}

.character-title {
  font-size: clamp(2rem, 4vw, 2.5rem);
}

.character-grid {
  grid-template-columns: minmax(260px, 0.82fr) minmax(0, 1.18fr);
}

.character-grid.character-grid-overview,
.character-grid.character-grid-sheet {
  grid-template-columns: 1fr;
}

.character-tab {
  min-height: 36px;
  padding: 0 10px;
}

.character-tab.has-icon {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.character-tab-icon {
  width: 16px;
  height: 16px;
  object-fit: contain;
  filter: drop-shadow(0 1px 2px rgba(0,0,0,.35));
}

.character-panel-title-with-icon {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.character-panel-title-icon {
  width: 28px;
  height: 28px;
  object-fit: contain;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,.35));
}

@media (max-width: 820px) {
  .character-tabs {
    flex-wrap: wrap;
    overflow-x: visible;
  }
}

.character-fact,
.character-fact-list,
.character-fact-link,
.character-fact-link span,
.character-fact strong,
.character-fact-sub,
.character-fact-link.is-quest {
  min-width: 0;
}

.character-fact strong,
.character-fact-link,
.character-fact-link span,
.character-fact-link.is-quest {
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.character-questlog-shell {
  grid-template-columns: minmax(240px, 0.72fr) minmax(0, 1.18fr);
  min-height: 0;
}

.character-questlog-sidebar,
.character-questlog-detail,
.character-skill-card,
.character-recipe-copy,
.character-recipe-head,
.character-recipe-row strong,
.ah-table .ah-table__cell {
  min-width: 0;
}

.character-skill-body,
.character-reputation-body,
.character-social-collapse .collapse-card__body {
  padding-left: 18px;
  padding-right: 18px;
}

.server-talents-shell .talent-trees {
  gap: 12px;
}

.guild-action-cell {
  min-width: 128px;
}

.guild-action-buttons {
  display: grid;
  grid-template-columns: 34px 34px minmax(56px, auto);
  gap: 6px;
  justify-content: end;
  align-items: center;
}

.guild-action-btn.is-danger {
  min-width: 56px;
  padding: 0 10px;
}

.arena-shell {
  display: grid;
  gap: 22px;
  color: #edf6ff;
}

.arena-hero,
.arena-team-hero {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 24px;
  align-items: center;
  padding: clamp(22px, 3vw, 34px);
  border: 1px solid rgba(78, 157, 224, .36);
  border-radius: 18px;
  background:
    radial-gradient(circle at 82% 24%, rgba(67, 143, 210, .18), transparent 36%),
    linear-gradient(90deg, rgba(4, 10, 19, .98), rgba(5, 15, 30, .9));
  box-shadow: 0 22px 50px rgba(0, 0, 0, .42), inset 0 1px 0 rgba(140, 210, 255, .1);
}

.arena-hero__copy {
  max-width: 620px;
  text-align: left;
}

.arena-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    linear-gradient(90deg, rgba(4, 10, 19, .98) 0%, rgba(4, 10, 19, .92) 44%, rgba(4, 10, 19, .58) 68%, rgba(4, 10, 19, .86) 100%),
    url('../../../images/modern/armory/bg-top.jpg') center top / cover no-repeat;
  opacity: .86;
  pointer-events: none;
}

.arena-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  background:
    linear-gradient(90deg, rgba(4, 10, 19, .04) 0%, rgba(4, 10, 19, .08) 43%, rgba(4, 10, 19, .82) 58%, rgba(4, 10, 19, .18) 76%, rgba(4, 10, 19, .44) 100%),
    radial-gradient(circle at 82% 36%, rgba(75, 177, 255, .2), transparent 27%);
  pointer-events: none;
}

.arena-hero > *,
.arena-team-hero > * {
  position: relative;
  z-index: 3;
}

.arena-hero__art {
  display: none;
}

.arena-hero__figure {
  display: none;
}

.arena-eyebrow {
  margin: 0 0 8px;
  color: #bfe6ff;
  font-size: .78rem;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.arena-hero h2,
.arena-team-hero h2 {
  margin: 0;
  color: #ffe39a;
  font-size: clamp(1.9rem, 2.8vw, 2.75rem);
  line-height: 1.05;
  text-align: left;
  text-shadow: 0 0 18px rgba(83, 173, 255, .26);
}

.arena-hero {
  min-height: 275px;
  grid-template-columns: minmax(0, 1fr);
}

.arena-hero p,
.arena-team-hero__side,
.arena-empty p {
  color: #dbeaff;
  line-height: 1.55;
}

.arena-controls {
  display: grid;
  grid-template-columns: minmax(150px, 190px) minmax(260px, 1fr) minmax(90px, 110px) minmax(110px, 138px);
  grid-template-areas:
    "views brackets brackets brackets"
    "sort search rows apply";
  gap: 14px 12px;
  align-items: end;
  padding: 18px 24px;
  border: 1px solid rgba(78, 157, 224, .28);
  border-radius: 16px;
  background: rgba(3, 10, 20, .74);
}

.arena-control-group,
.arena-view-tabs,
.arena-brackets {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.arena-view-tabs {
  grid-area: views;
}

.arena-brackets {
  grid-area: brackets;
  align-self: center;
}

.arena-sort-field {
  grid-area: sort;
}

.arena-search-field {
  grid-area: search;
}

.arena-rows-field {
  grid-area: rows;
}

.arena-tab,
.arena-bracket,
.arena-submit,
.arena-pagination a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: 0 16px;
  border: 1px solid rgba(255, 210, 92, .32);
  border-radius: 999px;
  background: rgba(6, 15, 29, .76);
  color: #f5df9b;
  font-weight: 800;
  text-decoration: none;
  transition: background .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.arena-tab:hover,
.arena-bracket:hover,
.arena-submit:hover,
.arena-pagination a:hover {
  border-color: rgba(126, 197, 255, .7);
  color: #ffffff;
  background: linear-gradient(180deg, rgba(33, 88, 139, .72), rgba(9, 25, 48, .86));
  box-shadow: 0 0 18px rgba(80, 166, 255, .18);
  transform: translateY(-1px);
}

.arena-tab.is-active,
.arena-bracket.is-active,
.arena-submit {
  color: #120d03;
  border-color: rgba(255, 223, 129, .78);
  background: linear-gradient(180deg, #ffe186, #d6a33b);
  box-shadow: 0 0 20px rgba(255, 209, 90, .2);
}

.arena-bracket.is-active:nth-child(2) {
  background: linear-gradient(180deg, #80df96, #37894a);
  color: #041508;
}

.arena-bracket.is-active:nth-child(3) {
  background: linear-gradient(180deg, #9fd1ff, #367ab1);
  color: #041321;
}

.arena-control-field {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.arena-control-field span {
  color: #c5b27d;
  font-size: .76rem;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.arena-control-field input,
.arena-control-field select {
  width: 100%;
  min-height: 38px;
  box-sizing: border-box;
  border: 1px solid rgba(94, 171, 240, .3);
  border-radius: 10px;
  background: rgba(1, 8, 18, .9);
  color: #eef7ff;
  padding: 0 12px;
  font-weight: 700;
}

.arena-submit {
  grid-area: apply;
  width: 100%;
}

.arena-table-card {
  overflow: hidden;
  padding: 0;
  border: 1px solid rgba(78, 157, 224, .3);
  border-radius: 16px;
  background: rgba(2, 9, 18, .78);
}

.arena-table-headline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px;
  border-bottom: 1px solid rgba(255, 210, 92, .16);
}

.arena-table-headline h3 {
  margin: 0;
  color: #fff2c4;
  font-size: 1.35rem;
}

.arena-table-headline > span {
  color: #a9bad4;
  font-weight: 700;
}

.arena-table {
  overflow-x: auto;
}

.arena-table__header,
.arena-table__row {
  display: grid;
  align-items: center;
  min-width: 920px;
  gap: 14px;
  padding: 12px 20px;
}

.arena-team-table .arena-table__header,
.arena-team-table .arena-table__row {
  grid-template-columns: minmax(260px, 1.6fr) minmax(140px, .9fr) minmax(130px, .75fr) 76px 92px 92px minmax(110px, .7fr);
}

.arena-player-table .arena-table__header,
.arena-player-table .arena-table__row {
  grid-template-columns: minmax(260px, 1.5fr) minmax(190px, 1fr) minmax(130px, .7fr) 100px 116px 110px;
}

.arena-roster-table .arena-table__header,
.arena-roster-table .arena-table__row {
  grid-template-columns: minmax(280px, 1.4fr) 110px 110px minmax(100px, .6fr) minmax(100px, .6fr);
}

.arena-table__header {
  color: #bfe6ff;
  font-size: .78rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  background: rgba(9, 24, 45, .86);
}

.arena-table__row {
  color: #edf6ff;
  border-top: 1px solid rgba(255, 210, 92, .1);
  background: rgba(255, 255, 255, .02);
}

.arena-table__row:nth-child(even) {
  background: rgba(255, 255, 255, .045);
}

.arena-table__row:hover {
  background: rgba(54, 134, 210, .12);
}

.arena-table__identity,
.character-arena-card__identity {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 12px;
}

.arena-table__identity small,
.arena-table__row small,
.character-arena-card small,
.arena-stat-card small {
  display: block;
  margin-top: 4px;
  color: #a9bad4;
  font-size: .82rem;
}

.arena-team-link,
.arena-table a,
.arena-team-hero a {
  color: #7fc5ff;
  font-weight: 900;
  text-decoration: none;
}

.arena-team-link:hover,
.arena-table a:hover,
.arena-team-hero a:hover {
  color: #d9f0ff;
}

.arena-rating {
  color: #ffe39a;
}

.arena-faction {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #e7f3ff;
  font-weight: 800;
}

.arena-faction img {
  width: 28px;
  height: 28px;
  object-fit: contain;
}

.arena-emblem {
  position: relative;
  display: inline-flex;
  width: 52px;
  height: 64px;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--arena-emblem-border, #b88738);
  border-radius: 10px 10px 14px 14px;
  background:
    radial-gradient(circle at 50% 32%, color-mix(in srgb, var(--arena-emblem-color, #dceeff), transparent 56%), transparent 44%),
    linear-gradient(180deg, color-mix(in srgb, var(--arena-emblem-bg, #0b1729), #ffffff 10%), var(--arena-emblem-bg, #0b1729));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .16), 0 10px 20px rgba(0, 0, 0, .26);
}

.arena-emblem[style*="#FFFFFF"],
.arena-emblem[style*="#ffffff"] {
  background:
    radial-gradient(circle at 50% 30%, rgba(126, 197, 255, .18), transparent 52%),
    linear-gradient(180deg, #18273a, #081120);
}

.arena-emblem img {
  width: 42px;
  height: 42px;
  object-fit: contain;
  filter: drop-shadow(0 1px 1px rgba(0, 0, 0, .5));
}

.arena-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 16px 20px 20px;
  color: #dbeaff;
  border-top: 1px solid rgba(255, 210, 92, .12);
}

.arena-empty {
  padding: 22px;
  border: 1px dashed rgba(126, 197, 255, .28);
  border-radius: 16px;
  background: rgba(3, 10, 20, .62);
  color: #dbeaff;
}

.arena-team-hero {
  grid-template-columns: auto minmax(0, 1fr) minmax(230px, .55fr);
  background: linear-gradient(135deg, rgba(4, 11, 24, .98), rgba(10, 31, 55, .94));
}

.arena-team-hero__emblem {
  width: 96px;
  height: 120px;
}

.arena-team-hero__emblem img {
  width: 74px;
  height: 74px;
}

.arena-secondary-action {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: 0 16px;
  border: 1px solid rgba(126, 197, 255, .32);
  border-radius: 999px;
  background: rgba(6, 18, 34, .74);
  color: #dceeff;
  font-weight: 800;
  text-decoration: none;
}

.arena-secondary-action:hover {
  border-color: rgba(255, 210, 92, .46);
  background: rgba(22, 43, 68, .82);
  color: #fff2c4;
}

.arena-team-hero__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 14px;
}

.arena-team-hero__meta span,
.arena-captain-badge,
.arena-member-badge,
.character-arena-bracket,
.character-arena-rank {
  display: inline-flex;
  min-height: 26px;
  align-items: center;
  padding: 0 10px;
  border: 1px solid rgba(255, 210, 92, .25);
  border-radius: 999px;
  background: rgba(255, 210, 92, .08);
  color: #ffe39a;
  font-weight: 800;
  font-size: .82rem;
}

.arena-member-badge {
  color: #cfe5ff;
  border-color: rgba(126, 197, 255, .28);
  background: rgba(126, 197, 255, .08);
}

.arena-stat-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.arena-stat-card {
  padding: 18px;
  border: 1px solid rgba(78, 157, 224, .28);
  border-radius: 16px;
  background: rgba(3, 10, 20, .72);
}

.arena-stat-card span {
  color: #c5b27d;
  font-size: .78rem;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.arena-stat-card strong {
  display: block;
  margin-top: 8px;
  color: #fff2c4;
  font-size: 1.7rem;
}

.character-arena-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.character-arena-card {
  display: grid;
  gap: 16px;
  align-content: start;
  padding: 16px;
  border: 1px solid rgba(78, 157, 224, .26);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(8, 18, 32, .94), rgba(3, 8, 18, .9));
}

.character-arena-card.is-empty {
  min-height: 184px;
  align-content: center;
  justify-items: center;
  border-style: dashed;
  color: #b9cce4;
  text-align: center;
  background: linear-gradient(180deg, rgba(4, 12, 24, .68), rgba(2, 7, 15, .82));
}

.character-arena-card.is-empty .character-arena-card__head {
  justify-content: center;
}

.character-arena-card.is-empty .character-arena-bracket {
  min-width: 58px;
  justify-content: center;
}

.character-arena-card.is-empty p {
  max-width: 220px;
  margin: 0;
  color: #c8d8eb;
  line-height: 1.45;
}

.character-arena-card__head {
  display: flex;
  justify-content: space-between;
  gap: 10px;
}

.character-arena-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.character-arena-stats div {
  padding: 10px;
  border-radius: 12px;
  background: rgba(255, 255, 255, .035);
}

.character-arena-stats span {
  display: block;
  margin-bottom: 5px;
  color: #a9bad4;
  font-size: .72rem;
  text-transform: uppercase;
}

.character-arena-stats strong {
  color: #fff2c4;
}

.settings-grid {
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
}

.settings-card,
.feature-panel,
.feature-hero {
  box-sizing: border-box;
}

@media (min-width: 1080px) {
  .character-grid.character-grid-overview,
  .character-grid.character-grid-sheet {
    grid-template-columns: minmax(300px, 0.84fr) minmax(0, 1.6fr);
  }
}

@media (min-width: 1440px) {
  :root {
    --site-shell-content-max: 1080px;
    --site-shell-wide-max: 1080px;
    --site-shell-gutter: 32px;
  }
}

@media (min-width: 1024px) and (max-width: 1439px) {
  :root {
    --site-shell-content-max: 1080px;
    --site-shell-wide-max: 1080px;
    --site-shell-gutter: 24px;
  }
}

@media (max-width: 1023px) {
  :root {
    --site-shell-content-max: 100%;
    --site-shell-wide-max: 100%;
    --site-shell-gutter: 18px;
  }

  .modern-wrapper {
    margin-top: 14px;
    margin-bottom: 14px;
  }

  .modern-header-bar,
  .settings-hero,
  .guild-roster-toolbar,
  .guild-roster-toolbar {
    align-items: flex-start;
  }
  .settings-hero {
    flex-direction: column;
  }

  .settings-badges {
    justify-content: flex-start;
  }

  .settings-grid,
  .settings-toggle-row,
  .settings-recovery-grid {
    grid-template-columns: 1fr;
  }

  .guild-shell {
    grid-template-columns: 1fr;
  }

  .guild-side-stack {
    position: static;
    top: auto;
  }

  .guild-filter-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .guild-check {
    grid-column: 1 / -1;
  }

  .guild-roster {
    min-width: 760px;
  }

  .character-hero,
  .character-grid,
  .character-social-grid,
  .arena-hero,
  .arena-team-hero,
  .arena-controls,
  .arena-stat-grid,
  .character-arena-grid,
  .character-questlog-shell {
    grid-template-columns: 1fr;
  }

  .arena-controls {
    grid-template-areas:
      "views"
      "brackets"
      "sort"
      "search"
      "rows"
      "apply";
  }

  .arena-hero {
    min-height: 235px;
  }

  .server-talents-shell .talent-trees {
    grid-template-columns: 1fr;
    justify-items: center;
  }

  .server-talents-shell .talent-tree,
  .server-talents-shell .talent-flex {
    width: min(100%, var(--tree-inner-w));
  }
}

@media (max-width: 720px) {
  .arena-hero {
    min-height: auto;
    padding-right: clamp(22px, 3vw, 34px);
  }
}

@media (max-width: 767px) {
  :root {
    --site-shell-gutter: 12px;
  }

  .site-main {
    padding-top: 4px;
    padding-bottom: 10px;
  }

  .modern-wrapper {
    padding: 16px 14px 18px;
  }

  .settings-avatar-block,
  .guild-filter-grid {
    grid-template-columns: 1fr;
  }

  .settings-avatar-block {
    justify-items: start;
  }

  .guild-shell {
    padding: 18px 14px 20px;
  }

  .guild-hero,
  .guild-hero-main,
  .guild-roster-toolbar,
  .guild-note-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .guild-roster {
    min-width: 680px;
  }

  .playermap-frame {
    min-height: 520px;
    height: 62vh;
  }

  .character-hero-grid,
  .character-snapshot-grid,
  .character-combat-grid,
  .character-arena-stats,
  .character-admin-card-grid,
  .character-admin-form-grid,
  .character-admin-subcards {
    grid-template-columns: 1fr;
  }

  .arena-controls {
    align-items: stretch;
  }

  .arena-submit {
    width: 100%;
  }

  .arena-table-headline,
  .arena-pagination {
    align-items: flex-start;
    flex-direction: column;
  }

  .character-skill-card-head,
  .character-reputation-head {
    flex-direction: column;
    align-items: flex-start;
  }

  .bot-command-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .bot-command-note {
    max-width: none;
  }
}

@media (max-width: 480px) {
  :root {
    --site-shell-gutter: 10px;
  }

  .modern-wrapper,
  .feature-panel,
  .feature-hero,
  .guild-section {
    border-radius: 14px;
  }
  .modern-header,
  .settings-hero h2,
  .guild-panel-title,
  .guild-side-title {
    font-size: clamp(1.3rem, 6vw, 1.7rem);
  }
}

.frontpage-home {
  gap: 20px;
}

.modern-wrapper:has(.frontpage-home) .modern-header {
  display: none;
}

.modern-wrapper:has(.commands-page) .modern-header {
  display: none;
}

.modern-wrapper:has(.arena-shell) .modern-header {
  display: none;
}

.commands-page {
  gap: 22px;
}

.commands-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 0;
}

.commands-hero .feature-title {
  font-size: clamp(1.35rem, 2vw, 1.8rem);
  text-align: left;
}

.commands-hero .feature-copy {
  max-width: 44ch;
  margin-top: 0;
}

.commands-panel.feature-panel {
  padding: 24px;
}

.commands-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 18px;
}

.commands-table-wrap {
  overflow-x: auto;
}

.commands-table {
  width: 100%;
  min-width: 820px;
  border-collapse: collapse;
  table-layout: fixed;
}

.commands-table th,
.commands-table td {
  padding: 12px 14px;
  border-bottom: 1px solid rgba(112, 210, 255, 0.1);
  text-align: left;
  vertical-align: top;
}

.commands-table th {
  color: #d9efff;
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.commands-table tbody tr:nth-child(odd) {
  background: rgba(255, 255, 255, 0.025);
}

.commands-table tbody tr:hover {
  background: rgba(52, 150, 230, 0.08);
}

.commands-table__command-col {
  width: 190px;
}

.commands-table__security-col {
  width: 90px;
}

.commands-table__command code {
  display: inline-block;
  max-width: 100%;
  color: #ffffff;
  white-space: normal;
  overflow-wrap: anywhere;
}

.commands-table__security {
  color: #d9efff;
  font-weight: 800;
}

.frontpage-landing {
  position: relative;
  display: grid;
  grid-template-columns: minmax(470px, 1fr) minmax(390px, .68fr);
  align-items: center;
  gap: clamp(22px, 2.6vw, 36px);
  min-height: 310px;
  overflow: hidden;
  padding: clamp(20px, 2.6vw, 28px);
  background:
    radial-gradient(circle at 24% 28%, rgba(71, 194, 255, .2), transparent 28%),
    linear-gradient(90deg, rgba(2, 7, 14, .98), rgba(6, 18, 33, .9)),
    url('../../../images/modern/headers/banner_top_wotlk.png') center / cover no-repeat;
}

.frontpage-landing::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(2, 7, 14, .9), rgba(2, 8, 16, .52) 52%, rgba(2, 7, 14, .84)),
    radial-gradient(ellipse at 32% 52%, rgba(74, 192, 255, .16), transparent 38%);
  pointer-events: none;
}

.frontpage-landing > * {
  position: relative;
  z-index: 1;
}

.frontpage-landing__brand {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  justify-items: center;
  aspect-ratio: 4 / 3;
  min-height: 0;
  overflow: hidden;
  box-sizing: border-box;
  padding: clamp(10px, 1.2vw, 14px);
  border-radius: 12px;
  background:
    radial-gradient(ellipse at 50% 44%, rgba(41, 145, 230, .16), transparent 58%),
    linear-gradient(135deg, rgba(1, 5, 11, .98), rgba(4, 15, 29, .68));
  box-shadow:
    inset 0 0 0 1px rgba(108, 196, 255, .16),
    inset 0 -34px 60px rgba(0, 0, 0, .54),
    0 24px 46px rgba(0, 0, 0, .38);
}

.frontpage-landing__brand::before,
.frontpage-landing__brand::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

.frontpage-landing__brand::before {
  inset: 0;
  background:
    linear-gradient(90deg, rgba(0, 0, 0, .72), transparent 22%, transparent 76%, rgba(0, 0, 0, .76)),
    radial-gradient(circle at 50% 48%, rgba(74, 192, 255, .26), transparent 37%);
  z-index: 2;
}

.frontpage-landing__brand::after {
  right: -8%;
  bottom: -36%;
  width: 72%;
  height: 80%;
  background: radial-gradient(ellipse at center, rgba(63, 173, 255, .2), transparent 62%);
  filter: blur(8px);
  z-index: 0;
}

.frontpage-landing__logo {
  position: relative;
  z-index: 3;
  width: 100%;
  height: 100%;
  max-width: none;
  justify-self: center;
  object-fit: contain;
  object-position: center;
  image-rendering: auto;
  filter: saturate(1.04) contrast(1.04) drop-shadow(0 18px 28px rgba(0, 118, 255, .24));
  -webkit-mask-image: radial-gradient(ellipse at center, #000 62%, rgba(0, 0, 0, .82) 78%, transparent 100%);
  mask-image: radial-gradient(ellipse at center, #000 62%, rgba(0, 0, 0, .82) 78%, transparent 100%);
}

.frontpage-landing__banner {
  position: relative;
  z-index: 3;
  width: 100%;
  max-width: 420px;
  aspect-ratio: 700 / 136;
  display: block;
  border: 1px solid rgba(115, 200, 255, .28);
  border-radius: 10px;
  object-fit: cover;
  object-position: center;
  opacity: .88;
  box-shadow: 0 14px 28px rgba(0, 0, 0, .58), 0 0 24px rgba(35, 145, 220, .16);
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 10%, #000 90%, transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0%, #000 10%, #000 90%, transparent 100%);
}

.frontpage-landing__content {
  display: grid;
  gap: 22px;
  align-content: center;
  justify-items: start;
  min-width: 0;
}

.frontpage-landing__text {
  max-width: 460px;
}

.frontpage-landing__text .feature-title {
  color: #ffe09a;
  font-size: clamp(1.55rem, 2vw, 2.05rem);
  text-shadow: 0 0 16px rgba(71, 194, 255, 0.22);
}

.frontpage-landing__actions {
  flex-wrap: nowrap;
  justify-content: flex-start;
  margin-top: 0;
}

.frontpage-landing__actions .feature-button {
  min-height: 44px;
  padding: 0 16px;
  white-space: nowrap;
}

.frontpage-highlights {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.frontpage-highlight {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  padding: 16px;
  border: 1px solid rgba(115, 200, 255, .18);
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(12, 23, 38, .86), rgba(5, 9, 16, .86));
}

.frontpage-highlight img {
  width: 52px;
  height: 52px;
  object-fit: contain;
  border-radius: 8px;
  background: rgba(2, 8, 16, .72);
  border: 1px solid rgba(255, 204, 72, .16);
  padding: 5px;
}

.frontpage-highlight h3 {
  margin: 0 0 6px;
  color: #fff1bd;
  font-size: .98rem;
}

.frontpage-highlight p {
  margin: 0;
  color: #d6e7f3;
  font-size: .9rem;
  line-height: 1.48;
}

.frontpage-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 360px);
  gap: 20px;
  align-items: start;
}

.frontpage-news-column,
.frontpage-side-column {
  min-width: 0;
}

.frontpage-news-column {
  display: grid;
  gap: 14px;
}

.frontpage-side-column {
  display: grid;
  gap: 16px;
}

.frontpage-section-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 0 4px;
}

.frontpage-section-heading .feature-eyebrow {
  margin: 0;
}

.frontpage-section-heading a {
  color: #f1cf75;
  font-size: 0.86rem;
  text-decoration: none;
}

.frontpage-section-heading a:hover {
  color: #fff1bd;
}

.frontpage-panel.feature-panel {
  padding: 18px;
}

.frontpage-latest-update {
  display: grid;
  gap: 8px;
}

.frontpage-latest-update__title {
  color: #fff1bd;
  font-size: .98rem;
  font-weight: 800;
  line-height: 1.35;
  text-decoration: none;
}

.frontpage-latest-update__title:hover {
  color: #ffffff;
  text-decoration: underline;
}

.frontpage-latest-update__meta {
  color: #aa9870;
  font-size: .82rem;
}

.frontpage-quicklinks {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.frontpage-quicklinks a {
  display: flex;
  align-items: center;
  min-height: 38px;
  padding: 8px 10px;
  border: 1px solid rgba(80, 180, 255, 0.22);
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(8, 22, 38, 0.72), rgba(2, 6, 12, 0.58));
  color: #d9efff;
  font-size: 0.88rem;
  font-weight: 700;
  text-decoration: none;
}

.frontpage-quicklinks a:hover {
  border-color: rgba(112, 210, 255, 0.62);
  color: #ffffff;
  background: rgba(34, 134, 210, 0.16);
}

.frontpage-new-player {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
}

.frontpage-new-player img {
  width: 64px;
  height: 64px;
  border-radius: 8px;
  background:
    radial-gradient(circle at 50% 36%, rgba(90, 196, 255, .2), transparent 56%),
    rgba(2, 8, 16, .82);
  border: 1px solid rgba(115, 200, 255, .24);
  object-fit: contain;
  padding: 5px;
  box-shadow: 0 0 16px rgba(0, 0, 0, 0.65);
}

.frontpage-new-player p {
  font-size: 0.92rem;
}

.frontpage-server-card {
  display: grid;
  gap: 12px;
}

.frontpage-server-card + .frontpage-server-card {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid rgba(255, 196, 0, 0.14);
}

.frontpage-server-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.frontpage-server-card__head strong {
  color: #fff1bd;
  font-size: 1.05rem;
}

.frontpage-server-card__head span {
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 700;
}

.frontpage-server-card__head .is-online {
  color: #9cffac;
  background: rgba(64, 177, 88, 0.14);
  border: 1px solid rgba(112, 220, 130, 0.22);
}

.frontpage-server-card__head .is-offline {
  color: #ff9d8b;
  background: rgba(193, 63, 48, 0.14);
  border: 1px solid rgba(255, 130, 110, 0.22);
}

.frontpage-server-card dl {
  display: grid;
  gap: 8px;
  margin: 0;
}

.frontpage-server-card dl > div {
  display: grid;
  grid-template-columns: 130px minmax(0, 1fr);
  gap: 10px;
  align-items: baseline;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.frontpage-server-card dt,
.frontpage-server-card dd {
  margin: 0;
}

.frontpage-server-card dt {
  color: #aa9870;
  font-size: 0.78rem;
  text-transform: uppercase;
}

.frontpage-server-card dd {
  color: #f4ead0;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.frontpage-server-card__online dd {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.frontpage-server-card__online-count {
  color: #ffffff;
}

.frontpage-server-card dd a.frontpage-server-card__map-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  padding: 0 8px;
  border: 1px solid rgba(112, 210, 255, 0.34);
  border-radius: 999px;
  background: rgba(34, 134, 210, 0.12);
  color: #d9efff;
  font-size: 0.82rem;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}

.frontpage-server-card dd a.frontpage-server-card__map-link:hover {
  border-color: rgba(112, 210, 255, 0.66);
  background: rgba(34, 134, 210, 0.22);
  color: #ffffff;
}

@media (max-width: 980px) {
  .frontpage-layout,
  .frontpage-landing {
    grid-template-columns: 1fr;
  }

  .frontpage-highlights {
    grid-template-columns: 1fr;
  }

  .frontpage-landing__brand {
    min-height: 0;
  }

  .frontpage-landing__actions {
    flex-wrap: wrap;
  }

  .frontpage-landing__banner {
    width: 100%;
    max-width: 520px;
  }
}

@media (max-width: 640px) {
  .frontpage-landing {
    min-height: auto;
    gap: 14px;
    padding: 14px;
  }

  .frontpage-landing__brand {
    aspect-ratio: 16 / 9;
    max-height: 184px;
  }

  .frontpage-landing__logo {
    max-width: 320px;
    max-height: 164px;
  }

  .frontpage-landing__banner {
    width: min(100%, 360px);
    max-height: 76px;
  }

  .frontpage-landing__content {
    gap: 16px;
    justify-items: stretch;
  }

  .frontpage-landing__text {
    max-width: none;
  }

  .frontpage-landing__text .feature-title {
    font-size: clamp(1.35rem, 7vw, 1.78rem);
    line-height: 1.12;
  }

  .frontpage-landing__text .feature-copy {
    font-size: 1rem;
    line-height: 1.55;
  }

  .frontpage-landing__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    width: 100%;
  }

  .frontpage-landing__actions .feature-button {
    width: 100%;
    min-width: 0;
    padding: 0 12px;
    white-space: normal;
  }

  .frontpage-landing__actions .feature-button:first-child {
    grid-column: 1 / -1;
  }

  .frontpage-quicklinks {
    grid-template-columns: 1fr;
  }

  .frontpage-highlight {
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 10px;
    padding: 14px;
  }

  .frontpage-highlight img {
    width: 44px;
    height: 44px;
  }

  .frontpage-server-card dl > div {
    grid-template-columns: minmax(0, 1fr);
    gap: 4px;
  }

  .frontpage-server-card__online dd {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 767px) {
  .pagination-controls,
  .page-links,
  .page-size-form,
  .character-table-toolbar,
  .character-filter-actions,
  .character-toolbar-controls,
  .ah-controls,
  .ah-filter-bar {
    max-width: 100%;
    flex-wrap: wrap;
  }

  .pagination-controls,
  .page-size-form {
    justify-content: flex-start;
  }

  .page-btn,
  .ah-filter {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
  }

  .page-links a,
  .page-links span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    min-height: 40px;
    box-sizing: border-box;
    padding: 0 10px;
  }

  .page-links .dots {
    min-width: 24px;
  }

  .page-size-form {
    min-width: 0;
    flex-wrap: wrap;
    gap: 8px 10px;
  }

  .page-size-form select {
    min-height: 40px;
    padding: 0 10px;
  }

  .list-page-table-card {
    overflow: visible;
  }

  .list-page-table-card .wow-table {
    max-width: 100%;
    margin: 0;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
  }

  .character-table .character-table__header,
  .guild-table .guild-table__header,
  .honor-table .honor-table__header,
  .ah-table .ah-table__header:not(.ah-header-filters),
  .arena-table .arena-table__header {
    display: none;
  }

  .character-table .character-table__row,
  .guild-table .guild-table__row,
  .honor-table .honor-table__row,
  .ah-table .ah-table__row,
  .arena-table .arena-table__row {
    display: grid;
    grid-template-columns: 1fr !important;
    min-width: 0;
    gap: 10px;
    margin: 0 0 12px;
    padding: 14px;
    border: 1px solid rgba(255, 204, 72, 0.14);
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(15, 20, 34, 0.94), rgba(7, 10, 18, 0.94));
    text-align: left;
  }

  .character-table .character-table__row:last-child,
  .guild-table .guild-table__row:last-child,
  .honor-table .honor-table__row:last-child,
  .ah-table .ah-table__row:last-child,
  .arena-table .arena-table__row:last-child {
    margin-bottom: 0;
  }

  .character-table .character-table__cell,
  .guild-table .guild-table__cell,
  .honor-table .honor-table__cell,
  .ah-table .ah-table__cell,
  .arena-table .arena-table__row > * {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 0;
    text-align: right;
    overflow-wrap: anywhere;
  }

  .character-table .character-table__cell::before,
  .guild-table .guild-table__cell::before,
  .honor-table .honor-table__cell::before,
  .ah-table .ah-table__row .ah-table__cell::before,
  .arena-table .arena-table__row > *::before {
    flex: 0 0 84px;
    color: #aa9870;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-align: left;
    text-transform: uppercase;
  }

  .character-table .character-table__cell:nth-child(1)::before { content: "Name"; }
  .character-table .character-table__cell:nth-child(2)::before { content: "Guild"; }
  .character-table .character-table__cell:nth-child(3)::before { content: "Race"; }
  .character-table .character-table__cell:nth-child(4)::before { content: "Class"; }
  .character-table .character-table__cell:nth-child(5)::before { content: "Faction"; }
  .character-table .character-table__cell:nth-child(6)::before { content: "Level"; }
  .character-table .character-table__cell:nth-child(7)::before { content: "Location"; }

  .guild-table .guild-table__cell:nth-child(1)::before { content: "Guild"; }
  .guild-table .guild-table__cell:nth-child(2)::before { content: "Faction"; }
  .guild-table .guild-table__cell:nth-child(3)::before { content: "Leader"; }
  .guild-table .guild-table__cell:nth-child(4)::before { content: "Members"; }
  .guild-table .guild-table__cell:nth-child(5)::before { content: "Avg Lvl"; }
  .guild-table .guild-table__cell:nth-child(6)::before { content: "Max Lvl"; }
  .guild-table .guild-table__cell:nth-child(7)::before { content: "Avg iLvl"; }
  .guild-table .guild-table__cell:nth-child(8)::before { content: "Max iLvl"; }
  .guild-table.gm-mode .guild-table__cell:nth-child(5)::before { content: "MOTD"; }

  .honor-table .honor-table__cell:nth-child(1)::before { content: "Name"; }
  .honor-table .honor-table__cell:nth-child(2)::before { content: "Faction"; }
  .honor-table .honor-table__cell:nth-child(3)::before { content: "Level"; }
  .honor-table .honor-table__cell:nth-child(4)::before { content: "HK"; }
  .honor-table .honor-table__cell:nth-child(5)::before { content: "DK"; }
  .honor-table .honor-table__cell:nth-child(6)::before { content: "Rank"; }
  .honor-table .honor-table__cell:nth-child(7)::before { content: "Honor"; }

  .ah-table .ah-table__row .ah-table__cell:nth-child(1)::before { content: "Type"; }
  .ah-table .ah-table__row .ah-table__cell:nth-child(2)::before { content: "Name"; }
  .ah-table .ah-table__row .ah-table__cell:nth-child(3)::before { content: "Qty"; }
  .ah-table .ah-table__row .ah-table__cell:nth-child(4)::before { content: "Req Lvl"; }
  .ah-table .ah-table__row .ah-table__cell:nth-child(5)::before { content: "Item Lvl"; }
  .ah-table .ah-table__row .ah-table__cell:nth-child(6)::before { content: "Time"; }
  .ah-table .ah-table__row .ah-table__cell:nth-child(7)::before { content: "Bid"; }
  .ah-table .ah-table__row .ah-table__cell:nth-child(8)::before { content: "Buyout"; }

  .arena-team-table .arena-table__row > :nth-child(1)::before { content: "Team"; }
  .arena-team-table .arena-table__row > :nth-child(2)::before { content: "Captain"; }
  .arena-team-table .arena-table__row > :nth-child(3)::before { content: "Faction"; }
  .arena-team-table .arena-table__row > :nth-child(4)::before { content: "Members"; }
  .arena-team-table .arena-table__row > :nth-child(5)::before { content: "Rank"; }
  .arena-team-table .arena-table__row > :nth-child(6)::before { content: "Rating"; }
  .arena-team-table .arena-table__row > :nth-child(7)::before { content: "Season"; }

  .arena-player-table .arena-table__row > :nth-child(1)::before { content: "Player"; }
  .arena-player-table .arena-table__row > :nth-child(2)::before { content: "Team"; }
  .arena-player-table .arena-table__row > :nth-child(3)::before { content: "Faction"; }
  .arena-player-table .arena-table__row > :nth-child(4)::before { content: "Personal"; }
  .arena-player-table .arena-table__row > :nth-child(5)::before { content: "Points"; }
  .arena-player-table .arena-table__row > :nth-child(6)::before { content: "Team Rating"; }

  .character-table .character-table__name,
  .guild-table .guild-table__name,
  .guild-table .guild-table__leader,
  .honor-table .honor-table__name,
  .honor-table .honor-table__rank,
  .ah-table .ah-table__cell:nth-child(2),
  .arena-table .arena-table__identity {
    align-items: flex-start;
    text-align: left;
  }

  .character-table .character-table__name a,
  .character-table .character-table__name span,
  .honor-table .honor-table__name a,
  .honor-table .honor-table__name span,
  .honor-rank-wrap,
  .arena-table__identity,
  .arena-faction,
  .gold-inline {
    min-width: 0;
    flex-wrap: wrap;
    overflow-wrap: anywhere;
  }

  .character-table .list-page-empty-row,
  .guild-table .list-page-empty-row,
  .honor-table .list-page-empty-row,
  .ah-table .ah-table__row.empty {
    justify-content: center;
    padding: 18px 12px;
    text-align: center;
  }

  .character-table .list-page-empty-row::before,
  .guild-table .list-page-empty-row::before,
  .honor-table .list-page-empty-row::before {
    display: none;
  }

  .ah-table .ah-header-filters {
    display: grid;
    grid-template-columns: 1fr !important;
    gap: 12px;
    min-width: 0;
    margin: 0 0 12px;
    padding: 14px;
    border: 1px solid rgba(255, 204, 72, 0.14);
    border-radius: 14px;
  }

  .ah-table .ah-header-filters .ah-table__cell {
    display: grid;
    gap: 6px;
    padding: 0;
    text-align: left;
  }

  .ah-table .ah-header-filters .ah-table__cell:empty {
    display: none;
  }

  .ah-header-filter-control,
  .ah-header-filter-input,
  .ah-header-apply {
    min-height: 44px;
  }

  .ah-header-apply {
    width: 100%;
  }

  .arena-table {
    overflow: visible;
  }

  .arena-table-card {
    overflow: visible;
  }

  .arena-table-headline {
    padding: 16px;
  }

  .commands-hero {
    flex-direction: column;
    align-items: stretch;
  }

  .commands-panel.feature-panel {
    padding: 16px;
    min-width: 0;
  }

  .commands-table-wrap {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .commands-table {
    min-width: 620px;
  }

  .commands-table th,
  .commands-table td {
    padding: 10px 12px;
    overflow-wrap: anywhere;
  }

  .item-vault__table-shell {
    overflow: visible;
  }

  .item-vault__table {
    overflow: visible;
  }

  .item-vault__table .item-vault__table-row {
    min-width: 0;
    margin: 0 0 12px;
    padding: 14px;
    border: 1px solid rgba(255, 194, 28, 0.14);
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(15, 20, 34, 0.94), rgba(7, 10, 18, 0.94));
  }

  .item-vault__table .item-vault__table-row:last-child {
    margin-bottom: 0;
  }

  .item-vault__table .item-vault__table-cell {
    min-width: 0;
    overflow-wrap: anywhere;
  }

  .item-vault__table .item-vault__table-cell--type,
  .item-vault__table .item-vault__table-cell--meta,
  .item-vault__table .item-vault__table-cell--note,
  .item-vault__table .item-vault__table-cell--action {
    display: grid;
    gap: 6px;
  }

  .item-vault__table .item-vault__table-cell--type::before,
  .item-vault__table .item-vault__table-cell--meta::before,
  .item-vault__table .item-vault__table-cell--note::before,
  .item-vault__table .item-vault__table-cell--action::before {
    color: #c4b27c;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .item-vault__table .item-vault__table-cell--type::before { content: "Type"; }
  .item-vault__table .item-vault__table-cell--meta::before { content: "Details"; }
  .item-vault__table .item-vault__table-cell--note::before { content: "Notes"; }
  .item-vault__table .item-vault__table-cell--action::before { content: "View"; }
}

@media (max-width: 430px) {
  .list-page-hero {
    gap: 14px;
  }

  .list-page-search-input {
    min-height: 46px;
    padding: 0 12px;
    font-size: 0.95rem;
  }

  .pagination-controls {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 12px;
  }

  .page-links {
    justify-content: flex-start;
    gap: 6px;
  }

  .page-links a,
  .page-links span {
    min-width: 38px;
    min-height: 40px;
    padding: 0 8px;
  }

  .page-size-form {
    width: 100%;
  }

  .page-size-form span {
    line-height: 1.35;
  }

  .commands-table {
    min-width: 560px;
  }

  .commands-table__command-col {
    width: 150px;
  }

  .commands-table__security-col {
    width: 72px;
  }

  .item-vault__table .item-vault__table-row {
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 10px;
  }

  .item-vault__table-icon {
    width: 50px;
    height: 50px;
  }

  .item-vault__table-icon img {
    width: 40px;
    height: 40px;
  }
}
