/* The wizard gallery: painted portraits, relic gold and sapphire enamel.
   Presentation only. entry.js retains every native button and owns scrolling,
   drag suppression, account locking and keyboard activation. */
body.wiz-wow-entry #luxRoster {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 12px;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 6px 4px 12px;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x pan-y pinch-zoom;
  scroll-snap-type: x proximity;
  scroll-padding-inline: 4px;
  scrollbar-width: thin;
  scrollbar-color: #b79960 #080f20;
  cursor: grab;
}

body.wiz-wow-entry #luxRoster::-webkit-scrollbar { height: 5px; }
body.wiz-wow-entry #luxRoster::-webkit-scrollbar-track {
  border-radius: 3px;
  background: #080f20;
  box-shadow: inset 0 1px 2px #000;
}
body.wiz-wow-entry #luxRoster::-webkit-scrollbar-thumb {
  border: 1px solid #d9bd81;
  border-radius: 3px;
  background: linear-gradient(180deg,#d3b475,#8e6935);
}

body.wiz-wow-entry #luxRoster .lux-char {
  --roster-jewel: #79baff;
  --roster-jewel-rgb: 97,155,226;
  --roster-house-ink: #d2e5ff;
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  box-sizing: border-box;
  flex: 0 0 172px;
  width: 172px;
  min-width: 0;
  min-height: 0;
  height: auto;
  margin: 0;
  padding: 4px 4px 0;
  overflow: hidden;
  border: 1px solid #a88449;
  border-radius: 7px 7px 5px 5px;
  background: linear-gradient(135deg,#796244 0%,#16273f 12%,#07111f 55%,#4c3c27 100%);
  color: #fff1d5;
  text-align: left;
  font: inherit;
  cursor: pointer;
  scroll-snap-align: start;
  opacity: 1;
  transform: none;
  filter: none;
  animation: none;
  box-shadow: inset 0 0 0 1px #11151a,inset 0 0 0 2px rgba(223,181,106,.28),0 5px 10px rgba(0,0,0,.45);
  transition: transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}

body.wiz-wow-entry #luxRoster .lux-char[data-house="Emberhall"] {
  --roster-jewel: #ed917e;
  --roster-jewel-rgb: 224,93,71;
  --roster-house-ink: #ffc8b8;
}
body.wiz-wow-entry #luxRoster .lux-char[data-house="Nightvale"] {
  --roster-jewel: #85baff;
  --roster-jewel-rgb: 100,151,235;
  --roster-house-ink: #c8e0ff;
}
body.wiz-wow-entry #luxRoster .lux-char[data-house="Thornwood"] {
  --roster-jewel: #78dbac;
  --roster-jewel-rgb: 77,182,137;
  --roster-house-ink: #b7f1d0;
}
body.wiz-wow-entry #luxRoster .lux-char[data-house="Aurelian"] {
  --roster-jewel: #f0c46b;
  --roster-jewel-rgb: 219,170,73;
  --roster-house-ink: #ffe0a1;
}

body.wiz-wow-entry #luxRoster .lux-char::before {
  content: '';
  position: absolute;
  z-index: 3;
  inset: 1px;
  border: 1px solid rgba(235,197,127,.22);
  border-radius: 5px 5px 3px 3px;
  pointer-events: none;
}
body.wiz-wow-entry #luxRoster .lux-char::after { content: none; }

body.wiz-wow-entry #luxRoster .lux-char-art {
  position: relative;
  display: block;
  flex: none;
  width: 100%;
  height: 188px;
  overflow: hidden;
  border-radius: 3px 3px 0 0;
  background: radial-gradient(ellipse at 50% 35%,rgba(var(--roster-jewel-rgb),.24),#0a1425 75%);
  box-shadow: 0 1px 0 rgba(229,187,106,.4);
}
body.wiz-wow-entry #luxRoster .lux-char-art img {
  position: relative;
  z-index: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 20%;
  transform: none;
  filter: none;
  user-select: none;
  -webkit-user-drag: none;
}
body.wiz-wow-entry #luxRoster .lux-char-art::before {
  content: '';
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(180deg,rgba(4,10,19,.04) 65%,rgba(4,10,19,.4));
  box-shadow: inset 0 0 12px rgba(0,0,0,.42);
  pointer-events: none;
}
/* Preserve the painted frame's 3:4 ratio. Only its outer tips crop in the
   shorter portrait window; the clear centre leaves the face unobscured. */
body.wiz-wow-entry #luxRoster .lux-char-art::after {
  content: '';
  position: absolute;
  z-index: 2;
  inset: 0;
  background: url('../img/auth/arcane-relic-frame-v2.webp') center / 100% auto no-repeat;
  pointer-events: none;
}

body.wiz-wow-entry #luxRoster .luxury-card-copy {
  position: relative;
  display: flex;
  flex: none;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 5px;
  box-sizing: border-box;
  min-height: 64px;
  padding: 8px 8px 7px;
  border-top: 1px solid rgba(245,206,135,.42);
  background: radial-gradient(ellipse at 50% 0,rgba(var(--roster-jewel-rgb),.14),transparent 76%),linear-gradient(180deg,#142641,#0a1527);
  box-shadow: inset 0 1px 0 rgba(133,170,214,.09);
}
body.wiz-wow-entry #luxRoster .lux-char-name {
  display: block;
  width: 100%;
  margin: 0;
  color: #fff0d3;
  white-space: normal;
  overflow-wrap: anywhere;
  font: 600 16px/1.18 'EB Garamond',Georgia,serif;
  letter-spacing: .008em;
  text-shadow: 0 2px 2px #030914;
}
body.wiz-wow-entry #luxRoster .lux-char-house {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  gap: 6px;
  min-height: 20px;
  padding: 2px 6px;
  border: 1px solid rgba(var(--roster-jewel-rgb),.5);
  border-radius: 3px;
  background: linear-gradient(180deg,rgba(var(--roster-jewel-rgb),.14),rgba(1,6,17,.55));
  color: var(--roster-house-ink);
  font: 600 10px/1.3 'Segoe UI',system-ui,sans-serif;
  letter-spacing: .035em;
  box-shadow: inset 0 1px 0 rgba(var(--roster-jewel-rgb),.15);
}
body.wiz-wow-entry #luxRoster .lux-char-house i {
  width: 6px;
  height: 6px;
  flex: none;
  border: 1px solid rgba(255,255,255,.48);
  border-radius: 1px;
  background: var(--roster-jewel);
  box-shadow: 0 0 5px rgba(var(--roster-jewel-rgb),.65);
  transform: rotate(45deg);
}
body.wiz-wow-entry #luxRoster .entry-card-go {
  position: relative;
  display: flex;
  flex: none;
  align-items: center;
  justify-content: space-between;
  gap: 5px;
  box-sizing: border-box;
  min-height: 46px;
  margin: 0 -3px 1px;
  padding: 8px 10px;
  border-top: 1px solid #9a7947;
  border-bottom: 1px solid rgba(195,157,84,.35);
  border-radius: 0 0 3px 3px;
  background: radial-gradient(ellipse at 50% -40%,rgba(92,158,243,.4),transparent 75%),linear-gradient(180deg,#244775 0%,#15345b 45%,#0c2240 100%);
  color: #fff0cc;
  font: 650 14px/1.25 'Segoe UI',system-ui,sans-serif;
  text-shadow: 0 1px 2px #061126;
  box-shadow: inset 0 1px 0 rgba(148,194,245,.28),inset 0 -2px 4px rgba(0,0,0,.3);
  transition: background-color .16s ease,box-shadow .16s ease;
}
body.wiz-wow-entry #luxRoster .entry-card-go > [aria-hidden] {
  flex: none;
  color: #f4d697;
  font-size: 18px;
  line-height: 1;
}

@media (hover: hover) and (pointer: fine) {
  body.wiz-wow-entry #luxRoster:not(.entry-dragging) .lux-char:not(:disabled):hover {
    border-color: #f1cf8d;
    transform: translateY(-2px);
    box-shadow: inset 0 0 0 1px #11151a,inset 0 0 0 2px rgba(239,200,128,.38),0 5px 12px rgba(0,0,0,.55),0 0 12px rgba(var(--roster-jewel-rgb),.25);
  }
  body.wiz-wow-entry #luxRoster:not(.entry-dragging) .lux-char:not(:disabled):hover .entry-card-go {
    background: radial-gradient(ellipse at 50% -40%,rgba(103,179,255,.5),transparent 75%),linear-gradient(180deg,#315d94,#1a3d6b 50%,#102b50);
    box-shadow: inset 0 1px 0 rgba(180,218,255,.43),inset 0 -2px 4px rgba(0,0,0,.2);
  }
}
body.wiz-wow-entry #luxRoster .lux-char:disabled { opacity: 1; cursor: wait; }
body.wiz-wow-entry.entry-busy #luxRoster .lux-char:not(.is-going) { opacity: .58; }
body.wiz-wow-entry #luxRoster .lux-char.is-going {
  border-color: #f5d899;
  box-shadow: 0 0 0 2px #f5d899,0 0 18px rgba(106,181,255,.3);
}
body.wiz-wow-entry #luxRoster .lux-char.is-going .entry-card-go { min-height: 46px; }
body.wiz-wow-entry #luxRoster:focus-visible,
body.wiz-wow-entry #luxRoster .lux-char:focus-visible,
body.wiz-wow-entry .side-roster-nav .lux-arrow:focus-visible {
  outline: 3px solid #f4d58e;
  outline-offset: 2px;
}
body.wiz-wow-entry #luxRoster.entry-dragging {
  scroll-snap-type: none;
  scroll-behavior: auto;
  cursor: grabbing;
  user-select: none;
}
body.wiz-wow-entry #luxRoster.entry-dragging * { cursor: grabbing; }
body.wiz-wow-entry #luxRoster.entry-dragging .lux-char {
  transform: none;
  transition: none;
}
body.wiz-wow-entry #luxRoster .entry-portrait-fallback {
  z-index: 1;
  color: #d9bd7c;
  text-shadow: 0 0 24px rgba(92,156,237,.65);
}

body.wiz-wow-entry .luxury-roster-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
  gap: 12px;
  margin-top: 9px;
}
body.wiz-wow-entry .side-roster-hint {
  margin: 0;
  color: #e2cfab;
  font: 500 11px/1.5 'Segoe UI',system-ui,sans-serif;
}
body.wiz-wow-entry .side-roster-hint > span {
  display: block;
  margin: 0;
  color: #acbdd5;
  font-weight: 400;
  font-size: 10px;
}
body.wiz-wow-entry .side-roster-nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex: none;
  gap: 8px;
  width: auto;
  margin: 0;
}
body.wiz-wow-entry .side-roster-nav .lux-arrow {
  display: grid;
  place-items: center;
  box-sizing: border-box;
  flex: none;
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
  padding: 0;
  border: 1px solid #b3955b;
  border-radius: 5px;
  background: radial-gradient(ellipse at 50% 0,rgba(117,178,249,.16),transparent 75%),linear-gradient(180deg,#213857,#0c1b31);
  color: #f0d198;
  font: 24px/1 'EB Garamond',Georgia,serif;
  box-shadow: inset 0 0 0 2px #0a172a,inset 0 0 0 3px rgba(225,187,115,.13),0 3px 6px rgba(0,0,0,.3);
  cursor: pointer;
  transition: border-color .16s ease,background-color .16s ease;
}
body.wiz-wow-entry .side-roster-nav .lux-arrow:hover:not(:disabled) {
  border-color: #f0d59a;
  background: linear-gradient(180deg,#2c4b72,#152c4b);
}
body.wiz-wow-entry .side-roster-nav .lux-arrow:disabled {
  opacity: .4;
  cursor: default;
}
body.wiz-wow-entry #rosterPage {
  min-width: 102px;
  color: #d2dff0;
  text-align: center;
  font: 500 11px/1.4 'Segoe UI',system-ui,sans-serif;
  font-variant-numeric: tabular-nums;
}

@media (min-width: 821px) and (max-width: 1080px) {
  body.wiz-wow-entry .luxury-roster-bottom { flex-wrap: wrap; gap: 6px; }
  body.wiz-wow-entry .side-roster-nav { margin-left: auto; }
}
@media (max-width: 520px) {
  body.wiz-wow-entry #luxRoster .lux-char { flex-basis: 146px; width: 146px; }
  body.wiz-wow-entry #luxRoster .lux-char-art { height: 168px; }
  body.wiz-wow-entry #luxRoster .luxury-card-copy { min-height: 64px; padding-inline: 6px; }
  body.wiz-wow-entry #luxRoster .lux-char-name { font-size: 15px; }
  body.wiz-wow-entry #luxRoster .entry-card-go { padding-inline: 7px; font-size: 14px; }
  body.wiz-wow-entry #luxRoster .entry-card-go > [aria-hidden] { font-size: 15px; }
  body.wiz-wow-entry .luxury-roster-bottom { flex-wrap: wrap; justify-content: center; gap: 6px; margin-top: 7px; }
  body.wiz-wow-entry .side-roster-nav { order: -1; justify-content: center; width: 100%; margin: 0; }
  body.wiz-wow-entry .side-roster-hint { width: 100%; text-align: center; font-size: 10px; }
  body.wiz-wow-entry .side-roster-hint > span { display: inline; margin-left: 4px; font-size: 10px; }
}

@media (prefers-reduced-motion: reduce) {
  body.wiz-wow-entry #luxRoster,
  body.wiz-wow-entry #luxRoster *,
  body.wiz-wow-entry #luxRoster *::before,
  body.wiz-wow-entry #luxRoster *::after,
  body.wiz-wow-entry .side-roster-nav * {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
    transform: none !important;
  }
}
