/* ==========================
   Nishi Studios Cards Theme
   Purple + Gold + Goblin Green
   ========================== */

:root{
  --bg-0:#12091c;
  --bg-1:#1b0f2a;
  --bg-2:#241435;

  --panel:#1e1230cc;
  --panel-strong:#22133bcc;

  --purple-1:#5B2D82;
  --purple-2:#7C3FB3;
  --purple-3:#A66DD4;

  --gold-1:#D4AF37;
  --gold-2:#E6C15A;
  --gold-3:#9E7C1F;

  --green-1:#3FA36C;
  --green-2:#66C28C;
  --green-3:#1F6B46;

  --text:#F3ECFF;
  --muted:#CBB8EA;

  --shadow: 0 20px 60px rgba(0,0,0,.45);
  --radius: 18px;
  --radius-lg: 24px;
  --border: 1px solid rgba(212,175,55,.35);
  --border-strong: 1px solid rgba(212,175,55,.55);
}

*{ box-sizing:border-box; }
html,body{ height:100%; }
body{
  margin:0;
  color:var(--text);
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
  background:
    radial-gradient(1200px 700px at 20% -10%, rgba(124,63,179,.45), transparent 55%),
    radial-gradient(900px 600px at 100% 20%, rgba(63,163,108,.22), transparent 60%),
    radial-gradient(800px 600px at 50% 110%, rgba(212,175,55,.18), transparent 55%),
    linear-gradient(180deg, var(--bg-0), var(--bg-2));
  overflow-x:hidden;
}

.wrap{
  width:min(1520px, calc(100% - 44px));
  margin:0 auto;
}

.shoppe-page .wrap{
  width:min(1520px, calc(100% - 44px));
}

/* Background pattern + glows */
.bg-pattern{
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.16;
  background-image:
    linear-gradient(45deg, rgba(255,255,255,.08) 25%, transparent 25%),
    linear-gradient(-45deg, rgba(255,255,255,.08) 25%, transparent 25%),
    linear-gradient(45deg, transparent 75%, rgba(255,255,255,.08) 75%),
    linear-gradient(-45deg, transparent 75%, rgba(255,255,255,.08) 75%);
  background-size: 18px 18px;
  background-position: 0 0, 0 9px, 9px -9px, -9px 0px;
  mix-blend-mode: overlay;
}

.bg-glow{
  position:fixed;
  width:620px;
  height:620px;
  border-radius:999px;
  filter: blur(60px);
  opacity:.25;
  pointer-events:none;
}
.bg-glow-1{
  top:-180px;
  left:-180px;
  background: radial-gradient(circle at 30% 30%, rgba(212,175,55,.55), transparent 60%);
}
.bg-glow-2{
  bottom:-220px;
  right:-200px;
  background: radial-gradient(circle at 30% 30%, rgba(124,63,179,.7), transparent 60%);
}

/* Header */
.site-header{
  position:sticky;
  top:0;
  z-index:30;
  overflow:visible;
  backdrop-filter: blur(12px);
  background: linear-gradient(180deg, rgba(18,9,28,.85), rgba(18,9,28,.55));
  border-bottom: 1px solid rgba(212,175,55,.18);
}

.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:14px 0;
  position:relative;
  overflow:visible;
}

.brand{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  color:var(--text);
}

.brand-mark{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background: linear-gradient(135deg, rgba(124,63,179,.55), rgba(212,175,55,.18));
  border: 1px solid rgba(212,175,55,.35);
  box-shadow: 0 10px 25px rgba(0,0,0,.25);
}

.brand-title{
  display:block;
  font-weight:800;
  letter-spacing:.2px;
}
.brand-subtitle{
  display:block;
  margin-top:2px;
  font-size:12px;
  color:var(--muted);
}

.header-actions{
  margin-left:auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  flex:1 1 auto;
  min-width:0;
  flex-wrap:wrap;
}

.nav{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  min-width:0;
}

.nav-link{
  text-decoration:none;
  color:var(--muted);
  font-weight:650;
  font-size:14px;
  padding:10px 12px;
  border-radius:12px;
  transition: transform .12s ease, background .12s ease, color .12s ease, border-color .12s ease;
  border:1px solid transparent;
}

.nav-link:hover{
  color:var(--text);
  background: rgba(124,63,179,.16);
  border-color: rgba(212,175,55,.22);
  transform: translateY(-1px);
}

.nav-link.is-active,
.nav-link[aria-current="page"],
.nav-link-cta{
  color:var(--text);
  background: linear-gradient(135deg, rgba(124,63,179,.35), rgba(212,175,55,.18));
  border-color: rgba(212,175,55,.35);
  box-shadow: 0 8px 22px rgba(0,0,0,.18);
}

@media (max-width: 860px){
  .header-inner{ align-items:flex-start; }
  .header-actions{ width:100%; }
  .nav{ justify-content:flex-start; }
}

/* Common frame */
.card-frame{
  border-radius: var(--radius-lg);
  border: var(--border);
  background: linear-gradient(180deg, rgba(34,19,59,.66), rgba(30,18,48,.52));
  box-shadow: var(--shadow);
  position:relative;
  overflow:hidden;
}

.card-frame::before{
  content:"";
  position:absolute;
  inset:-2px;
  background:
    radial-gradient(800px 300px at 20% 0%, rgba(212,175,55,.18), transparent 60%),
    radial-gradient(700px 360px at 100% 20%, rgba(63,163,108,.12), transparent 55%),
    radial-gradient(600px 240px at 40% 110%, rgba(124,63,179,.22), transparent 60%);
  opacity:.95;
  pointer-events:none;
}

.card-frame > *{
  position:relative;
}

/* Hero */
.hero{
  margin-top:22px;
  padding:26px;
  display:grid;
  grid-template-columns: 1.25fr .75fr;
  gap:18px;
  align-items:stretch;
}

.eyebrow{
  margin:0 0 10px;
  color: var(--gold-2);
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-size:12px;
}

.hero-title{
  margin:0 0 10px;
  font-size: clamp(28px, 4vw, 44px);
  line-height:1.06;
  letter-spacing:-.02em;
}

.hero-lede{
  margin:0 0 18px;
  color: var(--muted);
  font-size:16px;
  line-height:1.55;
}

.hero-lede strong{
  color: var(--gold-2);
}

.hero-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:18px;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:12px 14px;
  border-radius:14px;
  text-decoration:none;
  font-weight:800;
  font-size:14px;
  border: var(--border);
  cursor:pointer;
  transition: transform .12s ease, filter .12s ease, background .12s ease, border-color .12s ease;
  user-select:none;
}

.btn:active{
  transform: translateY(1px);
}

.btn-primary{
  color: #1b1028;
  background: linear-gradient(135deg, var(--gold-2), var(--gold-1));
  border-color: rgba(230,193,90,.85);
  box-shadow: 0 12px 30px rgba(212,175,55,.18);
}

.btn-primary:hover{
  filter: brightness(1.03);
}

.btn-ghost{
  color: var(--text);
  background: rgba(124,63,179,.16);
  border-color: rgba(212,175,55,.22);
}
.btn-ghost:hover{
  background: rgba(63,163,108,.14);
  border-color: rgba(102,194,140,.28);
}

.hero-stats{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:10px;
}

.stat{
  border-radius:16px;
  border: 1px solid rgba(212,175,55,.22);
  background: rgba(18,9,28,.35);
  padding:12px;
}

.stat-value{
  font-weight:900;
  letter-spacing:.02em;
  color: var(--gold-2);
}

.stat-label{
  margin-top:4px;
  font-size:12px;
  color: var(--muted);
}

/* Hero mock card */
.hero-card{
  display:flex;
  justify-content:center;
  align-items:center;
}

.mock-card{
  width:min(300px, 100%);
  border-radius: 22px;
  border: 1px solid rgba(212,175,55,.42);
  background: linear-gradient(180deg, rgba(18,9,28,.45), rgba(34,19,59,.55));
  box-shadow: 0 18px 55px rgba(0,0,0,.5);
  overflow:hidden;
}

.mock-card-top{
  padding:14px 14px 0;
}

.mock-badge{
  display:inline-flex;
  padding:7px 10px;
  border-radius:999px;
  background: rgba(63,163,108,.12);
  border: 1px solid rgba(102,194,140,.25);
  color: rgba(230,193,90,.98);
  font-weight:900;
  font-size:11px;
  letter-spacing:.12em;
}

.mock-title{
  margin-top:10px;
  font-size:20px;
  font-weight:950;
  letter-spacing:-.02em;
}

.mock-art{
  margin:14px;
  height:220px;
  border-radius:18px;
  border: 1px solid rgba(212,175,55,.25);
  background:
    radial-gradient(220px 180px at 20% 30%, rgba(124,63,179,.7), transparent 60%),
    radial-gradient(220px 180px at 80% 70%, rgba(63,163,108,.35), transparent 60%),
    linear-gradient(135deg, rgba(230,193,90,.18), rgba(18,9,28,.15));
  position:relative;
  overflow:hidden;
}

.mock-art.has-real-art{
  background:#12091c;
}

.mock-art-image{
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.mock-art-overlay{
  position:absolute;
  inset:0;
  opacity:.75;

  /* Softer, feathered shimmer band (no harsh stop edges) */
  background-image: repeating-linear-gradient(
    120deg,
    transparent 0%,
    transparent 34%,

    rgba(230,193,90,0.00) 38%,
    rgba(230,193,90,0.12) 41%,
    rgba(124,63,179,0.14) 44%,
    rgba(63,163,108,0.10) 47%,
    rgba(230,193,90,0.08) 50%,
    rgba(230,193,90,0.00) 54%,

    transparent 58%,
    transparent 100%
  );

  /* Oversize the pattern so it slides cleanly */
  background-size: 260% 260%;
  background-position: 0% 0%;

  /* Blend + soften edges */
  mix-blend-mode: screen;
  filter: blur(4px);
  transform: scale(1.08);

  animation: shimmerBg 3.8s linear infinite;
}

@keyframes shimmerBg{
  0%   { background-position: 0% 0%; }
  100% { background-position: 120% 120%; }
}

.mock-card-bottom{
  display:flex;
  gap:10px;
  padding: 0 14px 14px;
  flex-wrap:wrap;
}

.mock-pill{
  font-size:12px;
  padding:8px 10px;
  border-radius:999px;
  background: rgba(18,9,28,.4);
  border: 1px solid rgba(212,175,55,.22);
  color: var(--muted);
}

.mock-pill.alt{
  border-color: rgba(102,194,140,.25);
  background: rgba(63,163,108,.10);
}

/* Sections */
.section{
  margin-top:26px;
}

.section-head{
  margin-bottom:12px;
  padding: 0 6px;
}

.section-title{
  margin:0;
  font-size:22px;
  letter-spacing:-.01em;
}

.section-subtitle{
  margin:6px 0 0;
  color: var(--muted);
  line-height:1.5;
}

.grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:14px;
}

.grid.two{
  grid-template-columns: repeat(2, 1fr);
}

.panel{
  padding:18px;
}

.panel-title{
  margin:0 0 10px;
  font-size:18px;
  letter-spacing:-.01em;
}

.panel-text{
  margin:0 0 10px;
  color: var(--muted);
  line-height:1.55;
}

.panel-list{
  margin:0;
  padding-left: 18px;
  color: var(--muted);
  line-height:1.6;
}

.fineprint{
  margin-top:10px;
  color: rgba(203,184,234,.75);
  font-size:12px;
  line-height:1.45;
}

/* Shop preview row */
.shop-row{
  padding:18px;
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap:16px;
  align-items:stretch;
}

.shop-tiles{
  display:grid;
  gap:10px;
  align-content:start;
}

.shop-tile{
  border-radius:18px;
  border: 1px solid rgba(212,175,55,.22);
  background: rgba(18,9,28,.35);
  padding:12px;
  display:grid;
  grid-template-columns: 54px 1fr auto;
  gap:12px;
  align-items:center;
}

.tile-art{
  height:54px;
  width:54px;
  border-radius:14px;
  border: 1px solid rgba(212,175,55,.22);
  background:
    radial-gradient(35px 35px at 30% 30%, rgba(230,193,90,.25), transparent 60%),
    radial-gradient(35px 35px at 70% 70%, rgba(124,63,179,.55), transparent 60%),
    linear-gradient(135deg, rgba(63,163,108,.18), rgba(18,9,28,.2));
}

.tile-art.alt{
  background:
    radial-gradient(35px 35px at 30% 30%, rgba(63,163,108,.25), transparent 60%),
    radial-gradient(35px 35px at 70% 70%, rgba(230,193,90,.22), transparent 60%),
    linear-gradient(135deg, rgba(124,63,179,.25), rgba(18,9,28,.2));
}

.tile-name{
  font-weight:900;
}

.tile-sub{
  margin-top:3px;
  font-size:12px;
  color: var(--muted);
}

.tile-btn{
  font-weight:900;
  font-size:12px;
  padding:10px 12px;
  border-radius:12px;
  color:#1b1028;
  background: linear-gradient(135deg, var(--gold-2), var(--gold-1));
  border: 1px solid rgba(230,193,90,.85);
}
.tile-btn.disabled{
  opacity:.55;
  background: rgba(124,63,179,.18);
  border-color: rgba(212,175,55,.18);
  color: var(--muted);
}

/* Footer */
.footer{
  margin: 28px 0 34px;
}

.footer-inner{
  padding:16px 18px;
  display:flex;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  align-items:center;
}

.footer-title{
  font-weight:950;
}

.footer-sub{
  color: var(--muted);
  font-size:12px;
  margin-top:2px;
}

.footer-link{
  color: var(--muted);
  text-decoration:none;
  font-weight:750;
}
.footer-link:hover{
  color: var(--gold-2);
}

.dot{ color: rgba(212,175,55,.35); padding:0 6px; }

/* Responsive */
@media (max-width: 980px){
  .hero{ grid-template-columns: 1fr; }
  .hero-card{ justify-content:flex-start; }
  .grid{ grid-template-columns: 1fr; }
  .grid.two{ grid-template-columns: 1fr; }
  .shop-row{ grid-template-columns: 1fr; }
}

@media (max-width: 520px){
  .nav{ gap:6px; }
  .nav-link{ padding:9px 10px; }
  .hero{ padding:18px; }
  .hero-stats{ grid-template-columns: 1fr; }
}
/* ===== Binder helpers ===== */
.binder-toolbar{
  display:flex;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  align-items:center;
}

.binder-left, .binder-right{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}

.chip{
  padding:10px 12px;
  border-radius:999px;
  border: 1px solid rgba(212,175,55,.22);
  background: rgba(18,9,28,.35);
  color: var(--muted);
  font-weight:900;
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.chip-active{
  background: rgba(124,63,179,.22);
  border-color: rgba(230,193,90,.38);
  color: var(--text);
}

.search{
  width:min(360px, 74vw);
  padding:12px 12px;
  border-radius:14px;
  border: 1px solid rgba(212,175,55,.22);
  background: rgba(18,9,28,.35);
  color: var(--text);
  outline:none;
}

.search::placeholder{
  color: rgba(203,184,234,.75);
}

.toggle{
  display:flex;
  gap:8px;
  align-items:center;
  color: var(--muted);
  font-weight:750;
  font-size:13px;
  user-select:none;
}
.toggle input{ accent-color: var(--green-2); }

.divider{
  height:1px;
  background: rgba(212,175,55,.18);
  margin:14px 0;
}

/* ===== Set tiles ===== */
.set-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:12px;
}

.set-card{
  padding:16px;
  text-decoration:none;
  color: var(--text);
  border: 1px solid rgba(212,175,55,.22);
  background: rgba(18,9,28,.30);
  border-radius: var(--radius-lg);
  transition: transform .12s ease, border-color .12s ease, background .12s ease;
}

.set-card:hover{
  transform: translateY(-2px);
  border-color: rgba(230,193,90,.40);
  background: rgba(124,63,179,.12);
}

.set-top{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  margin-bottom:10px;
}

.set-name{
  font-weight:950;
  letter-spacing:-.01em;
}

.set-sub{
  color: var(--muted);
  font-size:12px;
  white-space:nowrap;
}

.progress{
  height:10px;
  border-radius:999px;
  background: rgba(0,0,0,.22);
  border: 1px solid rgba(212,175,55,.18);
  overflow:hidden;
}

.progress-bar{
  height:100%;
  border-radius:999px;
  background: linear-gradient(90deg, rgba(63,163,108,.55), rgba(230,193,90,.70));
}

.set-foot{
  margin-top:10px;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.pill{
  font-size:12px;
  padding:7px 10px;
  border-radius:999px;
  background: rgba(18,9,28,.4);
  border: 1px solid rgba(212,175,55,.20);
  color: var(--muted);
}
.pill.alt{
  border-color: rgba(102,194,140,.22);
  background: rgba(63,163,108,.10);
}

/* ===== Card grid ===== */
.card-grid{
  grid-template-columns: repeat(5, 1fr);
}

.card-slot{
  padding:12px;
  min-height: 0;
  display:flex;
  flex-direction:column;
  gap:10px;
}

.slot-top{
  display:grid;
  grid-template-columns:minmax(0, 1fr);
  gap:8px;
  align-items:flex-start;
}

.slot-title{
  min-width:0;
  font-weight:950;
  font-size:14px;
  letter-spacing:-.01em;
}

.slot-badges{
  display:grid;
  grid-template-columns:minmax(0, 1fr);
  gap:6px;
  align-content:start;
}

.badge{
  font-size:11px;
  padding:6px 8px;
  border-radius:999px;
  border: 1px solid rgba(212,175,55,.22);
  background: rgba(18,9,28,.35);
  color: var(--muted);
  font-weight:900;
  line-height:1;
}

.badge.rarity,
.badge.variant-rarity{
  display:block;
  width:fit-content;
  max-width:100%;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  background: rgba(18,9,28,.42);
}

.badge.rarity.common,
.badge.variant-rarity.common{ border-color: rgba(102,194,140,.25); color: rgba(221,245,231,.92); }
.badge.rarity.uncommon,
.badge.variant-rarity.uncommon{ border-color: rgba(117,196,228,.28); color: rgba(196,236,255,.95); }
.badge.rarity.rare,
.badge.variant-rarity.rare{ border-color: rgba(230,193,90,.35); color: rgba(230,193,90,.95); }
.badge.rarity.super,
.badge.variant-rarity.super{ border-color: rgba(203,129,255,.34); color: rgba(234,205,255,.96); }
.badge.rarity.ultra,
.badge.variant-rarity.ultra{ border-color: rgba(255,122,217,.34); color: rgba(255,204,239,.98); }
.badge.rarity.mythic,
.badge.variant-rarity.mythic{ border-color: rgba(255,121,121,.34); color: rgba(255,214,214,.98); }
.badge.rarity.secret,
.badge.variant-rarity.secret{ border-color: rgba(255,255,255,.40); color: rgba(255,255,255,.98); }
.badge.rarity.test,
.badge.variant-rarity.test{ border-color: rgba(0,255,42,.34); color: rgba(200,255,208,.96); }

.badge.variant-rarity{
  border-style:dashed;
}

.slot-art{
  flex: 0 0 auto;
  width: 100%;
  aspect-ratio: 1186 / 1761;
  min-height: 0;
  border-radius:16px;
  border: 1px solid rgba(212,175,55,.18);
  background:
    radial-gradient(140px 110px at 25% 30%, rgba(124,63,179,.55), transparent 60%),
    radial-gradient(140px 110px at 75% 70%, rgba(63,163,108,.25), transparent 60%),
    linear-gradient(135deg, rgba(230,193,90,.10), rgba(18,9,28,.12));
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.slot-art img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  object-position:center;
}

.slot-art-shimmer{
  position:absolute;
  inset:-45%;
  background: linear-gradient(120deg,
    transparent 0%,
    rgba(230,193,90,.12) 35%,
    rgba(124,63,179,.14) 50%,
    rgba(63,163,108,.10) 65%,
    transparent 100%);
  transform: rotate(-12deg);
  opacity:.85;
  animation: shimmer 5.2s linear infinite;
}

.missing-art{
  background: rgba(0,0,0,.20);
  display:grid;
  place-items:center;
}

.missing-text{
  font-weight:950;
  letter-spacing:.18em;
  font-size:12px;
  color: rgba(230,193,90,.75);
  padding:8px 10px;
  border-radius:999px;
  border: 1px dashed rgba(230,193,90,.35);
  background: rgba(18,9,28,.35);
}

.slot-foot{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
}

.variant-dots{
  display:flex;
  gap:6px;
  align-items:center;
}

.variant-dots .dot{
  width:10px;
  height:10px;
  border-radius:999px;
  border: 1px solid rgba(212,175,55,.22);
  background: rgba(18,9,28,.35);
  opacity:.9;
}
.variant-dots .dot.on{
  background: rgba(63,163,108,.55);
  border-color: rgba(102,194,140,.30);
}
.variant-dots .dot.holo{
  border-color: rgba(230,193,90,.35);
}
.variant-dots .dot.on.holo{
  background: linear-gradient(135deg, rgba(230,193,90,.85), rgba(124,63,179,.45));
}

.slot-meta{
  color: rgba(203,184,234,.75);
  font-size:11px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* Responsive tweaks for card grid */
@media (max-width: 980px){
  .set-grid{ grid-template-columns: 1fr; }
  .card-grid{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 520px){
  .card-grid{ grid-template-columns: 1fr; }
}
.footer-sub{
  color: var(--gold-2);
  font-size:12px;
  margin-top:2px;
  letter-spacing:.08em;
}

/* ===== Shop layout ===== */
.shop-layout{
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap:14px;
  align-items:start;
}

.shop-main{
  padding:18px;
}

.shop-top{
  display:grid;
  grid-template-columns: 240px 1fr;
  gap:14px;
  align-items:start;
}

.gold-panel{
  border-radius:18px;
  border: 1px solid rgba(212,175,55,.22);
  background: rgba(18,9,28,.35);
  padding:14px;
}

.gold-title{
  color: var(--muted);
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:12px;
}

.gold-value{
  margin-top:8px;
  font-size:26px;
  font-weight:950;
  color: var(--gold-2);
}

.gold-sub{
  margin-top:6px;
  color: rgba(203,184,234,.75);
  font-size:12px;
  line-height:1.45;
}

.shop-filters{
  display:grid;
  gap:10px;
}

.filter-row{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}

.select{
  padding:12px 12px;
  border-radius:14px;
  border: 1px solid rgba(212,175,55,.22);
  background: rgba(18,9,28,.35);
  color: var(--text);
  outline:none;
}

.chip-row{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  align-items:center;
}

.shop-grid{
  margin-top:12px;
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  gap:12px;
}

.shop-item{
  padding:12px;
  display:grid;
  grid-template-columns: 70px 1fr auto;
  gap:12px;
  align-items:center;
}

.shop-item-art{
  width:70px;
  height:70px;
  border-radius:16px;
  border: 1px solid rgba(212,175,55,.18);
  background:
    radial-gradient(40px 40px at 30% 30%, rgba(230,193,90,.22), transparent 60%),
    radial-gradient(40px 40px at 70% 70%, rgba(124,63,179,.55), transparent 60%),
    linear-gradient(135deg, rgba(63,163,108,.18), rgba(18,9,28,.2));
}

.shop-item-art.alt{
  background:
    radial-gradient(40px 40px at 30% 30%, rgba(63,163,108,.22), transparent 60%),
    radial-gradient(40px 40px at 70% 70%, rgba(230,193,90,.18), transparent 60%),
    linear-gradient(135deg, rgba(124,63,179,.25), rgba(18,9,28,.2));
}

.shop-item-name{
  font-weight:950;
  letter-spacing:-.01em;
}

.shop-item-sub{
  margin-top:6px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}

.shop-item-price{
  color: rgba(230,193,90,.95);
  font-weight:900;
  font-size:12px;
}

.shop-item-tags{
  margin-top:6px;
  color: rgba(203,184,234,.75);
  font-size:12px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.buy-btn{
  font-weight:950;
  font-size:12px;
  padding:10px 12px;
  border-radius:14px;
  color:#1b1028;
  background: linear-gradient(135deg, var(--gold-2), var(--gold-1));
  border: 1px solid rgba(230,193,90,.85);
  cursor:pointer;
  transition: transform .12s ease, filter .12s ease;
}

.buy-btn:hover{ filter: brightness(1.03); }
.buy-btn:active{ transform: translateY(1px); }

.buy-btn.disabled{
  opacity:.55;
  background: rgba(124,63,179,.18);
  border-color: rgba(212,175,55,.18);
  color: var(--muted);
  cursor:not-allowed;
}

.shop-side{
  display:grid;
  gap:14px;
}

@media (max-width: 980px){
  .shop-layout{ grid-template-columns: 1fr; }
  .shop-top{ grid-template-columns: 1fr; }
  .shop-grid{ grid-template-columns: 1fr; }
}


/* Header gold pill */
.gold-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(212,175,55,.45);
  background:linear-gradient(180deg, rgba(212,175,55,.16), rgba(212,175,55,.08));
  color:var(--text);
  font-weight:800;
  box-shadow:0 10px 24px rgba(0,0,0,.22);
  white-space:nowrap;
}
.gold-pill-icon{
  position:relative;
  display:inline-block;
  width:14px;
  height:14px;
  flex:0 0 14px;
  font-size:0;
  line-height:0;
  filter: drop-shadow(0 2px 6px rgba(0,0,0,.25));
}
.gold-pill-icon::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:999px;
  background: radial-gradient(circle at 30% 30%, #fff2b5 0%, var(--gold-2) 22%, var(--gold-1) 58%, var(--gold-3) 100%);
  border:1px solid rgba(255,245,191,.55);
  box-shadow: inset 0 1px 1px rgba(255,255,255,.35), inset 0 -1px 1px rgba(80,50,0,.22);
}
.gold-pill-icon::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:5px;
  height:5px;
  transform:translate(-50%, -50%);
  border-radius:999px;
  background:rgba(255,255,255,.28);
  box-shadow: 0 0 0 1px rgba(255,255,255,.16);
}
.gold-pill-label{ color:var(--muted); font-weight:700; }
.gold-pill-value{ color:var(--gold-2); }

@media (max-width: 740px){
  .gold-pill{ padding:7px 10px; gap:6px; }
  .gold-pill-label{ display:none; }
}


/* Shoppe foundation */
.owned-badge{ background: rgba(96, 201, 124, .18); border-color: rgba(96, 201, 124, .35); color: rgba(215,255,224,.95); }
.buy-btn.owned{ opacity:.7; }


/* ===== Shoppe polish pass ===== */
.shoppe-head{ margin-bottom: 12px; }
.shoppe-overline{
  display:inline-flex;
  margin-bottom:8px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(212,175,55,.24);
  background:rgba(255,255,255,.04);
  color:var(--gold-2);
  font-size:11px;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.shoppe-scene .section-subtitle{ max-width: 840px; }

.shop-sale-banner{
  margin-bottom:16px;
  padding:20px;
  background:
    radial-gradient(320px 180px at 12% 18%, rgba(230,193,90,.16), transparent 58%),
    radial-gradient(380px 200px at 85% 18%, rgba(63,163,108,.12), transparent 54%),
    linear-gradient(135deg, rgba(58,22,84,.94), rgba(28,11,43,.98));
}
.shop-sale-banner-inner{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) auto;
  gap:18px;
  align-items:center;
}
.shop-sale-copy{ display:grid; gap:6px; }
.shop-sale-kicker{font-size:11px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-2)}
.shop-sale-title{margin-top:0;font-size:32px;line-height:1;font-weight:950;letter-spacing:-.02em;color:#fff3c7;text-shadow:0 0 24px rgba(230,193,90,.28)}
.shop-sale-meta{margin-top:0;color:rgba(243,236,255,.86);font-size:13px;line-height:1.55}
.shop-sale-timerwrap{
  display:grid;
  justify-items:end;
  gap:8px;
}
.shop-sale-timer-label{
  color:rgba(243,236,255,.68);
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:900;
}
.shop-sale-countdown{margin-top:0;display:inline-flex;align-items:center;gap:10px;padding:12px 16px;border-radius:18px;border:1px solid rgba(230,193,90,.48);background:rgba(0,0,0,.22);font-size:24px;font-weight:950;letter-spacing:.08em;color:#fff0af;box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.shop-item-price.sale-active{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}
.shop-item-price-old{text-decoration:line-through;color:rgba(203,184,234,.72);font-weight:700}
.shop-item-price-sale{color:#fff0af;font-weight:950;font-size:13px;text-shadow:0 0 18px rgba(230,193,90,.18)}
.shop-item-sale-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:rgba(96,201,124,.16);border:1px solid rgba(96,201,124,.3);color:#dfffe9;font-size:11px;font-weight:900;letter-spacing:.06em}

.shop-hero{
  display:grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(320px, .82fr);
  gap:22px;
  margin-bottom:14px;
  padding:24px;
  overflow:hidden;
  background:
    radial-gradient(420px 220px at 8% 16%, rgba(230,193,90,.14), transparent 62%),
    radial-gradient(480px 240px at 98% 12%, rgba(124,63,179,.30), transparent 56%),
    radial-gradient(340px 180px at 60% 100%, rgba(63,163,108,.08), transparent 60%),
    linear-gradient(135deg, rgba(32,14,47,.96), rgba(23,10,35,.98));
}
.shop-hero::after{
  content:'';
  position:absolute;
  inset:auto 0 0 0;
  height:92px;
  background:linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,.18));
  pointer-events:none;
}
.shop-hero-copywrap{ display:grid; gap:14px; align-content:start; }
.shop-signboard{
  padding:18px 18px 16px;
  background:
    linear-gradient(180deg, rgba(74,33,22,.92), rgba(46,18,18,.94)),
    linear-gradient(135deg, rgba(230,193,90,.10), rgba(255,255,255,.02));
  border-color:rgba(212,175,55,.30);
  box-shadow:0 22px 52px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.04);
  overflow:visible;
}
.shop-signboard::before{
  content:'';
  position:absolute;
  inset:10px;
  border-radius:20px;
  border:1px solid rgba(230,193,90,.12);
  pointer-events:none;
}
.shop-signboard-chain{
  position:absolute;
  top:-22px;
  width:2px;
  height:26px;
  background:linear-gradient(180deg, rgba(230,193,90,.18), rgba(230,193,90,.82));
  box-shadow:0 0 0 1px rgba(0,0,0,.08);
}
.shop-signboard-chain::after{
  content:'';
  position:absolute;
  top:-7px;
  left:50%;
  width:12px;
  height:12px;
  border-radius:999px;
  transform:translateX(-50%);
  border:1px solid rgba(230,193,90,.45);
  background:rgba(69,33,24,.92);
}
.shop-signboard-chain-left{ left:40px; }
.shop-signboard-chain-right{ right:40px; }
.shop-signboard-inner{ display:grid; gap:8px; }
.shop-window-kicker{
  font-size:11px;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#f2d985;
}
.shop-window-title{
  margin:0;
  font-size:36px;
  line-height:1.03;
  letter-spacing:-.035em;
  font-weight:950;
  color:#fff4d3;
  text-shadow:0 0 24px rgba(0,0,0,.16);
}
.shop-window-sub{color:rgba(248,238,218,.82);font-size:14px;line-height:1.6;margin-top:0}
.shop-hero-ledger{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:14px;
  align-items:stretch;
}
.shop-window-refresh{
  min-width:150px;
  display:grid;
  place-items:center;
  padding:12px 16px;
  border-radius:18px;
  border:1px solid rgba(212,175,55,.28);
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  font-weight:800;
  color:var(--gold-2);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.shop-hero-notes{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
}
.shop-hero-note{
  padding:14px 14px 12px;
  border-radius:18px;
  border:1px solid rgba(212,175,55,.14);
  background:rgba(255,255,255,.03);
}
.shop-hero-note-label{
  display:block;
  color:rgba(230,193,90,.86);
  font-size:11px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.shop-hero-note-text{
  display:block;
  margin-top:8px;
  color:rgba(240,231,255,.82);
  font-size:13px;
  line-height:1.5;
}
.shop-hero-copy{
  max-width:60ch;
  margin:0;
  color:rgba(240,231,255,.84);
  font-size:14px;
  line-height:1.7;
}

.shopkeep-panel{
  display:grid;
  gap:14px;
  align-content:start;
}
.shopkeep-stage{
  position:relative;
  min-height:330px;
  border-radius:30px;
  border:1px solid rgba(212,175,55,.20);
  background:
    radial-gradient(220px 160px at 50% 18%, rgba(230,193,90,.20), transparent 56%),
    radial-gradient(180px 180px at 50% 78%, rgba(63,163,108,.11), transparent 58%),
    linear-gradient(180deg, rgba(48,19,71,.86), rgba(20,9,31,.96));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), inset 0 -12px 36px rgba(0,0,0,.18);
  overflow:hidden;
}
.shopkeep-stage::before{
  content:'';
  position:absolute;
  inset:18px 18px auto 18px;
  height:18px;
  border-radius:999px;
  background:linear-gradient(90deg, transparent, rgba(230,193,90,.18), transparent);
}
.shopkeep-stage::after{
  content:'';
  position:absolute;
  inset:auto 9% 56px 9%;
  height:84px;
  border-radius:999px;
  background:radial-gradient(circle at 50% 50%, rgba(0,0,0,.26), rgba(0,0,0,0));
  filter:blur(10px);
}
.shopkeep-stage-lantern{
  position:absolute;
  top:26px;
  width:24px;
  height:24px;
  border-radius:999px;
  border:1px solid rgba(230,193,90,.34);
  background:radial-gradient(circle at 50% 45%, rgba(255,247,198,.92), rgba(230,193,90,.35) 50%, rgba(0,0,0,.08) 100%);
  box-shadow:0 0 24px rgba(230,193,90,.26), 0 0 42px rgba(230,193,90,.12);
}
.shopkeep-stage-lantern::before{
  content:'';
  position:absolute;
  top:-18px;
  left:50%;
  width:2px;
  height:18px;
  transform:translateX(-50%);
  background:linear-gradient(180deg, rgba(230,193,90,.05), rgba(230,193,90,.65));
}
.shopkeep-stage-lantern-left{ left:40px; }
.shopkeep-stage-lantern-right{ right:40px; }
.shopkeep-counter{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:70px;
  background:
    linear-gradient(180deg, rgba(109,56,35,.88), rgba(63,28,23,.95));
  border-top:1px solid rgba(212,175,55,.18);
  box-shadow:inset 0 8px 18px rgba(255,255,255,.03);
}
.shopkeep-counter::before{
  content:'';
  position:absolute;
  inset:0;
  background:repeating-linear-gradient(90deg, rgba(255,255,255,.03) 0 20px, rgba(0,0,0,0) 20px 40px);
  opacity:.25;
}
.shopkeep-portrait-slot{
  position:absolute;
  inset:34px 26px 34px;
  border-radius:26px;
  border:1px dashed rgba(230,193,90,.24);
  display:grid;
  place-items:end center;
  background:
    radial-gradient(140px 120px at 50% 22%, rgba(255,255,255,.08), transparent 52%),
    radial-gradient(120px 140px at 50% 72%, rgba(63,163,108,.08), transparent 55%);
}
.shopkeep-portrait-inner{
  margin-bottom:50px;
  width:min(228px, 82%);
  aspect-ratio: 9 / 13;
  border-radius:28px 28px 18px 18px;
  border:1px solid rgba(212,175,55,.22);
  background:
    radial-gradient(100px 80px at 50% 18%, rgba(230,193,90,.20), transparent 56%),
    radial-gradient(120px 160px at 50% 78%, rgba(124,63,179,.30), transparent 66%),
    linear-gradient(180deg, rgba(56,24,82,.70), rgba(26,12,40,.96));
  display:grid;
  place-content:center;
  text-align:center;
  padding:16px;
  box-shadow: 0 18px 40px rgba(0,0,0,.28);
}
.shopkeep-portrait-kicker{
  display:block;
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(230,193,90,.86);
  font-weight:900;
}
.shopkeep-portrait-title{
  display:block;
  margin-top:10px;
  color:var(--text);
  font-weight:950;
  line-height:1.2;
  font-size:24px;
}
.shopkeep-portrait-img{
  position:absolute;
  inset:auto 50% 42px auto;
  transform:translateX(50%);
  width:min(268px, 90%);
  max-height: calc(100% - 52px);
  object-fit:contain;
  object-position:center bottom;
  filter:drop-shadow(0 24px 28px rgba(0,0,0,.32));
}
.shopkeep-bubble-wrap{ display:grid; gap:8px; }
.shopkeep-bubble-kicker{
  padding-left:10px;
  color:rgba(230,193,90,.82);
  font-size:11px;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.shopkeep-bubble{
  position:relative;
  padding:18px 20px;
  border-radius:22px;
  border:1px solid rgba(212,175,55,.24);
  background:linear-gradient(180deg, rgba(255,245,223,.98), rgba(244,231,204,.92));
  color:#53311a;
  font-family: Georgia, "Times New Roman", serif;
  font-size:17px;
  line-height:1.48;
  box-shadow: 0 16px 38px rgba(0,0,0,.20);
}
.shopkeep-bubble::after{
  content:'';
  position:absolute;
  right:42px;
  bottom:-12px;
  width:18px;
  height:18px;
  background:inherit;
  border-right:1px solid rgba(212,175,55,.24);
  border-bottom:1px solid rgba(212,175,55,.24);
  transform:rotate(45deg);
}


.header-streak-menu{
  position:relative;
  flex:0 0 auto;
}
.streak-pill-trigger{
  border:1px solid rgba(212,175,55,.24);
  background:linear-gradient(135deg, rgba(124,63,179,.18), rgba(212,175,55,.10));
  font:inherit;
  cursor:pointer;
  transition: transform .12s ease, background .12s ease, border-color .12s ease, box-shadow .12s ease;
}
.streak-pill-trigger .streak-pill-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:15px;
  line-height:1;
}
.streak-pill-trigger .streak-pill-value,
.streak-pill-trigger .streak-pill-multiplier{
  display:none;
}
.streak-pill-trigger:hover{
  transform:translateY(-1px);
  background:linear-gradient(135deg, rgba(124,63,179,.26), rgba(212,175,55,.14));
  border-color:rgba(212,175,55,.36);
  box-shadow:0 12px 24px rgba(0,0,0,.18);
}
.streak-pill-trigger:focus-visible{
  outline:none;
  border-color:rgba(230,193,90,.52);
  box-shadow:0 0 0 3px rgba(212,175,55,.14), 0 12px 24px rgba(0,0,0,.18);
}
.streak-pill-trigger.is-personal .streak-pill-label,
.streak-pill-trigger.is-personal .streak-pill-value,
.streak-pill-trigger.is-personal .streak-pill-multiplier{
  display:inline;
}
.streak-pill-trigger.is-personal .streak-pill-label{
  color:var(--muted);
}
.streak-pill-trigger.is-personal .streak-pill-value,
.streak-pill-trigger.is-personal .streak-pill-multiplier{
  color:var(--text);
  font-weight:850;
}
.header-streak-menu.is-open .streak-pill-trigger{
  border-color:rgba(230,193,90,.44);
  box-shadow:0 14px 26px rgba(0,0,0,.22);
}
.header-streak-menu.is-loading .streak-pill-trigger{ opacity:.92; }
.header-streak-panel{
  position:absolute;
  top:calc(100% + 10px);
  right:0;
  width:min(360px, calc(100vw - 20px));
  z-index:40;
  background:
    radial-gradient(260px 140px at 50% 0%, rgba(230,193,90,.10), transparent 65%),
    linear-gradient(180deg, rgba(35,19,54,.94), rgba(18,9,28,.98));
  border-color:rgba(212,175,55,.30);
  box-shadow:0 28px 52px rgba(0,0,0,.38);
}
.header-streak-panel::before{ opacity:.72; }
.header-streak-panel-inner{ display:grid; gap:12px; padding:14px; }
.header-streak-head{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:12px;
  align-items:start;
}
.header-streak-kicker{
  color:var(--gold-2);
  font-size:11px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.header-streak-sub{ margin-top:4px; color:rgba(232,219,250,.76); font-size:12px; line-height:1.45; }
.header-streak-close{
  width:34px;
  height:34px;
  border-radius:10px;
  border:1px solid rgba(212,175,55,.18);
  background:rgba(255,255,255,.04);
  color:var(--text);
  font:inherit;
  font-size:14px;
  font-weight:900;
  cursor:pointer;
}
.header-streak-close:hover{
  background:rgba(124,63,179,.16);
  border-color:rgba(212,175,55,.28);
}
.header-streak-tablewrap{
  border:1px solid rgba(212,175,55,.14);
  border-radius:16px;
  background:rgba(255,255,255,.03);
  overflow:hidden;
}
.header-streak-table{ width:100%; border-collapse:collapse; }
.header-streak-table th,
.header-streak-table td{
  padding:9px 10px;
  text-align:left;
  vertical-align:top;
}
.header-streak-table thead th{
  color:rgba(230,193,90,.82);
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  background:rgba(255,255,255,.03);
}
.header-streak-table tbody tr + tr td{ border-top:1px solid rgba(255,255,255,.06); }
.header-streak-rank{ width:42px; font-size:14px; white-space:nowrap; }
.header-streak-namecell{ min-width:0; }
.header-streak-name{
  font-size:13px;
  font-weight:850;
  line-height:1.25;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.header-streak-handle{
  color:rgba(203,184,234,.72);
  font-size:11px;
  line-height:1.35;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.header-streak-value{ font-size:12px; font-weight:850; white-space:nowrap; }
.header-streak-note{
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(212,175,55,.14);
  background:rgba(255,255,255,.03);
  color:rgba(243,236,255,.88);
  font-size:12px;
  line-height:1.5;
  font-weight:700;
}
.header-streak-empty{ color:rgba(232,219,250,.80); font-size:12px; }

.header-streak-personal{
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(212,175,55,.14);
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
}
.header-streak-personal-label{
  color:rgba(230,193,90,.82);
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.header-streak-personal-value{
  margin-top:4px;
  color:var(--text);
  font-size:20px;
  font-weight:950;
  line-height:1.1;
}
.header-streak-personal-sub{
  margin-top:4px;
  color:rgba(232,219,250,.76);
  font-size:12px;
  line-height:1.45;
  font-weight:700;
}

.shop-layout-polished{
  grid-template-columns: 1fr;
}
.shop-layout-single{ margin-top: 12px; }
.shop-main-polished{
  padding:20px;
  background:
    radial-gradient(520px 220px at 15% 0%, rgba(230,193,90,.10), transparent 58%),
    radial-gradient(480px 260px at 88% 0%, rgba(124,63,179,.14), transparent 54%),
    linear-gradient(180deg, rgba(41,20,61,.74), rgba(24,11,37,.88));
}
.shop-main-header{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:14px;
  align-items:end;
  margin-bottom:14px;
}
.shop-main-heading{ display:grid; gap:6px; }
.shop-main-kicker{
  color:var(--gold-2);
  font-size:11px;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.shop-main-title{
  margin:0;
  font-size:30px;
  line-height:1.06;
  letter-spacing:-.03em;
}
.shop-main-sub{
  margin:0;
  color:rgba(232,219,250,.76);
  line-height:1.55;
  max-width:60ch;
}
.shop-main-aside{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.shop-main-stat{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid rgba(212,175,55,.18);
  background:rgba(255,255,255,.04);
  color:rgba(243,236,255,.86);
  font-size:12px;
  font-weight:800;
  text-align:center;
}
.shop-main-stat-sale{
  background:rgba(96,201,124,.14);
  border-color:rgba(96,201,124,.30);
  color:#dfffe9;
}
.shop-status{
  margin-top:0;
  padding:12px 14px;
  border-radius:16px;
  border:1px solid rgba(212,175,55,.18);
  background:rgba(255,255,255,.03);
  color:var(--text);
  font-size:13px;
  font-weight:700;
}
.shop-status[data-state="success"]{ border-color: rgba(96, 201, 124, .35); background: rgba(96, 201, 124, .12); }
.shop-status[data-state="warn"]{ border-color: rgba(230,193,90,.35); background: rgba(230,193,90,.10); }
.shop-status[data-state="error"]{ border-color: rgba(225,97,97,.35); background: rgba(225,97,97,.10); }
.shop-utility-strip{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:12px;
  color:rgba(238,227,255,.82);
  font-size:12px;
  font-weight:700;
}
.shop-utility-strip span{
  padding:9px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(212,175,55,.16);
}

.shop-leaderboard{
  margin-top:16px;
  padding:18px;
  background:
    radial-gradient(320px 180px at 10% 0%, rgba(230,193,90,.08), transparent 60%),
    radial-gradient(360px 220px at 90% 0%, rgba(124,63,179,.12), transparent 58%),
    linear-gradient(180deg, rgba(46,22,68,.66), rgba(24,11,37,.86));
}
.shop-leaderboard-head{ display:grid; gap:6px; margin-bottom:14px; }
.shop-leaderboard-kicker{
  color:var(--gold-2);
  font-size:11px;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.shop-leaderboard-title{
  margin:0;
  font-size:24px;
  line-height:1.08;
  letter-spacing:-.02em;
}
.shop-leaderboard-sub{
  margin:0;
  color:rgba(232,219,250,.78);
  font-size:13px;
  line-height:1.55;
}
.shop-leaderboard-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:14px;
}
.shop-leaderboard-card{
  display:grid;
  gap:14px;
  padding:16px;
  border-radius:22px;
  border:1px solid rgba(212,175,55,.16);
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.shop-leaderboard-card--rank-1{
  border-color:rgba(230,193,90,.34);
  background:
    radial-gradient(180px 100px at 50% 0%, rgba(230,193,90,.12), transparent 70%),
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
}
.shop-leaderboard-rankwrap{
  display:flex;
  align-items:center;
  gap:10px;
  color:#fff0af;
}
.shop-leaderboard-rankicon{ font-size:20px; line-height:1; }
.shop-leaderboard-ranktext{
  font-size:12px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.shop-leaderboard-person{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:12px;
  align-items:center;
}
.shop-leaderboard-avatar{
  width:56px;
  height:56px;
  border-radius:999px;
  border:1px solid rgba(212,175,55,.26);
  background:rgba(0,0,0,.18);
  overflow:hidden;
  display:grid;
  place-items:center;
  box-shadow:0 8px 22px rgba(0,0,0,.20);
}
.shop-leaderboard-avatarimg{ width:100%; height:100%; object-fit:cover; display:block; }
.shop-leaderboard-avatarfallback{
  font-size:22px;
  font-weight:950;
  color:#fff0af;
}
.shop-leaderboard-identity{ display:grid; gap:4px; min-width:0; }
.shop-leaderboard-name{
  font-size:18px;
  font-weight:950;
  line-height:1.15;
  overflow-wrap:anywhere;
}
.shop-leaderboard-handle{
  color:rgba(203,184,234,.78);
  font-size:12px;
  line-height:1.4;
  overflow-wrap:anywhere;
}
.shop-leaderboard-metrics{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
}
.shop-leaderboard-metric{
  display:grid;
  gap:6px;
  padding:12px;
  border-radius:16px;
  border:1px solid rgba(212,175,55,.14);
  background:rgba(255,255,255,.03);
}
.shop-leaderboard-metric-label{
  color:rgba(230,193,90,.82);
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.shop-leaderboard-metric-value{
  font-size:16px;
  font-weight:900;
  line-height:1.2;
}
.shop-leaderboard-viewer{
  margin-top:12px;
  padding:12px 14px;
  border-radius:16px;
  border:1px solid rgba(212,175,55,.16);
  background:rgba(255,255,255,.03);
  color:rgba(243,236,255,.88);
  font-size:13px;
  font-weight:700;
}
.shop-leaderboard-empty{
  padding:16px;
  border-radius:18px;
  border:1px dashed rgba(212,175,55,.20);
  color:rgba(232,219,250,.80);
  background:rgba(255,255,255,.02);
}
.shop-grid-polished{
  margin-top:16px;
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap:16px;
}
.shop-empty{padding:30px;text-align:center}
.shop-empty-title{font-size:20px;font-weight:800}
.shop-empty-sub{margin-top:8px;color:var(--muted)}
.shop-item-art.has-image{padding:0;overflow:hidden}
.shop-item-artimg{width:100%;height:100%;object-fit:contain;display:block}
.shop-item-arttext{font-size:12px;color:var(--muted)}

.shop-item-card{
  padding:0;
  display:grid;
  gap:0;
  align-content:start;
  background:
    linear-gradient(180deg, rgba(63,31,94,.54), rgba(27,11,41,.88));
  transition:transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}
.shop-item-card:hover{
  transform:translateY(-2px);
  border-color:rgba(230,193,90,.34);
  box-shadow:0 24px 48px rgba(0,0,0,.34);
}
.shop-item-card.sale-live{
  box-shadow:0 24px 48px rgba(0,0,0,.34), 0 0 0 1px rgba(96,201,124,.14);
}
.shop-item-art-tall{
  width:100%;
  height:auto;
  aspect-ratio:1186 / 1761;
  padding:14px 14px 0;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
}
.shop-item-art-tall::before{
  content:'';
  position:absolute;
  inset:14px 14px 0;
  border-radius:18px 18px 0 0;
  background:
    radial-gradient(180px 120px at 24% 20%, rgba(230,193,90,.12), transparent 60%),
    radial-gradient(160px 140px at 74% 72%, rgba(124,63,179,.18), transparent 58%),
    linear-gradient(180deg, rgba(255,255,255,.02), rgba(0,0,0,.12));
  border:1px solid rgba(212,175,55,.10);
  pointer-events:none;
}
.shop-item-artimg{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  display:block;
  position:relative;
  z-index:1;
}
.shop-item-body{
  display:grid;
  gap:10px;
  padding:14px;
}
.shop-item-name{
  font-size:18px;
  line-height:1.18;
  font-weight:950;
  letter-spacing:-.02em;
}
.shop-item-rarity-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}
.shop-item-footline{
  color:rgba(203,184,234,.76);
  font-size:12px;
  line-height:1.5;
}
.shop-item-price-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  justify-content:space-between;
}
.shop-item-price{
  color:#fff0af;
  font-weight:950;
  font-size:18px;
}
.shop-item-price-old{ font-size:14px; }
.shop-item-price-sale{ font-size:18px; }
.shop-item-tags{ white-space:normal; }
.buy-btn{
  width:100%;
  justify-content:center;
  text-align:center;
  min-height:42px;
}
.buy-btn.owned{ opacity:.7; }

.streak-pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:42px;
  padding:8px 10px;
  border-radius:999px;
  color:var(--text);
  white-space:nowrap;
}
.streak-pill-label{ color:var(--muted); font-weight:700; }
.streak-pill-value,
.streak-pill-multiplier{ color:var(--text); font-weight:850; }

@media (max-width: 1520px){
  .shop-grid-polished{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 1180px){
  .shop-window-title{ font-size:32px; }
  .shop-grid-polished{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .shop-leaderboard-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 980px){
  .header-streak-panel{
    position:fixed;
    top:78px;
    right:12px;
    width:min(360px, calc(100vw - 24px));
    max-height:calc(100vh - 96px);
    overflow:auto;
  }
  .header-actions{ width:100%; }
  .nav{ justify-content:flex-start; }
  .shop-leaderboard-grid,
  .shop-leaderboard-metrics{ grid-template-columns: 1fr; }
  .shop-sale-banner-inner,
  .shop-hero,
  .shop-main-header,
  .shop-hero-ledger,
  .shop-layout-polished{ grid-template-columns: 1fr; }
  .shop-sale-timerwrap,
  .shop-main-aside{ justify-items:start; justify-content:flex-start; }
  .shop-hero-notes{ grid-template-columns: 1fr; }
  .shopkeep-stage{ min-height:250px; }
}
@media (max-width: 640px){
  .header-inner{ align-items:flex-start; }
  .header-actions{ gap:10px; }
  .nav{ gap:8px; }
  .streak-pill-trigger{ padding:10px 12px; }
  .header-streak-panel{ top:72px; right:10px; width:min(320px, calc(100vw - 20px)); }
  .header-streak-table th,
  .header-streak-table td{ padding:8px; }
  .shop-sale-banner,
  .shop-hero,
  .shop-main-polished,
  .shop-leaderboard{ padding:16px; }
  .shop-sale-title{ font-size:24px; }
  .shop-sale-countdown{ font-size:18px; }
  .shop-window-title,
  .shop-main-title{ font-size:24px; }
  .shop-grid-polished,
  .shop-leaderboard-grid{ grid-template-columns: 1fr; }
  .shopkeep-bubble{ font-size:15px; }
  .shop-window-refresh{ min-width:0; }
}

.badge.rarity.super{ border-color: rgba(129,199,255,.34); color: rgba(214,239,255,.95); }
.badge.rarity.ultra{ border-color: rgba(186,126,255,.34); color: rgba(236,215,255,.96); }
.badge.rarity.mythic{ border-color: rgba(102,194,140,.38); color: rgba(219,255,231,.96); }
.badge.rarity.secret{ border-color: rgba(255,140,180,.34); color: rgba(255,223,236,.96); }
.badge.rarity.uncommon{ border-color: rgba(166,209,135,.30); color: rgba(228,245,214,.95); }

@media (max-width: 740px){
  .wrap,
  .shoppe-page .wrap{ width:min(100%, calc(100% - 20px)); }
}

.shopkeep-portrait-slot{overflow:visible}
.shopkeep-scene{
  position:absolute;
  inset:0;
  display:block;
  pointer-events:none;
  z-index:3;
}
.shopkeep-scene-layer{
  position:absolute;
  overflow:visible;
}
.shopkeep-scene-layer img{
  width:100%;
  height:100%;
  display:block;
  filter:drop-shadow(0 18px 26px rgba(0,0,0,.22));
}
.shopkeep-scene-layer.fit-contain img{object-fit:contain}
.shopkeep-scene-layer.fit-cover img{object-fit:cover}
.shopkeep-stage--scene .shopkeep-portrait-img,
.shopkeep-stage--scene .shopkeep-portrait-inner{display:none!important}
.shopkeep-stage--scene-counter .shopkeep-counter{display:none}
.shopkeep-portrait-slot.is-scene-active{
  border-style:solid;
  border-color:rgba(230,193,90,.20);
}


.slot-rarity-glyphs{display:flex;gap:8px;align-items:center;flex-wrap:nowrap}
.rarity-glyph{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:10px;border:1px solid rgba(212,175,55,.24);background:rgba(18,9,28,.42);box-shadow:0 4px 12px rgba(0,0,0,.18);overflow:hidden;flex:0 0 auto}
.rarity-glyph img{display:block;width:100%;height:100%;object-fit:contain}
.rarity-glyph--variant{border-style:dashed}
.rarity-glyph--fallback{font-size:12px;line-height:1;font-weight:950;color:var(--text)}
.rarity-glyph.common{border-color: rgba(102,194,140,.25); color: rgba(221,245,231,.92);}
.rarity-glyph.uncommon{border-color: rgba(117,196,228,.28); color: rgba(196,236,255,.95);}
.rarity-glyph.rare{border-color: rgba(230,193,90,.35); color: rgba(230,193,90,.95);}
.rarity-glyph.super{border-color: rgba(203,129,255,.34); color: rgba(234,205,255,.96);}
.rarity-glyph.ultra{border-color: rgba(255,122,217,.34); color: rgba(255,204,239,.98);}
.rarity-glyph.mythic{border-color: rgba(255,121,121,.34); color: rgba(255,214,214,.98);}
.rarity-glyph.secret{border-color: rgba(255,255,255,.40); color: rgba(255,255,255,.98);}
.rarity-glyph.test{border-color: rgba(0,255,42,.34); color: rgba(200,255,208,.96);}
.shop-item-rarity-row .rarity-glyph{width:28px;height:28px;border-radius:9px}


/* ===== Profile page ===== */
.profile-shell{
  display:grid;
  grid-template-columns: minmax(280px, 340px) minmax(0, 1fr);
  gap:16px;
  align-items:start;
}

.profile-main-stack{
  display:grid;
  gap:16px;
}

.profile-account-card,
.profile-economy-card,
.profile-activity-card,
.profile-alert-card{
  min-width:0;
}

.profile-account-top{
  display:flex;
  align-items:flex-start;
  gap:14px;
}

.profile-avatar{
  border-radius:18px;
  object-fit:cover;
  border:1px solid rgba(212,175,55,.28);
  background: rgba(18,9,28,.35);
  flex:0 0 auto;
}

.profile-avatar-lg{
  width:84px;
  height:84px;
}

.profile-avatar-fallback{
  width:84px;
  height:84px;
  border-radius:18px;
  display:grid;
  place-items:center;
  font-size:32px;
  border:1px solid rgba(212,175,55,.28);
  background:
    radial-gradient(60px 60px at 30% 30%, rgba(230,193,90,.20), transparent 60%),
    linear-gradient(135deg, rgba(124,63,179,.24), rgba(18,9,28,.24));
  flex:0 0 auto;
}

.profile-account-copy{
  min-width:0;
}

.profile-name{
  font-size:32px;
  font-weight:900;
  letter-spacing:-.02em;
  line-height:1.05;
  margin-top:2px;
}

.profile-handle{
  margin-top:6px;
  color: var(--gold-2);
  font-weight:800;
}

.profile-account-text{
  margin-top:12px;
}

.profile-badge-row{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:16px;
}

.profile-badge,
.profile-section-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  border:1px solid rgba(212,175,55,.24);
  background: rgba(124,63,179,.16);
  color: var(--text);
}

.profile-badge-alt{
  background: rgba(63,163,108,.14);
  border-color: rgba(102,194,140,.28);
}

.profile-account-meta{
  display:grid;
  gap:10px;
  margin-top:16px;
}

.profile-meta-row{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  padding:12px 14px;
  border-radius:16px;
  background: rgba(18,9,28,.26);
  border:1px solid rgba(212,175,55,.14);
}

.profile-meta-label{
  color: var(--muted);
  font-size:13px;
  font-weight:700;
}

.profile-meta-value{
  text-align:right;
  font-weight:850;
}

.profile-account-note{
  margin-top:14px;
}

.profile-alert-warn{
  border-color: rgba(255,170,92,.36);
  background: linear-gradient(180deg, rgba(88,44,8,.26), rgba(52,24,6,.20));
}

.profile-section-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  margin-bottom:14px;
}

.profile-mini-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:12px;
}

.profile-mini-stat{
  padding:16px;
  border-radius:18px;
  border:1px solid rgba(212,175,55,.20);
  background: rgba(18,9,28,.28);
  min-width:0;
}

.profile-mini-label{
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  color: var(--gold-2);
}

.profile-mini-value{
  margin-top:10px;
  font-size:32px;
  line-height:1;
  font-weight:950;
  letter-spacing:-.03em;
}

.profile-mini-sub{
  margin-top:10px;
  color: var(--muted);
  line-height:1.45;
  font-size:13px;
}

.profile-callout{
  margin-top:14px;
  padding:14px 16px;
  border-radius:18px;
  border:1px solid rgba(102,194,140,.18);
  background: linear-gradient(135deg, rgba(63,163,108,.11), rgba(124,63,179,.11));
}

.profile-callout-kicker{
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  color: var(--green-2);
}

.profile-callout-text{
  margin-top:8px;
  color: var(--text);
  line-height:1.55;
}

.profile-empty-state{
  display:flex;
  gap:14px;
  align-items:center;
  padding:16px;
  border-radius:18px;
  border:1px solid rgba(212,175,55,.16);
  background: rgba(18,9,28,.26);
}

.profile-empty-icon{
  width:46px;
  height:46px;
  border-radius:14px;
  display:grid;
  place-items:center;
  font-size:22px;
  background: rgba(124,63,179,.18);
  border:1px solid rgba(212,175,55,.22);
  flex:0 0 auto;
}

.profile-empty-title{
  font-weight:900;
}

.profile-empty-text{
  margin-top:4px;
  color: var(--muted);
  line-height:1.45;
}

.profile-tx-list{
  display:grid;
  gap:10px;
}

.profile-tx-row{
  display:grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap:12px;
  align-items:center;
  padding:14px 16px;
  border-radius:18px;
  border:1px solid rgba(212,175,55,.18);
  background: rgba(18,9,28,.24);
}

.profile-tx-copy{
  min-width:0;
}

.profile-tx-title{
  font-weight:850;
}

.profile-tx-sub{
  margin-top:4px;
  color: var(--muted);
  font-size:13px;
  line-height:1.4;
  word-break:break-word;
}

.profile-tx-balance{
  color: var(--muted);
  font-size:13px;
  text-align:right;
  white-space:nowrap;
}

.profile-tx-delta{
  min-width:88px;
  text-align:center;
  padding:9px 12px;
  border-radius:999px;
  font-weight:900;
  letter-spacing:.02em;
  border:1px solid rgba(212,175,55,.24);
  background: rgba(124,63,179,.16);
}

.profile-tx-delta.gain{
  background: rgba(63,163,108,.16);
  border-color: rgba(102,194,140,.28);
  color: #d8ffe8;
}

.profile-tx-delta.spend{
  background: rgba(124,63,179,.16);
  border-color: rgba(212,175,55,.24);
  color: #ffe8ba;
}

.profile-logout-note{
  margin:16px 4px 0;
}

@media (max-width: 1080px){
  .profile-shell{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px){
  .profile-section-head{
    flex-direction:column;
    align-items:flex-start;
  }

  .profile-mini-grid{
    grid-template-columns: 1fr;
  }

  .profile-tx-row{
    grid-template-columns: 1fr;
    align-items:flex-start;
  }

  .profile-tx-balance{
    text-align:left;
    white-space:normal;
  }

  .profile-tx-delta{
    min-width:0;
  }
}

@media (max-width: 520px){
  .profile-account-top{
    flex-direction:column;
  }

  .profile-name{
    font-size:26px;
  }

  .profile-meta-row{
    flex-direction:column;
    align-items:flex-start;
  }

  .profile-meta-value{
    text-align:left;
  }
}


/* ===== Profile settings expansion ===== */
.sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

.profile-shell{
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
  align-items:start;
}

.profile-overview-grid{
  display:grid;
  grid-template-columns:minmax(280px,340px) minmax(0,1.2fr) minmax(280px,.95fr);
  gap:16px;
  align-items:start;
}

.profile-account-card,
.profile-settings-card,
.profile-economy-card,
.profile-activity-card,
.profile-alert-card{
  min-width:0;
}

.profile-settings-form,
.profile-settings-grid{
  display:grid;
  gap:16px;
}

.profile-settings-box{
  display:grid;
  gap:14px;
  padding:16px;
  border-radius:18px;
  border:1px solid rgba(212,175,55,.18);
  background:rgba(18,9,28,.24);
}

.profile-settings-box-future{
  background:linear-gradient(135deg, rgba(124,63,179,.16), rgba(63,163,108,.10));
}

.profile-settings-box-head{
  display:grid;
  gap:6px;
}

.profile-settings-box-title{
  font-size:13px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--gold-2);
}

.profile-settings-box-sub{
  color:var(--muted);
  font-size:13px;
  line-height:1.45;
}

.profile-field{
  display:grid;
  gap:6px;
}

.profile-field-label,
.profile-toggle-title{
  font-weight:850;
  color:var(--text);
}

.profile-field-sub,
.profile-toggle-sub{
  color:var(--muted);
  font-size:13px;
  line-height:1.45;
}

.profile-select{
  width:100%;
  padding:13px 14px;
  border-radius:14px;
  border:1px solid rgba(212,175,55,.24);
  background:rgba(14,10,24,.74);
  color:var(--text);
  font-weight:700;
  outline:none;
}

.profile-select:focus{
  border-color:rgba(230,193,90,.55);
  box-shadow:0 0 0 3px rgba(230,193,90,.12);
}

.profile-toggle-row{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:center;
  padding:14px 0;
  border-top:1px solid rgba(212,175,55,.10);
}

.profile-settings-box .profile-toggle-row:first-of-type{
  border-top:0;
  padding-top:0;
}

.profile-toggle-copy{
  display:grid;
  gap:5px;
  min-width:0;
}

.profile-toggle-control{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
}

.profile-toggle-input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.profile-toggle-ui{
  position:relative;
  display:inline-block;
  width:58px;
  height:32px;
  border-radius:999px;
  border:1px solid rgba(212,175,55,.22);
  background:rgba(45,25,66,.85);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.03);
  transition:background .18s ease, border-color .18s ease;
}

.profile-toggle-ui::after{
  content:'';
  position:absolute;
  top:3px;
  left:3px;
  width:24px;
  height:24px;
  border-radius:50%;
  background:linear-gradient(180deg, rgba(255,224,141,.95), rgba(230,193,90,.88));
  box-shadow:0 3px 10px rgba(0,0,0,.28);
  transition:transform .18s ease;
}

.profile-toggle-input:checked + .profile-toggle-ui{
  background:linear-gradient(180deg, rgba(91,54,156,.95), rgba(58,34,103,.95));
  border-color:rgba(230,193,90,.42);
}

.profile-toggle-input:checked + .profile-toggle-ui::after{
  transform:translateX(26px);
}

.profile-settings-actions{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding-top:6px;
  border-top:1px solid rgba(212,175,55,.12);
}

.profile-settings-actions .fineprint.is-error{ color:#ffc8c8; }
.profile-settings-actions .fineprint.is-success{ color:#d7ffe7; }
.profile-settings-actions .fineprint.is-muted{ color:var(--muted); }

body.gq-hide-collection-markers .progress,
body.gq-hide-collection-markers .set-foot,
body.gq-hide-collection-markers .variant-dots,
body.gq-hide-collection-markers .missing-text{
  display:none!important;
}

@media (max-width: 1200px){
  .profile-overview-grid{
    grid-template-columns:minmax(280px,340px) minmax(0,1fr);
  }

  .profile-economy-card{
    grid-column:1 / -1;
  }
}

@media (max-width: 960px){
  .profile-overview-grid{
    grid-template-columns:1fr;
  }

  .profile-economy-card{
    grid-column:auto;
  }
}

@media (max-width: 760px){
  .profile-settings-actions,
  .profile-toggle-row{
    flex-direction:column;
    align-items:flex-start;
  }

  .profile-toggle-control{
    align-self:flex-end;
  }
}

.btn-xs{
  padding:7px 10px;
  font-size:12px;
}

.header-notice-menu{
  position:relative;
  flex:0 0 auto;
}

.notice-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(212,175,55,.24);
  background:linear-gradient(135deg, rgba(63,163,108,.14), rgba(124,63,179,.12));
  color:var(--text);
  font:inherit;
  font-weight:850;
  cursor:pointer;
  white-space:nowrap;
  box-shadow:0 10px 24px rgba(0,0,0,.18);
  transition: transform .12s ease, background .12s ease, border-color .12s ease, box-shadow .12s ease;
}
.notice-pill:hover{
  transform:translateY(-1px);
  background:linear-gradient(135deg, rgba(63,163,108,.20), rgba(124,63,179,.16));
  border-color:rgba(212,175,55,.36);
  box-shadow:0 12px 24px rgba(0,0,0,.2);
}
.notice-pill:focus-visible{
  outline:none;
  border-color:rgba(230,193,90,.52);
  box-shadow:0 0 0 3px rgba(212,175,55,.14), 0 12px 24px rgba(0,0,0,.18);
}
.notice-pill-icon{
  font-size:15px;
  line-height:1;
}
.notice-pill-label{
  color:var(--muted);
  font-weight:800;
}
.notice-pill-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:20px;
  height:20px;
  padding:0 6px;
  border-radius:999px;
  background:linear-gradient(180deg, #ffd981, #d4af37);
  color:#3f260e;
  font-size:11px;
  font-weight:950;
  box-shadow:0 4px 10px rgba(0,0,0,.22);
}

.header-notice-menu.is-open .notice-pill{
  border-color:rgba(230,193,90,.44);
  box-shadow:0 14px 26px rgba(0,0,0,.22);
}
.header-notice-menu.is-loading .notice-pill{ opacity:.9; }

.header-notice-panel{
  position:absolute;
  top:calc(100% + 10px);
  right:0;
  width:min(380px, calc(100vw - 20px));
  z-index:42;
  background:
    radial-gradient(260px 140px at 50% 0%, rgba(96,201,124,.10), transparent 65%),
    linear-gradient(180deg, rgba(35,19,54,.94), rgba(18,9,28,.98));
  border-color:rgba(212,175,55,.30);
  box-shadow:0 28px 52px rgba(0,0,0,.38);
}
.header-notice-panel::before{ opacity:.72; }
.header-notice-panel-inner{ display:grid; gap:12px; padding:14px; }
.header-notice-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:start;
}
.header-notice-kicker{
  color:var(--gold-2);
  font-size:11px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.header-notice-sub,
.header-notice-foot{
  color:rgba(232,219,250,.76);
  font-size:12px;
  line-height:1.45;
}
.header-notice-close,
.header-notice-dismiss{
  border-radius:10px;
  border:1px solid rgba(212,175,55,.18);
  background:rgba(255,255,255,.04);
  color:var(--text);
  font:inherit;
  cursor:pointer;
}
.header-notice-close{
  width:34px;
  height:34px;
  font-size:14px;
  font-weight:900;
}
.header-notice-close:hover,
.header-notice-dismiss:hover{
  background:rgba(124,63,179,.16);
  border-color:rgba(212,175,55,.28);
}
.header-notice-list{
  display:grid;
  gap:10px;
  max-height:min(60vh, 420px);
  overflow:auto;
  padding-right:4px;
}
.header-notice-card{
  display:grid;
  gap:10px;
  padding:12px;
  border-radius:16px;
  border:1px solid rgba(212,175,55,.14);
  background:rgba(255,255,255,.03);
}
.header-notice-card.is-unread{
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  border-color:rgba(212,175,55,.24);
}
.header-notice-card-top,
.header-notice-actions{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.header-notice-chip{
  display:inline-flex;
  align-items:center;
  padding:4px 8px;
  border-radius:999px;
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.header-notice-chip--shoppe{
  background:rgba(230,193,90,.12);
  border:1px solid rgba(230,193,90,.24);
  color:#f7df95;
}
.header-notice-chip--event{
  background:rgba(96,201,124,.12);
  border:1px solid rgba(96,201,124,.24);
  color:#cffff0;
}
.header-notice-time{
  color:rgba(203,184,234,.72);
  font-size:11px;
  font-weight:700;
}
.header-notice-title{
  font-size:14px;
  font-weight:900;
  color:var(--text);
  line-height:1.3;
}
.header-notice-body{
  color:rgba(243,236,255,.88);
  font-size:13px;
  line-height:1.55;
}
.header-notice-dismiss{
  padding:7px 10px;
  font-size:12px;
  font-weight:800;
}
.header-notice-empty{
  padding:12px;
  border-radius:16px;
  border:1px solid rgba(212,175,55,.14);
  background:rgba(255,255,255,.03);
  color:rgba(232,219,250,.80);
  font-size:12px;
}

@media (max-width: 740px){
  .notice-pill{ padding:7px 10px; gap:6px; }
  .header-notice-panel{ top:72px; right:10px; width:min(340px, calc(100vw - 20px)); }
}


.shop-inline-notices{
  display:grid;
  gap:12px;
  margin:0 0 18px;
}
.shop-inline-notices-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px;
  border-radius:18px;
  border:1px solid rgba(212,175,55,.16);
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
}
.shop-inline-notices-kicker{
  color:var(--gold-2);
  font-size:11px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.shop-inline-notices-sub{
  color:rgba(232,219,250,.80);
  font-size:13px;
  line-height:1.5;
}
.shop-inline-notices-list{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(250px, 1fr));
  gap:12px;
}
.shop-inline-notice-card{
  display:grid;
  gap:10px;
  padding:14px;
  border-radius:18px;
  border:1px solid rgba(212,175,55,.16);
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.025));
  box-shadow:0 12px 28px rgba(0,0,0,.16);
}
.shop-inline-notice-card.is-unread{
  border-color:rgba(212,175,55,.28);
  background:linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.03));
}
.shop-inline-notice-top,
.shop-inline-notice-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
}
.shop-inline-notice-title{
  font-size:15px;
  font-weight:900;
  color:var(--text);
  line-height:1.35;
}
.shop-inline-notice-body{
  color:rgba(243,236,255,.88);
  font-size:13px;
  line-height:1.6;
}
.shop-inline-notice-dismiss{
  padding:7px 10px;
  border-radius:10px;
  border:1px solid rgba(212,175,55,.18);
  background:rgba(255,255,255,.04);
  color:var(--text);
  font:inherit;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
}
.shop-inline-notice-dismiss:hover{
  background:rgba(124,63,179,.16);
  border-color:rgba(212,175,55,.28);
}

@media (max-width: 740px){
  .shop-inline-notices-head,
  .shop-inline-notice-card{
    padding:12px;
  }
  .shop-inline-notices-list{
    grid-template-columns:1fr;
  }
}

.slot-meta-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
}
.slot-want-btn{
  appearance:none;
  border:1px solid rgba(212,175,55,.26);
  background:rgba(76,34,112,.34);
  color:rgba(255,244,212,.95);
  border-radius:999px;
  padding:6px 12px;
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.03em;
  cursor:pointer;
  transition:transform .16s ease, background .16s ease, border-color .16s ease, box-shadow .16s ease;
  box-shadow:0 8px 20px rgba(0,0,0,.16);
}
.slot-want-btn:hover{
  transform:translateY(-1px);
  background:rgba(96,44,136,.46);
  border-color:rgba(246,212,100,.44);
}
.slot-want-btn.is-active{
  background:linear-gradient(180deg, rgba(152,88,214,.45), rgba(95,41,140,.72));
  border-color:rgba(255,220,116,.58);
  color:#fff9ea;
  box-shadow:0 10px 22px rgba(56,18,82,.34), inset 0 1px 0 rgba(255,255,255,.12);
}
.slot-want-btn:focus-visible{
  outline:2px solid rgba(255,220,116,.72);
  outline-offset:2px;
}

.shop-reward-code {
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);
  gap:18px;
  align-items:center;
  margin:0 0 18px;
  padding:22px;
  background:
    radial-gradient(360px 180px at 10% 16%, rgba(230,193,90,.14), transparent 60%),
    radial-gradient(340px 180px at 92% 14%, rgba(124,63,179,.28), transparent 56%),
    linear-gradient(135deg, rgba(31,13,47,.96), rgba(18,9,28,.98));
  border-color:rgba(212,175,55,.28);
  box-shadow:0 22px 52px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.04);
}
.shop-reward-code-copy{display:grid;gap:8px}
.shop-reward-code-form {
  display:flex;
  gap:12px;
  align-items:center;
}
.shop-reward-code-input {
  width:100%;
  min-height:52px;
  border-radius:16px;
  border:1px solid rgba(230,193,90,.28);
  background:rgba(8,4,14,.72);
  color:#f6f0ff;
  padding:0 16px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05), 0 10px 26px rgba(0,0,0,.18);
}
.shop-reward-code-input:focus{
  outline:none;
  border-color:rgba(230,193,90,.56);
  box-shadow:0 0 0 3px rgba(230,193,90,.12), inset 0 1px 0 rgba(255,255,255,.05), 0 10px 26px rgba(0,0,0,.18);
}
.shop-reward-code-btn {
  min-height:52px;
  border:1px solid rgba(230,193,90,.34);
  border-radius:16px;
  padding:0 20px;
  font-weight:800;
  cursor:pointer;
  color:var(--text);
  background:linear-gradient(135deg, rgba(124,63,179,.35), rgba(212,175,55,.22));
  box-shadow:0 12px 28px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.06);
}
.shop-reward-code-btn:hover{transform:translateY(-1px);border-color:rgba(230,193,90,.54)}
.shop-reward-code-btn[disabled],
.shop-reward-code-input[disabled] {
  opacity:0.65;
  cursor:default;
}
.shop-reward-code-meta {
  grid-column:1 / -1;
  padding-top:4px;
}
.shop-reward-code-help {
  font-size:.95rem;
  opacity:.92;
  color:rgba(243,236,255,.86);
}
.shop-reward-code-status {
  margin-top:8px;
  font-size:.95rem;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(0,0,0,.18);
}

.shop-reward-code-status[data-state="success"] { color: #b8f7c3; }
.shop-reward-code-status[data-state="warn"] { color: #ffd998; }
.shop-reward-code-status[data-state="error"] { color: #ffb4b4; }

@media (max-width: 820px) {
  .shop-reward-code {
    grid-template-columns: 1fr;
  }

  .shop-reward-code-form {
    flex-direction: column;
    align-items: stretch;
  }
}

/* Shoppe sale visibility guard: preserve hidden state even when component styles set display modes. */
.shop-main-stat[hidden],
.shop-sale-banner[hidden],
.shop-sale-timerwrap[hidden],
.shop-sale-countdown[hidden]{
  display:none !important;
}


.shop-reward-code-bullets{
  margin:4px 0 0;
  padding-left:18px;
  display:grid;
  gap:4px;
  color:rgba(243,236,255,.84);
  font-size:.93rem;
}
.shop-reward-code-bullets li{
  line-height:1.45;
}
.shop-reward-code-status[data-state="info"] {
  color: rgba(243,236,255,.92);
}
.shop-reward-code-status[data-state="success"] {
  border-color: rgba(137,230,165,.26);
  background: rgba(30,70,42,.28);
}
.shop-reward-code-status[data-state="warn"] {
  border-color: rgba(255,214,133,.28);
  background: rgba(95,62,10,.20);
}
.shop-reward-code-status[data-state="error"] {
  border-color: rgba(255,163,163,.26);
  background: rgba(90,26,26,.24);
}


/* Public help tips */
.shop-title-with-help{
  display:inline-flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.shop-help-tip{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  border-radius:999px;
  border:1px solid rgba(230,193,90,.34);
  background:rgba(124,63,179,.22);
  color:rgba(255,243,211,.98);
  font-size:.74rem;
  font-weight:900;
  line-height:1;
  cursor:help;
  box-shadow:0 6px 16px rgba(0,0,0,.18);
}
.shop-help-tip::after{
  content:attr(data-tooltip);
  position:absolute;
  left:50%;
  bottom:calc(100% + 10px);
  transform:translateX(-50%);
  width:min(280px, 76vw);
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(230,193,90,.22);
  background:linear-gradient(180deg, rgba(32,16,46,.98), rgba(11,6,20,.98));
  color:rgba(255,243,221,.96);
  font-size:.82rem;
  font-weight:600;
  line-height:1.38;
  text-align:left;
  box-shadow:0 16px 36px rgba(0,0,0,.34);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .14s ease, transform .14s ease, visibility .14s ease;
  z-index:20;
}
.shop-help-tip:hover::after,
.shop-help-tip:focus-visible::after{
  opacity:1;
  visibility:visible;
  transform:translateX(-50%) translateY(-2px);
}
.shop-help-tip:focus-visible{
  outline:2px solid rgba(230,193,90,.42);
  outline-offset:2px;
}


/* Shop help tooltip placement guard for top-of-card titles */
.shop-reward-code .shop-help-tip::after,
.shop-main-heading .shop-help-tip::after{
  top:calc(100% + 10px);
  bottom:auto;
}
.shop-reward-code .shop-help-tip:hover::after,
.shop-reward-code .shop-help-tip:focus-visible::after,
.shop-main-heading .shop-help-tip:hover::after,
.shop-main-heading .shop-help-tip:focus-visible::after{
  transform:translateX(-50%) translateY(2px);
}


/* Public binder / profile polish */
.public-guide-grid{
  align-items:stretch;
}
.public-guide-grid-compact{
  margin-bottom:14px;
}
.public-guide-card{
  padding:16px;
  background: rgba(18,9,28,.30);
}
.public-guide-card-compact{
  padding:14px;
}
.public-guide-card .panel-text,
.public-guide-card-compact .panel-text{
  margin:0;
}
.public-guide-kicker{
  margin:0 0 8px;
  color: rgba(255,229,162,.92);
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
@media (max-width: 980px){
  .public-guide-grid,
  .public-guide-grid-compact{
    grid-template-columns:1fr;
  }
}


/* Global live help tooltip layer */
.gq-live-tooltip{
  position:fixed;
  left:0;
  top:0;
  max-width:min(320px, calc(100vw - 24px));
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(230,193,90,.22);
  background:linear-gradient(180deg, rgba(32,16,46,.98), rgba(11,6,20,.98));
  color:rgba(255,243,221,.96);
  font-size:.82rem;
  font-weight:600;
  line-height:1.38;
  text-align:left;
  box-shadow:0 16px 36px rgba(0,0,0,.34);
  pointer-events:none;
  opacity:0;
  visibility:hidden;
  transform:translate3d(0, 0, 0);
  transition:opacity .12s ease, visibility .12s ease;
  z-index:2147483000;
}
.gq-live-tooltip.is-visible{
  opacity:1;
  visibility:visible;
}
body.has-live-tooltips .shop-help-tip::after,
body.has-live-tooltips .gq-help-tip::after{
  content:none !important;
  display:none !important;
}


/* Home hero preview card: keep real art framed and keep text styled like the site. */
.hero-card-link{
  color:inherit;
  text-decoration:none;
  display:block;
}
.hero-card-link:hover,
.hero-card-link:focus,
.hero-card-link:focus-visible{
  color:inherit;
  text-decoration:none;
}
.mock-title,
.mock-title a,
.hero-card-link .mock-title{
  color:var(--text);
  text-decoration:none;
}
.mock-meta-line,
.mock-meta-line a,
.hero-card-link .mock-meta-line{
  color:var(--muted);
  text-decoration:none;
}
.mock-art.has-real-art{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:14px;
  background:#12091c;
}
.mock-art.has-real-art .mock-art-image{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center center;
}

.profile-environment-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:16px 18px;
  border:1px solid rgba(212,175,55,.18);
  background:linear-gradient(135deg, rgba(124,63,179,.14), rgba(18,9,28,.20));
}
.profile-environment-copy{
  display:grid;
  gap:6px;
  min-width:0;
}
.profile-environment-text{
  margin:0;
}
.profile-environment-switch{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.profile-env-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(212,175,55,.20);
  background:rgba(18,9,28,.42);
  color:var(--muted);
  text-decoration:none;
  font-size:12px;
  font-weight:900;
  letter-spacing:.03em;
  transition:transform .16s ease, border-color .16s ease, background .16s ease, color .16s ease;
}
.profile-env-pill:hover,
.profile-env-pill:focus-visible{
  color:var(--text);
  border-color:rgba(230,193,90,.34);
  transform:translateY(-1px);
}
.profile-env-pill.is-active{
  color:#fff7da;
  border-color:rgba(230,193,90,.44);
  background:linear-gradient(180deg, rgba(91,54,156,.96), rgba(58,34,103,.96));
  box-shadow:0 10px 24px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.05);
}
.profile-mini-grid-wallet{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}
.profile-wallet-banner{
  display:grid;
  gap:6px;
  padding:14px 16px;
  margin-bottom:14px;
  border-radius:16px;
  border:1px solid rgba(212,175,55,.16);
  background:rgba(18,9,28,.26);
}
.profile-wallet-banner.is-sandbox{
  border-color:rgba(110,214,166,.22);
  background:linear-gradient(135deg, rgba(50,127,93,.20), rgba(31,70,52,.20));
}
.profile-wallet-banner-kicker{
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--gold-2);
}
.profile-wallet-banner-text{
  color:var(--text);
  font-size:14px;
  line-height:1.5;
}
.profile-support-strip{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
  margin-top:14px;
}
.profile-support-stat{
  display:grid;
  gap:6px;
  padding:14px 16px;
  border-radius:16px;
  border:1px solid rgba(212,175,55,.14);
  background:rgba(18,9,28,.22);
}
.profile-support-label{
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
}
.profile-support-value{
  font-size:20px;
  font-weight:900;
  color:var(--gold-2);
}
.profile-support-sub{
  color:var(--muted);
  font-size:13px;
  line-height:1.45;
}
.profile-history-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:16px;
  align-items:start;
}
.profile-purchases-card,
.profile-activity-card{
  min-width:0;
}
.profile-purchase-list{
  display:grid;
  gap:12px;
}
.profile-purchase-row{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:12px;
  align-items:center;
  padding:14px 16px;
  border-radius:16px;
  border:1px solid rgba(212,175,55,.14);
  background:rgba(18,9,28,.22);
}
.profile-purchase-copy{
  display:grid;
  gap:7px;
  min-width:0;
}
.profile-purchase-topline{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
}
.profile-purchase-title{
  font-size:16px;
  font-weight:900;
  color:var(--text);
}
.profile-purchase-sub{
  color:var(--muted);
  font-size:13px;
  line-height:1.45;
}
.profile-purchase-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.profile-status-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 10px;
  border-radius:999px;
  font-size:11px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  border:1px solid rgba(212,175,55,.18);
  background:rgba(18,9,28,.36);
  color:var(--muted);
}
.profile-status-pill.is-positive{
  border-color:rgba(102,194,140,.26);
  background:rgba(63,163,108,.12);
  color:#d8ffe7;
}
.profile-status-pill.is-negative{
  border-color:rgba(255,128,128,.25);
  background:rgba(122,34,51,.18);
  color:#ffd4d4;
}
.profile-status-pill.is-pending{
  border-color:rgba(212,175,55,.24);
  background:rgba(89,67,15,.16);
  color:#fff2c4;
}
.profile-status-pill.is-sandbox{
  border-color:rgba(110,214,166,.22);
  background:rgba(38,92,71,.18);
  color:#cff7e2;
}
.profile-purchase-value{
  display:grid;
  gap:6px;
  justify-items:end;
  text-align:right;
}
.profile-purchase-price{
  font-size:20px;
  font-weight:900;
  color:var(--gold-2);
}
.profile-purchase-grant{
  color:var(--muted);
  font-size:13px;
  line-height:1.4;
}
@media (max-width: 1200px){
  .profile-history-grid{
    grid-template-columns:1fr;
  }
}
@media (max-width: 960px){
  .profile-environment-card{
    flex-direction:column;
    align-items:flex-start;
  }
  .profile-mini-grid-wallet,
  .profile-support-strip{
    grid-template-columns:1fr;
  }
}
@media (max-width: 760px){
  .profile-purchase-row{
    grid-template-columns:1fr;
  }
  .profile-purchase-value{
    justify-items:start;
    text-align:left;
  }
}


/* Platinum groundwork */
.platinum-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(173,216,255,.38);
  background:linear-gradient(180deg, rgba(129,164,255,.18), rgba(129,164,255,.08));
  color:var(--text);
  font-weight:800;
  box-shadow:0 10px 24px rgba(0,0,0,.22);
  white-space:nowrap;
}
.platinum-pill-link:hover,
.platinum-pill-link:focus-visible{
  transform:translateY(-1px);
  border-color:rgba(194,226,255,.52);
  background:linear-gradient(180deg, rgba(129,164,255,.24), rgba(129,164,255,.12));
}
.platinum-pill-icon{font-size:14px;line-height:1;display:inline-flex;align-items:center;justify-content:center}
.platinum-pill-label{color:var(--muted);font-weight:700}
.platinum-pill-value{color:#cce6ff}
@media (max-width: 640px){
  .platinum-pill{padding:7px 10px;gap:6px}
  .platinum-pill-label{display:none}
}

.profile-callout-premium{
  border-color:rgba(173,216,255,.20);
  background:linear-gradient(135deg, rgba(129,164,255,.12), rgba(124,63,179,.10));
}
.profile-callout-premium .profile-callout-kicker{color:#dfeaff}

.shop-premium-cta{
  border-color:rgba(173,216,255,.22);
  background:
    radial-gradient(320px 180px at 10% 16%, rgba(173,216,255,.10), transparent 60%),
    radial-gradient(300px 180px at 92% 14%, rgba(124,63,179,.22), transparent 56%),
    linear-gradient(135deg, rgba(26,12,40,.96), rgba(18,9,28,.98));
}

.platinum-page .section-head{margin-bottom:14px}
.platinum-scene{display:grid;gap:18px}
.platinum-overline,.platinum-hero-kicker{
  color:#dfeaff;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.platinum-hero{
  display:grid;
  grid-template-columns:minmax(0,1.16fr) minmax(300px,.84fr);
  gap:18px;
  align-items:start;
}
.platinum-hero-copy,.platinum-hero-side,.platinum-note-card,.platinum-promise-card,.platinum-pack-card,.platinum-set-card{display:grid;gap:12px}
.platinum-hero-title,.platinum-section-title,.platinum-pack-title,.platinum-note-title{margin:0;font-size:clamp(1.1rem,1rem + .5vw,1.6rem);line-height:1.2}
.platinum-hero-text,.platinum-section-text,.platinum-note-text{color:var(--muted);line-height:1.6}
.platinum-hero-actions{display:flex;gap:10px;flex-wrap:wrap}
.platinum-trust-row{display:flex;gap:10px;flex-wrap:wrap}
.platinum-trust-pill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;border:1px solid rgba(146,178,255,.20);background:rgba(255,255,255,.04);color:#dfeaff;font-size:12px;font-weight:800}
.platinum-note-card,.platinum-promise-card,.platinum-pack-card,.platinum-set-card,.platinum-empty-state{padding:16px;border:1px solid rgba(146,178,255,.18);background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.025));box-shadow:0 12px 30px rgba(0,0,0,.18)}
.platinum-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
.platinum-promise-grid,.platinum-set-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.platinum-pack-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}
.platinum-pack-card.is-featured{border-color:rgba(146,178,255,.34);box-shadow:0 16px 34px rgba(18,18,40,.28), 0 0 0 1px rgba(146,178,255,.10)}
.platinum-section{display:grid;gap:12px}
.platinum-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px}
.platinum-pack-top,.platinum-pack-price-row,.platinum-empty-state{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.platinum-pack-family{color:rgba(225,234,255,.82);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.platinum-pack-badge{padding:6px 10px;border-radius:999px;border:1px solid rgba(146,178,255,.24);background:rgba(146,178,255,.14);color:#dfeaff;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.platinum-pack-amount{font-size:1.45rem;font-weight:900;color:#dfeaff}
.platinum-pack-rate{font-size:1.1rem;font-weight:900;color:var(--text)}
.platinum-pack-blurb,.platinum-pack-foot,.platinum-set-meta,.platinum-empty-text{color:var(--muted);line-height:1.55}
.platinum-pack-btn[disabled]{cursor:not-allowed;opacity:.82}
.platinum-empty-icon{font-size:28px}
.platinum-empty-title{color:var(--text);font-weight:900;margin-bottom:4px}
.platinum-set-card{grid-template-columns:96px minmax(0,1fr);align-items:start}
.platinum-set-cover{width:96px;height:96px;border-radius:16px;object-fit:cover;background:rgba(0,0,0,.24);border:1px solid rgba(146,178,255,.16)}
.platinum-set-copy{display:grid;gap:8px}
@media (max-width: 980px){
  .platinum-hero,.platinum-promise-grid,.platinum-set-grid{grid-template-columns:1fr}
  .shop-premium-cta,.platinum-section-head{flex-direction:column;align-items:flex-start}
}
@media (max-width: 760px){
  .platinum-stats{grid-template-columns:1fr}
  .platinum-pack-top,.platinum-pack-price-row,.platinum-empty-state,.platinum-set-card{flex-direction:column;grid-template-columns:1fr;align-items:flex-start}
  .platinum-set-cover{width:100%;height:auto;max-height:220px}
}


/* Support page vault split */
.support-page .section-head{margin-bottom:14px}
.support-scene{display:grid;gap:18px}
.support-overline,.support-hero-kicker,.support-column-kicker,.support-info-kicker,.support-hero-note-kicker{
  color:rgba(255,229,162,.92);
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.support-hero{
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(300px,.82fr);
  gap:18px;
  align-items:start;
}
.support-hero-copy,.support-hero-side,.support-hero-note,.support-promise-card,.support-faq-card,.support-currency-column{display:grid;gap:12px}
.support-hero-title,.support-column-title,.support-info-title,.support-hero-note-title,.support-pack-title,.support-empty-title{margin:0;font-size:clamp(1.1rem,1rem + .5vw,1.6rem);line-height:1.2}
.support-hero-text,.support-column-text,.support-info-text,.support-hero-note-text,.support-empty-text,.support-pack-blurb,.support-pack-foot{color:var(--muted);line-height:1.58}
.support-hero-actions,.support-trust-row,.support-pack-benefits,.support-pack-actions{display:flex;gap:10px;flex-wrap:wrap}
.support-trust-pill,.support-pack-benefit,.support-pack-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 10px;
  border-radius:999px;
  font-size:11px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.support-trust-pill{
  border:1px solid rgba(230,193,90,.18);
  background:rgba(255,255,255,.04);
  color:#fff3d1;
}
.support-status-banner{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:14px;
  align-items:start;
  padding:16px 18px;
}
.support-status-banner-icon{font-size:28px;line-height:1}
.support-status-banner-title{font-weight:900;color:var(--text);margin-bottom:4px}
.support-status-banner-body{color:var(--muted);line-height:1.5}
.support-status-banner.is-success{border-color:rgba(102,194,140,.26);background:linear-gradient(135deg, rgba(43,111,73,.26), rgba(18,9,28,.30))}
.support-status-banner.is-info{border-color:rgba(230,193,90,.24);background:linear-gradient(135deg, rgba(89,67,15,.24), rgba(18,9,28,.28))}
.support-status-banner.is-error{border-color:rgba(255,128,128,.25);background:linear-gradient(135deg, rgba(122,34,51,.20), rgba(18,9,28,.28))}
.support-hero-note,.support-promise-card,.support-faq-card,.support-currency-column,.support-empty-state{
  padding:16px;
  border:1px solid rgba(212,175,55,.16);
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.025));
  box-shadow:0 12px 30px rgba(0,0,0,.18);
}
.support-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
.support-promise-grid,.support-faq-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.support-promise-card-premium{border-color:rgba(173,216,255,.18);background:linear-gradient(135deg, rgba(129,164,255,.12), rgba(124,63,179,.10))}
.support-currency-grid{display:grid;grid-template-columns:1fr;gap:16px}
.support-currency-grid.has-platinum{grid-template-columns:repeat(2,minmax(0,1fr))}
.support-currency-column-gold{border-color:rgba(212,175,55,.18);background:linear-gradient(135deg, rgba(63,42,9,.26), rgba(18,9,28,.32))}
.support-currency-column-platinum{border-color:rgba(173,216,255,.18);background:linear-gradient(135deg, rgba(129,164,255,.12), rgba(124,63,179,.12))}
.support-column-head{display:grid;gap:8px}
.support-column-statrow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.support-column-stat{
  display:grid;gap:6px;padding:14px 16px;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:rgba(18,9,28,.22)
}
.support-column-stat-label{font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.support-column-stat-value{font-size:1.25rem;font-weight:900;color:var(--gold-2)}
.support-currency-column-platinum .support-column-stat-value{color:#dfeaff}
.support-column-callout{padding:14px 16px;border-radius:16px;border:1px solid rgba(255,255,255,.10);background:rgba(18,9,28,.22)}
.support-column-callout-kicker{font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.support-column-callout-text{color:var(--text);line-height:1.6}
.support-column-callout-platinum{border-color:rgba(173,216,255,.18);background:linear-gradient(135deg, rgba(129,164,255,.12), rgba(124,63,179,.10))}
.support-pack-grid{display:grid;gap:16px}
.support-pack-grid-stacked{grid-template-columns:1fr}
.support-pack-card{
  display:grid;gap:12px;padding:16px;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:rgba(18,9,28,.28);box-shadow:0 12px 28px rgba(0,0,0,.18)
}
.support-pack-card.is-featured{box-shadow:0 16px 34px rgba(0,0,0,.24), 0 0 0 1px rgba(255,255,255,.04)}
.support-pack-card-gold{border-color:rgba(230,193,90,.18)}
.support-pack-card-platinum{border-color:rgba(173,216,255,.18);background:linear-gradient(135deg, rgba(129,164,255,.10), rgba(18,9,28,.28))}
.support-pack-top,.support-pack-price-row,.support-empty-state{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.support-pack-family{color:rgba(255,244,214,.82);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.support-pack-audience{color:var(--muted);font-size:13px;line-height:1.4;margin-top:4px}
.support-pack-badge{border:1px solid rgba(230,193,90,.22);background:rgba(230,193,90,.12);color:#fff1c2}
.support-pack-card-platinum .support-pack-badge{border-color:rgba(173,216,255,.24);background:rgba(173,216,255,.14);color:#dfeaff}
.support-pack-amount{font-size:1.45rem;font-weight:900;color:var(--gold-2)}
.support-pack-card-platinum .support-pack-amount{color:#dfeaff}
.support-pack-price{font-size:1.15rem;font-weight:900;color:var(--text)}
.support-pack-rate{font-size:1rem;font-weight:900;color:var(--text)}
.support-pack-checkout-form{display:flex}
.support-pack-btn[disabled]{cursor:not-allowed;opacity:.82}
.support-empty-state{padding:16px;border-radius:18px}
.support-empty-state-gold{border:1px solid rgba(230,193,90,.18);background:rgba(18,9,28,.24)}
.support-empty-state-platinum{border:1px solid rgba(173,216,255,.18);background:linear-gradient(135deg, rgba(129,164,255,.10), rgba(18,9,28,.24))}
.support-empty-icon{font-size:28px;line-height:1}
@media (max-width: 1100px){
  .support-hero,.support-currency-grid.has-platinum,.support-promise-grid,.support-faq-grid{grid-template-columns:1fr}
}
@media (max-width: 760px){
  .support-stats,.support-column-statrow{grid-template-columns:1fr}
  .support-pack-top,.support-pack-price-row,.support-empty-state,.support-status-banner{grid-template-columns:1fr;flex-direction:column;align-items:flex-start}
}
