/* ═══════════════════════════════════════════════════════════════════
   hero-panel-x3.css — Y1 "Hero Card" (MTG/Hearthstone inspired)

   BIG square avatar as the centerpiece ("hero card"), equipment 4×2 grid
   below, actions row at the bottom. 4 variants:

     .y1-panel              = base purple (no faction / no founder)
     .y1-panel.warden       = Warden faction (warm gold)
     .y1-panel.seeker       = Seeker faction (dark purple)
     .y1-panel.founder      = Founder Pack (deep crimson / rose-gold)

   Founder+faction COMBO: put BOTH `.founder` AND `.warden`/`.seeker`
   on the panel. Founder colour wins; ONLY the faction sigil (☀/☾)
   shows top-right — no crown sigil.

   Avatar / frame / bg wiring:
     - `.y1-card` gets the player's `.gv-frame-*` class (border colour
       + animation). Base CSS of gv-frame-* uses `!important` on border
       so it overrides the default card border.
     - `.y1-card-art` gets the player's `.gv-bg-*` class (behind-avatar
       background). Default art gradient is overridden.
     - The avatar image fills `.y1-avatar` at 100% (square crop,
       matches the card shape).
   ═══════════════════════════════════════════════════════════════════ */

/* Rarity vars scoped to the panel only. */
.y1-panel {
  --warrior: #FF4757;
  --r-common: #b0b0b0;
  --r-uncommon: #5ED87A;
  --r-rare: #4FACFE;
  --r-epic: #BF5FFF;
  --r-legendary: #FFB340;
  --r-mythic: #ff4444;
}

/* ═══ Base panel — default purple ═══ */
.y1-panel {
  background:
    radial-gradient(ellipse at 50% 20%, rgba(138,79,207,0.18), transparent 60%),
    radial-gradient(ellipse at 50% 80%, rgba(90,40,130,0.15), transparent 60%),
    linear-gradient(180deg, #14101f 0%, #0d0818 50%, #0a0614 100%);
  border: 1px solid rgba(199,122,252,0.3);
  border-radius: 16px;
  padding: 12px;
  box-shadow: 0 10px 40px rgba(60,30,100,0.35);
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

/* ═══ Top bar — settings / currencies / mail ═══
   High z-index so the settings dropdown (absolute, opens downward)
   renders ABOVE the hero card which follows in source order. */
.y1-panel .y1-top {
  display: flex; align-items: center; gap: 6px;
  padding: 6px;
  margin-bottom: 10px;
  background: linear-gradient(90deg, rgba(40,24,70,0.7), rgba(55,32,90,0.55), rgba(40,24,70,0.7));
  border: 1px solid rgba(199,122,252,0.35);
  border-radius: 10px;
  position: relative;
  z-index: 50;
}
/* Founder rule sets `.y1-panel.founder > * { z-index: 10 }`. Keep the
   top-bar ABOVE that so the settings dropdown items stay clickable. */
.y1-panel.founder > .y1-top { z-index: 50; }
.y1-panel .hpv9-gear-wrap { position: relative; z-index: 60; }
.y1-panel .hpv9-dropdown { z-index: 9999 !important; }
.y1-panel .y1-top-cur { flex: 1; display: flex; gap: 5px; min-width: 0; }
.y1-panel .y1-top-cur-item {
  flex: 1;
  display: flex; align-items: center; justify-content: center; gap: 5px;
  padding: 7px 8px;
  background: rgba(0,0,0,0.35);
  border: 1px solid rgba(199,122,252,0.25);
  border-radius: 7px;
  font-weight: 800;
  font-size: 13px;
  font-family: 'Cinzel', 'Georgia', serif;
  min-width: 0;
}
.y1-panel .y1-top-cur-item.gold { color: #ffd47a; border-color: rgba(255,215,0,0.3); }
.y1-panel .y1-top-cur-item.dia { color: #7ecdff; cursor: pointer; border-color: rgba(126,205,255,0.3); position: relative; }
.y1-panel .y1-top-cur-item img { width: 14px; height: 14px; filter: drop-shadow(0 0 4px currentColor); flex-shrink: 0; }
.y1-panel .y1-top-cur-item span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
/* Mini Top-up "+" — positioned ABSOLUTELY on the top-right corner
   of the diamond tile so it doesn't eat horizontal space from the
   amount (otherwise 4-5 digit amounts get truncated with ellipsis
   on narrow sidebars). Small floating badge, gold gradient, pulse. */
.y1-panel .y1-dia-topup {
  position: absolute;
  top: -6px;
  right: -6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px; height: 16px;
  padding: 0;
  background: linear-gradient(135deg, #ffe19a 0%, #ffa94d 50%, #ff7a1f 100%);
  color: #2a1200;
  border: 1.5px solid rgba(255,245,200,0.85);
  border-radius: 999px;
  font-family: 'Cinzel', serif;
  font-size: 12px; font-weight: 900;
  cursor: pointer;
  line-height: 1;
  box-shadow: 0 1px 3px rgba(255,140,40,0.5), inset 0 1px 0 rgba(255,250,220,0.55);
  animation: y1TopupPulse 2.4s ease-in-out infinite;
  transition: transform .15s;
  z-index: 2;
}
.y1-panel .y1-dia-topup:hover {
  transform: scale(1.2);
  box-shadow: 0 2px 8px rgba(255,180,60,0.8), inset 0 1px 0 rgba(255,250,220,0.7);
}
@keyframes y1TopupPulse {
  0%, 100% { box-shadow: 0 1px 3px rgba(255,140,40,0.5), inset 0 1px 0 rgba(255,250,220,0.55); }
  50% { box-shadow: 0 1px 8px rgba(255,200,80,0.85), 0 0 10px rgba(255,160,40,0.4), inset 0 1px 0 rgba(255,250,220,0.7); }
}
.y1-panel .y1-ibtn {
  width: 40px; height: 40px;
  background: linear-gradient(135deg, rgba(55,32,90,0.75), rgba(30,18,54,0.85));
  border: 1px solid rgba(199,122,252,0.45);
  border-radius: 10px;
  color: #e9d8ff;
  cursor: pointer;
  font-size: 20px;
  display: flex; align-items: center; justify-content: center;
  position: relative;
  flex-shrink: 0;
  transition: all .15s;
  padding: 0;
  box-shadow: 0 2px 6px rgba(0,0,0,0.4), inset 0 1px 0 rgba(199,122,252,0.18);
}
.y1-panel .y1-ibtn:hover {
  border-color: #c77afc; color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(199,122,252,0.4), inset 0 1px 0 rgba(199,122,252,0.3);
}
.y1-panel .y1-ibtn .y1-ib-ic { font-size: 20px; line-height: 1; display: block; }
.y1-panel .y1-ibtn .y1-ib-img { width: 22px; height: 22px; display: block; object-fit: contain; filter: drop-shadow(0 1px 2px rgba(0,0,0,0.6)); }
.y1-panel .y1-ibtn:hover .y1-ib-img { filter: drop-shadow(0 0 6px rgba(199,122,252,0.8)); }
.y1-panel .y1-mail-badge {
  position: absolute; top: -5px; right: -5px;
  background: linear-gradient(135deg, #ff6b7a, #e63946);
  color: #fff;
  font-size: 10px; font-weight: 900;
  padding: 1px 6px; border-radius: 999px;
  border: 1.5px solid #0a0614;
  box-shadow: 0 0 8px rgba(255,71,87,0.6);
  z-index: 2;
  line-height: 1.3;
}

/* ═══ Faction banner + sigil ═══ */
.y1-panel .y1-faction-sigil {
  position: absolute; top: 10px; right: 10px;
  font-size: 20px;
  z-index: 3;
  pointer-events: none;
}
.y1-panel .y1-faction-banner {
  text-align: center;
  padding: 5px 10px;
  margin-bottom: 10px;
  border-radius: 8px;
  font-family: 'Cinzel', serif;
  font-size: 10px; font-weight: 800;
  letter-spacing: 3px; text-transform: uppercase;
  background: linear-gradient(90deg, transparent, rgba(199,122,252,0.2), transparent);
  color: #e9d8ff;
  border: 1px solid rgba(199,122,252,0.3);
  cursor: pointer;
  display: block;
  width: 100%;
  font-family: inherit;
  font-family: 'Cinzel', serif;
}

/* ═══ Event banner (boss strike) ═══ */
.y1-panel .y1-event-banner {
  display: flex; align-items: center; gap: 10px;
  padding: 8px 12px;
  margin-bottom: 10px;
  background: linear-gradient(90deg, rgba(255,60,60,0.15), rgba(255,100,40,0.15));
  border: 1px solid rgba(255,100,50,0.5);
  border-radius: 8px;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  color: inherit;
  font-family: inherit;
  width: 100%;
}
.y1-panel .y1-event-banner::before {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(90deg, transparent, rgba(255,100,50,0.25), transparent);
  animation: y1EveSweep 3s infinite;
}
@keyframes y1EveSweep { 0% { transform: translateX(-100%); } 100% { transform: translateX(100%); } }
.y1-panel .y1-event-banner > * { position: relative; }
.y1-panel .y1-event-ic { font-size: 18px; }
.y1-panel .y1-event-body { flex: 1; text-align: left; }
.y1-panel .y1-event-ttl { color: #ff7060; font-size: 11px; font-weight: 800; letter-spacing: 1px; text-transform: uppercase; font-family: 'Cinzel', serif; }
.y1-panel .y1-event-sub { color: rgba(255,180,140,0.7); font-size: 10px; }
.y1-panel .y1-event-live {
  background: #ff4444; color: #fff;
  padding: 2px 7px; border-radius: 999px;
  font-size: 9px; font-weight: 800; letter-spacing: 1px;
  animation: y1EveLive 1.2s infinite;
}
@keyframes y1EveLive { 0%,100% { opacity: 1; } 50% { opacity: 0.6; } }

/* ═══ Hero Card (big square avatar) ═══ */
.y1-panel .y1-card {
  position: relative;
  aspect-ratio: 1 / 1.1;
  max-width: 200px;
  margin: 0 auto 12px;
  border-radius: 14px;
  overflow: hidden;
  border: 2px solid rgba(199,122,252,0.55);
  box-shadow: 0 8px 28px rgba(138,79,207,0.35), inset 0 0 0 1px rgba(0,0,0,0.4);
  cursor: pointer;
  background: transparent;
}
.y1-panel .y1-card-art {
  position: absolute; inset: 0;
  background:
    radial-gradient(circle at 50% 40%, rgba(199,122,252,0.25), transparent 60%),
    linear-gradient(180deg, #2a1f4a 0%, #1a1233 50%, #0f0820 100%);
  display: flex; align-items: center; justify-content: center;
  border-radius: inherit;
}
.y1-panel .y1-avatar {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
  filter: drop-shadow(0 10px 20px rgba(0,0,0,0.6));
}

/* Pet slots — 2 small circular badges in top-left of the avatar card. */
.y1-panel .y1-pets {
  position: absolute;
  top: 8px;
  left: 8px;
  display: flex;
  flex-direction: column;
  gap: 5px;
  z-index: 4;
  pointer-events: auto;
}
.y1-panel .y1-pet-slot {
  position: relative;
  width: 34px; height: 34px;
  border-radius: 50%;
  background: rgba(10,6,20,0.85);
  border: 2px solid rgba(199,122,252,0.4);
  overflow: hidden;
  cursor: pointer;
  transition: transform .15s, border-color .15s, box-shadow .15s;
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}
.y1-panel .y1-pet-slot:hover {
  transform: scale(1.12);
  border-color: rgba(255,215,140,0.85);
  box-shadow: 0 2px 10px rgba(0,0,0,0.7), 0 0 10px rgba(199,122,252,0.4);
}
.y1-panel .y1-pet-slot img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
}
.y1-panel .y1-pet-slot.empty { border-style: dashed; }
.y1-panel .y1-pet-slot.filled.r-common { border-color: #b0b0b0; }
.y1-panel .y1-pet-slot.filled.r-rare { border-color: #4FACFE; box-shadow: 0 0 6px rgba(79,172,254,0.35); }
.y1-panel .y1-pet-slot.filled.r-epic { border-color: #BF5FFF; box-shadow: 0 0 6px rgba(191,95,255,0.4); }
.y1-panel .y1-pet-slot.filled.r-legendary { border-color: #FFB340; box-shadow: 0 0 8px rgba(255,179,64,0.5); }
.y1-panel .y1-pet-slot.filled.r-mythic { border-color: #ff4444; box-shadow: 0 0 8px rgba(255,60,60,0.55); }
.y1-panel .y1-pet-slot.filled.r-unique { border-color: #ff4444; box-shadow: 0 0 10px rgba(255,60,60,0.7); }
.y1-panel .y1-pet-lvl {
  position: absolute;
  bottom: -2px; right: -2px;
  background: linear-gradient(135deg, #ffd47a, #c89a4a);
  color: #1a0e0e;
  font-family: 'Cinzel', serif;
  font-size: 9px;
  font-weight: 900;
  padding: 0 4px;
  border-radius: 999px;
  border: 1.5px solid #0a0614;
  line-height: 1.2;
  min-width: 14px; text-align: center;
  pointer-events: none;
}
.y1-panel .y1-card-overlay {
  position: absolute; left: 0; right: 0; bottom: 0;
  padding: 12px 14px 10px;
  background: linear-gradient(180deg,
    transparent 0%,
    rgba(10,6,24,0.2) 20%,
    rgba(10,6,24,0.75) 55%,
    rgba(10,6,24,0.92) 100%);
  display: flex; flex-direction: column; gap: 6px;
  z-index: 2;
}
.y1-panel .y1-name-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
}
/* Nickname — clean cartoon style: bright white, friendly Inter font,
   single soft drop-shadow for readability. No 3D stroke, no blur halo. */
.y1-panel .y1-name {
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  font-size: 22px;
  font-weight: 800;
  color: #ffffff;
  letter-spacing: 0.2px;
  text-shadow: 0 2px 5px rgba(0,0,0,0.85);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  line-height: 1.2;
}
.y1-panel .y1-lv {
  background: linear-gradient(135deg, #c77afc, #8a4fcf);
  color: #fff;
  padding: 3px 10px; border-radius: 999px;
  font-family: 'Cinzel', serif; font-size: 11px; font-weight: 900;
  letter-spacing: 1px;
  flex-shrink: 0;
}
/* Info row below the card — class + ELO chips on the left, Power
   button on the right. Horizontally arranged so all class/ELO/power
   info lives OUTSIDE the avatar portrait (keeps the art clean). */
.y1-panel .y1-info-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}
.y1-panel .y1-chips {
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
  flex: 1;
  min-width: 0;
}
.y1-panel .y1-chip {
  padding: 3px 9px;
  border: 1px solid;
  border-radius: 999px;
  font-size: 10px; font-weight: 800;
  letter-spacing: 1.5px; text-transform: uppercase;
  display: inline-flex; align-items: center; gap: 3px;
  white-space: nowrap;
}
.y1-panel .y1-chip.cls { color: var(--warrior); border-color: rgba(255,71,87,0.45); background: rgba(255,71,87,0.1); }
.y1-panel .y1-chip.elo { color: #e9d8ff; border-color: rgba(199,122,252,0.45); background: rgba(138,79,207,0.15); cursor: pointer; }
.y1-panel .y1-power {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 5px 12px 5px 8px;
  background: linear-gradient(135deg, rgba(199,122,252,0.25), rgba(138,79,207,0.1));
  border: 1px solid rgba(199,122,252,0.5);
  border-radius: 999px;
  cursor: pointer;
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  flex-shrink: 0;
}
.y1-panel .y1-power img { width: 22px; height: 22px; filter: drop-shadow(0 0 5px rgba(255,100,100,0.6)); }
.y1-panel .y1-power-body { text-align: left; display: flex; flex-direction: column; line-height: 1.1; }
.y1-panel .y1-power-l { color: rgba(199,122,252,0.8); font-size: 8px; letter-spacing: 1.5px; text-transform: uppercase; line-height: 1; }
.y1-panel .y1-power-v { font-family: 'Cinzel', serif; font-size: 16px; font-weight: 900; color: #e9d8ff; line-height: 1.1; }
.y1-panel .y1-power-caret { color: #c77afc; font-size: 14px; opacity: 0.7; }
.y1-panel .y1-xp-wrap { margin-top: 4px; }
.y1-panel .y1-xp {
  height: 8px;
  background: rgba(0,0,0,0.55);
  border: 1px solid rgba(199,122,252,0.25);
  border-radius: 4px;
  overflow: hidden;
}
.y1-panel .y1-xp-fill {
  height: 100%;
  background: linear-gradient(90deg, #8a4fcf, #c77afc, #e9d8ff);
  box-shadow: 0 0 8px rgba(199,122,252,0.45);
}
.y1-panel .y1-xp-txt {
  font-size: 9px;
  color: rgba(199,122,252,0.9);
  margin-top: 3px;
  display: flex;
  justify-content: space-between;
  letter-spacing: 0.5px;
  text-shadow: 0 1px 3px rgba(0,0,0,0.95), 0 0 2px rgba(0,0,0,1);
}
.y1-panel .y1-xp-txt strong { color: #e9d8ff; font-weight: 700; }

/* ═══ Equipment grid 4×2 ═══ */
.y1-panel .y1-eq-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 6px;
  margin-bottom: 10px;
}
.y1-panel .y1-eq {
  aspect-ratio: 1;
  background: radial-gradient(circle at 30% 30%, rgba(40,25,60,0.9), rgba(15,8,25,0.95));
  border: 2px solid rgba(199,122,252,0.3);
  border-radius: 8px;
  position: relative;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer;
  overflow: visible;
  padding: 0;
}
.y1-panel .y1-eq.r-common { border-color: var(--r-common); box-shadow: 0 0 8px rgba(180,180,180,0.25); }
.y1-panel .y1-eq.r-uncommon { border-color: var(--r-uncommon); box-shadow: 0 0 10px rgba(94,216,122,0.3); }
.y1-panel .y1-eq.r-rare { border-color: var(--r-rare); box-shadow: 0 0 10px rgba(79,172,254,0.35); }
.y1-panel .y1-eq.r-epic { border-color: var(--r-epic); box-shadow: 0 0 10px rgba(191,95,255,0.4); }
.y1-panel .y1-eq.r-legendary { border-color: var(--r-legendary); box-shadow: 0 0 14px rgba(255,179,64,0.55); }
.y1-panel .y1-eq.r-mythic { border-color: var(--r-mythic); box-shadow: 0 0 14px rgba(255,60,60,0.6); }
.y1-panel .y1-eq img { width: 80%; height: 80%; object-fit: contain; display: block; }
.y1-panel .y1-eq-empty { color: rgba(199,122,252,0.5); font-size: 10px; font-weight: 700; letter-spacing: 1px; font-family: 'Cinzel', serif; }
.y1-panel .y1-eq-ilvl {
  position: absolute; top: -6px; right: -6px;
  background: #14091f;
  color: #ffd47a;
  font-family: 'Cinzel', serif;
  font-size: 10px; font-weight: 900;
  padding: 1px 5px;
  border-radius: 999px;
  border: 1.5px solid #ffd47a;
  box-shadow: 0 2px 4px rgba(0,0,0,0.7), 0 0 6px rgba(255,200,100,0.5);
  pointer-events: none;
  z-index: 2;
  min-width: 16px; text-align: center;
  line-height: 1.2;
}
.y1-panel .y1-eq-slot {
  position: absolute; bottom: 2px; left: 50%;
  transform: translateX(-50%);
  font-size: 7px; font-weight: 800;
  color: rgba(199,122,252,0.7);
  letter-spacing: 1px;
  text-shadow: 0 1px 2px rgba(0,0,0,0.9);
  pointer-events: none;
  font-family: 'Cinzel', serif;
}

/* Base .item-icon-wrap override inside an eq tile */
.y1-panel .y1-eq .item-icon-wrap {
  width: 100% !important;
  height: 100% !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: inherit !important;
  padding: 0 !important;
  margin: 0 !important;
  animation: none !important;
  display: flex; align-items: center; justify-content: center;
  overflow: hidden;
}
.y1-panel .y1-eq .item-icon-wrap::before,
.y1-panel .y1-eq .item-icon-wrap::after { display: none !important; }
.y1-panel .y1-eq .item-icon-wrap .item-img {
  width: 92% !important;
  height: 92% !important;
  margin: 4% !important;
  padding: 0 !important;
  object-fit: contain !important;
  border-radius: 0 !important;
}
.y1-panel .y1-eq .item-lvl-badge { display: none !important; }

/* ═══ Gems row (optional, desktop) ═══ */
.y1-panel .y1-gems-wrap { margin-bottom: 10px; }

/* ═══ Inventory pill (not part of actions row) ═══ */
.y1-panel .y1-inv {
  width: 100%;
  display: flex; align-items: center; gap: 8px;
  padding: 8px 12px;
  margin-bottom: 8px;
  background: rgba(40,24,70,0.4);
  border: 1px solid rgba(199,122,252,0.3);
  border-radius: 8px;
  cursor: pointer;
  color: #e9d8ff;
  font-family: inherit;
  font-weight: 700; font-size: 12px;
}
.y1-panel .y1-inv:hover { border-color: #c77afc; }
.y1-panel .y1-inv img { width: 18px; height: 18px; }
.y1-panel .y1-inv-count { margin-left: auto; color: rgba(199,122,252,0.7); font-size: 11px; }
.y1-panel .y1-inv-new { background: var(--warrior); color: #fff; padding: 1px 6px; border-radius: 999px; font-size: 10px; font-weight: 800; }

/* ═══ Actions row (4 tiles) ═══ */
.y1-panel .y1-actions { display: grid; grid-template-columns: repeat(4, 1fr); gap: 5px; margin-bottom: 10px; }
.y1-panel .y1-act {
  padding: 10px 2px;
  background: rgba(138,79,207,0.1);
  border: 1px solid rgba(199,122,252,0.3);
  border-radius: 8px;
  text-align: center;
  color: #e9d8ff;
  font-size: 10px; font-weight: 700;
  cursor: pointer;
  position: relative;
  font-family: inherit;
}
.y1-panel .y1-act:hover { border-color: rgba(199,122,252,0.6); }
.y1-panel .y1-act img { width: 22px; height: 22px; display: block; margin: 0 auto 2px; object-fit: contain; }
.y1-panel .y1-act-bdg {
  position: absolute; top: -4px; right: -4px;
  background: var(--warrior); color: #fff;
  padding: 1px 5px; border-radius: 8px;
  font-size: 9px; font-weight: 800; min-width: 14px;
}
.y1-panel .y1-act.prem { background: linear-gradient(135deg, rgba(255,100,200,0.15), rgba(199,122,252,0.12)); border-color: rgba(255,150,200,0.5); color: #ffc8e0; }
.y1-panel .y1-act.pass { background: linear-gradient(135deg, rgba(255,215,0,0.12), rgba(180,100,20,0.08)); border-color: rgba(255,215,0,0.4); color: #ffe9a0; }
.y1-panel .y1-act.pass .y1-act-bdg { background: #ffc850; color: #1a0e0e; }

/* ═══ Quick-access row (Chat + Achievements + Invite) ═══
   3 compact buttons sitting right above the Discord/Reddit row. */
.y1-panel .y1-quick {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 5px;
  margin-bottom: 8px;
}
.y1-panel .y1-quick-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  padding: 8px 2px;
  background: rgba(40,24,70,0.45);
  border: 1px solid rgba(199,122,252,0.3);
  border-radius: 8px;
  cursor: pointer;
  color: #e9d8ff;
  font-family: inherit;
  transition: all .15s;
}
.y1-panel .y1-quick-btn:hover {
  border-color: rgba(199,122,252,0.65);
  transform: translateY(-1px);
}
.y1-panel .y1-quick-btn .y1-qb-ic { font-size: 20px; line-height: 1; }
.y1-panel .y1-quick-btn .y1-qb-lbl {
  font-size: 9px; font-weight: 700;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}
.y1-panel .y1-quick-btn.ach {
  background: linear-gradient(180deg, rgba(100,70,20,0.55), rgba(50,35,10,0.7));
  border-color: rgba(255,215,140,0.4);
  color: #ffd890;
}
.y1-panel .y1-quick-btn.inv {
  background: linear-gradient(180deg, rgba(40,70,100,0.5), rgba(15,30,50,0.7));
  border-color: rgba(126,205,255,0.4);
  color: #9fd8ff;
}

/* ═══ Social row (Discord + Reddit) ═══ */
.y1-panel .y1-social { display: flex; gap: 6px; padding-top: 4px; }
.y1-panel .y1-social-btn {
  flex: 1;
  display: flex; align-items: center; justify-content: center; gap: 6px;
  padding: 8px 10px;
  background: rgba(40,24,70,0.35);
  border: 1px solid rgba(199,122,252,0.25);
  border-radius: 8px;
  text-decoration: none;
  font-size: 11px; font-weight: 700;
  position: relative;
  color: rgba(199,122,252,0.75);
  cursor: pointer;
  font-family: inherit;
}
.y1-panel .y1-social-btn:hover { border-color: rgba(199,122,252,0.6); }
.y1-panel .y1-social-btn img { width: 16px; height: 16px; }
.y1-panel .y1-social-btn.discord { color: #9BA3FF; }
.y1-panel .y1-social-btn.reddit { color: #FF8866; }
.y1-panel .y1-social-bonus {
  position: absolute; top: -6px; right: -4px;
  display: flex; align-items: center; gap: 2px;
  background: linear-gradient(135deg, #c77afc, #8a4fcf);
  color: #fff;
  padding: 1px 5px; border-radius: 10px;
  font-size: 9px; font-weight: 900;
}
.y1-panel .y1-social-bonus img { width: 10px; height: 10px; }

/* ═══════════════════════════════════════════════════════════
   WARDEN (warm gold faction)
   ═══════════════════════════════════════════════════════════ */
.y1-panel.warden {
  background:
    radial-gradient(ellipse at 50% 20%, rgba(255,220,130,0.18), transparent 60%),
    radial-gradient(ellipse at 50% 80%, rgba(220,180,80,0.12), transparent 60%),
    linear-gradient(180deg, #1c1608 0%, #120e04 50%, #0a0702 100%);
  border-color: rgba(255,220,130,0.4);
  box-shadow: inset 0 1px 0 rgba(255,235,170,0.12), 0 0 28px rgba(220,180,80,0.2), 0 10px 40px rgba(0,0,0,0.7);
}
.y1-panel.warden .y1-card { border-color: rgba(255,220,130,0.65); box-shadow: 0 8px 28px rgba(220,180,80,0.35); }
.y1-panel.warden .y1-card-art {
  background:
    radial-gradient(circle at 50% 40%, rgba(255,220,130,0.22), transparent 60%),
    linear-gradient(180deg, #3a2d0a 0%, #1f1705 50%, #100a02 100%);
}
.y1-panel.warden .y1-name {
  background: linear-gradient(180deg, #fff5c8, #ffd890, #c89a4a);
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
.y1-panel.warden .y1-lv { background: linear-gradient(135deg, #ffd890, #c89a4a); color: #1a0e0e; border: 1px solid rgba(255,245,200,0.6); }
.y1-panel.warden .y1-chip.cls { color: #ffd890; border-color: rgba(255,215,140,0.5); background: rgba(100,70,20,0.25); }
.y1-panel.warden .y1-power {
  background: linear-gradient(135deg, rgba(255,220,130,0.25), rgba(180,130,60,0.12));
  border-color: rgba(255,215,140,0.65);
}
.y1-panel.warden .y1-power-v { color: #ffe9a0; }
.y1-panel.warden .y1-power-l { color: rgba(255,215,140,0.7); }
.y1-panel.warden .y1-power-caret { color: #ffd890; }
.y1-panel.warden .y1-power img { filter: drop-shadow(0 0 6px rgba(255,215,140,0.7)); }
.y1-panel.warden .y1-xp-fill { background: linear-gradient(90deg, #c89a4a, #ffd890, #fff5c8); box-shadow: 0 0 8px rgba(255,215,140,0.55); }
.y1-panel.warden .y1-xp-txt { color: rgba(255,215,140,0.75); }
.y1-panel.warden .y1-xp-txt strong { color: #ffe9a0; }
.y1-panel.warden .y1-xp { border-color: rgba(255,215,140,0.3); }
.y1-panel.warden .y1-eq {
  background: radial-gradient(circle at 30% 30%, rgba(50,35,12,0.95), rgba(20,12,4,0.95));
  border-color: rgba(255,215,140,0.3);
}
.y1-panel.warden .y1-top {
  background: linear-gradient(90deg, rgba(60,45,18,0.7), rgba(100,75,30,0.55), rgba(60,45,18,0.7));
  border-color: rgba(255,220,130,0.45);
}
.y1-panel.warden .y1-top-cur-item.gold { border-color: rgba(255,220,140,0.5); }
.y1-panel.warden .y1-ibtn { background: linear-gradient(135deg, rgba(100,70,20,0.75), rgba(50,35,10,0.85)); border-color: rgba(255,220,130,0.5); color: #ffe9a0; }
.y1-panel.warden .y1-act { background: rgba(100,75,30,0.15); border-color: rgba(255,220,130,0.3); color: #ffe9a0; }
.y1-panel.warden .y1-faction-sigil {
  color: #ffd890;
  text-shadow: 0 0 12px rgba(255,215,140,0.8);
  animation: y1WardenGlow 2.8s ease-in-out infinite;
}
@keyframes y1WardenGlow {
  0%,100% { text-shadow: 0 0 10px rgba(220,180,80,0.55); }
  50% { text-shadow: 0 0 22px rgba(255,230,150,0.95), 0 0 4px rgba(255,240,180,0.6); }
}
.y1-panel.warden .y1-faction-banner {
  background: linear-gradient(90deg, transparent, rgba(255,220,130,0.22), transparent);
  color: #ffe9a0;
  border-color: rgba(255,220,130,0.3);
}

/* ═══════════════════════════════════════════════════════════
   SEEKER (dark purple faction)
   ═══════════════════════════════════════════════════════════ */
.y1-panel.seeker {
  background:
    radial-gradient(ellipse at 50% 20%, rgba(120,50,200,0.24), transparent 60%),
    radial-gradient(ellipse at 50% 80%, rgba(70,20,140,0.2), transparent 60%),
    linear-gradient(180deg, #120520 0%, #0a0315 50%, #04010a 100%);
  border-color: rgba(150,80,220,0.5);
  box-shadow: inset 0 1px 0 rgba(180,110,240,0.18), 0 0 32px rgba(110,40,180,0.3), 0 12px 40px rgba(0,0,0,0.8);
}
.y1-panel.seeker .y1-card { border-color: rgba(180,110,240,0.7); box-shadow: 0 8px 28px rgba(120,50,200,0.45); }
.y1-panel.seeker .y1-card-art {
  background:
    radial-gradient(circle at 50% 40%, rgba(180,110,240,0.3), transparent 60%),
    linear-gradient(180deg, #1f0a35 0%, #100320 50%, #06010f 100%);
}
.y1-panel.seeker .y1-name {
  background: linear-gradient(180deg, #e8d0ff, #a060e8, #6020b0);
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
.y1-panel.seeker .y1-power-v { color: #e8d0ff; }
.y1-panel.seeker .y1-power-l { color: rgba(180,110,240,0.7); }
.y1-panel.seeker .y1-power img { filter: drop-shadow(0 0 6px rgba(180,110,240,0.7)); }
.y1-panel.seeker .y1-xp-fill { background: linear-gradient(90deg, #6020b0, #a060e8, #e8d0ff); box-shadow: 0 0 8px rgba(180,110,240,0.55); }
.y1-panel.seeker .y1-chip.cls { color: #d8b0ff; border-color: rgba(180,110,240,0.45); background: rgba(120,50,200,0.15); }
.y1-panel.seeker .y1-chip.elo { color: #d8b0ff; border-color: rgba(180,110,240,0.45); background: rgba(80,30,140,0.2); }
.y1-panel.seeker .y1-top { background: linear-gradient(90deg, rgba(50,18,90,0.7), rgba(70,28,120,0.55), rgba(50,18,90,0.7)); border-color: rgba(180,110,240,0.4); }
.y1-panel.seeker .y1-ibtn { background: linear-gradient(135deg, rgba(70,28,120,0.75), rgba(40,14,80,0.85)); border-color: rgba(180,110,240,0.5); color: #e8d0ff; }
.y1-panel.seeker .y1-act { background: rgba(120,50,200,0.1); border-color: rgba(180,110,240,0.3); color: #d8b0ff; }
.y1-panel.seeker .y1-eq { background: radial-gradient(circle at 30% 30%, rgba(40,18,60,0.95), rgba(15,6,25,0.95)); }
.y1-panel.seeker .y1-faction-sigil {
  color: #c890ff;
  text-shadow: 0 0 12px rgba(180,110,240,0.8);
  animation: y1SeekerGlow 2.8s ease-in-out infinite;
}
@keyframes y1SeekerGlow {
  0%,100% { text-shadow: 0 0 10px rgba(120,50,200,0.55); }
  50% { text-shadow: 0 0 22px rgba(180,110,240,0.95), 0 0 4px rgba(200,140,255,0.6); }
}
.y1-panel.seeker .y1-faction-banner {
  background: linear-gradient(90deg, transparent, rgba(180,110,240,0.22), transparent);
  color: #e8d0ff;
  border-color: rgba(180,110,240,0.3);
}

/* ═══════════════════════════════════════════════════════════
   FOUNDER (deep crimson / rose-gold premium)
   ═══════════════════════════════════════════════════════════ */
.y1-panel.founder {
  background:
    radial-gradient(ellipse at 50% 20%, rgba(255,80,140,0.2), transparent 60%),
    radial-gradient(ellipse at 50% 80%, rgba(160,20,60,0.2), transparent 60%),
    linear-gradient(180deg, #1f0610 0%, #160410 50%, #0a0208 100%);
  border-color: rgba(255,100,160,0.6);
  box-shadow:
    inset 0 1px 0 rgba(255,140,190,0.2),
    inset 0 -1px 0 rgba(180,30,80,0.18),
    inset 0 0 60px rgba(200,40,100,0.12),
    0 0 40px rgba(220,60,130,0.3),
    0 16px 44px rgba(60,0,20,0.8);
  animation: y1FBreath 5s ease-in-out infinite;
}
@keyframes y1FBreath {
  0%,100% {
    border-color: rgba(255,100,160,0.6);
    box-shadow: inset 0 1px 0 rgba(255,140,190,0.2), inset 0 -1px 0 rgba(180,30,80,0.18), inset 0 0 60px rgba(200,40,100,0.12), 0 0 40px rgba(220,60,130,0.3), 0 16px 44px rgba(60,0,20,0.8);
  }
  50% {
    border-color: rgba(255,180,210,0.9);
    box-shadow: inset 0 1px 0 rgba(255,200,220,0.35), inset 0 -1px 0 rgba(220,50,110,0.25), inset 0 0 80px rgba(220,60,130,0.2), 0 0 64px rgba(255,100,170,0.55), 0 16px 44px rgba(60,0,20,0.8);
  }
}

.y1-panel.founder .y1f-rays {
  position: absolute;
  top: -15%; left: 50%; transform: translateX(-50%);
  width: 180%; height: 120%;
  pointer-events: none; z-index: 1;
  background: conic-gradient(from 200deg at 50% 100%,
    transparent 0deg,
    rgba(255,140,190,0.14) 10deg,
    transparent 20deg,
    rgba(255,100,170,0.18) 35deg,
    transparent 50deg,
    rgba(255,180,210,0.12) 70deg,
    transparent 80deg,
    transparent 140deg);
  animation: y1FRays 18s ease-in-out infinite;
}
@keyframes y1FRays {
  0%,100% { transform: translateX(-50%) rotate(-4deg); }
  50% { transform: translateX(-50%) rotate(4deg); }
}
.y1-panel.founder > * { position: relative; z-index: 10; }

.y1-panel.founder .y1f-dust { position: absolute; inset: 0; pointer-events: none; overflow: hidden; z-index: 5; }
.y1-panel.founder .y1f-dust span {
  position: absolute;
  width: 3px; height: 3px;
  border-radius: 50%;
  background: radial-gradient(circle, #ffe0ec 0%, #ff7ab0 30%, rgba(255,60,130,0) 70%);
  box-shadow: 0 0 8px rgba(255,130,180,0.8), 0 0 14px rgba(255,80,150,0.45);
  opacity: 0;
  animation: y1FDrift 14s ease-in-out infinite;
}
.y1-panel.founder .y1f-dust span:nth-child(1) {left:6%;  top:92%; animation-delay:0s;    animation-duration:11s}
.y1-panel.founder .y1f-dust span:nth-child(2) {left:18%; top:78%; animation-delay:2.5s;  animation-duration:13s}
.y1-panel.founder .y1f-dust span:nth-child(3) {left:30%; top:95%; animation-delay:5s;    animation-duration:12s}
.y1-panel.founder .y1f-dust span:nth-child(4) {left:42%; top:82%; animation-delay:1.5s;  animation-duration:14s}
.y1-panel.founder .y1f-dust span:nth-child(5) {left:54%; top:94%; animation-delay:7s;    animation-duration:11s}
.y1-panel.founder .y1f-dust span:nth-child(6) {left:66%; top:85%; animation-delay:3.5s;  animation-duration:13s}
.y1-panel.founder .y1f-dust span:nth-child(7) {left:78%; top:90%; animation-delay:9s;    animation-duration:12s}
.y1-panel.founder .y1f-dust span:nth-child(8) {left:88%; top:80%; animation-delay:6s;    animation-duration:14s}
.y1-panel.founder .y1f-dust span:nth-child(9) {left:48%; top:98%; animation-delay:0.8s;  animation-duration:11.5s}
@keyframes y1FDrift {
  0%   { transform: translate(0, 0) scale(0.6); opacity: 0; }
  10%  { opacity: 1; }
  50%  { transform: translate(30px, -260px) scale(1); opacity: 0.9; }
  90%  { transform: translate(-20px, -500px) scale(1.1); opacity: 0.4; }
  100% { transform: translate(0, -560px) scale(0.8); opacity: 0; }
}

.y1-panel.founder .y1f-sparkle {
  position: absolute;
  width: 10px; height: 10px;
  pointer-events: none;
  z-index: 6;
  background: radial-gradient(circle, #ffffff 0%, rgba(255,150,190,0.7) 20%, transparent 60%);
  border-radius: 50%;
  opacity: 0;
  animation: y1FTwinkle 4.5s ease-in-out infinite;
}
.y1-panel.founder .y1f-sparkle::before,
.y1-panel.founder .y1f-sparkle::after {
  content: ''; position: absolute; inset: -4px;
  background: linear-gradient(90deg, transparent, #ffccdc, transparent);
  height: 1px; top: 50%;
}
.y1-panel.founder .y1f-sparkle::after { transform: rotate(90deg); }
.y1-panel.founder .y1f-sparkle:nth-of-type(1) { top: 14%; left: 10%;  animation-delay: 0s; }
.y1-panel.founder .y1f-sparkle:nth-of-type(2) { top: 38%; right: 8%;  animation-delay: 1.3s; }
.y1-panel.founder .y1f-sparkle:nth-of-type(3) { top: 68%; left: 6%;   animation-delay: 2.6s; }
.y1-panel.founder .y1f-sparkle:nth-of-type(4) { bottom: 12%; right: 14%; animation-delay: 3.2s; }
.y1-panel.founder .y1f-sparkle:nth-of-type(5) { top: 52%; right: 22%; animation-delay: 0.7s; }
.y1-panel.founder .y1f-sparkle:nth-of-type(6) { top: 22%; right: 30%; animation-delay: 2.0s; }
@keyframes y1FTwinkle {
  0%, 100% { opacity: 0; transform: scale(0.4); }
  40%, 60% { opacity: 1; transform: scale(1.2); }
}

/* Rose-gold card corners (only on Founder) */
.y1-panel.founder .y1-card::before,
.y1-panel.founder .y1-card::after {
  content: ''; position: absolute;
  width: 30px; height: 30px;
  border: 2px solid #ffb3cc;
  pointer-events: none;
  z-index: 5;
  filter: drop-shadow(0 0 4px rgba(255,130,180,0.8));
}
.y1-panel.founder .y1-card::before {
  top: -3px; left: -3px;
  border-right: none; border-bottom: none;
}
.y1-panel.founder .y1-card::after {
  bottom: -3px; right: -3px;
  border-left: none; border-top: none;
}
.y1-panel.founder .y1-card-extra-corners {
  position: absolute; top: 0; left: 0; right: 0; bottom: 0;
  pointer-events: none;
  z-index: 5;
}
.y1-panel.founder .y1-card-extra-corners::before,
.y1-panel.founder .y1-card-extra-corners::after {
  content: ''; position: absolute;
  width: 30px; height: 30px;
  border: 2px solid #ffb3cc;
  filter: drop-shadow(0 0 4px rgba(255,130,180,0.8));
}
.y1-panel.founder .y1-card-extra-corners::before {
  top: -3px; right: -3px;
  border-left: none; border-bottom: none;
}
.y1-panel.founder .y1-card-extra-corners::after {
  bottom: -3px; left: -3px;
  border-right: none; border-top: none;
}

/* Rose halo ring around the hero card */
.y1-panel.founder .y1f-card-halo {
  position: absolute;
  inset: -8px;
  border-radius: 14px;
  background: conic-gradient(from 0deg,
    transparent 0deg,
    rgba(255,180,210,0.4) 30deg,
    transparent 60deg,
    rgba(255,100,170,0.32) 120deg,
    transparent 150deg,
    rgba(255,220,230,0.48) 210deg,
    transparent 240deg,
    rgba(255,100,170,0.32) 300deg,
    transparent 330deg);
  filter: blur(10px);
  animation: y1FHaloSpin 12s linear infinite;
  pointer-events: none;
  z-index: -1;
}
@keyframes y1FHaloSpin { to { transform: rotate(360deg); } }

.y1-panel.founder .y1-card { border-color: rgba(255,130,180,0.85); box-shadow: 0 0 40px rgba(220,60,130,0.5); }
.y1-panel.founder .y1-card-art {
  background:
    radial-gradient(circle at 50% 40%, rgba(255,100,170,0.25), transparent 60%),
    linear-gradient(180deg, #3a0a22 0%, #240614 50%, #100408 100%);
}
.y1-panel.founder .y1-name {
  background: linear-gradient(90deg, #b84870 0%, #ff8ab4 30%, #fff0f4 50%, #ff8ab4 70%, #b84870 100%);
  background-size: 200% 100%;
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
  animation: y1FNameShimmer 4s ease-in-out infinite;
}
@keyframes y1FNameShimmer { 0%,100% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } }
.y1-panel.founder .y1-lv { background: linear-gradient(135deg, #ff8ab4, #c84878); color: #1a0308; border: 1px solid rgba(255,200,220,0.75); }
.y1-panel.founder .y1-chip.cls { color: #ffa4c4; border-color: rgba(255,130,180,0.5); background: rgba(255,100,150,0.1); }
.y1-panel.founder .y1-chip.elo { color: #ff8ab4; border-color: rgba(255,130,180,0.55); background: rgba(90,20,45,0.3); }
.y1-panel.founder .y1-power {
  background: radial-gradient(ellipse at center, rgba(255,130,180,0.3), transparent 70%), linear-gradient(135deg, rgba(80,12,40,0.9), rgba(50,8,24,0.97));
  border-color: rgba(255,150,190,0.75);
  box-shadow: inset 0 1px 0 rgba(255,180,210,0.4), 0 0 20px rgba(220,80,140,0.4);
}
.y1-panel.founder .y1-power-v { color: #ffeef4; }
.y1-panel.founder .y1-power-l { color: rgba(255,150,190,0.78); }
.y1-panel.founder .y1-power-caret { color: #ff8ab4; }
.y1-panel.founder .y1-power img { filter: drop-shadow(0 0 10px rgba(255,130,180,0.9)); animation: y1FPowerPulse 2.2s ease-in-out infinite; }
@keyframes y1FPowerPulse { 0%,100% { transform: scale(1); } 50% { transform: scale(1.1); } }
.y1-panel.founder .y1-xp-fill { background: linear-gradient(90deg, #b02050, #ff6ba3, #ffd0e0); box-shadow: 0 0 10px rgba(255,130,180,0.65); }
.y1-panel.founder .y1-xp-txt { color: rgba(255,150,190,0.82); }
.y1-panel.founder .y1-xp-txt strong { color: #ffeef4; }
.y1-panel.founder .y1-xp { border-color: rgba(255,130,180,0.3); }
.y1-panel.founder .y1-top {
  background: linear-gradient(90deg, rgba(80,12,40,0.75), rgba(120,25,60,0.6), rgba(80,12,40,0.75));
  border-color: rgba(255,130,180,0.55);
}
.y1-panel.founder .y1-top-cur-item.gold { border-color: rgba(255,220,140,0.5); background: linear-gradient(135deg, rgba(60,30,8,0.6), rgba(30,15,4,0.7)); }
.y1-panel.founder .y1-top-cur-item.dia { border-color: rgba(255,150,190,0.4); }
.y1-panel.founder .y1-ibtn { background: linear-gradient(135deg, rgba(80,12,40,0.8), rgba(40,6,20,0.9)); border-color: rgba(255,150,190,0.55); color: #ffeef4; }
.y1-panel.founder .y1-mail-badge { border-color: #1a0308; }
.y1-panel.founder .y1-act { background: linear-gradient(135deg, rgba(80,12,40,0.55), rgba(45,8,22,0.75)); border-color: rgba(255,150,190,0.45); color: #ffd0e0; }
.y1-panel.founder .y1-act.prem { background: linear-gradient(135deg, rgba(255,130,200,0.22), rgba(180,50,110,0.18)); border-color: rgba(255,160,200,0.65); color: #ffd0e0; }
.y1-panel.founder .y1-act.pass { background: linear-gradient(135deg, rgba(255,220,140,0.2), rgba(255,160,60,0.15)); border-color: rgba(255,230,170,0.55); color: #fff5c8; }
.y1-panel.founder .y1-eq {
  background: radial-gradient(circle at 30% 30%, rgba(70,12,36,0.95), rgba(25,6,14,0.95));
  border-color: rgba(255,130,180,0.35);
}
.y1-panel.founder .y1-founder-badge {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 2px 10px;
  background: linear-gradient(135deg, #b84870, #ff8ab4 40%, #fff0f4 55%, #ff8ab4 70%, #b84870);
  background-size: 200% 100%;
  color: #1a0308;
  font-family: 'Cinzel', serif;
  font-size: 9px; font-weight: 900;
  letter-spacing: 2px;
  border-radius: 999px;
  border: 1px solid rgba(255,200,220,0.8);
  box-shadow: 0 0 12px rgba(255,120,170,0.65);
  animation: y1FBadgeShimmer 3s ease-in-out infinite;
}
@keyframes y1FBadgeShimmer {
  0%,100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}

/* ═══════════════════════════════════════════════════════════
   AVATAR FRAME + BACKGROUND WIRING
   Player's gv-frame-* and gv-bg-* classes apply to the card.
   Frames need SQUARE (14px radius) not 50% circle. Override
   only the radius; keep border color / animation from gv-frame-*.
   ═══════════════════════════════════════════════════════════ */
.y1-panel .y1-card.gv-frame-wooden,
.y1-panel .y1-card.gv-frame-iron,
.y1-panel .y1-card.gv-frame-alpha,
.y1-panel .y1-card.gv-frame-adventurer,
.y1-panel .y1-card.gv-frame-champion,
.y1-panel .y1-card.gv-frame-overlord,
.y1-panel .y1-card.gv-frame-founder,
.y1-panel .y1-card[class*="gv-frame-"] {
  border-radius: 14px !important;
}

/* gv-bg-* on the card art — force square bg respecting card radius */
.y1-panel .y1-card-art[class*="gv-bg-"] {
  border-radius: inherit;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

/* ═══════════════════════════════════════════════════════════
   MOBILE-LANDSCAPE SCOPING
   Existing .hero-profile-avatar-wrap / .hero-eq-slot overrides
   in style.css are already scoped via :not() to exclude us, but
   we still need to ensure our card keeps its shape here.
   ═══════════════════════════════════════════════════════════ */
html.gv-land-mobile .desktop-sidebar .y1-panel .y1-card {
  width: 100% !important;
  max-width: 320px !important;
  margin-left: auto; margin-right: auto;
}
html.gv-land-mobile .desktop-sidebar .y1-panel .y1-eq {
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  height: auto !important;
  aspect-ratio: 1 !important;
}
