
:root {
  --bg: #05050d;
  --panel: rgba(18, 16, 39, 0.78);
  --panel2: rgba(255, 255, 255, 0.055);
  --line: rgba(255, 255, 255, 0.14);
  --line2: rgba(255, 255, 255, 0.24);
  --text: #f7f3ff;
  --muted: #b9afd7;
  --soft: #ded8f5;
  --purple: #6d3dff;
  --blue: #64d8ff;
  --pink: #ff5be7;
  --gold: #e6b847;
  --good: #82e7ab;
  --warn: #ffd166;
  --bad: #ff7f91;
  --shadow: 0 34px 90px rgba(0,0,0,.42);
}
* { box-sizing: border-box; }
html, body { min-height: 100%; margin: 0; scroll-behavior: smooth; }
body {
  font: 15px/1.5 "Segoe UI", Inter, Arial, sans-serif;
  color: var(--text);
  background:
    radial-gradient(circle at 15% 18%, rgba(109, 61, 255, .33), transparent 30%),
    radial-gradient(circle at 86% 12%, rgba(100, 216, 255, .18), transparent 26%),
    radial-gradient(circle at 55% 92%, rgba(255, 91, 231, .16), transparent 34%),
    linear-gradient(145deg, #05050d 0%, #120c29 46%, #05050d 100%);
}
body::before {
  content:""; position:fixed; inset:0; pointer-events:none; z-index:-2;
  background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size:54px 54px; opacity:.32; mask-image: radial-gradient(circle at center, black 35%, transparent 82%);
}
a { color: inherit; }
.shell { width: min(1180px, calc(100% - 32px)); margin: 0 auto; }
.site-header {
  position: sticky; top: 0; z-index: 10;
  backdrop-filter: blur(18px);
  background: rgba(5,5,13,.74);
  border-bottom: 1px solid var(--line);
}
.nav { min-height: 72px; display:flex; align-items:center; justify-content:space-between; gap:18px; }
.logo { display:flex; align-items:center; gap:12px; text-decoration:none; font-weight:950; letter-spacing:-.04em; }
.logo-mark { width: 42px; height: 42px; border-radius: 14px; display:grid; place-items:center; color:#070611; background:linear-gradient(135deg, var(--gold), var(--blue) 56%, var(--pink)); }
.nav-links { display:flex; flex-wrap:wrap; gap:8px; justify-content:flex-end; align-items:center; }
.nav-links a, .button {
  display:inline-flex; align-items:center; justify-content:center; min-height:40px;
  border:1px solid var(--line); border-radius: 999px; padding:9px 13px;
  text-decoration:none; background:rgba(255,255,255,.055); color:var(--soft); font-weight:800;
}
.nav-links a:hover, .button:hover { border-color: rgba(100,216,255,.7); background: rgba(100,216,255,.13); color:white; }
.button.primary { border-color: rgba(100,216,255,.72); background: linear-gradient(135deg, rgba(109,61,255,.72), rgba(100,216,255,.34)); color:white; }
.button.warn { border-color: rgba(255,209,102,.6); color: var(--gold); }
.hero { padding: clamp(54px, 8vw, 98px) 0 42px; }
.hero-grid { display:grid; grid-template-columns: minmax(0, 1.07fr) minmax(260px, .72fr); gap:30px; align-items:center; }
.eyebrow { color: var(--gold); text-transform: uppercase; letter-spacing:.14em; font-size:12px; font-weight:950; margin:0 0 12px; }
h1, h2, h3, p { margin: 0; }
h1 { font-size: clamp(46px, 8vw, 96px); line-height:.86; letter-spacing:-.085em; text-transform:uppercase; }
h2 { font-size: clamp(28px, 4vw, 46px); letter-spacing:-.045em; }
h3 { font-size: 19px; }
.lead { margin-top: 20px; color: var(--soft); font-size: clamp(17px, 2.1vw, 21px); max-width: 760px; }
.muted { color: var(--muted); }
.small { font-size: 12px; }
.hero-card, .panel, .card-tile, .notice-box {
  border: 1px solid var(--line);
  border-radius: 28px;
  background: linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.025)), var(--panel);
  box-shadow: var(--shadow);
}
.hero-card { padding: 18px; display:grid; gap:14px; }
.hero-card img { width: 100%; border-radius: 22px; display:block; box-shadow: 0 20px 54px rgba(0,0,0,.36); }
.hero-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; }
.stat-row { display:grid; grid-template-columns: repeat(4, 1fr); gap:12px; margin-top:28px; }
.stat { padding:14px; border:1px solid var(--line); border-radius:18px; background:rgba(255,255,255,.045); }
.stat strong { display:block; color:white; font-size:22px; }
.section { padding: 42px 0; }
.grid { display:grid; grid-template-columns: repeat(12, 1fr); gap:18px; }
.panel { grid-column: span 12; padding: clamp(18px, 3vw, 28px); }
.span-4 { grid-column: span 4; }
.span-6 { grid-column: span 6; }
.span-8 { grid-column: span 8; }
.feature-card { padding:20px; display:grid; gap:10px; }
.pill-row { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
.pill { display:inline-flex; align-items:center; border:1px solid var(--line); border-radius:999px; padding:6px 9px; color:var(--muted); background:rgba(255,255,255,.045); font-size:12px; font-weight:850; }
.pill.gold { color:var(--gold); border-color:rgba(230,184,71,.42); }
.controls { display:grid; grid-template-columns: minmax(220px, 1fr) repeat(4, minmax(140px, 180px)); gap:10px; margin:18px 0; }
input, select { width:100%; border:1px solid var(--line); border-radius: 13px; padding: 12px; color:var(--text); background:rgba(0,0,0,.32); font:inherit; }
.card-grid { display:grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap:18px; }
.card-tile { overflow:hidden; display:grid; grid-template-rows:auto 1fr; }
.card-image { aspect-ratio: 2.5 / 3.5; background:rgba(0,0,0,.2); display:grid; place-items:center; overflow:hidden; }
.card-image img { width:100%; height:100%; object-fit:cover; display:block; }
.card-image .placeholder { padding:20px; text-align:center; color:var(--muted); }
.card-info { padding:14px; display:grid; gap:7px; }
.card-title-row { display:flex; gap:8px; align-items:flex-start; justify-content:space-between; }
.card-title-row strong { font-size:17px; }
.card-links { display:flex; flex-wrap:wrap; gap:7px; margin-top:6px; }
.card-links a { color:var(--blue); text-decoration:none; font-size:12px; font-weight:800; }
.notice-box { padding:18px; border-left:4px solid var(--gold); }
.rule-list { display:grid; gap:12px; margin-top:16px; }
.rule { display:grid; gap:6px; padding:14px; border:1px solid var(--line); border-radius:18px; background:rgba(255,255,255,.042); }
.footer { border-top:1px solid var(--line); margin-top:46px; padding:26px 0 40px; color:var(--muted); }
.footer .shell { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; }
.error-state { border:1px solid rgba(255,127,145,.35); background:rgba(255,127,145,.08); border-radius:18px; padding:14px; color:var(--soft); }
.loading { opacity:.8; }
@media (max-width: 880px) {
  .hero-grid, .grid { grid-template-columns: 1fr; }
  .span-4, .span-6, .span-8, .panel { grid-column: span 1; }
  .controls { grid-template-columns: 1fr 1fr; }
  .nav { align-items:flex-start; flex-direction:column; padding:14px 0; }
  .nav-links { justify-content:flex-start; }
}
@media (max-width: 560px) {
  .shell { width: min(100% - 22px, 1180px); }
  .controls { grid-template-columns: 1fr; }
  .stat-row { grid-template-columns: 1fr 1fr; }
  .nav-links a, .button { width: 100%; }
  .hero-actions .button { width:100%; }
}


/* v=public-clean-217 */
.card-tile-open {
  border: 0;
  padding: 0;
  margin: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  position: relative;
  display: block;
  width: 100%;
  font: inherit;
  text-align: inherit;
}
.card-tile-open .card-image { transition: transform .16s ease, filter .16s ease; }
.card-tile-open:hover .card-image { transform: scale(1.018); filter: brightness(1.06); }
.open-hint {
  position: absolute;
  right: 10px;
  bottom: 10px;
  border: 1px solid rgba(100,216,255,.58);
  border-radius: 999px;
  padding: 5px 8px;
  font-size: 11px;
  font-weight: 900;
  color: #fff;
  background: rgba(5,5,13,.72);
  opacity: 0;
  transform: translateY(4px);
  transition: opacity .16s ease, transform .16s ease;
}
.card-tile-open:hover .open-hint,
.card-tile-open:focus-visible .open-hint { opacity: 1; transform: translateY(0); }
.card-rule-preview {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.detail-open { overflow: hidden; }
.detail-overlay[hidden] { display:none !important; }
.detail-overlay {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: grid;
  place-items: center;
  padding: 20px;
}
.detail-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.72);
  backdrop-filter: blur(14px);
}
.detail-panel {
  position: relative;
  z-index: 1;
  width: min(1120px, 100%);
  max-height: min(900px, calc(100vh - 32px));
  overflow: auto;
  border: 1px solid var(--line2);
  border-radius: 30px;
  background: linear-gradient(145deg, rgba(255,255,255,.09), rgba(255,255,255,.028)), rgba(13, 10, 31, .96);
  box-shadow: 0 34px 110px rgba(0,0,0,.64);
}
.detail-close {
  position: sticky;
  top: 12px;
  float: right;
  z-index: 5;
  width: 42px;
  height: 42px;
  margin: 12px 12px 0 0;
  border-radius: 999px;
  border: 1px solid var(--line);
  color: var(--text);
  background: rgba(0,0,0,.46);
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}
.detail-grid {
  display: grid;
  grid-template-columns: minmax(240px, 380px) minmax(0, 1fr);
  gap: 24px;
  padding: clamp(18px, 3vw, 34px);
  clear: both;
}
.detail-art .card-image {
  border-radius: 24px;
  box-shadow: 0 24px 70px rgba(0,0,0,.44);
  background: transparent;
}
.detail-content h1 {
  font-size: clamp(34px, 5vw, 64px);
  line-height: .92;
}
.detail-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 18px 0;
}
.meta-row {
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 10px;
  background: rgba(255,255,255,.045);
  display: grid;
  gap: 3px;
}
.meta-row span { color: var(--muted); font-size: 11px; font-weight: 850; text-transform: uppercase; letter-spacing: .08em; }
.meta-row strong { color: var(--text); font-size: 13px; }
.detail-section {
  margin-top: 16px;
  border-top: 1px solid var(--line);
  padding-top: 16px;
}
.detail-section p { color: var(--soft); }
.quote { font-style: italic; color: var(--muted) !important; }
.big-links a {
  border: 1px solid rgba(100,216,255,.4);
  border-radius: 999px;
  padding: 8px 10px;
  background: rgba(100,216,255,.08);
  color: var(--blue);
}
.share-row { display:flex; gap:8px; align-items:center; }
.share-row input { flex: 1; min-width: 0; }
@media (max-width: 760px) {
  .detail-grid { grid-template-columns: 1fr; }
  .detail-art { max-width: 360px; width: 100%; margin: 0 auto; }
  .detail-meta { grid-template-columns: 1fr; }
  .share-row { flex-direction: column; align-items: stretch; }
}


/* v=public-clean-217 */
.compact-page .lead { max-width: 640px; }
.compact-page .section.tight { padding-top: 24px; }
.compact-page .feature-card { gap: 6px; }
.compact-page .feature-card p { max-width: 48em; }
#cardLoadStatus .pill { margin-left: 0; }
.detail-section .share-row + .muted { display:none; }


/* v=public-layered-cards-218 */
.card-image.layered-public-card {
  position: relative;
  background: transparent;
  overflow: hidden;
}
.card-image.layered-public-card .public-card-layer {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.card-image.layered-public-card .public-card-art { z-index: 1; }
.card-image.layered-public-card .public-card-overlay { z-index: 3; pointer-events: none; }
.card-image.layered-public-card .public-card-signature { z-index: 4; pointer-events: none; }
.card-image.layered-public-card::after {
  content: attr(data-art-code);
  position: absolute;
  left: 8px;
  bottom: 8px;
  z-index: 5;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  padding: 3px 6px;
  font-size: 10px;
  font-weight: 900;
  color: rgba(255,255,255,.84);
  background: rgba(5,5,13,.58);
  opacity: .72;
}
.card-image.layered-public-card[data-art-code="" i]::after,
.card-image.layered-public-card[data-art-code="base" i]::after { display: none; }


/* v=public-card-buttons-signature-safe-219
   Public catalog cards use the same button treatment as the player zoom view.
   The raw signature texture is only layered for explicitly signed previews;
   ordinary public cards use the art+overlay stack so tight-cropped signature
   assets cannot blow up across the card face. */
.card-links {
  align-items: center;
}
.card-links a.public-link-button,
.big-links a.public-link-button {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 5px 8px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(11,16,28,.72);
  color: #f6f8ff;
  text-decoration: none;
  box-shadow: 0 8px 20px rgba(0,0,0,.18);
}
.card-links a.public-link-button:hover,
.card-links a.public-link-button:focus-visible,
.big-links a.public-link-button:hover,
.big-links a.public-link-button:focus-visible {
  transform: translateY(-1px);
  border-color: rgba(100,216,255,.56);
  background: rgba(36,48,76,.86);
}
.public-link-button img {
  width: 22px;
  height: 22px;
  display: block;
  object-fit: contain;
  border-radius: 6px;
}
.public-link-secondlife img {
  border-radius: 7px;
  filter: drop-shadow(0 0 6px rgba(120,235,255,.22));
}
.public-link-button strong {
  width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 7px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.08);
  font-size: 10px;
  line-height: 1;
  letter-spacing: .03em;
}
.public-link-button em {
  font-style: normal;
  font-size: 12px;
  font-weight: 850;
  white-space: nowrap;
}
.card-links a.public-link-compact {
  width: 34px;
  height: 34px;
  min-height: 34px;
  padding: 5px;
  justify-content: center;
}
.card-links a.public-link-compact em {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
.card-links a.public-link-compact img,
.card-links a.public-link-compact strong {
  width: 24px;
  height: 24px;
}
.big-links {
  gap: 8px;
}
.big-links a.public-link-button {
  padding: 7px 10px;
  min-height: 42px;
}
.big-links .public-link-button img,
.big-links .public-link-button strong {
  width: 28px;
  height: 28px;
}
.card-image.layered-public-card .public-card-signature {
  object-fit: cover;
}
.card-image.layered-public-card[data-signed="0"] .public-card-signature {
  display: none !important;
}
@media (max-width: 560px) {
  .big-links a.public-link-button { flex: 1 1 calc(50% - 8px); justify-content: center; }
}


/* v=public-gallery-clean-220
   Compact public card gallery: no big page title, no count pill, no art-code
   badge on card thumbnails, no rules text in gallery tiles. */
body:has(main.compact-page #cardGrid) main.compact-page {
  padding-top: 24px;
}
body:has(main.compact-page #cardGrid) main.compact-page .eyebrow {
  margin-bottom: 18px;
}
body:has(main.compact-page #cardGrid) main.compact-page h1 {
  display: none !important;
}
.gallery-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin: 10px 0 22px;
}
.gallery-actions #cardLoadStatus:empty { display: none; }
#cardSummary { display: none !important; }
.card-image.layered-public-card::after {
  display: none !important;
  content: none !important;
}
.card-rule-preview { display: none !important; }
.card-grid { margin-top: 0; }
@media (max-width: 560px) {
  .gallery-actions .button { width: auto; }
}

/* v=public-variant-gallery-221 */
.card-image { position: relative; }
.public-finish {
  position: absolute;
  inset: 2.3%;
  z-index: 2;
  pointer-events: none;
  border-radius: 4.5%;
  overflow: hidden;
  mix-blend-mode: screen;
}
.public-finish-foil {
  opacity: .26;
  background:
    linear-gradient(118deg, transparent 0%, rgba(255,255,255,.02) 31%, rgba(255,255,255,.46) 47%, rgba(255,255,255,.03) 61%, transparent 100%),
    repeating-linear-gradient(106deg, rgba(255,255,255,.00) 0 8px, rgba(255,255,255,.13) 9px 11px, rgba(255,255,255,.00) 12px 20px);
  animation: publicFoilSweep 6.5s linear infinite;
}
.public-finish-holo {
  opacity: .34;
  background:
    linear-gradient(118deg, rgba(255,60,205,0) 0%, rgba(255,60,205,.19) 16%, rgba(82,225,255,.18) 30%, rgba(255,224,84,.15) 46%, rgba(98,255,156,.16) 60%, rgba(176,104,255,.18) 76%, rgba(255,60,205,0) 100%),
    radial-gradient(circle at 30% 20%, rgba(255,255,255,.22), transparent 21%),
    radial-gradient(circle at 70% 64%, rgba(255,255,255,.12), transparent 28%);
  background-size: 240% 240%, 100% 100%, 100% 100%;
  animation: publicHoloDrift 8s linear infinite;
}
@keyframes publicFoilSweep {
  from { background-position: -180% 0, 0 0; }
  to { background-position: 180% 0, 60px 0; }
}
@keyframes publicHoloDrift {
  from { background-position: 0% 40%, 0 0, 0 0; filter: hue-rotate(0deg); }
  to { background-position: 220% 60%, 0 0, 0 0; filter: hue-rotate(50deg); }
}
.card-mini-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  min-height: 0;
}
.rarity-pill {
  display: inline-flex;
  align-items: center;
  width: max-content;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.16);
  padding: 4px 7px;
  font-size: 11px;
  font-weight: 900;
  background: rgba(255,255,255,.055);
  color: var(--soft);
}
.rarity-common { color: #d8d7e9; }
.rarity-uncommon { color: #8be7ff; border-color: rgba(100,216,255,.34); background: rgba(100,216,255,.07); }
.rarity-rare { color: #d7b0ff; border-color: rgba(201,135,255,.36); background: rgba(174,100,255,.08); }
.rarity-ultra_rare { color: #ffd166; border-color: rgba(230,184,71,.46); background: rgba(230,184,71,.10); }
.variant-controls {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  margin-top: 14px;
}
.variant-chip {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  border: 1px solid var(--line);
  border-radius: 15px;
  padding: 9px 10px;
  color: var(--text);
  background: rgba(255,255,255,.045);
  cursor: pointer;
  font: inherit;
  text-align: left;
}
.variant-chip:hover,
.variant-chip:focus-visible {
  border-color: rgba(100,216,255,.54);
  background: rgba(100,216,255,.10);
}
.variant-chip.active {
  border-color: rgba(230,184,71,.68);
  background: rgba(230,184,71,.13);
}
.variant-chip span { font-weight: 900; }
.variant-chip em {
  font-style: normal;
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  white-space: nowrap;
}
.variant-chip.active em { color: var(--gold); }
.detail-art .variant-controls {
  max-height: 230px;
  overflow: auto;
  padding-right: 4px;
}
@media (prefers-reduced-motion: reduce) {
  .public-finish-foil,
  .public-finish-holo { animation: none; }
}

/* v=public-detail-variant-rarity-fx-222 */
.card-mini-meta { display: none !important; }
.public-finish { display: none !important; }
.variant-controls { display: none !important; }
.variant-picker {
  display: grid;
  gap: 13px;
  margin-top: 16px;
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 13px;
  background: rgba(255,255,255,.045);
}
.variant-picker.rarity-only { border-color: transparent; background: transparent; padding: 6px 0 0; }
.variant-picker-group { display: grid; gap: 7px; }
.variant-picker-group > span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.variant-chip-row { display: flex; flex-wrap: wrap; gap: 7px; }
.variant-picker .variant-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  min-height: 34px;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 7px 11px;
  color: var(--soft);
  background: rgba(255,255,255,.055);
  cursor: pointer;
  font: inherit;
  font-size: 12px;
  font-weight: 900;
}
.variant-picker .variant-chip:hover,
.variant-picker .variant-chip:focus-visible {
  border-color: rgba(100,216,255,.58);
  background: rgba(100,216,255,.11);
  color: #fff;
}
.variant-picker .variant-chip.active {
  border-color: rgba(230,184,71,.72);
  background: rgba(230,184,71,.15);
  color: #fff;
  box-shadow: 0 0 18px rgba(230,184,71,.12);
}
.detail-rarity {
  padding-top: 2px;
  font-size: 17px;
  line-height: 1.05;
  font-weight: 1000;
  letter-spacing: .035em;
  text-transform: uppercase;
}
.rarity-common { color: #d8d7e9; text-shadow: 0 0 12px rgba(216,215,233,.12); }
.rarity-uncommon { color: #51eaa2; text-shadow: 0 0 14px rgba(81,234,162,.24); }
.rarity-rare { color: #b985ff; text-shadow: 0 0 16px rgba(185,133,255,.28); }
.rarity-super_rare { color: #ff75df; text-shadow: 0 0 18px rgba(255,117,223,.34); }
.rarity-ultra_rare {
  color: #ffd166;
  background: linear-gradient(90deg, #ffe58a, #8be7ff, #ff75df, #ffd166);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  text-shadow: 0 0 18px rgba(255,209,102,.24);
}
.detail-art .card-image .finish-effect,
.card-image.layered-public-card .finish-effect {
  display: block !important;
  visibility: visible !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  border-radius: inherit;
  overflow: hidden;
  z-index: 2 !important;
  transform: translateZ(0);
  will-change: opacity, background-position, filter, transform;
}
.card-image.layered-public-card .finish-effect::before,
.card-image.layered-public-card .finish-effect::after {
  content: "" !important;
  position: absolute !important;
  inset: -18% !important;
  display: block !important;
  pointer-events: none !important;
  border-radius: inherit;
  transform: translateZ(0);
}
.card-image.layered-public-card .finish-effect-foil {
  opacity: 1 !important;
  mix-blend-mode: screen !important;
  background: none !important;
  filter: none !important;
  animation: none !important;
}
.card-image.layered-public-card .finish-effect-foil::before,
.card-image.layered-public-card .finish-effect-foil::after {
  display: none !important;
  background: none !important;
  animation: none !important;
}
.card-image.layered-public-card .foil-sparkle {
  position: absolute;
  left: var(--x);
  top: var(--y);
  width: var(--s);
  height: var(--s);
  transform: translate(-50%, -50%) scale(.1) rotate(0deg);
  border-radius: 999px;
  opacity: 0;
  pointer-events: none;
  mix-blend-mode: screen;
  background: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,.95) 18%, rgba(255,235,170,.62) 36%, rgba(255,255,255,0) 70%);
  filter: drop-shadow(0 0 2px rgba(255,255,255,1)) drop-shadow(0 0 7px rgba(255,220,135,.56));
  animation: plFoilRandomTwinkle5 var(--dur) cubic-bezier(.4,0,.2,1) infinite;
  animation-delay: var(--delay);
}
.card-image.layered-public-card .foil-sparkle-gold {
  background: radial-gradient(circle, rgba(255,255,255,.98) 0%, rgba(255,239,170,.96) 20%, rgba(255,198,76,.66) 42%, rgba(255,255,255,0) 74%);
  filter: drop-shadow(0 0 2px rgba(255,245,190,.92)) drop-shadow(0 0 8px rgba(255,185,70,.50));
}
.card-image.layered-public-card .foil-sparkle::before,
.card-image.layered-public-card .foil-sparkle::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: calc(var(--s) * 2.9);
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.92), transparent);
  transform: translate(-50%, -50%);
  opacity: .72;
}
.card-image.layered-public-card .foil-sparkle::after {
  transform: translate(-50%, -50%) rotate(90deg);
  width: calc(var(--s) * 2.1);
}
.card-image.layered-public-card .finish-effect-holo {
  opacity: 1 !important;
  mix-blend-mode: screen !important;
  background:
    linear-gradient(116deg,
      transparent 0 28%,
      rgba(255, 42, 215, .00) 34%,
      rgba(255, 42, 215, .095) 39%,
      rgba(42, 235, 255, .115) 44%,
      rgba(255, 235, 86, .082) 48%,
      rgba(120, 82, 255, .092) 52%,
      rgba(55, 255, 190, .062) 57%,
      transparent 66% 100%),
    conic-gradient(from 215deg at 52% 48%,
      rgba(255, 55, 218, .030) 0deg,
      rgba(55, 235, 255, .055) 65deg,
      rgba(255, 236, 88, .040) 128deg,
      rgba(128, 88, 255, .052) 190deg,
      rgba(48, 255, 190, .036) 252deg,
      rgba(255, 55, 218, .030) 360deg);
  background-size: 260% 260%, 190% 190%;
  background-position: -20% 48%, 50% 50%;
  background-blend-mode: screen;
  filter: saturate(2.9) brightness(1.04) contrast(1.03);
  animation: plHoloPrismGlintDrift6 18s ease-in-out infinite alternate !important;
}
.card-image.layered-public-card .finish-effect-holo::before {
  opacity: .18 !important;
  mix-blend-mode: color-dodge !important;
  background:
    linear-gradient(112deg,
      transparent 0 39%,
      rgba(255,255,255,.00) 42%,
      rgba(255, 70, 220, .26) 45%,
      rgba(40, 235, 255, .30) 48%,
      rgba(255, 238, 100, .21) 51%,
      rgba(120, 88, 255, .18) 54%,
      rgba(255,255,255,.08) 57%,
      transparent 62% 100%);
  background-size: 250% 250%;
  background-position: -70% 50%;
  filter: saturate(2.4) brightness(1.10) blur(.08px);
  animation: plHoloPrismSheenPass6 12s ease-in-out infinite !important;
}
.card-image.layered-public-card .finish-effect-holo::after {
  opacity: .12 !important;
  mix-blend-mode: screen !important;
  background:
    radial-gradient(ellipse at 18% 24%, rgba(255,54,218,.12), transparent 30%),
    radial-gradient(ellipse at 78% 62%, rgba(52,232,255,.13), transparent 34%),
    radial-gradient(ellipse at 42% 82%, rgba(255,236,90,.09), transparent 32%);
  background-size: 120% 120%, 135% 135%, 140% 140%;
  animation: plHoloSoftColorBreath6 22s ease-in-out infinite alternate !important;
}
.card-image.layered-public-card .holo-prism-glint {
  position: absolute;
  left: var(--x);
  top: var(--y);
  width: var(--w);
  height: var(--h);
  border-radius: 999px;
  pointer-events: none;
  z-index: 1;
  opacity: 0;
  transform: translate(-50%, -50%) rotate(var(--r)) scale(.22);
  transform-origin: 50% 50%;
  mix-blend-mode: screen;
  background: linear-gradient(90deg, transparent 0%, var(--c1) 18%, rgba(255,255,255,.78) 43%, var(--c2) 62%, var(--c3) 78%, transparent 100%);
  box-shadow: 0 0 4px rgba(255,255,255,.42), 0 0 10px rgba(80,225,255,.22), 0 0 12px rgba(255,70,220,.16);
  filter: saturate(2.4) brightness(1.12);
  animation: plHoloPrismGlint6 var(--dur) ease-in-out var(--delay) infinite;
}
.card-image.layered-public-card .holo-prism-glint::before,
.card-image.layered-public-card .holo-prism-glint::after {
  content: "";
  position: absolute;
  inset: 45% -35%;
  border-radius: 999px;
  background: inherit;
  opacity: .28;
  transform: rotate(62deg);
}
.card-image.layered-public-card .holo-prism-glint::after { opacity: .20; transform: rotate(-58deg); }
@keyframes plFoilRandomTwinkle5 {
  0%, 10%, 100% { opacity: 0; transform: translate(-50%, -50%) scale(.12) rotate(0deg); }
  14% { opacity: .38; transform: translate(-50%, -50%) scale(.72) rotate(18deg); }
  17% { opacity: 1; transform: translate(-50%, -50%) scale(1.38) rotate(45deg); }
  20% { opacity: .08; transform: translate(-50%, -50%) scale(.58) rotate(72deg); }
  39% { opacity: 0; transform: translate(-50%, -50%) scale(.18) rotate(95deg); }
  44% { opacity: .50; transform: translate(-50%, -50%) scale(.94) rotate(130deg); }
  47% { opacity: .95; transform: translate(-50%, -50%) scale(1.20) rotate(155deg); }
  51% { opacity: 0; transform: translate(-50%, -50%) scale(.32) rotate(185deg); }
  72% { opacity: 0; transform: translate(-50%, -50%) scale(.14) rotate(210deg); }
  77% { opacity: .74; transform: translate(-50%, -50%) scale(1.05) rotate(250deg); }
  81% { opacity: 0; transform: translate(-50%, -50%) scale(.25) rotate(285deg); }
}
@keyframes plHoloPrismGlint6 {
  0%, 11%, 100% { opacity: 0; transform: translate(-50%, -50%) rotate(var(--r)) scale(.18); }
  16% { opacity: .34; transform: translate(-50%, -50%) rotate(calc(var(--r) + 4deg)) scale(.72); }
  19% { opacity: .74; transform: translate(-50%, -50%) rotate(calc(var(--r) + 9deg)) scale(1.08); }
  24% { opacity: .10; transform: translate(-50%, -50%) rotate(calc(var(--r) + 16deg)) scale(.58); }
  54% { opacity: 0; transform: translate(-50%, -50%) rotate(calc(var(--r) + 30deg)) scale(.20); }
  71% { opacity: .28; transform: translate(-50%, -50%) rotate(calc(var(--r) - 7deg)) scale(.82); }
  76% { opacity: .58; transform: translate(-50%, -50%) rotate(calc(var(--r) - 13deg)) scale(1.0); }
  82% { opacity: 0; transform: translate(-50%, -50%) rotate(calc(var(--r) - 20deg)) scale(.34); }
}
@keyframes plHoloPrismGlintDrift6 {
  0% { background-position: -24% 48%, 50% 50%; filter: hue-rotate(0deg) saturate(2.7) brightness(1.035) contrast(1.03); }
  45% { background-position: 48% 50%, 57% 45%; filter: hue-rotate(14deg) saturate(3.1) brightness(1.055) contrast(1.035); }
  100% { background-position: 118% 52%, 44% 57%; filter: hue-rotate(-18deg) saturate(2.9) brightness(1.045) contrast(1.03); }
}
@keyframes plHoloPrismSheenPass6 {
  0%, 100% { opacity: .08; background-position: -90% 50%; }
  38% { opacity: .22; background-position: 32% 50%; }
  62% { opacity: .12; background-position: 108% 50%; }
}
@keyframes plHoloSoftColorBreath6 {
  0% { opacity: .08; transform: translate3d(-.4%, -.2%, 0) scale(1.01); filter: hue-rotate(0deg); }
  52% { opacity: .15; transform: translate3d(.28%, .18%, 0) scale(1.016); filter: hue-rotate(24deg); }
  100% { opacity: .10; transform: translate3d(-.12%, .35%, 0) scale(1.012); filter: hue-rotate(-16deg); }
}
@media (prefers-reduced-motion: reduce) {
  .card-image.layered-public-card .holo-prism-glint,
  .card-image.layered-public-card .finish-effect-holo,
  .card-image.layered-public-card .finish-effect-holo::before,
  .card-image.layered-public-card .finish-effect-holo::after,
  .card-image.layered-public-card .foil-sparkle { animation-duration: 50s !important; }
}

/* v=public-detail-qa-polish-223
   Public card detail QA pass: cleaner modal spacing, variant controls,
   selected-rarity treatment, mobile layout, and missing preview state. */
.detail-panel {
  width: min(1160px, calc(100vw - 28px));
  max-height: min(920px, calc(100vh - 28px));
}
.detail-grid {
  grid-template-columns: minmax(260px, 410px) minmax(0, 1fr);
  gap: clamp(18px, 3vw, 34px);
}
.detail-content .eyebrow { margin-bottom: 10px; }
.detail-content h1 { max-width: 12ch; }
.detail-section h3 { margin-bottom: 8px; }
.detail-section p { max-width: 58ch; }
.detail-art {
  display: grid;
  gap: 14px;
  align-content: start;
}
.detail-art .card-image {
  width: 100%;
  max-width: 410px;
  margin: 0 auto;
}
.variant-picker {
  width: min(410px, 100%);
  margin: 0 auto;
  padding: 12px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 18px;
  background: rgba(0,0,0,.20);
  display: grid;
  gap: 12px;
}
.variant-picker.rarity-only { gap: 0; }
.variant-picker-group {
  display: grid;
  gap: 7px;
}
.variant-picker-group > span,
.detail-rarity-row > span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .10em;
  text-transform: uppercase;
}
.variant-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.variant-chip {
  min-height: 34px;
  border-radius: 999px;
  padding: 7px 10px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.045);
  color: var(--soft);
  cursor: pointer;
  font: inherit;
  font-size: 12px;
  font-weight: 900;
}
.variant-chip:hover,
.variant-chip:focus-visible {
  color: #fff;
  border-color: rgba(100,216,255,.58);
  background: rgba(100,216,255,.10);
}
.variant-chip.active {
  color: #fff;
  border-color: rgba(230,184,71,.70);
  background: rgba(230,184,71,.15);
  box-shadow: 0 0 18px rgba(230,184,71,.14);
}
.detail-rarity-row {
  display: grid;
  gap: 4px;
  padding-top: 3px;
}
.detail-rarity {
  display: inline-flex;
  width: max-content;
  font-size: 18px;
  line-height: 1.1;
  font-weight: 1000;
  letter-spacing: .035em;
  text-transform: uppercase;
}
.rarity-common { color: #d8d7e9; text-shadow: 0 0 12px rgba(216,215,233,.13); }
.rarity-uncommon { color: #51eaa2; text-shadow: 0 0 14px rgba(81,234,162,.24); }
.rarity-rare { color: #b985ff; text-shadow: 0 0 16px rgba(185,133,255,.30); }
.rarity-super_rare { color: #ff75df; text-shadow: 0 0 18px rgba(255,117,223,.36); }
.rarity-ultra_rare {
  color: #ffd166;
  background: linear-gradient(90deg, #ffe58a, #8be7ff, #ff75df, #ffd166);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  text-shadow: 0 0 18px rgba(255,209,102,.24);
}
.missing-card-preview {
  border: 1px dashed rgba(255,255,255,.20);
  background: rgba(0,0,0,.26) !important;
}
.missing-card-preview .placeholder {
  display: grid;
  gap: 6px;
  place-items: center;
  width: 100%;
  height: 100%;
  padding: 22px;
  color: var(--muted);
  text-align: center;
}
.missing-card-preview .placeholder strong { color: var(--soft); font-size: 17px; }
.missing-card-preview .placeholder span { font-size: 12px; }
.share-row { align-items: stretch; }
.share-row .button { white-space: nowrap; }
.detail-close:hover,
.detail-close:focus-visible {
  border-color: rgba(100,216,255,.65);
  background: rgba(100,216,255,.14);
}
@media (max-width: 820px) {
  .detail-overlay { padding: 10px; align-items: start; }
  .detail-panel { width: min(100%, calc(100vw - 20px)); max-height: calc(100vh - 20px); border-radius: 22px; }
  .detail-grid { grid-template-columns: 1fr; padding: 18px; }
  .detail-art { width: min(100%, 390px); margin: 0 auto; }
  .detail-content h1 { max-width: none; font-size: clamp(30px, 9vw, 46px); }
  .detail-close { width: 38px; height: 38px; margin: 8px 8px 0 0; }
}
@media (max-width: 560px) {
  .detail-meta { grid-template-columns: 1fr; }
  .variant-picker { padding: 10px; border-radius: 16px; }
  .variant-chip { flex: 1 1 auto; justify-content: center; }
  .share-row { display: grid; grid-template-columns: 1fr; }
  .share-row .button { width: 100%; }
  .big-links a.public-link-button { flex: 1 1 100%; }
}

/* v=public-rules-guide-263 */
.rules-page .section.tight,
.guide-page .section.tight { padding: 30px 0; }
.rules-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 330px);
  gap: 22px;
  align-items: stretch;
}
.rules-hero h1 { font-size: clamp(44px, 7vw, 82px); }
.quick-rule-card {
  border: 1px solid var(--line);
  border-radius: 24px;
  padding: 18px;
  display: grid;
  align-content: center;
  gap: 8px;
  background: rgba(255,255,255,.045);
}
.quick-rule-card span {
  color: var(--gold);
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: 11px;
  font-weight: 950;
}
.quick-rule-card strong { font-size: 24px; line-height: 1.05; }
.quick-rule-card p { color: var(--muted); }
.rule-anchor-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.rule-anchor-grid a {
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 14px;
  text-decoration: none;
  color: var(--soft);
  background: rgba(255,255,255,.045);
  font-weight: 900;
}
.rule-anchor-grid a:hover { border-color: rgba(100,216,255,.68); color: white; background: rgba(100,216,255,.1); }
.section-heading { display: grid; gap: 8px; margin-bottom: 16px; }
.deck-rules-panel { margin-bottom: 18px; }
.deck-rule-summary {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) repeat(3, minmax(120px, .55fr));
  gap: 12px;
}
.deck-format-card,
.deck-rule-stat {
  border: 1px solid var(--line);
  border-radius: 18px;
  background: rgba(255,255,255,.045);
  padding: 14px;
  display: grid;
  gap: 4px;
}
.deck-format-card span,
.deck-rule-stat span {
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: 11px;
  font-weight: 900;
}
.deck-format-card strong { font-size: 22px; }
.deck-rule-stat strong { font-size: 24px; color: white; }
.rules-grid .feature-card { min-height: 150px; }
.type-card { position: relative; overflow: hidden; }
.type-dot {
  width: 38px;
  height: 38px;
  border-radius: 999px;
  display: inline-block;
  box-shadow: 0 0 28px currentColor;
}
.type-dot.avatar { color: var(--pink); background: rgba(255,91,231,.42); }
.type-dot.prim { color: var(--blue); background: rgba(100,216,255,.36); }
.type-dot.attachment { color: var(--gold); background: rgba(230,184,71,.4); }
.type-dot.region { color: var(--good); background: rgba(130,231,171,.35); }
.timeline { display: grid; gap: 10px; }
.timeline article {
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 14px;
  background: rgba(255,255,255,.04);
}
.timeline article strong { display:block; color: white; margin-bottom: 4px; }
.timeline article p { color: var(--muted); }
.term-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.term-grid.wide { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.term {
  border: 1px solid var(--line);
  border-radius: 18px;
  background: rgba(255,255,255,.045);
  padding: 14px;
  display: grid;
  gap: 5px;
}
.term strong { color: white; }
.term span { color: var(--muted); }
.faq-list { display:grid; gap: 12px; }
.faq-list details { padding: 0; overflow: hidden; }
.faq-list summary {
  list-style: none;
  cursor: pointer;
  padding: 16px 18px;
  font-weight: 950;
}
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list details p { padding: 0 18px 18px; }
@media (max-width: 880px) {
  .rules-hero,
  .deck-rule-summary,
  .rule-anchor-grid,
  .term-grid,
  .term-grid.wide { grid-template-columns: 1fr; }
}

/* v=public-open-image-clone-270
   The /cards Open image action now opens the same layered card preview used in
   detail view, enlarged in-page, so art/overlay/signature/finish layers stay
   together instead of linking to the raw base art asset. */
.card-image-overlay[hidden] { display: none !important; }
.card-image-overlay {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: grid;
  place-items: center;
  padding: clamp(12px, 3vw, 32px);
}
.card-image-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(3, 5, 13, .88);
  backdrop-filter: blur(10px);
}
.card-image-panel {
  position: relative;
  z-index: 1;
  max-width: 96vw;
  max-height: 96vh;
  display: grid;
  place-items: center;
}
.card-image-close {
  top: -10px;
  right: -10px;
  z-index: 5;
}
.full-card-image-wrap {
  display: grid;
  place-items: center;
  max-width: 96vw;
  max-height: 96vh;
}
.full-card-image.card-image {
  width: min(92vw, 62vh, 760px);
  aspect-ratio: 2.5 / 3.5;
  border-radius: 28px;
  box-shadow: 0 30px 120px rgba(0,0,0,.68), 0 0 0 1px rgba(255,255,255,.08);
  background: transparent;
}
.full-card-image.card-image.layered-public-card::after { display: none; }
body.card-image-open { overflow: hidden; }
@media (max-width: 760px) {
  .full-card-image.card-image { width: min(94vw, 64vh); border-radius: 22px; }
  .card-image-close { top: 4px; right: 4px; }
}

/* v=public-open-image-clone-270
   Open Image clones the already-rendered detail card instead of rebuilding
   from partial data, so art/overlay/finish/signature stay exactly matched. */
.full-card-image-wrap > .card-image {
  width: min(92vw, 62vh, 760px);
  aspect-ratio: 2.5 / 3.5;
}
.full-card-image.card-image img,
.full-card-image.card-image .public-card-layer {
  display: block !important;
}

/* v=public-open-image-no-frame-271
   The enlarged Open Image view should show only the card itself, not an
   extra browser-frame treatment around the already-framed card art. */
.full-card-image.card-image,
.full-card-image-wrap > .card-image {
  background: transparent !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
.full-card-image.card-image::before,
.full-card-image-wrap > .card-image::before {
  display: none !important;
}


/* ==========================================================================\n   Prim Legends public nightlife redesign v275\n   ========================================================================== */
:root {
  --bg: #070707;
  --panel: #0d0d0f;
  --panel2: #151416;
  --line: rgba(205,168,75,.24);
  --line2: rgba(205,168,75,.55);
  --text: #f5f1e9;
  --muted: #a9a3a7;
  --soft: #ded8d5;
  --purple: #76106f;
  --purple-bright: #a20c8f;
  --blue: #58c7ff;
  --pink: #ff2aa1;
  --gold: #cda84b;
  --gold-bright: #e6c663;
  --good: #7ce0a8;
  --warn: #e6c663;
  --bad: #ff697d;
  --shadow: 0 30px 80px rgba(0,0,0,.62);
}
* { scrollbar-color: #4b3150 #080808; }
body {
  color: var(--text);
  background: #070707;
  font-family: "Segoe UI", Arial, sans-serif;
}
body::before {
  z-index:-1;
  opacity:.18;
  background-image:
    repeating-linear-gradient(0deg, rgba(255,255,255,.025) 0 1px, transparent 1px 4px),
    linear-gradient(90deg, transparent, rgba(118,16,111,.16) 52%, transparent);
  background-size:auto;
  mask-image:none;
}
body::after { content:""; position:fixed; inset:0; z-index:-2; pointer-events:none; background:radial-gradient(circle at 72% 12%, rgba(118,16,111,.18), transparent 29%), radial-gradient(circle at 20% 70%, rgba(205,168,75,.05), transparent 26%); }
a { text-decoration-thickness: 1px; text-underline-offset: 3px; }
.shell { width:min(1240px, calc(100% - 40px)); }
.shell-wide { width:min(1500px, calc(100% - 44px)); margin:0 auto; }
.site-header {
  position:sticky; top:0; z-index:50;
  background:rgba(5,5,5,.95);
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(205,168,75,.34);
  box-shadow:0 8px 28px rgba(0,0,0,.28);
}
.nav { min-height:78px; display:grid; grid-template-columns:240px 1fr auto; align-items:stretch; gap:24px; }
.logo { display:flex; align-items:center; gap:12px; color:var(--gold-bright); text-decoration:none; text-transform:uppercase; letter-spacing:.16em; font-weight:900; }
.logo-mark {
  width:48px; height:48px; border:0; border-radius:0; display:grid; place-items:center;
  color:var(--gold-bright); background:transparent; transform:skew(-7deg);
  font:italic 900 20px/1 Georgia, serif; letter-spacing:-.12em; text-shadow:0 0 16px rgba(205,168,75,.34);
}
.logo-words { font:900 15px/.92 "Arial Narrow", "Roboto Condensed", Arial, sans-serif; letter-spacing:.19em; }
.nav-links { display:flex; justify-content:center; align-items:stretch; gap:28px; }
.nav-links a {
  position:relative; min-height:78px; display:grid; place-items:center; padding:0 3px;
  border:0; border-radius:0; background:transparent; color:#d7d1cf;
  font:700 12px/1 "Arial Narrow", Arial, sans-serif; letter-spacing:.12em; text-transform:uppercase;
}
.nav-links a::after { content:""; position:absolute; left:50%; right:50%; bottom:-1px; height:2px; background:var(--gold); transition:.18s ease; }
.nav-links a:hover::after, .nav-links a:focus-visible::after, .nav-links a[aria-current="page"]::after { left:0; right:0; }
.nav-links a:hover { color:white; background:transparent; }
.button, .nav-links .button {
  min-height:42px; border:1px solid rgba(205,168,75,.44); border-radius:0; padding:10px 17px;
  background:#101012; color:var(--text); box-shadow:none;
  font:800 12px/1 "Arial Narrow", Arial, sans-serif; letter-spacing:.08em; text-transform:uppercase;
  clip-path:polygon(0 0, calc(100% - 8px) 0, 100% 8px, 100% 100%, 8px 100%, 0 calc(100% - 8px));
  transition:transform .15s ease, border-color .15s ease, background .15s ease;
}
.button:hover { border-color:var(--gold-bright); background:#191719; color:white; transform:translateY(-1px); }
.button.primary { color:white; border-color:#b221a5; background:linear-gradient(90deg, #62005d, #8f0a82); }
.button.primary:hover { background:linear-gradient(90deg, #7c0874, #a31394); }
.button.outline-gold { border-color:rgba(205,168,75,.7); color:#f5e4a6; background:rgba(8,8,8,.76); }
.button.large { min-height:54px; min-width:260px; justify-content:space-between; padding:13px 22px; }
.binder-button { align-self:center; gap:12px; min-width:180px; }
h1,h2,h3 { font-family:"Arial Narrow", "Roboto Condensed", Impact, sans-serif; text-transform:uppercase; letter-spacing:-.025em; }
h1 { letter-spacing:-.055em; }
.eyebrow { color:var(--gold); font:900 11px/1 "Arial Narrow", Arial, sans-serif; letter-spacing:.14em; }
.panel, .card-tile, .notice-box, .rule, .term, details.panel {
  border-color:rgba(205,168,75,.26); border-radius:8px;
  background:linear-gradient(135deg, rgba(255,255,255,.025), transparent 42%), #0c0c0e;
  box-shadow:0 18px 48px rgba(0,0,0,.28);
}
input, select {
  border:1px solid rgba(205,168,75,.33); border-radius:0; background:#09090a; color:var(--text);
  min-height:46px; outline:none;
}
input:focus, select:focus { border-color:var(--gold); box-shadow:0 0 0 2px rgba(205,168,75,.11); }

/* Home */
.home-hero { position:relative; min-height:800px; overflow:hidden; border-bottom:1px solid rgba(205,168,75,.32); background:#09090a; }
.home-hero::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(5,5,5,.98) 0%, rgba(5,5,5,.93) 39%, rgba(5,5,5,.32) 65%, rgba(5,5,5,.76) 100%), radial-gradient(circle at 73% 35%, rgba(153,13,139,.35), transparent 30%), linear-gradient(135deg,#080808,#100912 58%,#080808); }
.home-hero::after { content:""; position:absolute; left:0; right:0; bottom:0; height:180px; opacity:.23; background:repeating-linear-gradient(95deg, transparent 0 54px, rgba(205,168,75,.34) 55px 56px); transform:perspective(300px) rotateX(62deg); transform-origin:bottom; }
.hero-night-scene { position:absolute; inset:0; opacity:.48; overflow:hidden; }
.hero-night-scene::before { content:""; position:absolute; width:360px; height:360px; border:14px dotted rgba(196,36,175,.16); border-radius:50%; top:90px; left:48%; box-shadow:0 0 80px rgba(162,12,143,.25); }
.hero-night-scene span { position:absolute; bottom:0; width:7%; min-width:46px; height:18%; background:linear-gradient(#19131b,#050505); clip-path:polygon(35% 0,65% 0,72% 19%,88% 24%,100% 100%,0 100%,12% 24%,28% 19%); }
.hero-night-scene span:nth-child(1){left:5%;height:12%}.hero-night-scene span:nth-child(2){left:17%;height:20%}.hero-night-scene span:nth-child(3){right:8%;height:16%}.hero-night-scene span:nth-child(4){right:20%;height:23%}
.home-hero-grid { position:relative; z-index:2; min-height:800px; display:grid; grid-template-columns:minmax(400px,.86fr) minmax(500px,1.14fr); align-items:center; gap:30px; }
.home-hero-copy { padding:72px 0 80px 48px; }
.hero-label { display:inline-flex; border:1px solid rgba(255,42,161,.55); padding:9px 18px; margin:0 0 22px; color:#eee9eb; font:800 11px/1 "Arial Narrow",Arial,sans-serif; letter-spacing:.12em; text-transform:uppercase; }
.home-hero h1 { margin:0; font:900 clamp(76px,8vw,134px)/.79 "Arial Narrow", Impact, sans-serif; letter-spacing:-.045em; color:#f2efec; text-shadow:0 7px 22px rgba(0,0,0,.6); }
.home-hero h1 span, .home-hero h1 strong { display:block; }
.home-hero h1 strong { color:var(--gold-bright); font-weight:900; }
.brand-divider { display:flex; align-items:center; gap:16px; width:min(420px,90%); margin:26px 0 22px; color:var(--gold); font:italic 900 13px Georgia,serif; }
.brand-divider i { height:1px; flex:1; background:linear-gradient(90deg,transparent,var(--gold)); }.brand-divider i:last-child{background:linear-gradient(90deg,var(--gold),transparent)}
.home-lead { max-width:480px; color:#e2dedd; font-size:22px; line-height:1.45; }
.home-hero .hero-actions { display:grid; gap:12px; width:min(430px,100%); margin-top:30px; }
.hero-card-stage { position:relative; align-self:stretch; min-height:760px; display:grid; place-items:center; overflow:hidden; }
.hero-card-stage::before { content:""; position:absolute; width:590px; height:590px; border-radius:50%; background:radial-gradient(circle, rgba(158,18,143,.35), rgba(87,9,80,.08) 42%, transparent 68%); filter:blur(5px); }
.stage-light { position:absolute; width:170px; height:780px; top:-80px; background:linear-gradient(rgba(219,46,198,.22),transparent 74%); filter:blur(12px); transform-origin:top; }.stage-light-one{left:20%;transform:rotate(16deg)}.stage-light-two{right:14%;transform:rotate(-16deg);background:linear-gradient(rgba(205,168,75,.16),transparent 74%)}
.hero-main-card { position:relative; z-index:4; width:min(520px,52vw); margin:0; transform:rotate(3.5deg); filter:drop-shadow(0 42px 34px rgba(0,0,0,.72)); }
.hero-main-card img { display:block; width:100%; }
.hero-back-card { position:absolute; z-index:1; width:280px; opacity:.34; filter:saturate(.75) brightness(.55) drop-shadow(0 28px 30px rgba(0,0,0,.7)); }.hero-back-one{left:1%;top:17%;transform:rotate(-12deg)}.hero-back-two{right:-4%;bottom:4%;transform:rotate(12deg)}
.hero-card-credential { position:absolute; z-index:6; right:4%; bottom:48px; min-width:260px; padding:16px 20px; border-left:3px solid var(--pink); background:rgba(5,5,5,.92); box-shadow:0 12px 32px rgba(0,0,0,.5); }.hero-card-credential span,.hero-card-credential em{display:block;color:var(--gold);font:800 10px/1.4 "Arial Narrow",Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase}.hero-card-credential strong{display:block;margin:4px 0;font:900 27px/1 "Arial Narrow",Impact,sans-serif;text-transform:uppercase}.hero-card-credential em{color:#c5bcc4;font-style:normal}
.legend-ticker { min-height:88px; display:grid; grid-template-columns:160px repeat(4,minmax(140px,1fr)) repeat(3,30px) 170px; align-items:stretch; margin:0 auto; padding:0 22px; border-top:1px solid rgba(205,168,75,.42); border-bottom:1px solid rgba(205,168,75,.42); background:#09090a; }
.legend-ticker>* { min-width:0; border-right:1px solid rgba(205,168,75,.19); }
.ticker-label { display:flex; flex-direction:column; justify-content:center; color:var(--gold); font:900 11px/1.15 "Arial Narrow",Arial,sans-serif; letter-spacing:.1em; text-transform:uppercase; }.ticker-label strong{font-size:15px}
.legend-ticker a { display:flex; flex-direction:column; justify-content:center; padding:0 26px; text-decoration:none; }.legend-ticker a strong{font:900 16px/1.1 "Arial Narrow",Arial,sans-serif;text-transform:uppercase}.legend-ticker a span{margin-top:5px;color:#b6aab2;font-size:12px}.legend-ticker a:hover{background:#121013}
.legend-ticker>i { display:grid; place-items:center; color:var(--pink); border:0; font-style:normal; font-size:18px; }
.ticker-chaos { display:grid; place-items:center; color:var(--pink); font:italic 900 19px/.9 "Segoe Script",cursive; text-transform:uppercase; transform:rotate(-4deg); }
.home-section { padding:72px 0; }
.home-set-section { background:linear-gradient(180deg,#0a0a0b,#070707); }
.set-overview { display:grid; grid-template-columns:minmax(320px,1.5fr) repeat(3,minmax(130px,.55fr)) 150px; border:1px solid rgba(205,168,75,.36); background:#0d0d0e; }
.set-overview>div { min-height:150px; padding:28px; border-right:1px solid rgba(205,168,75,.18); }
.set-intro h2 { margin:3px 0 8px; font-size:38px; }.set-intro p:last-child{color:#bcb5b8;max-width:410px}
.set-stat { display:flex; flex-direction:column; justify-content:center; align-items:center; }.set-stat strong{color:var(--gold);font:900 58px/.9 "Arial Narrow",Impact,sans-serif}.set-stat span{text-transform:uppercase;letter-spacing:.08em;margin-top:12px}
.set-badge { display:flex; flex-direction:column; justify-content:center; align-items:center; color:var(--gold); }.set-badge::before{content:"";position:absolute}.set-badge span{text-transform:uppercase;font:900 11px/1 "Arial Narrow",Arial,sans-serif;letter-spacing:.12em}.set-badge strong{font:900 48px/1 Georgia,serif;border:2px solid var(--gold);padding:8px 18px;margin-top:6px;clip-path:polygon(50% 0,100% 18%,90% 82%,50% 100%,10% 82%,0 18%)}
.section-title-row { display:flex; align-items:end; justify-content:space-between; gap:24px; margin:62px 0 22px; border-bottom:1px solid rgba(205,168,75,.25); padding-bottom:14px; }.section-title-row h2{font-size:38px}.section-title-row>a{color:var(--gold);text-decoration:none;font:900 12px/1 "Arial Narrow",Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.home-featured-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.home-feature-card { display:grid; grid-template-columns:minmax(170px,1.1fr) minmax(150px,.9fr); min-height:500px; border:1px solid rgba(205,168,75,.28); background:#0c0c0e; overflow:hidden; }
.featured-card-art { position:relative; display:grid; place-items:center; padding:14px; background:radial-gradient(circle at 50% 28%, rgba(118,16,111,.27), transparent 52%),#080809; }.featured-card-art img{display:block;width:100%;max-height:480px;object-fit:contain;filter:drop-shadow(0 22px 20px rgba(0,0,0,.7));transition:.18s ease}.featured-card-art:hover img{transform:translateY(-4px);filter:drop-shadow(0 28px 25px rgba(0,0,0,.76))}
.featured-card-copy { padding:30px 22px; display:flex; flex-direction:column; }.featured-card-copy h3{font-size:37px;line-height:.9;margin:8px 0 22px}.featured-card-copy dl{margin:0;display:grid;gap:0;border-top:1px solid rgba(205,168,75,.18)}.featured-card-copy dl div{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid rgba(205,168,75,.18)}.featured-card-copy dt{color:#a9a1a6;text-transform:uppercase;font-size:11px;letter-spacing:.08em}.featured-card-copy dd{margin:0;color:#eee}.featured-card-copy>a{margin-top:auto;color:var(--gold);font:900 12px/1 "Arial Narrow",Arial,sans-serif;text-transform:uppercase;text-decoration:none}
.home-inworld-section { padding-top:20px; background:#070707; }
.inworld-panel { display:grid; grid-template-columns:.86fr .78fr 1.25fr; min-height:530px; border:1px solid rgba(205,168,75,.42); background:#0c0c0d; overflow:hidden; }
.inworld-callout { position:relative; padding:50px 38px; border-right:1px solid rgba(205,168,75,.28); }.inworld-callout h2{font-size:55px;line-height:.88;margin:10px 0 22px}.inworld-callout>p:not(.eyebrow){color:#c8c0c3;line-height:1.65;max-width:430px}.not-here-note{position:absolute;right:24px;top:173px;color:var(--pink);font:italic 900 16px/1 "Segoe Script",cursive;transform:rotate(-7deg);text-transform:uppercase}.inworld-callout .button{margin-top:25px}
.inworld-steps { padding:40px 28px; display:grid; align-content:center; gap:20px; border-right:1px solid rgba(205,168,75,.28); }.inworld-steps article{display:grid;grid-template-columns:52px 1fr;gap:15px;padding:18px 0;border-bottom:1px solid rgba(205,168,75,.18)}.inworld-steps article:last-child{border-bottom:0}.inworld-steps b{color:var(--gold);font:900 24px/1 "Arial Narrow",Impact,sans-serif}.inworld-steps h3{font-size:19px;margin-bottom:6px}.inworld-steps p{color:#a9a1a6;font-size:13px}
.venue-scene { position:relative; overflow:hidden; min-height:530px; background:linear-gradient(155deg,rgba(68,7,65,.28),transparent 42%),linear-gradient(#10101a 0 58%,#08070a 58%); }.venue-scene::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0 22%,rgba(154,17,141,.18) 23% 24%,transparent 25% 70%,rgba(205,168,75,.13) 71% 72%,transparent 73%),repeating-linear-gradient(90deg,rgba(255,255,255,.025) 0 1px,transparent 1px 64px)}.venue-scene::after{content:"";position:absolute;left:-10%;right:-10%;bottom:-90px;height:230px;background:repeating-linear-gradient(90deg,transparent 0 68px,rgba(169,25,153,.22) 69px 70px);transform:perspective(260px) rotateX(58deg)}
.venue-neon { position:absolute; z-index:3; left:50%; top:58px; transform:translateX(-50%); min-width:260px; padding:18px 34px; border:3px solid #d335c4; box-shadow:0 0 12px #a80b9a,inset 0 0 12px #a80b9a,0 0 42px rgba(178,15,161,.52); text-align:center; text-transform:uppercase; }.venue-neon span,.venue-neon strong{display:block;color:#f5b5ed;text-shadow:0 0 8px #ff39e7;font:900 36px/.82 "Arial Narrow",Impact,sans-serif}.venue-neon em{display:block;margin-top:13px;color:#f4d56e;font:900 13px/1 "Arial Narrow",Arial,sans-serif;letter-spacing:.13em;font-style:normal}
.venue-door{position:absolute;left:28%;right:28%;top:210px;bottom:70px;border:2px solid rgba(205,168,75,.42);background:linear-gradient(rgba(117,11,107,.16),rgba(0,0,0,.72));box-shadow:0 0 40px rgba(139,15,127,.24)}.venue-rail{position:absolute;bottom:85px;height:2px;width:45%;background:var(--gold);opacity:.5}.rail-one{left:0;transform:rotate(-7deg)}.rail-two{right:0;transform:rotate(7deg)}
.venue-crowd{position:absolute;z-index:4;left:5%;right:5%;bottom:0;height:180px;display:flex;align-items:end;justify-content:center;gap:9px}.venue-crowd i{display:block;width:7%;min-width:28px;height:72%;background:linear-gradient(#291527,#050505);clip-path:polygon(35% 0,65% 0,73% 17%,91% 26%,100% 100%,0 100%,9% 26%,27% 17%);filter:drop-shadow(0 -8px 12px rgba(255,42,161,.08))}.venue-crowd i:nth-child(2n){height:92%;background:linear-gradient(#15243a,#050505)}.venue-crowd i:nth-child(3n){height:82%;background:linear-gradient(#3b1c1c,#050505)}

/* Catalog */
.catalog-page { padding:42px 0 80px; }
.catalog-heading { display:grid; grid-template-columns:minmax(350px,1fr) minmax(300px,.8fr) minmax(430px,1.05fr); gap:36px; align-items:end; padding-bottom:30px; border-bottom:1px solid rgba(205,168,75,.25); }
.catalog-heading h1 { margin:0; font-size:clamp(58px,6.5vw,102px); line-height:.82; }.catalog-lead{color:#aaa2a6;margin-top:12px;font-size:17px}.catalog-search{display:grid;grid-template-columns:auto 1fr 38px;align-items:center;border:1px solid rgba(205,168,75,.38);background:#09090a}.catalog-search span{padding:0 13px;color:var(--gold);font:900 10px/1 "Arial Narrow",Arial,sans-serif;text-transform:uppercase;letter-spacing:.1em}.catalog-search input{border:0;box-shadow:none}.catalog-search b{font-size:26px;color:var(--gold);font-weight:400}.catalog-stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid rgba(205,168,75,.38);background:#0c0c0d}.catalog-stats div{padding:17px 14px;border-right:1px solid rgba(205,168,75,.22)}.catalog-stats div:last-child{border-right:0}.catalog-stats span{display:block;color:#a99fa4;font:900 9px/1.2 "Arial Narrow",Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em}.catalog-stats strong{display:block;margin-top:6px;color:var(--gold);font:900 28px/1 "Arial Narrow",Impact,sans-serif}
.catalog-controls { padding:24px 0; border-bottom:1px solid rgba(205,168,75,.25); }
.catalog-tabs { display:grid; grid-template-columns:repeat(5,1fr); border:1px solid rgba(205,168,75,.35); margin-bottom:12px; }.catalog-tabs button{min-height:48px;border:0;border-right:1px solid rgba(205,168,75,.22);background:#0b0b0d;color:#c9c2c5;font:900 12px/1 "Arial Narrow",Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em;cursor:pointer}.catalog-tabs button:last-child{border-right:0}.catalog-tabs button:hover{background:#151116}.catalog-tabs button.active{background:linear-gradient(90deg,#5f0759,#89087e);color:white;box-shadow:inset 0 -2px 0 var(--pink)}
.controls.catalog-filters { grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; margin:0; border:1px solid rgba(205,168,75,.35); }.catalog-filters label{display:grid;grid-template-columns:auto 1fr;align-items:center;border-right:1px solid rgba(205,168,75,.22);background:#09090a}.catalog-filters label:last-of-type{border-right:0}.catalog-filters label>span{padding-left:14px;color:var(--gold);font:900 9px/1 "Arial Narrow",Arial,sans-serif;text-transform:uppercase;letter-spacing:.09em}.catalog-filters select{border:0;box-shadow:none;padding-left:10px;background:#09090a}
.catalog-summary { margin:16px 0 0; display:flex; align-items:center; gap:14px; }.catalog-summary strong{font:900 12px/1 "Arial Narrow",Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em}.catalog-summary .button{margin-left:auto}.catalog-summary .pill{border-radius:0}
.catalog-layout { display:grid; grid-template-columns:minmax(0,1fr) 380px; gap:20px; padding-top:26px; align-items:start; }
.card-grid.catalog-card-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.catalog-card-grid .card-tile { overflow:hidden; border:1px solid rgba(205,168,75,.24); border-radius:8px; background:#0b0b0c; box-shadow:none; transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease; }.catalog-card-grid .card-tile:hover{transform:translateY(-2px);border-color:rgba(205,168,75,.65);box-shadow:0 22px 44px rgba(0,0,0,.34)}.catalog-card-grid .card-tile.selected{border-color:var(--pink);box-shadow:0 0 0 1px rgba(255,42,161,.28),0 22px 44px rgba(0,0,0,.4)}
.card-tile-open .card-image { background:#070708; }
.card-image img { object-fit:contain; }
.catalog-card-grid .card-info { padding:11px; border-top:1px solid rgba(205,168,75,.19); }.catalog-card-grid .card-title-row{align-items:center}.catalog-card-grid .card-title-row strong{font:900 16px/1 "Arial Narrow",Arial,sans-serif;text-transform:uppercase}.catalog-card-number{color:var(--gold);font:900 15px/1 "Arial Narrow",Impact,sans-serif}.catalog-card-footer{display:flex;align-items:end;justify-content:space-between;gap:10px;margin-top:7px}.catalog-card-footer>span{color:#8e858b;font-size:10px;text-transform:uppercase}.catalog-card-footer button{border:0;padding:0;background:transparent;color:var(--gold);font:900 10px/1 "Arial Narrow",Arial,sans-serif;text-transform:uppercase;cursor:pointer}.catalog-card-footer button:hover{color:white}.open-hint{border-radius:0;border-color:rgba(205,168,75,.6);background:rgba(6,6,7,.92);color:var(--gold)}
.catalog-spotlight { position:sticky; top:100px; max-height:calc(100vh - 120px); overflow:auto; padding:16px; border:1px solid rgba(205,168,75,.48); background:linear-gradient(145deg,rgba(255,255,255,.025),transparent 38%),#0b0b0c; box-shadow:0 22px 60px rgba(0,0,0,.45); }.spotlight-kicker{display:flex;justify-content:space-between;padding:0 2px 13px;border-bottom:1px solid rgba(205,168,75,.24);color:var(--gold);font:900 10px/1 "Arial Narrow",Arial,sans-serif;text-transform:uppercase;letter-spacing:.09em}.spotlight-kicker b{color:#8e858b;font-weight:700}.spotlight-art{padding:16px 22px 12px;background:radial-gradient(circle at 50% 32%,rgba(118,16,111,.25),transparent 54%)}.catalog-spotlight-image{width:100%;max-height:520px;aspect-ratio:2.5/3.5}.catalog-spotlight-image img{object-fit:contain}.spotlight-title{display:flex;align-items:end;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid rgba(205,168,75,.22)}.spotlight-title h2{font-size:35px;line-height:.9;margin:4px 0 0}.spotlight-title>strong{color:var(--gold);font:900 28px/1 "Arial Narrow",Impact,sans-serif}.spotlight-facts{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid rgba(205,168,75,.22)}.spotlight-facts div{padding:12px 4px;border-bottom:1px solid rgba(205,168,75,.12)}.spotlight-facts div:nth-child(odd){border-right:1px solid rgba(205,168,75,.12)}.spotlight-facts span,.spotlight-facts strong{display:block}.spotlight-facts span{color:var(--gold);font:900 9px/1 "Arial Narrow",Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em}.spotlight-facts strong{margin-top:5px;font-size:13px}.spotlight-section{padding:16px 0;border-bottom:1px solid rgba(205,168,75,.22)}.spotlight-section h3{display:flex;justify-content:space-between;font-size:15px;margin:0 0 12px;color:var(--gold)}.spotlight-section p{color:#aaa2a6;font-size:13px;line-height:1.55}.spotlight-variants{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.spotlight-variant{border:1px solid rgba(205,168,75,.22);background:#080809;padding:5px;color:#aaa2a6;cursor:pointer}.spotlight-variant.active{border-color:var(--pink)}.spotlight-variant .card-image{aspect-ratio:2.5/3.5}.spotlight-variant>span{display:block;padding:5px 0 1px;font-size:9px;text-transform:uppercase}.spotlight-actions{display:grid;gap:8px;padding-top:16px}.spotlight-actions .button{width:100%}
.catalog-pack-note{display:grid;grid-template-columns:90px 1fr auto;align-items:center;gap:24px;margin-top:28px;padding:24px;border:1px solid rgba(255,42,161,.55);background:linear-gradient(90deg,rgba(118,16,111,.16),transparent),#0b0b0c}.catalog-pack-note h2{font-size:25px;margin:4px 0}.catalog-pack-note p:last-child{color:#aaa2a6}.pack-cube{width:70px;height:70px;display:grid;place-items:center;border:2px solid var(--pink);color:var(--pink);transform:rotate(45deg);box-shadow:0 0 22px rgba(255,42,161,.2)}.pack-cube span{transform:rotate(-45deg);font:900 16px Georgia,serif}

/* Existing public content pages and overlays */
.rules-page,.guide-page,.compact-page{padding-top:52px}.rules-hero{border-radius:8px}.rules-hero h1,.compact-page h1{font-size:clamp(52px,7vw,88px)}.quick-rule-card,.deck-format-card,.deck-rule-stat,.term,.timeline article{border-radius:0}.rule-anchor-grid a{border-radius:0}.type-dot{border-radius:0}.faq-list details{border-radius:5px}.footer{margin-top:0;border-top:1px solid rgba(205,168,75,.38);background:#050505;color:#a89fa4}.nightlife-footer{padding:34px 0 18px}.footer-grid{display:grid!important;grid-template-columns:260px 1fr auto;align-items:center;gap:40px}.footer-brand{display:flex;align-items:center;color:var(--gold);text-decoration:none;text-transform:uppercase;font:900 13px/1 "Arial Narrow",Arial,sans-serif;letter-spacing:.12em}.footer-copy{display:grid;gap:4px}.footer-copy strong{color:var(--pink);font:italic 900 23px/1 "Segoe Script",cursive;text-transform:uppercase}.footer-copy span{color:#999095}.footer-links{display:flex;flex-wrap:wrap;gap:22px}.footer-links a{color:#c4bdc0;text-decoration:none;font:800 10px/1 "Arial Narrow",Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:22px;margin-top:22px;border-top:1px solid rgba(205,168,75,.18);font-size:10px;text-transform:uppercase;letter-spacing:.06em}
.detail-backdrop{background:rgba(0,0,0,.84);backdrop-filter:blur(8px)}.detail-panel{border-radius:8px;border-color:rgba(205,168,75,.5);background:#0a0a0c}.detail-close{border-radius:0;border-color:rgba(205,168,75,.4);background:#09090a;color:var(--gold)}.detail-art .card-image{border-radius:5px}.detail-content h1{font-family:"Arial Narrow",Impact,sans-serif}.meta-row{border-radius:0;border-color:rgba(205,168,75,.22);background:#0e0e10}.variant-picker{border-radius:0;border-color:rgba(205,168,75,.24);background:#09090a}.variant-chip{border-radius:0}.big-links a,.big-links a.public-link-button{border-radius:0}.share-row input{border-radius:0}

@media(max-width:1200px){
  .home-hero-grid{grid-template-columns:.85fr 1.15fr}.hero-main-card{width:min(480px,50vw)}
  .legend-ticker{grid-template-columns:140px repeat(4,1fr) repeat(3,20px) 140px}.legend-ticker a{padding:0 15px}
  .home-feature-card{grid-template-columns:1fr}.featured-card-art img{max-height:410px}.featured-card-copy{min-height:280px}
  .catalog-heading{grid-template-columns:1fr 1fr}.catalog-stats{grid-column:1/-1}.catalog-layout{grid-template-columns:minmax(0,1fr) 340px}.card-grid.catalog-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
  .shell-wide{width:min(100% - 28px,1500px)}.nav{grid-template-columns:1fr auto;min-height:70px}.nav-links{display:none}.binder-button{min-width:150px}.home-hero,.home-hero-grid{min-height:auto}.home-hero-grid{grid-template-columns:1fr}.home-hero-copy{padding:70px 20px 35px}.home-hero h1{font-size:clamp(68px,17vw,112px)}.hero-card-stage{min-height:650px}.hero-main-card{width:min(500px,78vw)}.legend-ticker{display:flex;overflow:auto;padding:0}.legend-ticker>*{min-width:170px}.ticker-label{padding-left:20px}.set-overview{grid-template-columns:1fr 1fr}.set-intro{grid-column:1/-1}.set-badge{grid-column:1/-1}.home-featured-grid{grid-template-columns:1fr}.home-feature-card{grid-template-columns:minmax(220px,.8fr) 1fr;min-height:430px}.inworld-panel{grid-template-columns:1fr}.inworld-callout,.inworld-steps{border-right:0;border-bottom:1px solid rgba(205,168,75,.28)}.catalog-heading{grid-template-columns:1fr}.catalog-stats{grid-column:auto}.catalog-layout{grid-template-columns:1fr}.catalog-spotlight{position:relative;top:auto;max-height:none;grid-row:1}.card-grid.catalog-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.footer-grid{grid-template-columns:1fr}.footer-links{justify-content:flex-start}
}
@media(max-width:680px){
  .site-header{position:relative}.nav{grid-template-columns:1fr;gap:0;padding:12px 0}.binder-button{width:100%}.home-hero h1{font-size:clamp(60px,20vw,88px)}.home-lead{font-size:18px}.hero-card-stage{min-height:520px}.hero-main-card{width:82vw}.hero-back-card{display:none}.hero-card-credential{right:2%;bottom:20px;min-width:220px}.set-overview{grid-template-columns:1fr 1fr}.set-overview>div{min-height:120px;padding:20px}.set-intro,.set-badge{grid-column:1/-1}.set-stat strong{font-size:44px}.home-feature-card{grid-template-columns:1fr}.featured-card-copy{min-height:250px}.inworld-callout{padding:38px 24px}.inworld-callout h2{font-size:45px}.not-here-note{position:static;display:block;margin:-8px 0 20px;transform:rotate(-4deg)}.inworld-steps{padding:25px}.catalog-page{padding-top:28px}.catalog-heading h1{font-size:64px}.catalog-stats{grid-template-columns:1fr 1fr}.catalog-tabs{grid-template-columns:1fr 1fr}.catalog-tabs button:last-child{grid-column:1/-1}.controls.catalog-filters{grid-template-columns:1fr}.catalog-filters label{border-right:0;border-bottom:1px solid rgba(205,168,75,.22)}.catalog-summary{align-items:stretch;flex-wrap:wrap}.catalog-summary .button{margin-left:0;width:100%}.card-grid.catalog-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.catalog-card-grid .card-info{padding:10px}.catalog-card-grid .card-title-row strong{font-size:15px}.catalog-card-footer{display:grid}.catalog-pack-note{grid-template-columns:60px 1fr}.catalog-pack-note .button{grid-column:1/-1}.pack-cube{width:52px;height:52px}.footer-bottom{flex-direction:column}
}
@media(max-width:430px){.card-grid.catalog-card-grid{grid-template-columns:1fr}.catalog-stats{grid-template-columns:1fr 1fr}.home-hero-copy{padding-left:4px;padding-right:4px}.home-feature-card{min-height:0}}


/* ==========================================================================
   Prim Legends structure cleanup v276
   - one canonical public navigation path per destination
   - corrected Featured Legends ticker geometry
   ========================================================================== */
.nav-links { gap: 42px; }
.footer-grid.footer-grid-simple {
  grid-template-columns: 260px minmax(0, 1fr);
}
.footer-grid.footer-grid-simple .footer-copy {
  justify-self: end;
  max-width: 720px;
  text-align: right;
}

.legend-ticker {
  width: 100%;
  min-height: 92px;
  grid-template-columns:
    180px
    minmax(190px, 1fr) 44px
    minmax(190px, 1fr) 44px
    minmax(190px, 1fr) 44px
    minmax(190px, 1fr)
    190px;
  padding: 0;
  overflow: hidden;
}
.legend-ticker > * { min-width: 0; }
.legend-ticker a {
  padding: 0 28px;
  overflow: hidden;
  white-space: nowrap;
}
.legend-ticker a strong,
.legend-ticker a span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.legend-ticker > i {
  min-width: 44px;
  border-right: 1px solid rgba(205,168,75,.19);
}
.ticker-label { padding: 0 24px; }
.ticker-chaos {
  min-width: 190px;
  padding: 0 24px;
  white-space: nowrap;
}
.getting-started-grid { margin-top: 18px; }

@media (max-width: 1320px) {
  .legend-ticker {
    display: flex;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-width: thin;
  }
  .legend-ticker .ticker-label { flex: 0 0 165px; }
  .legend-ticker a { flex: 0 0 215px; }
  .legend-ticker > i { flex: 0 0 44px; }
  .legend-ticker .ticker-chaos { flex: 0 0 190px; }
}
@media (max-width: 900px) {
  .nav-links { gap: 22px; }
  .footer-grid.footer-grid-simple { grid-template-columns: 1fr; }
  .footer-grid.footer-grid-simple .footer-copy { justify-self: start; text-align: left; }
}


/* ==========================================================================\n   Homepage feature rotation + current-set control v277\n   ========================================================================== */
.hero-card-stage {
  perspective: 1500px;
  user-select: none;
  touch-action: pan-y;
}
.hero-legend-deck {
  position: absolute;
  inset: 20px 22px 72px;
  transform-style: preserve-3d;
}
.hero-legend-card {
  --manual-rotate-x: 0deg;
  --manual-rotate-y: 0deg;
  position: absolute;
  left: 50%;
  top: 50%;
  width: min(440px, 48vw);
  aspect-ratio: 5 / 7;
  opacity: 0;
  pointer-events: none;
  transform-style: preserve-3d;
  transform: translate(-50%, -50%) translate3d(0, 0, -300px) rotateY(0deg) scale(.72);
  transition: transform 900ms cubic-bezier(.2,.75,.2,1), opacity 520ms ease, filter 520ms ease;
  filter: saturate(.55) brightness(.42) drop-shadow(0 34px 48px rgba(0,0,0,.7));
  z-index: 1;
}
.hero-legend-card.is-active {
  opacity: 1;
  pointer-events: auto;
  z-index: 6;
  filter: saturate(1.08) brightness(1) drop-shadow(0 38px 50px rgba(0,0,0,.72));
  transform: translate(-50%, -50%) translate3d(0, 0, 70px) rotateX(var(--manual-rotate-x)) rotateY(var(--manual-rotate-y)) rotateZ(3deg) scale(1);
  cursor: grab;
}
.hero-legend-card.is-active.is-dragging { cursor: grabbing; transition: opacity 300ms ease, filter 300ms ease; }
.hero-legend-card.is-prev {
  opacity: .38;
  z-index: 3;
  transform: translate(-95%, -50%) translate3d(-50px, 10px, -130px) rotateY(24deg) rotateZ(-8deg) scale(.74);
}
.hero-legend-card.is-next {
  opacity: .34;
  z-index: 2;
  transform: translate(-6%, -48%) translate3d(40px, 12px, -160px) rotateY(-26deg) rotateZ(9deg) scale(.7);
}
.hero-legend-card.is-far-prev {
  opacity: .07;
  transform: translate(-125%, -48%) translate3d(-120px, 20px, -360px) rotateY(38deg) rotateZ(-13deg) scale(.54);
}
.hero-legend-card.is-far-next {
  opacity: .06;
  transform: translate(30%, -46%) translate3d(130px, 20px, -380px) rotateY(-38deg) rotateZ(13deg) scale(.52);
}
.hero-legend-card-inner {
  position: absolute;
  inset: 0;
  transform-style: preserve-3d;
}
.hero-legend-face {
  position: absolute;
  inset: 0;
  overflow: hidden;
  backface-visibility: hidden;
  border-radius: 7.7%;
  background: #171729;
}
.hero-legend-face img { width: 100%; height: 100%; display: block; object-fit: contain; pointer-events: none; }
.hero-card-credential {
  min-width: 290px;
  max-width: min(390px, 70%);
  right: 2%;
  bottom: 46px;
  z-index: 12;
}
.hero-card-credential a {
  display: inline-flex;
  margin-top: 9px;
  color: var(--gold-bright);
  font: 800 11px/1 "Arial Narrow", Arial, sans-serif;
  letter-spacing: .12em;
  text-transform: uppercase;
  text-decoration: none;
}
.hero-card-controls {
  position: absolute;
  left: 24px;
  bottom: 24px;
  z-index: 13;
  display: flex;
  border: 1px solid rgba(205,168,75,.48);
  background: rgba(5,5,6,.84);
  box-shadow: 0 14px 30px rgba(0,0,0,.38);
}
.hero-card-controls button {
  min-width: 48px;
  min-height: 38px;
  padding: 0 13px;
  border: 0;
  border-right: 1px solid rgba(205,168,75,.28);
  border-radius: 0;
  background: transparent;
  color: var(--text);
  font: 800 10px/1 "Arial Narrow", Arial, sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
}
.hero-card-controls button:last-child { border-right: 0; }
.hero-card-controls button:hover, .hero-card-controls button:focus-visible { background: var(--purple); color: #fff; }
.hero-legend-progress {
  position: absolute;
  left: 50%;
  bottom: 104px;
  z-index: 13;
  display: flex;
  width: min(44%, 520px);
  gap: 7px;
  transform: translateX(-50%);
}
.hero-legend-progress button {
  flex: 1 1 0;
  width: auto;
  min-width: 8px;
  height: 3px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: rgba(255,255,255,.24);
  cursor: pointer;
}
.hero-legend-progress button.is-active { background: var(--pink); box-shadow: 0 0 12px rgba(255,42,161,.66); }

.legend-ticker {
  display: grid;
  grid-template-columns: 180px minmax(0,1fr) 190px;
  align-items: stretch;
  min-height: 98px;
  overflow: hidden;
}
.legend-ticker-window { min-width: 0; overflow-x: auto; overflow-y: hidden; scrollbar-width: thin; }
.legend-ticker-track { min-width: max-content; height: 100%; display: flex; align-items: stretch; }
.legend-ticker-item {
  position: relative;
  width: clamp(180px, 18vw, 260px);
  min-height: 96px;
  padding: 20px 30px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  border: 0;
  border-right: 1px solid rgba(205,168,75,.18);
  border-radius: 0;
  background: #09090a;
  color: var(--text);
  text-align: left;
  cursor: pointer;
  transition: background 260ms ease, color 260ms ease;
}
.legend-ticker-item::after {
  content: "✦";
  position: absolute;
  right: 18px;
  top: 50%;
  color: var(--pink);
  opacity: 0;
  transform: translateY(-50%) scale(.7);
  transition: opacity 250ms ease, transform 250ms ease;
}
.legend-ticker-item strong { font: 900 16px/1 "Arial Narrow", Arial, sans-serif; letter-spacing: .04em; text-transform: uppercase; }
.legend-ticker-item span { margin-top: 8px; color: var(--muted); font-family: Georgia, serif; font-size: 13px; }
.legend-ticker-item:hover, .legend-ticker-item.is-active { background: linear-gradient(90deg, rgba(118,16,111,.34), #09090a 70%); }
.legend-ticker-item.is-active::after { opacity: 1; transform: translateY(-50%) scale(1); }
.legend-ticker-item.is-active strong { color: #fff; }
.ticker-chaos { min-width: 0; }

.set-overview {
  grid-template-columns: minmax(390px, 1.7fr) repeat(2, minmax(170px,.7fr)) 180px;
}
.set-intro { min-height: 205px; }
.set-intro h2 { max-width: none; }
.set-intro p:last-child { display: none; }

@media (max-width: 1080px) {
  .hero-legend-card { width: min(390px, 55vw); }
  .hero-card-credential { right: 0; }
  .legend-ticker { grid-template-columns: 145px minmax(0,1fr) 150px; }
  .set-overview { grid-template-columns: 1.4fr repeat(2,.65fr) 140px; }
}
@media (max-width: 760px) {
  .hero-card-stage { min-height: 660px; }
  .hero-legend-deck { inset: 8px 0 115px; }
  .hero-legend-card { width: min(330px, 78vw); }
  .hero-legend-card.is-prev { transform: translate(-88%,-50%) translate3d(-20px,0,-120px) rotateY(22deg) rotateZ(-8deg) scale(.66); }
  .hero-legend-card.is-next { transform: translate(-12%,-48%) translate3d(20px,0,-140px) rotateY(-22deg) rotateZ(8deg) scale(.64); }
  .hero-card-credential { left: 14px; right: 14px; bottom: 58px; min-width: 0; max-width: none; }
  .hero-card-controls { left: 14px; bottom: 10px; }
  .hero-legend-progress {
    top: 14px;
    right: 14px;
    bottom: auto;
    left: 14px;
    width: auto;
    transform: none;
  }
  .legend-ticker { grid-template-columns: 120px minmax(0,1fr); }
  .ticker-chaos { display: none; }
  .legend-ticker-item { width: 190px; padding: 17px 20px; }
  .set-overview { grid-template-columns: 1fr 1fr; }
  .set-intro { grid-column: 1 / -1; min-height: 160px; }
  .set-badge { grid-column: auto; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-legend-card, .hero-legend-card-inner, .legend-ticker-item, .legend-ticker-item::after { transition-duration: 1ms !important; }
}


/* Homepage layered Featured Legends v278 */
.hero-legend-front.is-layered {
  isolation: isolate;
}
.hero-legend-front.is-layered .hero-legend-layer {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  pointer-events: none;
}
.hero-legend-front.is-layered .hero-legend-art { z-index: 1; }
.hero-legend-front.is-layered .hero-legend-overlay { z-index: 3; }
.hero-legend-front.is-layered .hero-legend-signature { z-index: 4; }


/* Featured Legend navigation rail v281
   Replaces one rectangle per card with a compact fixed-width progress rail.
   This cannot grow into the card controls as more Featured Legends are added. */
.hero-legend-progress {
  --legend-progress: 0%;
  position: absolute;
  z-index: 14;
  left: auto;
  right: 24px;
  bottom: 34px;
  width: 220px;
  display: grid;
  grid-template-columns: auto minmax(56px, 1fr) auto;
  align-items: center;
  gap: 10px;
  transform: none;
  pointer-events: none;
}
.hero-legend-progress .hero-progress-number {
  color: rgba(255,255,255,.78);
  font: 800 10px/1 "Arial Narrow", Arial, sans-serif;
  letter-spacing: .12em;
  font-variant-numeric: tabular-nums;
}
.hero-legend-progress .hero-progress-total { color: rgba(255,255,255,.42); }
.hero-legend-progress .hero-progress-track {
  position: relative;
  display: block;
  height: 3px;
  overflow: hidden;
  background: rgba(255,255,255,.22);
}
.hero-legend-progress .hero-progress-track i {
  position: absolute;
  inset: 0 auto 0 0;
  width: var(--legend-progress);
  background: var(--pink);
  box-shadow: 0 0 12px rgba(255,42,161,.66);
  transition: width 420ms cubic-bezier(.2,.75,.2,1);
}
@media (max-width: 1180px) {
  .hero-legend-progress {
    right: 18px;
    bottom: 88px;
    width: 210px;
  }
}
@media (max-width: 760px) {
  .hero-legend-progress {
    top: 14px;
    right: 14px;
    bottom: auto;
    left: 14px;
    width: auto;
  }
}
@media (prefers-reduced-motion: reduce) {
  .hero-legend-progress .hero-progress-track i { transition-duration: 1ms !important; }
}


/* Homepage hero clearance v284
   Keep the dimensional Featured Legend deck inside the visual card half of the
   hero. The long LEGENDS. line no longer shares space with supporting cards. */
.home-hero-copy {
  position: relative;
  z-index: 20;
  min-width: 0;
}
.home-hero h1 strong {
  font-size: .84em;
  letter-spacing: -.055em;
}
.hero-card-stage {
  z-index: 2;
  min-width: 0;
}
@media (min-width: 1081px) {
  .hero-legend-deck {
    inset: 20px -28px 72px 72px;
  }
}
@media (max-width: 1080px) {
  .home-hero h1 strong {
    font-size: .9em;
  }
}

/* Featured Legend deck cleanup v285
   Keep the adjacent cards recognizable and fully inside the stage. Distant
   cards are hidden instead of stacking into an unreadable ghost image. */
@media (min-width: 1081px) {
  .hero-legend-deck {
    inset: 20px 12px 72px 24px;
  }
  .hero-legend-card.is-prev {
    opacity: .26;
    transform: translate(-72%, -50%) translate3d(-24px, 12px, -150px) rotateY(18deg) rotateZ(-7deg) scale(.72);
  }
  .hero-legend-card.is-next {
    opacity: .24;
    transform: translate(-28%, -48%) translate3d(24px, 12px, -170px) rotateY(-18deg) rotateZ(7deg) scale(.69);
  }
}
.hero-legend-card.is-far-prev,
.hero-legend-card.is-far-next {
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, -50%) translate3d(0, 0, -420px) scale(.45);
}

/* ==========================================================================
   Prim Legends Facon PL mark treatment v288
   The uploaded Facon glyphs are used only for the gold "PL" monogram.
   The written-out Prim Legends name keeps the normal site typography.
   ========================================================================== */
.logo-mark,
.brand-divider > span {
  position: relative;
  overflow: hidden;
  color: transparent !important;
  font-size: 0 !important;
  letter-spacing: 0 !important;
  text-shadow: none !important;
  transform: none;
}

.logo-mark::before,
.brand-divider > span::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: currentColor;
  background-color: var(--gold-bright, var(--gold));
  -webkit-mask: url("/assets/pl-facon-mark.svg") center / contain no-repeat;
  mask: url("/assets/pl-facon-mark.svg") center / contain no-repeat;
}

.logo-mark::before {
  width: 88%;
  height: 88%;
  margin: 6%;
}

.brand-divider > span {
  width: 34px;
  height: 24px;
  flex: 0 0 34px;
}

.logo-words,
.footer-brand,
.footer-brand > span:last-child,
.pl-gold-wordmark {
  font-family: "Arial Narrow", "Roboto Condensed", Arial, sans-serif;
  font-style: normal;
}

.logo-words {
  line-height: .92;
  letter-spacing: .19em;
  font-weight: 900;
}

.footer-brand {
  letter-spacing: .11em;
  font-weight: 900;
  text-transform: uppercase;
}


/* ========================================================================== 
   Support Center v291
   Task-based public support, service status, known issues, and ticket history.
   ========================================================================== */
.support-page { background: #070709; }
.support-shell { padding-top: 56px; padding-bottom: 86px; }
.support-hero {
  display: grid;
  grid-template-columns: minmax(0,1.35fr) minmax(300px,.65fr);
  gap: 28px;
  align-items: end;
  padding: 38px 0 34px;
  border-bottom: 1px solid rgba(211,170,72,.38);
}
.support-hero h1 { max-width: 920px; margin: 8px 0 14px; font-size: clamp(3rem,6vw,6.4rem); line-height: .86; letter-spacing: -.045em; }
.support-lead { max-width: 760px; margin: 0; color: var(--muted); font-size: 1.12rem; line-height: 1.6; }
.support-status-card {
  display: grid;
  grid-template-columns: 16px 1fr;
  gap: 15px;
  align-items: start;
  min-height: 150px;
  padding: 22px;
  border: 1px solid rgba(211,170,72,.42);
  background: linear-gradient(145deg,rgba(211,170,72,.085),rgba(255,255,255,.018));
  box-shadow: inset 3px 0 0 rgba(211,170,72,.7);
}
.support-status-card small { display:block; margin-bottom:8px; color:var(--gold); text-transform:uppercase; letter-spacing:.12em; font-size:.68rem; font-weight:900; }
.support-status-card strong { display:block; font-size:1.1rem; }
.support-status-card p { margin:9px 0 0; color:var(--muted); line-height:1.5; }
.support-status-dot { width:11px; height:11px; margin-top:4px; border-radius:50%; background:#76e69a; box-shadow:0 0 0 5px rgba(118,230,154,.11),0 0 18px rgba(118,230,154,.5); }
.support-status-card[data-state="degraded"] .support-status-dot,
.support-status-card[data-state="maintenance"] .support-status-dot { background:#f3c65c; box-shadow:0 0 0 5px rgba(243,198,92,.11),0 0 18px rgba(243,198,92,.5); }
.support-status-card[data-state="incident"] .support-status-dot { background:#ff6b81; box-shadow:0 0 0 5px rgba(255,107,129,.11),0 0 18px rgba(255,107,129,.5); }
.support-account-state {
  display:flex; align-items:center; justify-content:space-between; gap:24px; margin:26px 0 0; padding:18px 20px;
  border:1px solid rgba(211,170,72,.36); background:linear-gradient(145deg,rgba(211,170,72,.065),rgba(255,255,255,.015));
  box-shadow:inset 4px 0 0 rgba(211,170,72,.76); transition:border-color .16s ease,background .16s ease,box-shadow .16s ease;
}
.support-account-state-copy { display:flex; align-items:center; gap:15px; min-width:0; }
.support-account-state-copy > div { min-width:0; }
.support-account-state small { display:block; margin-bottom:5px; color:var(--gold); font-size:.66rem; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.support-account-state strong { display:block; color:#fff; font-size:1.04rem; }
.support-account-state p { margin:5px 0 0; color:var(--muted); line-height:1.45; }
.support-account-state-dot { flex:0 0 auto; width:12px; height:12px; border-radius:50%; background:#d1a848; box-shadow:0 0 0 5px rgba(209,168,72,.1),0 0 18px rgba(209,168,72,.34); }
.support-account-state.is-signed-in { border-color:rgba(118,230,154,.34); background:linear-gradient(145deg,rgba(118,230,154,.075),rgba(255,255,255,.015)); box-shadow:inset 4px 0 0 rgba(118,230,154,.82); }
.support-account-state.is-signed-in .support-account-state-dot { background:#76e69a; box-shadow:0 0 0 5px rgba(118,230,154,.11),0 0 18px rgba(118,230,154,.48); }
.support-account-state.is-guest { border-color:rgba(243,198,92,.34); }
.support-account-state.is-loading .support-account-state-dot { animation:supportAccountPulse 1.2s ease-in-out infinite; }
.support-history-hint { margin:7px 0 0; max-width:360px; color:var(--muted); font-size:.78rem; line-height:1.45; }
@keyframes supportAccountPulse { 0%,100%{opacity:.45;transform:scale(.88)} 50%{opacity:1;transform:scale(1)} }
.support-category-grid {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:0;
  margin:22px 0 36px;
  border:1px solid rgba(255,255,255,.13);
}
.support-category {
  position:relative;
  min-height:190px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
  padding:24px 22px;
  border:0;
  border-right:1px solid rgba(255,255,255,.11);
  background:linear-gradient(180deg,#101014,#0b0b0e);
  color:var(--text);
  text-align:left;
  cursor:pointer;
  transition:background .16s ease,border-color .16s ease,transform .16s ease;
}
.support-category:last-child { border-right:0; }
.support-category:hover,.support-category:focus-visible { z-index:1; background:linear-gradient(180deg,#18121b,#0d0c10); outline:1px solid rgba(222,175,73,.65); transform:translateY(-2px); }
.support-category.active { z-index:2; background:linear-gradient(160deg,rgba(105,27,99,.55),rgba(16,12,19,.96)); box-shadow:inset 0 -4px 0 #e640b9; outline:1px solid #d6a943; }
.support-category-code { color:var(--gold); font:900 .7rem/1 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.14em; }
.support-category strong { margin-top:auto; font-size:1rem; line-height:1.2; text-transform:uppercase; letter-spacing:.04em; }
.support-category small { color:var(--muted); line-height:1.45; }
.support-main-grid { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr); gap:24px; align-items:start; }
.support-side-column { display:grid; gap:24px; position:sticky; top:100px; }
.support-panel { border:1px solid rgba(255,255,255,.13); background:linear-gradient(180deg,#101014,#09090b); box-shadow:0 22px 56px rgba(0,0,0,.28); }
.support-form-panel { min-width:0; }
.support-panel-head { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:24px 26px; border-bottom:1px solid rgba(255,255,255,.1); }
.support-panel-head.compact { padding:20px 22px; }
.support-panel-head h2 { margin:4px 0 0; font-size:1.55rem; }
.support-panel-head p { margin:7px 0 0; }
.support-form { display:grid; gap:0; }
.support-form-section { padding:25px 26px; border-bottom:1px solid rgba(255,255,255,.09); }
.support-form-section h3 { margin:0 0 17px; color:#fff; font-size:.82rem; letter-spacing:.11em; text-transform:uppercase; }
.support-field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.support-field-grid label { display:grid; gap:7px; color:#d9d6df; font-size:.75rem; font-weight:850; letter-spacing:.04em; text-transform:uppercase; }
.support-field-grid input,.support-field-grid select,.support-field-grid textarea {
  width:100%; min-width:0; border:1px solid rgba(255,255,255,.16); border-radius:0; background:#08080b; color:#fff; padding:12px 13px; font:inherit; text-transform:none; letter-spacing:normal;
}
.support-field-grid textarea { resize:vertical; line-height:1.5; }
.support-field-grid input:focus,.support-field-grid select:focus,.support-field-grid textarea:focus { outline:1px solid #d0a53d; border-color:#d0a53d; box-shadow:0 0 0 3px rgba(208,165,61,.1); }
.support-span-2 { grid-column:1/-1; }
.optional { color:var(--muted); font-weight:600; text-transform:none; letter-spacing:0; }
.support-account-banner { display:flex; gap:13px; align-items:center; padding:15px 16px; border:1px solid rgba(118,230,154,.32); background:rgba(118,230,154,.06); }
.support-account-banner div { display:grid; gap:3px; }
.support-account-banner small { color:var(--muted); }
.support-account-mark { display:grid; place-items:center; width:30px; height:30px; border:1px solid rgba(118,230,154,.7); color:#76e69a; }
.support-safety-note { margin:22px 26px 0; padding:17px 18px; border:1px solid rgba(255,105,129,.45); border-left:4px solid #ff6981; background:rgba(255,105,129,.065); display:grid; gap:5px; }
.support-safety-note span { color:var(--muted); }
.support-diagnostics { margin-top:14px; border:1px solid rgba(255,255,255,.1); background:#09090c; }
.support-diagnostics summary { cursor:pointer; padding:12px 14px; color:var(--muted); font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; }
.support-diagnostics dl { margin:0; padding:0 14px 13px; display:grid; gap:8px; }
.support-diagnostics dl div { display:grid; grid-template-columns:120px minmax(0,1fr); gap:12px; padding-top:8px; border-top:1px solid rgba(255,255,255,.07); }
.support-diagnostics dt { color:var(--gold); font-size:.7rem; text-transform:uppercase; }
.support-diagnostics dd { margin:0; color:var(--muted); overflow-wrap:anywhere; }
.support-form-actions { display:flex; gap:10px; flex-wrap:wrap; padding:22px 26px 28px; }
.support-submit-status { min-height:0; margin:20px 26px 0; padding:0; }
.support-submit-status:not(:empty) { padding:13px 15px; border:1px solid rgba(255,255,255,.13); background:#0a0a0d; }
.support-submit-status.good { color:#9af0b3; border-color:rgba(118,230,154,.35); }
.support-submit-status.bad { color:#ff9caf; border-color:rgba(255,105,129,.4); }
.known-issues-list,.support-ticket-list { display:grid; }
.known-issue-card { padding:18px 21px; border-bottom:1px solid rgba(255,255,255,.08); box-shadow:inset 3px 0 0 #826b35; }
.known-issue-card:last-child { border-bottom:0; }
.known-issue-card[data-severity="minor"] { box-shadow:inset 3px 0 0 #d9a23c; }
.known-issue-card[data-severity="major"],.known-issue-card[data-severity="critical"] { box-shadow:inset 3px 0 0 #e65976; }
.known-issue-head { display:flex; justify-content:space-between; gap:10px; align-items:flex-start; }
.known-issue-card p { margin:8px 0; color:var(--muted); line-height:1.5; }
.known-issue-card small { color:#817c89; }
.support-issue-badge,.support-ticket-status { display:inline-flex; align-items:center; justify-content:center; padding:4px 7px; border:1px solid rgba(255,255,255,.18); color:var(--muted); font-size:.61rem; font-weight:900; letter-spacing:.07em; text-transform:uppercase; white-space:nowrap; }
.support-issue-active,.support-ticket-open { color:#ffd069; border-color:rgba(255,208,105,.4); }
.support-issue-monitoring,.support-ticket-investigating { color:#9bd7ff; border-color:rgba(155,215,255,.4); }
.support-issue-resolved,.support-ticket-resolved,.support-ticket-closed { color:#91e9aa; border-color:rgba(145,233,170,.36); }
.support-ticket-waiting_on_player { color:#f3a9e0; border-color:rgba(243,169,224,.4); }
.support-ticket-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px 12px; padding:16px 20px; border:0; border-bottom:1px solid rgba(255,255,255,.08); background:transparent; color:var(--text); text-align:left; cursor:pointer; }
.support-ticket-row:last-child { border-bottom:0; }
.support-ticket-row:hover { background:rgba(255,255,255,.035); }
.support-ticket-row > span:first-child { display:grid; gap:4px; min-width:0; }
.support-ticket-row small { color:var(--muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.support-ticket-row time { grid-column:1/-1; color:#767180; font-size:.67rem; }
.support-empty-state { display:grid; gap:6px; padding:22px; }
.support-empty-state span { color:var(--muted); line-height:1.45; }
.support-ticket-dialog { width:min(760px,calc(100vw - 30px)); max-height:86vh; overflow:auto; padding:30px; border:1px solid rgba(211,170,72,.45); border-radius:0; background:#0b0b0e; color:var(--text); box-shadow:0 35px 90px rgba(0,0,0,.65); }
.support-ticket-dialog::backdrop { background:rgba(0,0,0,.78); backdrop-filter:blur(4px); }
.support-dialog-close { position:absolute; top:12px; right:12px; width:38px; height:38px; border:1px solid rgba(255,255,255,.16); background:#111116; color:#fff; font-size:1.4rem; cursor:pointer; }
.support-ticket-dialog h2 { margin:7px 45px 13px 0; font-size:2rem; }
.support-ticket-meta { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:20px; }
.support-ticket-meta span { padding:5px 8px; border:1px solid rgba(255,255,255,.13); color:var(--muted); font-size:.68rem; text-transform:uppercase; }
.support-ticket-description { padding:18px; border:1px solid rgba(255,255,255,.1); background:#08080a; line-height:1.62; }
.support-ticket-timeline { margin-top:24px; }
.support-ticket-timeline article { display:grid; grid-template-columns:1fr auto; gap:8px 14px; padding:16px 0; border-top:1px solid rgba(255,255,255,.1); }
.support-ticket-timeline article time { color:var(--muted); font-size:.7rem; }
.support-ticket-timeline article p { grid-column:1/-1; margin:0; color:#d5d1dc; line-height:1.55; }
@media(max-width:1180px){.support-category-grid{grid-template-columns:repeat(3,1fr)}.support-category:nth-child(3){border-right:0}.support-category:nth-child(-n+3){border-bottom:1px solid rgba(255,255,255,.11)}.support-main-grid{grid-template-columns:1fr}.support-side-column{position:static;grid-template-columns:1fr 1fr}}
@media(max-width:820px){.support-hero{grid-template-columns:1fr}.support-category-grid{grid-template-columns:1fr 1fr}.support-category{border-bottom:1px solid rgba(255,255,255,.11)}.support-category:nth-child(odd){border-right:1px solid rgba(255,255,255,.11)}.support-category:nth-child(even){border-right:0}.support-category:last-child{grid-column:1/-1}.support-side-column{grid-template-columns:1fr}.support-field-grid{grid-template-columns:1fr}.support-span-2{grid-column:auto}}
@media(max-width:700px){.support-account-state{align-items:stretch;flex-direction:column}.support-account-state .button{width:100%;justify-content:center}}
@media(max-width:560px){.support-shell{padding-top:28px}.support-category-grid{grid-template-columns:1fr}.support-category,.support-category:nth-child(odd){border-right:0}.support-category:last-child{grid-column:auto}.support-panel-head{padding:20px}.support-form-section{padding:21px 20px}.support-safety-note{margin:18px 20px 0}.support-form-actions{padding:20px}.support-submit-status{margin-left:20px;margin-right:20px}}
.support-main-grid:has(.support-form-panel[hidden]) { grid-template-columns: 1fr; }
.support-main-grid:has(.support-form-panel[hidden]) .support-side-column { position: static; grid-template-columns: repeat(2,minmax(0,1fr)); }
@media(max-width:820px){.support-main-grid:has(.support-form-panel[hidden]) .support-side-column{grid-template-columns:1fr}}
.support-account-banner[hidden],.support-category-fields[hidden],.support-form-panel[hidden],.support-safety-note[hidden],#packJournalLink[hidden]{display:none!important}


/* ========================================================================== 
   Prim Legends motion study v293
   Reversible public-site motion pass. Motion is disabled for reduced-motion.
   ========================================================================== */
:root {
  --pl-motion-fast: 170ms;
  --pl-motion-normal: 380ms;
  --pl-motion-slow: 920ms;
  --pl-motion-ease: cubic-bezier(.2,.72,.2,1);
}

.pl-motion-ready .pl-motion-reveal {
  opacity: 0;
  transform: translate3d(0, 16px, 0);
  transition:
    opacity var(--pl-motion-slow) var(--pl-motion-ease),
    transform var(--pl-motion-slow) var(--pl-motion-ease);
  transition-delay: var(--pl-motion-delay, 0ms);
}
.pl-motion-ready .pl-motion-reveal.is-motion-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}
.pl-motion-ready .progress-track.pl-motion-reveal,
.pl-motion-ready .collection-progress-track.pl-motion-reveal {
  opacity: 1;
  transform: none;
}
.pl-motion-ready .progress-track.pl-motion-reveal i,
.pl-motion-ready .collection-progress-track.pl-motion-reveal i {
  transform: scaleX(0);
  transform-origin: left center;
}
.pl-motion-ready .progress-track.is-motion-visible i,
.pl-motion-ready .collection-progress-track.is-motion-visible i {
  animation: plProgressFill 820ms var(--pl-motion-ease) both;
  animation-delay: var(--pl-motion-delay, 0ms);
}
@keyframes plProgressFill { to { transform: scaleX(1); } }

/* The featured card receives an occasional physical-light pass. */
.hero-legend-card-inner::after {
  content: "";
  position: absolute;
  inset: 1.2%;
  z-index: 12;
  border-radius: 7.1%;
  pointer-events: none;
  opacity: 0;
  background: linear-gradient(108deg, transparent 30%, rgba(255,255,255,.03) 39%, rgba(255,241,190,.24) 48%, rgba(255,255,255,.05) 57%, transparent 67%);
  mix-blend-mode: screen;
  transform: translate3d(-150%, 0, 0) skewX(-12deg);
}
.hero-legend-card.is-active .hero-legend-card-inner::after {
  animation: plHeroCardSheen 11.5s ease-in-out 1.1s infinite;
}
@keyframes plHeroCardSheen {
  0%, 68% { opacity: 0; transform: translate3d(-150%,0,0) skewX(-12deg); }
  72% { opacity: .15; }
  81% { opacity: .7; }
  90% { opacity: 0; transform: translate3d(150%,0,0) skewX(-12deg); }
  100% { opacity: 0; transform: translate3d(150%,0,0) skewX(-12deg); }
}
.stage-light-one { animation: plStageLightOne 15s ease-in-out infinite alternate; }
.stage-light-two { animation: plStageLightTwo 18s ease-in-out infinite alternate; }
@keyframes plStageLightOne { from { transform: rotate(14deg) translateX(-10px); opacity: .66; } to { transform: rotate(19deg) translateX(18px); opacity: .92; } }
@keyframes plStageLightTwo { from { transform: rotate(-18deg) translateX(12px); opacity: .58; } to { transform: rotate(-13deg) translateX(-20px); opacity: .84; } }
.hero-night-scene::before { animation: plNightHalo 20s ease-in-out infinite alternate; }
@keyframes plNightHalo { from { transform: translate3d(-8px,-4px,0) scale(.98); opacity: .7; } to { transform: translate3d(14px,8px,0) scale(1.04); opacity: 1; } }

/* Ticker now glides to the active Legend rather than jumping. */
.legend-ticker-window { scroll-behavior: smooth; }
.legend-ticker-item { transition: background 360ms ease, color 360ms ease, opacity 360ms ease, transform 360ms var(--pl-motion-ease); }
.legend-ticker-item:not(.is-active) { opacity: .72; }
.legend-ticker-item.is-active { opacity: 1; transform: translateY(-1px); }
.hero-card-credential { transform-origin: right bottom; }
.hero-card-credential.is-swapping { animation: plCredentialSwap 430ms var(--pl-motion-ease) both; }
@keyframes plCredentialSwap {
  0% { opacity: .2; transform: translate3d(0,9px,0) scale(.985); }
  100% { opacity: 1; transform: translate3d(0,0,0) scale(1); }
}

/* Card Index: tactile cards, a restrained light response, and soft reflow. */
.catalog-card-grid .card-tile {
  --pl-tilt-x: 0deg;
  --pl-tilt-y: 0deg;
  --pl-glow-x: 50%;
  --pl-glow-y: 28%;
  position: relative;
  transform-style: preserve-3d;
  will-change: transform;
}
.catalog-card-grid .card-tile::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 5;
  pointer-events: none;
  opacity: 0;
  background: radial-gradient(circle at var(--pl-glow-x) var(--pl-glow-y), rgba(255,244,195,.16), transparent 34%);
  transition: opacity var(--pl-motion-normal) ease;
}
.catalog-card-grid .card-tile.pl-pointer-tilt {
  transform: perspective(900px) translateY(-5px) rotateX(var(--pl-tilt-x)) rotateY(var(--pl-tilt-y));
  border-color: rgba(230,198,99,.78);
  box-shadow: 0 28px 55px rgba(0,0,0,.46), 0 0 0 1px rgba(230,198,99,.1);
}
.catalog-card-grid .card-tile.pl-pointer-tilt::after { opacity: 1; }
.catalog-card-grid.motion-grid-refresh .card-tile {
  animation: plCatalogTileIn 480ms var(--pl-motion-ease) both;
  animation-delay: var(--motion-delay, 0ms);
}
@keyframes plCatalogTileIn {
  from { opacity: 0; transform: translate3d(0,10px,0) scale(.985); }
  to { opacity: 1; transform: translate3d(0,0,0) scale(1); }
}
.catalog-summary.is-counting strong { animation: plCountPulse 330ms ease both; }
@keyframes plCountPulse { 45% { color: var(--gold-bright); transform: translateY(-1px); } }
.catalog-spotlight.spotlight-swap > * { animation: plSpotlightSwap 460ms var(--pl-motion-ease) both; }
.catalog-spotlight.spotlight-swap > *:nth-child(2) { animation-delay: 45ms; }
.catalog-spotlight.spotlight-swap > *:nth-child(3) { animation-delay: 80ms; }
.catalog-spotlight.spotlight-swap > *:nth-child(n+4) { animation-delay: 110ms; }
@keyframes plSpotlightSwap {
  from { opacity: 0; transform: translate3d(0,12px,0); }
  to { opacity: 1; transform: translate3d(0,0,0); }
}

/* Site-wide microinteractions. */
.button > span:last-child,
.catalog-card-footer button,
.hero-card-credential a { transition: transform var(--pl-motion-fast) ease, color var(--pl-motion-fast) ease; }
.button:hover > span:last-child,
.catalog-card-footer button:hover,
.hero-card-credential a:hover { transform: translateX(4px); }
.button:active { transform: translateY(1px) scale(.992); }
.logo-mark::after,
.brand-divider > span::after {
  content: "";
  position: absolute;
  inset: 6%;
  pointer-events: none;
  opacity: 0;
  background: linear-gradient(100deg, transparent 20%, #fff5c0 48%, transparent 72%);
  -webkit-mask: url("/assets/pl-facon-mark.svg") center / contain no-repeat;
  mask: url("/assets/pl-facon-mark.svg") center / contain no-repeat;
  transform: translateX(-170%);
  animation: plMarkGlint 16s ease-in-out 4s infinite;
}
@keyframes plMarkGlint {
  0%, 78% { opacity: 0; transform: translateX(-170%); }
  82% { opacity: .25; }
  88% { opacity: .88; }
  94%, 100% { opacity: 0; transform: translateX(170%); }
}

@media (prefers-reduced-motion: reduce) {
  .pl-motion-ready .pl-motion-reveal,
  .pl-motion-ready .pl-motion-reveal.is-motion-visible { opacity: 1 !important; transform: none !important; transition: none !important; }
  .hero-legend-card-inner::after,
  .stage-light-one,
  .stage-light-two,
  .hero-night-scene::before,
  .logo-mark::after,
  .brand-divider > span::after,
  .catalog-card-grid.motion-grid-refresh .card-tile,
  .catalog-spotlight.spotlight-swap > * { animation: none !important; }
  .legend-ticker-window { scroll-behavior: auto; }
  .catalog-card-grid .card-tile.pl-pointer-tilt { transform: none; }
}


/* ==========================================================================\n   Current release Set badge border repair v295\n   The old border was applied to the same clipped element, which caused the\n   polygon outline to break into disconnected fragments. The badge now uses\n   a gold outer polygon and a separate inset panel for a complete outline.\n   ========================================================================== */
.set-badge-mark {
  position: relative;
  display: grid;
  place-items: center;
  width: 82px;
  height: 88px;
  margin-top: 9px;
  background: var(--gold);
  clip-path: polygon(50% 0, 100% 18%, 90% 82%, 50% 100%, 10% 82%, 0 18%);
  isolation: isolate;
}
.set-badge-mark::before {
  content: "";
  position: absolute;
  inset: 2px;
  z-index: 0;
  background: #0d0d0e;
  clip-path: inherit;
}
.set-badge .set-badge-mark strong {
  position: relative;
  z-index: 1;
  display: block;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
  border: 0;
  clip-path: none;
  background: transparent;
  color: var(--gold);
  font: 900 48px/1 Georgia, serif;
}
@media (max-width: 760px) {
  .set-badge-mark { width: 72px; height: 78px; }
  .set-badge .set-badge-mark strong { font-size: 42px; }
}


/* ==========================================================================\n   Canonical Set symbols v296\n   Uploaded symbols replace the numbered shield in the current-release rail.\n   The shield remains the automatic fallback for Sets without a symbol or when\n   an uploaded image cannot be loaded.\n   ========================================================================== */
.set-badge-mark.has-symbol {
  width: 92px;
  height: 92px;
  background: transparent;
  clip-path: none;
  overflow: visible;
}
.set-badge-mark.has-symbol::before { display: none; }
.set-badge-mark.has-symbol strong { display: none !important; }
.set-badge-symbol {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 7px 15px rgba(0,0,0,.48));
}
.set-badge-symbol[hidden] { display: none !important; }
@media (max-width: 760px) {
  .set-badge-mark.has-symbol { width: 80px; height: 80px; }
}


/* v297 cached-egress guard: paginate the public catalog so only a small
   thumbnail batch is instantiated at once. */
.catalog-pager{display:flex;align-items:center;justify-content:center;gap:14px;padding:24px 0 8px}
.catalog-pager[hidden]{display:none!important}
.catalog-pager .button{min-width:150px}
@media (max-width:700px){.catalog-pager{flex-direction:column}}


/* v299 catalog density: twenty-card batches form a 4 × 5 desktop grid. */
@media (min-width:1201px){
  .card-grid.catalog-card-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
}


/* v301 support abuse protection */
.support-turnstile{margin:14px 0;min-height:65px}
.support-turnstile[hidden]{display:none!important}
.support-turnstile.bad{min-height:0;padding:10px 12px;border:1px solid rgba(255,120,120,.45);border-radius:10px;color:#ffb3b3;background:rgba(90,20,30,.28)}
