:root {
  --bg: #08090c;
  --bg-raised: #0e1015;
  --panel: #13161d;
  --panel-2: #191d25;
  --line: #292e39;
  --line-hot: #6d2028;
  --text: #f2f3f5;
  --muted: #959ba8;
  --accent: #f04452;
  --accent-hot: #ff5966;
  --accent-dark: #9f1f2b;
  --good: #4cc38a;
  --warning: #e5ad47;
  --radius: 8px;
  --shadow: 0 18px 45px rgba(0, 0, 0, .38);
  --font: Inter, "Segoe UI", Arial, sans-serif;
}

* { box-sizing: border-box; }

html {
  color-scheme: dark;
  scroll-behavior: smooth;
}

body {
  margin: 0 !important;
  min-width: 320px;
  background: var(--bg) !important;
  color: var(--text) !important;
  font-family: var(--font) !important;
  font-size: 16px;
  line-height: 1.55;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(255,255,255,.015) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.012) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: linear-gradient(to bottom, #000, transparent 80%);
}

img { display: block; max-width: 100%; }
a { color: var(--text); text-decoration: none; }
a:hover { color: var(--accent-hot); }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }

h1, h2, h3, h4, p { margin-top: 0; }
h1, h2, h3, h4 {
  color: var(--text) !important;
  font-family: var(--font) !important;
  font-weight: 800 !important;
  letter-spacing: -.035em;
  line-height: 1.05;
}
h1 { font-size: clamp(2.3rem, 5vw, 4.8rem) !important; }
h2 { font-size: clamp(1.8rem, 3.5vw, 3rem) !important; }
h3 { font-size: 1.25rem !important; }

input, textarea, select {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--line) !important;
  border-radius: 5px !important;
  background: #0b0d12 !important;
  color: var(--text) !important;
  padding: 12px 14px !important;
  outline: none;
}
input::placeholder, textarea::placeholder { color: #676e7c; }
input:focus, textarea:focus, select:focus {
  border-color: var(--accent) !important;
  box-shadow: 0 0 0 3px rgba(240, 68, 82, .13) !important;
}

.button,
button[type="submit"],
.search-form button,
.search-bar button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  border: 1px solid var(--accent) !important;
  border-radius: 5px !important;
  background: var(--accent) !important;
  color: #fff !important;
  padding: 10px 18px !important;
  font-weight: 800 !important;
  line-height: 1;
  text-decoration: none;
  transition: background .18s, border-color .18s, transform .18s;
}
.button:hover,
button[type="submit"]:hover,
.search-form button:hover,
.search-bar button:hover {
  background: var(--accent-hot) !important;
  border-color: var(--accent-hot) !important;
  color: #fff !important;
  transform: translateY(-1px);
}
.button.ghost {
  background: transparent !important;
  border-color: #434956 !important;
  color: var(--text) !important;
}
.button.ghost:hover { border-color: var(--accent) !important; }
.button.small { min-height: 34px; padding: 8px 12px !important; font-size: .8rem; }
.button:disabled, button:disabled { opacity: .45; cursor: not-allowed; transform: none; }
.text-button { border: 0; background: none; color: var(--muted); padding: 0; }
.text-button:hover { color: var(--accent-hot); }

.brand {
  color: #fff !important;
  font: 900 1.35rem/1 var(--font) !important;
  letter-spacing: -.07em;
  text-transform: uppercase;
  white-space: nowrap;
}
.brand span { color: var(--accent); font-style: normal; }
.eyebrow {
  margin-bottom: 12px;
  color: var(--accent) !important;
  font-size: .7rem;
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
}

/* Shared modern header */
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  min-height: 68px;
  display: grid;
  grid-template-columns: auto auto minmax(180px, 340px) auto;
  align-items: center;
  gap: clamp(18px, 3vw, 48px);
  padding: 11px clamp(16px, 4vw, 64px);
  border-bottom: 1px solid var(--line);
  background: rgba(8, 9, 12, .96) !important;
  backdrop-filter: blur(14px);
}
.site-nav, .account-nav { display: flex; align-items: center; gap: 20px; }
.site-nav a, .account-nav > a:not(.button) {
  color: #bdc1ca;
  font-size: .84rem;
  font-weight: 750;
}
.site-nav a:hover, .site-nav a.active { color: #fff; }
.header-search { display: flex; border: 0; }
.header-search input { height: 40px; }
.header-search button {
  min-height: 40px;
  width: 42px;
  margin-left: 6px;
  padding: 0 !important;
}
.menu-toggle {
  display: none;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: transparent;
  color: #fff;
  padding: 8px 11px;
  font-weight: 800;
}

/* Legacy headers: artwork, stories and search */
body > header:not(.site-header):not(.admin-topbar),
.site-wrapper > header:not(.site-header) {
  width: 100% !important;
  min-height: 68px !important;
  display: grid !important;
  grid-template-columns: auto minmax(240px, 1fr) auto !important;
  align-items: center !important;
  gap: 24px !important;
  margin: 0 !important;
  padding: 10px clamp(16px, 4vw, 64px) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--line) !important;
  background: #090a0e !important;
  color: var(--text) !important;
  box-shadow: none !important;
}
body > header:not(.site-header):not(.admin-topbar) h1,
.site-wrapper > header:not(.site-header) h1 {
  margin: 0 !important;
  font-size: 1.35rem !important;
  line-height: 1 !important;
  text-transform: uppercase;
}
body > header:not(.site-header):not(.admin-topbar) h1 a,
.site-wrapper > header:not(.site-header) h1 a {
  color: #fff !important;
  text-shadow: none !important;
}
body > header:not(.site-header):not(.admin-topbar) h1 a::first-letter,
.site-wrapper > header:not(.site-header) h1 a::first-letter { color: var(--accent); }
.search-form { width: 100%; display: flex !important; gap: 7px !important; margin: 0 !important; }
.search-form input { height: 42px !important; margin: 0 !important; }
.search-form button { flex: 0 0 auto; margin: 0 !important; }
#guest-nav, #user-nav { display: flex; align-items: center; justify-content: flex-end; gap: 14px; white-space: nowrap; }
#guest-nav a, #user-nav a, #user-greeting { color: #b8bdc7 !important; font-size: .82rem; }

/* Homepage */
.hero-v2 {
  position: relative;
  min-height: calc(100vh - 68px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(330px, .72fr);
  align-items: center;
  gap: clamp(40px, 7vw, 120px);
  overflow: hidden;
  padding: clamp(60px, 8vw, 120px) clamp(18px, 6vw, 100px);
  background: #090a0d !important;
}
.hero-v2::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: clamp(8px, 2vw, 30px);
  width: 2px;
  background: var(--accent);
  opacity: .7;
}
.hero-copy { max-width: 800px; }
.hero-copy h1 {
  max-width: 800px;
  margin-bottom: 22px;
  font-size: clamp(3rem, 6.8vw, 6.7rem) !important;
  text-transform: uppercase;
  letter-spacing: -.065em;
}
.hero-copy h1 em { color: var(--accent); font-style: normal; }
.hero-copy > p:not(.eyebrow) { max-width: 610px; color: #a2a7b1; font-size: 1.04rem; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 28px 0; }
.trust-row { display: flex; flex-wrap: wrap; gap: 18px; color: #747b88; font-size: .75rem; text-transform: uppercase; letter-spacing: .08em; }
.hero-art {
  position: relative;
  width: min(100%, 510px);
  aspect-ratio: 4 / 5;
  justify-self: center;
  overflow: hidden;
  border: 1px solid #3b404c;
  border-radius: 4px !important;
  background: var(--panel);
  box-shadow: 22px 22px 0 #151820, var(--shadow);
  transform: none !important;
}
.hero-art::after { content: ""; position: absolute; inset: 0; background: linear-gradient(transparent 58%, rgba(0,0,0,.86)); }
.hero-art img { width: 100%; height: 100%; object-fit: cover; }
.hero-art-caption { position: absolute; z-index: 2; left: 22px; right: 22px; bottom: 20px; display: flex; flex-direction: column; color: #fff; }
.hero-art-caption small { color: var(--accent-hot); font-size: .65rem; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }
.hero-art-caption b { font-size: 1.2rem; }
.marquee { overflow: hidden; padding: 11px 0; background: var(--accent-dark) !important; color: #fff; white-space: nowrap; font-size: .68rem; font-weight: 900; letter-spacing: .18em; }
.marquee div { width: max-content; animation: marquee 28s linear infinite; }
@keyframes marquee { to { transform: translateX(-50%); } }

.section-shell,
.homepage-sections,
.content-container,
.gallery-main {
  width: min(100%, 1540px) !important;
  margin: 0 auto !important;
  padding: clamp(36px, 6vw, 88px) clamp(14px, 3vw, 44px) !important;
  background: transparent !important;
  color: var(--text) !important;
}
.homepage-sections { min-height: calc(100vh - 68px); }
.content-section { margin: 0 !important; padding: 0 !important; background: transparent !important; }
.content-section > h2,
.gallery-main > h2,
.content-container > h2 {
  margin: 0 0 28px !important;
  padding: 0 0 16px !important;
  border-bottom: 1px solid var(--line) !important;
  font-size: clamp(1.9rem, 4vw, 3.2rem) !important;
  text-transform: uppercase;
}
.section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 30px; }
.section-heading h2 { margin: 0; text-transform: uppercase; }
.section-heading p { max-width: 650px; color: var(--muted); }
.section-heading > a:not(.button) { color: var(--accent); font-size: .8rem; font-weight: 800; text-transform: uppercase; }

.content-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: clamp(10px, 1.6vw, 22px) !important;
  width: 100% !important;
}
.content-grid.compact { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
.content-card,
.content-grid > .card {
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid var(--line) !important;
  border-radius: 5px !important;
  background: var(--panel) !important;
  color: var(--text) !important;
  box-shadow: none !important;
  transition: border-color .18s, transform .18s;
}
.content-card:hover,
.content-grid > .card:hover { border-color: #525966 !important; transform: translateY(-3px); }
.card-media,
.content-grid > .card > a,
.content-grid > .card > .blurred-image-container,
.content-grid > .card > .card {
  position: relative;
  display: block;
  width: 100% !important;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  border: 0 !important;
  border-radius: 0 !important;
  background: #0b0d12 !important;
}
.content-grid > .card > .card { height: 100%; aspect-ratio: auto; }
.card-media img,
.content-grid .card img {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: 4 / 5;
  object-fit: cover !important;
  border-radius: 0 !important;
  transition: transform .25s, filter .25s;
}
.content-card:hover img,
.content-grid > .card:hover img { transform: scale(1.025); }
.content-grid .card h4 {
  min-height: 0 !important;
  margin: 0 !important;
  padding: 13px 14px 15px !important;
  color: #e9eaf0 !important;
  font-size: .9rem !important;
  font-weight: 750 !important;
  line-height: 1.25;
}
.card-copy { padding: 14px; }
.card-copy h3 { margin: 5px 0 9px; font-size: 1rem !important; }
.card-copy h3 a { color: #fff; }
.card-category { color: var(--accent); font-size: .62rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.card-meta { display: flex; gap: 14px; color: #747b88; font-size: .72rem; }
.premium-chip { position: absolute; z-index: 3; top: 10px; right: 10px; padding: 5px 8px; border-radius: 3px; background: rgba(8,9,12,.9); color: #fff; font-size: .64rem; font-weight: 800; }
.lock-layer { position: absolute; z-index: 3; right: 0; bottom: 0; left: 0; padding: 30px 14px 14px; background: linear-gradient(transparent, rgba(0,0,0,.92)); color: white; display: flex; flex-direction: column; }
.lock-layer small { color: #a9aeb8; }
.is-premium .card-media img { filter: blur(7px) brightness(.45); transform: scale(1.05); }

.blurred-image-container { position: relative !important; z-index: 1 !important; overflow: hidden !important; }
.blurred-image-container img.blurred, .content-grid img.blurred {
  filter: blur(8px) brightness(.4) !important;
  transform: scale(1.08) !important;
}
.blurred-image-container .overlay-text {
  position: absolute !important;
  z-index: 5 !important;
  inset: auto 0 0 0 !important;
  width: auto !important;
  height: auto !important;
  padding: 36px 14px 15px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: linear-gradient(transparent, rgba(0,0,0,.95)) !important;
  color: #fff !important;
  font-size: .76rem !important;
  font-weight: 900 !important;
  line-height: 1.35 !important;
  text-align: left !important;
  transform: none !important;
  animation: none !important;
  box-shadow: none !important;
}

.search-bar {
  width: min(100%, 620px) !important;
  display: flex !important;
  gap: 8px !important;
  margin: 0 0 20px !important;
}
.search-bar input { margin: 0 !important; }
.search-bar button { width: auto !important; margin: 0 !important; }
.content-section a[style*="background-color"] {
  border: 1px solid #333844 !important;
  border-radius: 4px !important;
  background: #171a21 !important;
  color: #c7cad1 !important;
  font-size: .72rem !important;
  font-weight: 750;
}
.content-section a[style*="background-color"]:hover { border-color: var(--accent) !important; color: #fff !important; }

.pagination { display: flex !important; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 34px 0 0 !important; }
.pagination a, .pagination span, .pagination strong {
  min-width: 38px;
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--line) !important;
  border-radius: 4px !important;
  background: var(--panel) !important;
  color: #c6cad2 !important;
  padding: 7px 10px !important;
}
.pagination a:hover, .pagination a.active, .pagination .active, .pagination strong {
  border-color: var(--accent) !important;
  background: var(--accent-dark) !important;
  color: #fff !important;
}

/* Stories */
.story-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.story-tile,
.story-card {
  min-height: 0 !important;
  margin: 0 0 14px !important;
  padding: 24px !important;
  border: 1px solid var(--line) !important;
  border-left: 3px solid #383e49 !important;
  border-radius: 5px !important;
  background: var(--panel) !important;
  color: var(--text) !important;
  box-shadow: none !important;
}
.story-tile { display: flex; min-height: 285px !important; flex-direction: column; }
.story-tile:nth-child(2n) { background: #11141a !important; }
.story-tile:hover, .story-card:hover { border-left-color: var(--accent) !important; transform: none !important; box-shadow: none !important; }
.story-tile span { color: var(--accent); font-size: .65rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.story-tile h3, .story-card h2 { margin: 10px 0 14px !important; font-size: 1.35rem !important; }
.story-tile p, .story-card p { color: #a1a6b0 !important; }
.story-tile b { margin-top: auto; color: var(--accent); font-size: .78rem; text-transform: uppercase; }
.story-card .blurred { color: #767d89 !important; filter: blur(3px); }

/* Packs and collections */
.collection-feature { max-width: none !important; border-block: 1px solid var(--line); background: #0d0f14 !important; }
.pack-preview-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.pack-preview { padding: 12px; border: 1px solid var(--line); border-radius: 5px; background: var(--panel); }
.pack-preview img, .pack-placeholder { width: 100%; aspect-ratio: 1; object-fit: cover; margin-bottom: 14px; border-radius: 3px; }
.pack-placeholder { display: grid; place-items: center; background: #171b23; color: var(--accent); font-size: 3rem; }
.pack-preview span, .pack-preview small { color: #7e8591; font-size: .64rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.pack-preview h3 { margin: 7px 0; }
.pack-preview p { color: var(--muted); font-size: .86rem; }
.collection-page { width: min(100%, 1480px); margin: auto; padding: clamp(34px, 6vw, 80px) clamp(14px, 3vw, 44px); }
.collection-hero { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin-bottom: 34px; }
.reward-stats { display: flex; overflow: hidden; border: 1px solid var(--line); border-radius: 5px; background: var(--panel); }
.reward-stats div { min-width: 110px; padding: 15px; border-right: 1px solid var(--line); text-align: center; }
.reward-stats div:last-child { border: 0; }
.reward-stats strong, .reward-stats span { display: block; }
.reward-stats strong { font-size: 1.7rem; color: #fff; }
.reward-stats span { color: #777e8a; font-size: .6rem; font-weight: 800; text-transform: uppercase; }
.pack-grid-v2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.pack-card-v2 { display: grid; grid-template-columns: 170px 1fr; padding: 12px; border: 1px solid var(--line); border-radius: 5px; background: var(--panel); }
.pack-cover { display: grid; place-items: center; overflow: hidden; aspect-ratio: 1; border-radius: 3px; background: #1b1f28; color: var(--accent); font-size: 3rem; }
.pack-cover img { width: 100%; height: 100%; object-fit: cover; }
.pack-body { padding: 10px 16px; }
.pack-body h2 { margin: 6px 0 10px; font-size: 1.7rem !important; }
.pack-body p { color: var(--muted); font-size: .84rem; }
.collection-progress, .progress { height: 5px; overflow: hidden; margin: 11px 0; border-radius: 0; background: #292e38; }
.collection-progress span, .progress span { display: block; height: 100%; background: var(--accent); }
.owned-card-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; }
.owned-card { position: relative; overflow: hidden; padding: 6px; border: 1px solid var(--line); border-radius: 5px; background: var(--panel); }
.owned-card.rarity-epic { border-color: #8057c8; box-shadow: inset 0 0 0 1px #8057c8; }
.owned-card.rarity-high { border-color: #a87c2d; box-shadow: inset 0 0 0 1px #a87c2d; }
.owned-card img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; border-radius: 2px; }
.owned-card > div { padding: 9px 5px; }
.owned-card span { color: #7f8692; font-size: .56rem; text-transform: uppercase; }
.owned-card h3 { margin: 4px 0; font-size: .95rem !important; }
.owned-card b { position: absolute; top: 12px; right: 12px; padding: 3px 6px; border-radius: 3px; background: #07080a; color: #fff; }
.empty-state { padding: 65px 20px; border: 1px dashed #333945; border-radius: 5px; color: var(--muted); text-align: center; }

/* Artwork detail */
.artwork-page { min-height: calc(100vh - 68px); display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(320px, .6fr); background: #07080a; }
.artwork-stage { position: relative; min-height: 620px; display: grid; place-items: center; overflow: hidden; border-right: 1px solid var(--line); background: #030405; }
.artwork-stage > img { width: 100%; height: 100%; max-height: calc(100vh - 68px); object-fit: contain; }
.artwork-stage.locked > img { filter: blur(18px) brightness(.4); transform: scale(1.06); }
.artwork-lock { position: absolute; max-width: 360px; padding: 28px; border: 1px solid #4a3035; border-radius: 5px; background: rgba(8,9,12,.94); color: white; text-align: center; }
.artwork-lock span { color: var(--accent); font-size: 2rem; }
.artwork-lock h2 { margin: 8px 0; font-size: 1.8rem !important; }
.artwork-info { align-self: center; padding: clamp(28px, 5vw, 70px); }
.artwork-info h1 { margin-bottom: 24px; font-size: clamp(2.4rem, 4.5vw, 4.8rem) !important; text-transform: uppercase; }
.artwork-description { color: #a2a7b1; }
.artwork-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 26px 0; }
.share-list, .artwork-meta { display: flex; flex-wrap: wrap; gap: 15px; color: #777e8a; font-size: .74rem; }
.share-list a { color: #aeb3bd; font-weight: 700; }
.artwork-meta { margin-top: 24px; }

/* Newsletter */
.newsletter-band {
  width: min(calc(100% - 28px), 1440px);
  margin: 40px auto 90px !important;
  padding: clamp(26px, 5vw, 65px) !important;
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: clamp(30px, 7vw, 90px);
  border: 1px solid var(--line);
  border-left: 4px solid var(--accent);
  border-radius: 5px !important;
  background: #0e1117 !important;
  color: var(--text) !important;
}
.newsletter-band h2 { text-transform: uppercase; }
.newsletter-band > div > p:last-child { max-width: 510px; color: var(--muted); }
.newsletter-form { padding: clamp(18px, 3vw, 32px); border: 1px solid var(--line); border-radius: 5px; background: #0a0c10; }
.newsletter-fields, .form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
.newsletter-form fieldset { margin: 17px 0; padding: 0; border: 0; }
.newsletter-form legend { margin-bottom: 8px; color: #a9aeb8; font-size: .75rem; font-weight: 800; }
.interest-pill { position: relative; display: inline-block; margin: 2px; }
.interest-pill input { position: absolute; opacity: 0; }
.interest-pill span { display: block; padding: 7px 10px; border: 1px solid var(--line); border-radius: 3px; background: #12151b; color: #9ea4af; font-size: .72rem; }
.interest-pill input:checked + span { border-color: var(--accent); background: var(--accent-dark); color: #fff; }
label { display: flex; flex-direction: column; gap: 5px; color: #9da3ae; font-size: .75rem; font-weight: 750; }
.check { flex-direction: row; align-items: flex-start; }
.check input { width: auto; margin-top: 3px; }
.consent { margin: 14px 0; font-size: .68rem; }
.honey { position: absolute !important; left: -9999px !important; opacity: 0 !important; }
.form-message { margin: 9px 0 0; font-size: .8rem; }
.form-message.success { color: var(--good); }
.form-message.error { color: var(--accent-hot); }

/* Authentication and account */
.auth-shell {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px;
  background: #08090c !important;
}
.auth-card {
  width: min(100%, 500px);
  padding: clamp(24px, 5vw, 48px);
  border: 1px solid var(--line);
  border-top: 3px solid var(--accent);
  border-radius: 5px;
  background: var(--panel);
  box-shadow: var(--shadow);
}
.auth-card .brand { display: block; margin-bottom: 45px; }
.auth-card h1 { margin-bottom: 28px; font-size: clamp(2.3rem, 8vw, 4.2rem) !important; text-transform: uppercase; }
.stack { display: flex; flex-direction: column; gap: 13px; }
.notice { margin: 14px 0; padding: 11px 13px; border: 1px solid var(--line); border-radius: 4px; font-size: .82rem; }
.notice.error { border-color: #71313a; background: #261015; color: #ff9aa3; }
.notice.success { border-color: #245c43; background: #0e241a; color: #75d8a8; }

/* Age gate and popups */
.age-gate { position: fixed; z-index: 9999; inset: 0; display: grid; place-items: center; padding: 18px; background: rgba(4,5,7,.97); }
.age-gate[hidden] { display: none; }
.age-card { width: min(100%, 620px); padding: clamp(30px, 6vw, 66px); border: 1px solid #3a3f49; border-top: 4px solid var(--accent); border-radius: 5px; background: #0e1015; color: #fff; text-align: left; box-shadow: var(--shadow); }
.age-card .spark { color: var(--accent); font-size: 2rem; }
.age-card h1 { font-size: clamp(2.5rem, 7vw, 5rem) !important; text-transform: uppercase; }
.age-card p { color: #9da3ae; }
.age-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.modal { position: fixed !important; z-index: 500; inset: 0; display: none; place-items: center; padding: 18px; background: rgba(0,0,0,.82) !important; }
.modal-content { width: min(100%, 430px); margin: auto; padding: 28px !important; border: 1px solid var(--line) !important; border-top: 3px solid var(--accent) !important; border-radius: 5px !important; background: var(--panel) !important; color: #fff !important; box-shadow: var(--shadow) !important; }
.campaign-modal { position: fixed; z-index: 500; inset: 0; display: grid; place-items: center; padding: 18px; background: rgba(0,0,0,.84); }
.campaign-card { position: relative; width: min(100%, 780px); display: grid; grid-template-columns: .8fr 1fr; overflow: hidden; border: 1px solid #3a3f49; border-radius: 5px; background: #0e1116; box-shadow: var(--shadow); }
.campaign-card > img { width: 100%; height: 100%; min-height: 380px; object-fit: cover; }
.campaign-copy { align-self: center; padding: clamp(24px, 4vw, 48px); }
.campaign-copy h2 { text-transform: uppercase; }
.campaign-close, .dialog-close { position: absolute; z-index: 3; top: 10px; right: 10px; width: 36px; height: 36px; border: 1px solid #444a56; border-radius: 3px; background: #0a0c10; color: #fff; font-size: 1.2rem; }
.card-reveal { width: min(calc(100% - 24px), 460px); padding: 22px; border: 1px solid #3a3f49; border-radius: 5px; background: #0d0f14; color: #fff; box-shadow: var(--shadow); }
.card-reveal::backdrop { background: rgba(0,0,0,.88); }
.reveal-card { text-align: center; }
.reveal-card img { max-height: 60vh; margin: auto; border-radius: 3px; }
.reveal-card h2 { margin: 15px 0 5px; }
.reveal-bonus { color: var(--accent-hot); font-weight: 800; }

/* Footer */
.site-footer, body > footer {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 24px;
  margin: 0 !important;
  padding: 34px clamp(16px, 5vw, 75px) !important;
  border-top: 1px solid var(--line);
  background: #07080a !important;
  color: #777e89 !important;
}
.site-footer nav { display: flex; justify-content: center; gap: 16px; }
.site-footer p, .site-footer small, body > footer p { margin: 0; color: #777e89; }

/* Admin remains compact and dark */
.admin-body { background: #0a0b0f !important; }
.admin-topbar { position: sticky; top: 0; z-index: 100; min-height: 66px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 11px clamp(16px,3vw,44px); border-bottom: 1px solid var(--line); background: #08090c; }
.admin-nav { display: flex; flex-wrap: wrap; gap: 14px; }
.admin-nav a { color: #9ca2ad; font-size: .75rem; font-weight: 700; }
.admin-shell { width: min(100%, 1480px); margin: auto; padding: clamp(26px,4vw,60px); }
.admin-heading h1 { font-size: clamp(2.5rem,6vw,4.8rem) !important; text-transform: uppercase; }
.metric-grid { display: grid; grid-template-columns: repeat(5,1fr); gap: 10px; margin: 24px 0; }
.metric-grid.compact { grid-template-columns: repeat(3,1fr); }
.metric-card, .panel, .admin-action { border: 1px solid var(--line); border-radius: 5px; background: var(--panel); color: #fff; }
.metric-card { padding: 18px; }
.metric-card strong { display: block; font-size: 2rem; }
.metric-card span { color: #7d8490; font-size: .63rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.metric-card small { display: block; margin-top: 7px; color: #776672; font-size: .66rem; }
.analytics-note { margin: -7px 0 14px; color: #8d7886; font-size: .72rem; }
.admin-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
.admin-action { min-height: 130px; display: flex; flex-direction: column; padding: 24px; }
.admin-action:hover { border-color: #505662; transform: translateY(-2px); }
.admin-action b { margin-bottom: 7px; font-size: 1.2rem; }
.admin-action span { color: var(--muted); font-size: .8rem; }
.panel { margin-bottom: 12px; padding: clamp(16px,2.5vw,28px); }
.panel h2 { font-size: 1.65rem !important; }
.two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.two-col.wide-left { grid-template-columns: 2fr 1fr; }
.span-2 { grid-column: 1 / -1; }
.table-wrap { overflow: auto; }
table { width: 100%; border-collapse: collapse; font-size: .8rem; }
th, td { padding: 11px; border-bottom: 1px solid var(--line); color: #c4c8d0; text-align: left; vertical-align: top; }
th { color: #7e8591; font-size: .62rem; letter-spacing: .08em; text-transform: uppercase; }
td small { display: block; color: #777e89; }
.filter-bar, .inline-form { display: flex; align-items: flex-end; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.reward-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; margin-bottom: 12px; }
.editor-toolbar { display: flex; flex-wrap: wrap; gap: 4px; padding: 7px; border: 1px solid var(--line); background: #0b0d11; }
.editor-toolbar button, .upload-button { width: auto; min-height: 32px; padding: 5px 8px !important; border: 1px solid #343a45 !important; border-radius: 3px !important; background: #171a20 !important; color: #fff !important; font-size: .7rem; }
.email-editor { min-height: 350px; padding: 25px; border: 1px solid var(--line); border-top: 0; background: #fff; color: #17191e; outline: none; }
.email-editor h1, .email-editor h2, .email-editor h3 { color: #17191e !important; }
.secret-output { display: block; overflow: auto; margin-top: 8px; padding: 9px; background: #07130e; color: #72d7a5; }
.bar-chart { height: 250px; display: flex; align-items: flex-end; gap: 6px; border-bottom: 1px solid var(--line); }
.bar-column { height: 100%; min-width: 10px; flex: 1; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; }
.bar-column span { width: 100%; max-width: 26px; background: var(--accent); }
.bar-column small { height: 38px; margin-top: 3px; color: #6f7682; font-size: .52rem; writing-mode: vertical-rl; }
.status { display: inline-block; padding: 3px 6px; border-radius: 3px; background: #222630; }
.status-completed { color: #72d7a5; }
.status-sending { color: #efbb5a; }
.status-failed { color: #ff7f8a; }

@media (min-width: 1500px) {
  .content-grid { grid-template-columns: repeat(5, minmax(0,1fr)) !important; }
  .content-grid.compact { grid-template-columns: repeat(4, minmax(0,1fr)) !important; }
}

@media (max-width: 1120px) {
  .site-header { grid-template-columns: auto 1fr auto; }
  .header-search { display: none; }
  .content-grid, .content-grid.compact { grid-template-columns: repeat(3, minmax(0,1fr)) !important; }
  .story-grid, .pack-preview-grid { grid-template-columns: repeat(2,1fr); }
  .owned-card-grid { grid-template-columns: repeat(4,1fr); }
  .metric-grid { grid-template-columns: repeat(3,1fr); }
  .admin-grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 760px) {
  body { font-size: 15px; }
  .site-header { position: sticky; min-height: 60px; grid-template-columns: auto auto 1fr; gap: 10px; padding: 10px 13px; }
  .menu-toggle { display: block; }
  .site-nav { position: absolute; top: 100%; right: 0; left: 0; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 8px 13px 13px; border-bottom: 1px solid var(--line); background: #090a0e; }
  .site-nav a { padding: 11px 4px; border-bottom: 1px solid #1c2028; }
  .site-header.menu-open .site-nav { display: flex; }
  .account-nav { justify-self: end; gap: 10px; }
  .account-nav .button { display: none; }

  body > header:not(.site-header):not(.admin-topbar),
  .site-wrapper > header:not(.site-header) {
    grid-template-columns: auto auto !important;
    gap: 10px !important;
    padding: 10px 13px !important;
  }
  body > header:not(.site-header):not(.admin-topbar) .search-form,
  .site-wrapper > header:not(.site-header) .search-form { grid-column: 1 / -1; grid-row: 2; }
  #guest-nav, #user-nav { justify-self: end; }
  #user-greeting { display: none; }

  .hero-v2 { min-height: auto; grid-template-columns: 1fr; gap: 46px; padding: 60px 18px 70px 28px; }
  .hero-copy h1 { font-size: clamp(2.8rem, 15vw, 5rem) !important; }
  .hero-art { width: min(92%,430px); box-shadow: 12px 12px 0 #151820; }
  .hero-actions .button { flex: 1 1 180px; }
  .trust-row { gap: 8px 14px; }

  .section-shell, .homepage-sections, .content-container, .gallery-main { padding: 34px 12px !important; }
  .section-heading { align-items: flex-start; flex-direction: column; margin-bottom: 20px; }
  .content-grid, .content-grid.compact { grid-template-columns: repeat(2, minmax(0,1fr)) !important; gap: 8px !important; }
  .content-grid .card h4 { padding: 10px !important; font-size: .78rem !important; }
  .card-copy { padding: 10px; }
  .card-copy h3 { font-size: .86rem !important; }
  .premium-chip { top: 6px; right: 6px; }

  .story-grid, .pack-preview-grid, .newsletter-band { grid-template-columns: 1fr; }
  .newsletter-band { width: calc(100% - 18px); margin-bottom: 45px !important; padding: 22px !important; }
  .newsletter-fields, .form-grid { grid-template-columns: 1fr; }
  .span-2 { grid-column: auto; }
  .site-footer, body > footer { grid-template-columns: 1fr; text-align: center; }
  .site-footer nav { flex-wrap: wrap; }

  .artwork-page { grid-template-columns: 1fr; }
  .artwork-stage { min-height: 52vh; border-right: 0; border-bottom: 1px solid var(--line); }
  .artwork-stage > img { max-height: 74vh; }
  .artwork-info { padding: 28px 15px; }
  .artwork-info h1 { font-size: clamp(2.2rem, 13vw, 4rem) !important; }
  .artwork-actions .button { flex: 1; }

  .collection-page { padding: 30px 12px; }
  .collection-hero { align-items: flex-start; flex-direction: column; }
  .reward-stats { width: 100%; }
  .reward-stats div { min-width: 0; flex: 1; padding: 12px 5px; }
  .pack-grid-v2 { grid-template-columns: 1fr; }
  .pack-card-v2 { grid-template-columns: 110px 1fr; }
  .pack-body { padding: 4px 10px; }
  .pack-body h2 { font-size: 1.35rem !important; }
  .owned-card-grid { grid-template-columns: repeat(2,1fr); gap: 8px; }

  .campaign-card { grid-template-columns: 1fr; }
  .campaign-card > img { min-height: 0; height: 210px; }

  .admin-topbar { align-items: flex-start; flex-direction: column; gap: 10px; }
  .admin-nav { max-width: 100%; flex-wrap: nowrap; overflow: auto; }
  .admin-shell { padding: 22px 12px; }
  .metric-grid, .metric-grid.compact, .admin-grid, .two-col, .two-col.wide-left, .reward-grid { grid-template-columns: 1fr; }
}

@media (max-width: 420px) {
  .content-grid, .content-grid.compact { gap: 6px !important; }
  .card-media, .content-grid > .card > a, .content-grid > .card > .blurred-image-container { aspect-ratio: 3 / 4; }
  .hero-actions .button { width: 100%; }
  .pack-card-v2 { grid-template-columns: 1fr; }
  .pack-cover { max-height: 220px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
}

/* Black / pink neon finish */
:root {
  --bg: #050407;
  --bg-raised: #0b080d;
  --panel: #110d13;
  --panel-2: #19111a;
  --line: #372433;
  --line-hot: #9b215e;
  --text: #fff7fb;
  --muted: #ac98a5;
  --accent: #ff2d8d;
  --accent-hot: #ff65ad;
  --accent-dark: #a90d58;
  --radius: 16px;
  --shadow: 0 18px 55px rgba(0,0,0,.55);
  --pink-glow: 0 0 0 1px rgba(255,45,141,.12), 0 15px 42px rgba(153,0,72,.17);
  --pink-glow-hot: 0 0 0 1px rgba(255,83,166,.52), 0 18px 55px rgba(255,0,119,.27), 0 0 26px rgba(255,45,141,.14);
}

body {
  background:
    radial-gradient(circle at 14% 5%, rgba(255, 20, 126, .095), transparent 26%),
    radial-gradient(circle at 88% 42%, rgba(180, 0, 86, .065), transparent 28%),
    #050407 !important;
  background-attachment: fixed !important;
}

body::before {
  opacity: .75;
  background:
    linear-gradient(90deg, rgba(255,75,161,.023) 1px, transparent 1px),
    linear-gradient(rgba(255,75,161,.017) 1px, transparent 1px);
  background-size: 48px 48px;
}

body::after {
  content: "";
  position: fixed;
  z-index: -1;
  top: -220px;
  left: 50%;
  width: min(90vw, 1100px);
  height: 430px;
  pointer-events: none;
  border-radius: 50%;
  background: rgba(255, 25, 132, .075);
  filter: blur(110px);
  transform: translateX(-50%);
}

::selection { background: #ff2d8d; color: #fff; }

.brand,
body > header:not(.site-header):not(.admin-topbar) h1 a,
.site-wrapper > header:not(.site-header) h1 a {
  text-shadow: 0 0 18px rgba(255, 45, 141, .34) !important;
}

.brand span { text-shadow: 0 0 14px rgba(255, 45, 141, .72); }

.site-header,
body > header:not(.site-header):not(.admin-topbar),
.site-wrapper > header:not(.site-header) {
  border-bottom-color: rgba(255,45,141,.24) !important;
  background: rgba(6,4,8,.93) !important;
  box-shadow: 0 8px 35px rgba(0,0,0,.42), 0 1px 0 rgba(255,45,141,.08) !important;
}

.site-nav a,
.account-nav > a:not(.button),
#guest-nav a,
#user-nav a { position: relative; }

.site-nav a::after,
.account-nav > a:not(.button)::after,
#guest-nav a::after,
#user-nav a::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -7px;
  left: 0;
  height: 2px;
  border-radius: 2px;
  background: var(--accent);
  box-shadow: 0 0 9px var(--accent);
  opacity: 0;
  transform: scaleX(.25);
  transition: opacity .2s, transform .2s;
}

.site-nav a:hover::after,
.site-nav a.active::after,
.account-nav > a:not(.button):hover::after,
#guest-nav a:hover::after,
#user-nav a:hover::after { opacity: 1; transform: scaleX(1); }

input, textarea, select {
  border-color: #3b2938 !important;
  border-radius: 10px !important;
  background: linear-gradient(180deg, #0e0a10, #09070b) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025), inset 0 0 18px rgba(0,0,0,.26);
}

input:focus, textarea:focus, select:focus {
  border-color: rgba(255,45,141,.8) !important;
  box-shadow: 0 0 0 3px rgba(255,45,141,.12), 0 0 22px rgba(255,45,141,.1) !important;
}

.button,
button[type="submit"],
.search-form button,
.search-bar button {
  overflow: hidden;
  position: relative;
  border-color: #ff4c9e !important;
  border-radius: 10px !important;
  background: linear-gradient(135deg, #ff348f, #bd0f61) !important;
  box-shadow: 0 7px 22px rgba(208, 9, 97, .25), inset 0 1px 0 rgba(255,255,255,.22) !important;
}

.button::before,
button[type="submit"]::before,
.search-form button::before,
.search-bar button::before {
  content: "";
  position: absolute;
  top: -80%;
  bottom: -80%;
  left: -55%;
  width: 35%;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.28), transparent);
  transform: rotate(20deg);
  transition: left .45s ease;
}

.button:hover::before,
button[type="submit"]:hover::before,
.search-form button:hover::before,
.search-bar button:hover::before { left: 125%; }

.button:hover,
button[type="submit"]:hover,
.search-form button:hover,
.search-bar button:hover {
  border-color: #ff74b7 !important;
  background: linear-gradient(135deg, #ff58a8, #d51a75) !important;
  box-shadow: 0 11px 30px rgba(255,20,126,.34), 0 0 18px rgba(255,45,141,.16), inset 0 1px 0 rgba(255,255,255,.25) !important;
}

.button.ghost {
  border-color: rgba(255,72,157,.4) !important;
  background: rgba(255,35,135,.035) !important;
  box-shadow: inset 0 0 18px rgba(255,35,135,.035) !important;
}

.button.ghost:hover {
  border-color: var(--accent) !important;
  background: rgba(255,35,135,.1) !important;
  box-shadow: 0 0 24px rgba(255,35,135,.12), inset 0 0 18px rgba(255,35,135,.07) !important;
}

.hero-v2 {
  background:
    linear-gradient(90deg, rgba(5,4,7,.98), rgba(5,4,7,.88)),
    radial-gradient(circle at 78% 50%, rgba(255,31,132,.13), transparent 35%) !important;
}

.hero-v2::before {
  width: 3px;
  border-radius: 4px;
  background: linear-gradient(transparent 2%, var(--accent) 25%, #ff82bc 55%, var(--accent) 80%, transparent 98%);
  box-shadow: 0 0 20px rgba(255,45,141,.65);
}

.hero-copy h1 em {
  background: linear-gradient(90deg, #ff2d8d, #ff83bd);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent !important;
  filter: drop-shadow(0 0 18px rgba(255,45,141,.18));
}

.hero-art {
  overflow: hidden;
  border: 1px solid rgba(255,78,161,.5);
  border-radius: 22px !important;
  box-shadow: 18px 18px 0 rgba(39,14,30,.85), 0 28px 80px rgba(0,0,0,.58), 0 0 38px rgba(255,24,129,.15);
  transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}

.hero-art::before {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0;
  pointer-events: none;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: inherit;
  box-shadow: inset 0 0 35px rgba(255,29,133,.08);
}

.hero-art:hover {
  border-color: rgba(255,112,184,.88);
  box-shadow: 13px 13px 0 rgba(55,15,38,.9), 0 34px 95px rgba(0,0,0,.65), 0 0 48px rgba(255,24,129,.25);
  transform: translateY(-6px) !important;
}

.hero-art img { transition: transform .6s ease, filter .4s ease; }
.hero-art:hover img { transform: scale(1.035); filter: saturate(1.08) contrast(1.03); }

.marquee {
  border-block: 1px solid rgba(255,106,176,.35);
  background: linear-gradient(90deg, #7d053f, #db176f 48%, #7d053f) !important;
  box-shadow: 0 0 28px rgba(255,17,121,.2);
}

.section-heading,
.content-section > h2,
.gallery-main > h2,
.content-container > h2 { position: relative; }

.section-heading::after,
.content-section > h2::after,
.gallery-main > h2::after,
.content-container > h2::after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  width: min(180px, 34%);
  height: 2px;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--accent), transparent);
  box-shadow: 0 0 12px rgba(255,45,141,.45);
}

.content-card,
.content-grid > .card {
  position: relative;
  isolation: isolate;
  overflow: hidden !important;
  border-color: rgba(255,64,151,.26) !important;
  border-radius: 17px !important;
  background: linear-gradient(155deg, #171019, #0d0a0f) !important;
  box-shadow: var(--pink-glow) !important;
  transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease !important;
}

.content-card::before,
.content-grid > .card::before {
  content: "";
  position: absolute;
  z-index: 4;
  inset: 0;
  border: 1px solid rgba(255,255,255,.055);
  border-radius: inherit;
  pointer-events: none;
}

.content-card::after,
.content-grid > .card::after {
  content: "";
  position: absolute;
  z-index: 3;
  top: -40%;
  left: -90%;
  width: 45%;
  height: 180%;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.09), transparent);
  transform: rotate(18deg);
  transition: left .7s ease;
}

.content-card:hover,
.content-grid > .card:hover {
  border-color: rgba(255,85,166,.72) !important;
  box-shadow: var(--pink-glow-hot) !important;
  transform: translateY(-7px) scale(1.008) !important;
}

.content-card:hover::after,
.content-grid > .card:hover::after { left: 145%; }

.card-media,
.content-grid > .card > a,
.content-grid > .card > .blurred-image-container {
  border-radius: 16px 16px 0 0 !important;
}

.card-media img,
.content-grid .card img {
  border-radius: 16px 16px 0 0 !important;
  filter: saturate(1.02) contrast(1.015);
}

.content-card:hover img,
.content-grid > .card:hover img {
  transform: scale(1.045);
  filter: saturate(1.1) contrast(1.04);
}

.card-copy,
.content-grid .card h4 {
  position: relative;
  background: linear-gradient(180deg, rgba(24,15,25,.94), rgba(12,9,13,.98));
}

.premium-chip {
  border: 1px solid rgba(255,93,171,.42);
  border-radius: 9px;
  background: rgba(17,8,15,.88);
  box-shadow: 0 0 20px rgba(255,45,141,.15);
  backdrop-filter: blur(10px);
}

.blurred-image-container .overlay-text {
  border-radius: 0 0 16px 16px !important;
  background: linear-gradient(transparent, rgba(24,3,15,.96)) !important;
  text-shadow: 0 0 12px rgba(255,45,141,.65);
}

.content-section a[style*="background-color"] {
  border-color: rgba(255,55,148,.25) !important;
  border-radius: 9px !important;
  background: linear-gradient(180deg, #181019, #0c090e) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
}

.content-section a[style*="background-color"]:hover {
  border-color: rgba(255,73,158,.85) !important;
  background: rgba(255,45,141,.1) !important;
  box-shadow: 0 0 18px rgba(255,45,141,.12);
}

.pagination a,
.pagination span,
.pagination strong {
  border-color: rgba(255,45,141,.22) !important;
  border-radius: 9px !important;
  background: linear-gradient(180deg, #171019, #0d0a0f) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
}

.pagination a:hover,
.pagination a.active,
.pagination .active,
.pagination strong {
  border-color: #ff55a3 !important;
  background: linear-gradient(135deg, #d51570, #8f0a4a) !important;
  box-shadow: 0 0 20px rgba(255,45,141,.18) !important;
}

.story-tile,
.story-card,
.pack-preview,
.pack-card-v2,
.owned-card,
.panel,
.metric-card,
.admin-action {
  border-color: rgba(255,50,144,.22) !important;
  border-radius: 15px !important;
  background: linear-gradient(145deg, #171019, #0c0a0e) !important;
  box-shadow: var(--pink-glow) !important;
}

.story-tile,
.story-card { border-left: 3px solid rgba(255,45,141,.48) !important; }

.story-tile:hover,
.story-card:hover,
.pack-preview:hover,
.pack-card-v2:hover,
.owned-card:hover,
.admin-action:hover {
  border-color: rgba(255,85,166,.72) !important;
  box-shadow: var(--pink-glow-hot) !important;
}

.pack-preview img,
.pack-placeholder,
.pack-cover,
.owned-card img { border-radius: 12px !important; }

.collection-feature {
  border-color: rgba(255,45,141,.2);
  background:
    radial-gradient(circle at 80% 10%, rgba(255,45,141,.08), transparent 28%),
    linear-gradient(135deg, #100a11, #080709) !important;
  box-shadow: inset 0 1px 0 rgba(255,90,170,.05), inset 0 -1px 0 rgba(255,90,170,.04);
}

.collection-progress,
.progress {
  height: 7px;
  border-radius: 99px;
  background: #2b1624;
  box-shadow: inset 0 2px 4px rgba(0,0,0,.45);
}

.collection-progress span,
.progress span {
  border-radius: 99px;
  background: linear-gradient(90deg, #ae0b58, #ff3e96, #ff82ba);
  box-shadow: 0 0 14px rgba(255,45,141,.38);
}

.artwork-stage {
  border-color: rgba(255,45,141,.19);
  background:
    radial-gradient(circle at 50% 45%, rgba(255,45,141,.07), transparent 45%),
    #030204;
}

.artwork-stage > img {
  filter: drop-shadow(0 22px 38px rgba(0,0,0,.6));
}

.artwork-lock {
  border-color: rgba(255,62,153,.5);
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(25,12,22,.97), rgba(8,6,9,.97));
  box-shadow: var(--pink-glow-hot);
  backdrop-filter: blur(18px);
}

.newsletter-band {
  overflow: hidden;
  position: relative;
  border-color: rgba(255,45,141,.34);
  border-left-width: 1px;
  border-radius: 20px !important;
  background:
    radial-gradient(circle at 4% 15%, rgba(255,45,141,.13), transparent 30%),
    linear-gradient(135deg, #170d16, #09070a 64%) !important;
  box-shadow: var(--pink-glow-hot);
}

.newsletter-band::before {
  content: "";
  position: absolute;
  top: 0;
  right: 8%;
  left: 8%;
  height: 1px;
  background: linear-gradient(90deg, transparent, #ff50a2, transparent);
  box-shadow: 0 0 16px rgba(255,45,141,.55);
}

.newsletter-form,
.auth-card,
.age-card,
.modal-content,
.campaign-card,
.card-reveal {
  border-color: rgba(255,49,145,.38) !important;
  border-radius: 18px !important;
  background: linear-gradient(145deg, #171019, #0a080c) !important;
  box-shadow: var(--pink-glow-hot) !important;
}

.auth-card,
.age-card,
.modal-content { border-top: 1px solid rgba(255,78,161,.66) !important; }

.age-card .spark,
.artwork-lock span {
  text-shadow: 0 0 20px rgba(255,45,141,.72);
}

.reward-stats {
  border-color: rgba(255,45,141,.28);
  border-radius: 14px;
  background: linear-gradient(145deg, #171019, #0b090c);
  box-shadow: var(--pink-glow);
}

.reward-stats div { border-color: rgba(255,45,141,.16); }
.reward-stats strong { color: #ff74b6; text-shadow: 0 0 16px rgba(255,45,141,.3); }

.site-footer,
body > footer {
  border-top-color: rgba(255,45,141,.2);
  background: linear-gradient(180deg, #080609, #030204) !important;
  box-shadow: 0 -14px 38px rgba(0,0,0,.25);
}

.admin-topbar {
  border-bottom-color: rgba(255,45,141,.24);
  background: rgba(6,4,8,.96);
  box-shadow: 0 8px 30px rgba(0,0,0,.38);
}

@media (max-width: 760px) {
  .hero-art {
    border-radius: 18px !important;
    box-shadow: 10px 10px 0 rgba(39,14,30,.85), 0 24px 65px rgba(0,0,0,.58), 0 0 30px rgba(255,24,129,.14);
  }

  .content-card,
  .content-grid > .card { border-radius: 13px !important; }

  .card-media,
  .content-grid > .card > a,
  .content-grid > .card > .blurred-image-container,
  .card-media img,
  .content-grid .card img { border-radius: 12px 12px 0 0 !important; }

  .content-card:hover,
  .content-grid > .card:hover { transform: translateY(-3px) !important; }

  .newsletter-band { border-radius: 15px !important; }
}

/* 2026 control room and no-code game studio */
.admin-body { background: radial-gradient(circle at 82% -10%, rgba(255,45,141,.16), transparent 34%), #070609 !important; }
.admin-shell { max-width: 1480px; }
.admin-heading { padding: 20px 0 10px; }
.admin-heading h1 { background: linear-gradient(110deg,#fff 20%,#ff7db9);-webkit-background-clip:text;background-clip:text;color:transparent!important; }
.admin-action { min-height: 150px; padding: 26px!important; position:relative; overflow:hidden; transition:transform .25s ease,border-color .25s ease!important; }
.admin-action::after { content:"→";position:absolute;right:22px;bottom:18px;color:#ff69ad;font-size:1.35rem;transition:transform .25s ease; }
.admin-action:hover { transform:translateY(-5px); }
.admin-action:hover::after { transform:translateX(5px); }
.featured-action { background:radial-gradient(circle at 90% 0,rgba(255,105,173,.22),transparent 42%),linear-gradient(145deg,#25101e,#0c090e)!important; }
.analytics-filter { align-items:end!important;position:sticky;top:72px;z-index:10;backdrop-filter:blur(16px); }
.date-presets { display:flex;gap:7px;flex-wrap:wrap; }
.date-presets a { padding:8px 12px;border:1px solid var(--line);border-radius:99px;color:var(--muted);font-size:.78rem;font-weight:800; }
.date-presets a:hover { border-color:var(--accent);color:#fff;background:rgba(255,45,141,.1); }
.range-label { color:#ff7db9;font-size:.8rem;font-weight:800;white-space:nowrap; }
.game-builder-intro { display:grid;grid-template-columns:1.3fr 1fr;gap:32px;align-items:end;margin-bottom:24px;padding:38px;border:1px solid rgba(255,69,157,.35);border-radius:22px;background:radial-gradient(circle at 80% 20%,rgba(255,45,141,.18),transparent 35%),linear-gradient(135deg,#1b0d17,#09070a);box-shadow:0 24px 80px rgba(0,0,0,.4); }
.game-builder-intro h2 { max-width:720px; }
.preset-miniatures { display:grid;grid-template-columns:repeat(3,1fr);gap:10px; }
.preset-miniatures span { padding:30px 12px;border:1px solid rgba(255,255,255,.1);border-radius:15px;text-align:center;background:rgba(255,255,255,.035);font-weight:800; }
.preset-picker { display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:9px; }
.preset-picker label { cursor:pointer; }
.preset-picker input { position:absolute;opacity:0;pointer-events:none; }
.preset-picker span { display:flex;min-height:115px;flex-direction:column;gap:9px;padding:20px;border:1px solid var(--line);border-radius:14px;background:#0b090c;transition:.2s ease; }
.preset-picker small { color:var(--muted); }
.preset-picker input:checked+span { border-color:#ff4b9e;background:rgba(255,45,141,.1);box-shadow:0 0 0 3px rgba(255,45,141,.1),0 14px 38px rgba(0,0,0,.3);transform:translateY(-2px); }

.game-page { min-height:100vh;background:radial-gradient(circle at 50% -20%,rgba(255,45,141,.24),transparent 40%),#060507!important; }
.game-topbar { min-height:68px;display:flex;align-items:center;justify-content:space-between;padding:12px clamp(18px,4vw,60px);border-bottom:1px solid rgba(255,75,158,.25);background:rgba(6,5,7,.82);backdrop-filter:blur(15px); }
.game-topbar>span { color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:.7rem; }
.game-shell { width:min(760px,calc(100% - 28px));margin:0 auto;padding:clamp(38px,7vw,80px) 0; }
.game-heading { text-align:center;margin-bottom:28px; }
.game-heading h1 { font-size:clamp(2.1rem,8vw,4.6rem)!important; }
.game-description { max-width:640px;margin:0 auto 20px;color:#b9b2ba;font-size:clamp(1rem,2vw,1.15rem); }
.game-progress { display:flex;justify-content:space-between;gap:20px;max-width:420px;margin:22px auto 0;padding:12px 16px;border:1px solid rgba(255,255,255,.09);border-radius:12px;background:rgba(255,255,255,.035);color:var(--muted);font-size:.84rem; }
.game-progress b { color:#fff;font-variant-numeric:tabular-nums; }
.html-game { --game-size:3;display:grid;grid-template-columns:repeat(var(--game-size),1fr);aspect-ratio:1;gap:4px;padding:5px;border:1px solid rgba(255,83,163,.45);border-radius:20px;background-color:#160b13;background-size:cover;background-position:center;box-shadow:0 30px 90px rgba(0,0,0,.6),0 0 45px rgba(255,45,141,.13);overflow:hidden; }
.game-tile { min-width:0!important;width:auto!important;min-height:0!important;padding:0!important;border:0!important;border-radius:7px!important;transition:transform .2s,opacity .35s,filter .2s!important; }
.game-tile:hover { transform:scale(.96)!important;filter:brightness(1.12); }
.puzzle-tile.selected { outline:3px solid #fff;outline-offset:-4px;filter:brightness(1.25); }
.memory-tile { position:relative;background:linear-gradient(145deg,#d41570,#6e083c)!important;color:#fff!important;font-size:1.4rem; }
.memory-tile::after { content:"";position:absolute;inset:0;border-radius:inherit;background-image:var(--card-image);background-size:300% 300%;background-position:var(--card-x) var(--card-y);opacity:0;transform:rotateY(90deg);transition:.28s; }
.memory-tile.open::after { opacity:1;transform:rotateY(0); }
.memory-tile.open span { opacity:0; }
.reveal-tile { background:linear-gradient(145deg,rgba(211,19,106,.98),rgba(63,7,38,.98))!important;color:#fff!important;font-size:1.25rem; }
.reveal-tile.gone { opacity:0;transform:scale(.4) rotate(12deg)!important;pointer-events:none; }
.game-gap { border-radius:7px;background:rgba(0,0,0,.42);box-shadow:inset 0 0 24px rgba(0,0,0,.65); }
.sliding-tile { cursor:pointer; }
.reflex-tile,.sequence-tile { background:rgba(13,8,12,.58)!important;border:1px solid rgba(255,255,255,.07)!important; }
.reflex-tile.target,.sequence-tile.target { background:rgba(255,65,151,.55)!important;box-shadow:inset 0 0 24px rgba(255,255,255,.25),0 0 22px rgba(255,45,141,.5);transform:scale(.91)!important; }
.game-win { position:fixed;inset:0;z-index:999;display:grid;place-items:center;padding:20px;background:rgba(4,2,4,.75);backdrop-filter:blur(14px);animation:fadeIn .3s ease; }
.game-win[hidden] { display:none; }
.game-win article { width:min(500px,100%);padding:45px;text-align:center;border:1px solid #ff55a3;border-radius:24px;background:radial-gradient(circle at 50% 0,rgba(255,45,141,.2),transparent 44%),#110b10;box-shadow:0 35px 100px #000,0 0 60px rgba(255,45,141,.22);animation:winPop .45s cubic-bezier(.2,.8,.2,1); }
.window-actions { display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:26px; }
.row-actions { display:flex;align-items:center;gap:7px;white-space:nowrap; }
.row-actions form { margin:0; }
.status-dot { display:inline-flex;align-items:center;gap:7px;font-size:.78rem;font-weight:800; }
.status-dot::before { content:"";width:7px;height:7px;border-radius:50%;background:#7d818a; }
.status-dot.complete::before { background:var(--good);box-shadow:0 0 10px rgba(76,195,138,.5); }

/* Refined public windows */
.site-header {
  top:10px;
  width:min(1500px,calc(100% - 24px));
  min-height:64px;
  margin:10px auto 0;
  border:1px solid rgba(255,255,255,.09)!important;
  border-radius:16px;
  background:rgba(9,7,10,.82)!important;
  box-shadow:0 18px 55px rgba(0,0,0,.38);
}
.site-nav a,.account-nav>a:not(.button) { position:relative;padding:8px 2px; }
.site-nav a::after { content:"";position:absolute;right:50%;bottom:2px;left:50%;height:2px;border-radius:2px;background:var(--accent);transition:.2s ease; }
.site-nav a:hover::after,.site-nav a.active::after { right:0;left:0; }
.section-shell { width:min(1460px,calc(100% - 32px)); }
.section-shell,.collection-feature { border-radius:24px; }
.content-grid { gap:clamp(14px,2vw,26px)!important; }
.site-footer { margin-top:50px;padding-top:45px!important;padding-bottom:45px!important; }
.auth-shell { background:radial-gradient(circle at 50% 5%,rgba(255,45,141,.16),transparent 38%); }
.age-gate,.campaign-modal,dialog::backdrop { background:rgba(3,2,4,.8)!important;backdrop-filter:blur(16px) saturate(.8); }
.age-card,.auth-card,.modal-content,.campaign-card,.card-reveal {
  border:1px solid rgba(255,255,255,.11)!important;
  border-top-color:rgba(255,83,163,.65)!important;
  border-radius:22px!important;
  background:radial-gradient(circle at 50% 0,rgba(255,45,141,.11),transparent 38%),linear-gradient(150deg,#171117,#09080a)!important;
  box-shadow:0 35px 100px rgba(0,0,0,.72),0 0 0 1px rgba(255,255,255,.025)!important;
}
.age-card,.auth-card,.modal-content { padding:clamp(28px,5vw,52px)!important; }
.campaign-card { overflow:hidden; }
.campaign-close,.dialog-close { width:40px!important;height:40px!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:50%!important;background:rgba(5,4,6,.76)!important;color:#fff!important;display:grid!important;place-items:center;padding:0!important; }
.campaign-close:hover,.dialog-close:hover { border-color:var(--accent)!important;background:#25101c!important;transform:rotate(4deg); }
.notice { border-radius:12px!important;border-left-width:1px!important;box-shadow:0 12px 35px rgba(0,0,0,.25); }
@keyframes fadeIn{from{opacity:0}}@keyframes winPop{from{opacity:0;transform:scale(.82) translateY(20px)}}
@media(max-width:760px){.game-builder-intro{grid-template-columns:1fr;padding:24px}.preset-picker{grid-template-columns:1fr}.preset-miniatures{grid-template-columns:1fr 1fr}.preset-miniatures span{padding:18px 6px;font-size:.75rem}.analytics-filter{position:static}.game-win article{padding:30px 22px}.game-progress{margin-top:18px}.row-actions{align-items:stretch;flex-direction:column}.site-header{top:6px;width:calc(100% - 12px);margin-top:6px;border-radius:13px}.section-shell{width:min(100% - 20px,1460px)}}
@media(prefers-reduced-motion:reduce){.game-tile,.game-win,.game-win article,.admin-action{animation:none!important;transition:none!important}}

/* Analytics 2.0: country filtering and point/line charts */
.analytics-toolbar { gap: 12px; padding: 12px; border: 1px solid rgba(255,50,144,.2); border-radius: 16px; background: rgba(10,8,11,.88); }
.switch-control { min-width: 250px; display: flex!important; align-items: center; gap: 10px; padding: 7px 10px; border: 1px solid var(--line); border-radius: 12px; background: #0c0a0d; cursor: pointer; }
.switch-control>input { position: absolute; opacity: 0; pointer-events: none; }
.switch-track { position: relative; width: 42px; height: 24px; flex: 0 0 auto; border-radius: 99px; background: #32333a; transition: .2s ease; }
.switch-track::after { content: ''; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: #fff; box-shadow: 0 2px 8px rgba(0,0,0,.45); transition: .2s ease; }
.switch-control input:checked+.switch-track { background: linear-gradient(90deg,#b90d5c,#ff4397); box-shadow: 0 0 20px rgba(255,45,141,.28); }
.switch-control input:checked+.switch-track::after { transform: translateX(18px); }
.switch-control>span:last-child { display: flex; flex-direction: column; line-height: 1.2; }
.switch-control b { color: #fff; font-size: .76rem; }
.switch-control small { color: #807680; font-size: .62rem; }
.analytics-chart-panel { position: relative; overflow: hidden; padding: clamp(20px,2.5vw,34px); background: radial-gradient(circle at 82% 0,rgba(127,124,255,.09),transparent 32%),linear-gradient(145deg,#171019,#0b090d)!important; }
.analytics-chart-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 22px; margin-bottom: 22px; }
.analytics-chart-head h2 { margin: 2px 0 5px; }
.chart-description { max-width: 620px; margin: 0; color: #817985; font-size: .74rem; }
.chart-legend { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.chart-legend button { width: auto; min-height: 38px; display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px; border: 1px solid rgba(255,255,255,.09); border-radius: 99px; background: rgba(5,4,6,.52); color: #69636d; font-size: .68rem; cursor: pointer; transition: border-color .2s ease,background .2s ease,color .2s ease,opacity .2s ease; }
.chart-legend button:hover { border-color: rgba(255,255,255,.22); color: #d7d1d8; }
.chart-legend button.is-active { color: #fff; background: rgba(255,255,255,.055); }
.chart-legend button>span { width: 9px; height: 9px; border: 2px solid currentColor; border-radius: 50%; background: #0b090d; opacity: .45; }
.chart-legend button.is-active>span { opacity: 1; }
.chart-legend .legend-people.is-active { border-color: rgba(255,75,158,.38); box-shadow: inset 0 0 20px rgba(255,75,158,.055); }
.chart-legend .legend-people>span { color: #ff4b9e; box-shadow: 0 0 12px rgba(255,75,158,.42); }
.chart-legend .legend-views.is-active { border-color: rgba(127,124,255,.4); box-shadow: inset 0 0 20px rgba(127,124,255,.055); }
.chart-legend .legend-views>span { border-radius: 2px; color: #8d8aff; }
.chart-legend .legend-sessions.is-active { border-color: rgba(69,216,189,.36); box-shadow: inset 0 0 20px rgba(69,216,189,.05); }
.chart-legend .legend-sessions>span { border-radius: 2px; color: #45d8bd; transform: rotate(45deg) scale(.8); }
.line-chart { position: relative; width: 100%; }
.chart-canvas { position: relative; overflow: hidden; border: 1px solid rgba(255,255,255,.065); border-radius: 16px; background: linear-gradient(180deg,rgba(255,255,255,.018),rgba(255,255,255,.004)); }
.line-chart svg { display: block; width: 100%; height: auto; min-height: 300px; overflow: visible; }
.chart-grid { stroke: rgba(255,255,255,.075); stroke-width: 1; vector-effect: non-scaling-stroke; }
.chart-axis-value,.chart-axis-date { fill: #716b74; font: 650 11px Arial,sans-serif; }
.chart-axis-value { text-anchor: end; }
.chart-axis-date { text-anchor: middle; }
.chart-line { fill: none!important; stroke-width: 2.7; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.chart-line-people { stroke: #ff4b9e; filter: drop-shadow(0 0 5px rgba(255,75,158,.26)); }
.chart-line-views { stroke: #8d8aff; stroke-dasharray: 11 7; }
.chart-line-sessions { stroke: #45d8bd; stroke-width: 3; stroke-dasharray: 2 8; }
.chart-point { fill: #0d0a0f; stroke-width: 2.4; vector-effect: non-scaling-stroke; transition: filter .15s ease; }
.chart-point-people { stroke: #ff4b9e; }
.chart-point-views { stroke: #8d8aff; }
.chart-point-sessions { stroke: #45d8bd; }
.chart-point.is-hovered { filter: drop-shadow(0 0 6px currentColor); stroke-width: 3.5; }
.chart-hit { fill: transparent; cursor: crosshair; }
.chart-guide { stroke: rgba(255,255,255,.3); stroke-width: 1; stroke-dasharray: 4 5; opacity: 0; vector-effect: non-scaling-stroke; pointer-events: none; transition: opacity .15s ease; }
.chart-guide.visible { opacity: 1; }
.chart-tooltip { position: absolute; z-index: 3; width: 180px; padding: 12px 13px; transform: translateX(-50%); border: 1px solid rgba(255,255,255,.13); border-radius: 13px; background: rgba(10,8,12,.96); box-shadow: 0 20px 60px rgba(0,0,0,.62),0 0 0 1px rgba(255,75,158,.05); backdrop-filter: blur(16px); pointer-events: none; }
.chart-tooltip b { display: block; margin-bottom: 7px; padding-bottom: 7px; border-bottom: 1px solid rgba(255,255,255,.08); color: #fff; font-size: .72rem; }
.chart-tooltip span { display: grid; grid-template-columns: 8px 1fr auto; gap: 7px; align-items: center; color: #9a929c; font-size: .68rem; line-height: 1.8; }
.chart-tooltip i { width: 6px; height: 6px; border-radius: 50%; background: #888; }
.chart-tooltip .tooltip-people i { background: #ff4b9e; }
.chart-tooltip .tooltip-views i { border-radius: 1px; background: #8d8aff; }
.chart-tooltip .tooltip-sessions i { border-radius: 1px; background: #45d8bd; transform: rotate(45deg); }
.chart-tooltip strong { color: #fff; font-size: .75rem; }
.chart-foot { display: flex; justify-content: space-between; gap: 12px; padding: 10px 3px 0; color: #6f6872; font-size: .62rem; }
.chart-overlap-note { color: #958897; }
.chart-empty { min-height: 300px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; border: 1px dashed rgba(255,255,255,.09); border-radius: 16px; color: #77707a; }
.chart-empty b { color: #d5cfd6; }
.dot-metrics { display: grid; gap: 4px; }
.dot-metrics>div { display: grid; grid-template-columns: 12px 1fr auto; gap: 6px 8px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--line); }
.dot-metrics .dot,.device-creative-group .dot { width: 8px; height: 8px; border-radius: 50%; background: #ff4b9e; box-shadow: 0 0 10px rgba(255,75,158,.55); }
.dot-metrics strong { color: #fff; }
.dot-metrics small { grid-column: 2 / -1; color: #7c747e; }
.filter-state { padding: 7px 11px; border: 1px solid var(--line); border-radius: 99px; color: #8e8790; font-size: .68rem; font-weight: 800; text-transform: uppercase; }
.filter-state.is-on { border-color: rgba(69,216,189,.35); color: #65e2c9; background: rgba(69,216,189,.08); }

/* Adaptive advertising */
.ad-builder { background: radial-gradient(circle at 95% 5%,rgba(127,124,255,.14),transparent 34%),linear-gradient(145deg,#171019,#0c0a0e)!important; }
.optimizer-badge { padding: 7px 11px; border: 1px solid rgba(69,216,189,.35); border-radius: 99px; background: rgba(69,216,189,.08); color: #64e0c7; font-size: .7rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.creative-upload { min-height: 155px; display: flex!important; flex-direction: column; justify-content: center; gap: 9px; padding: 22px; border: 1px dashed rgba(255,81,159,.45); border-radius: 16px; background: rgba(255,45,141,.035); }
.desktop-upload { border-color: rgba(127,124,255,.42); background: rgba(127,124,255,.035); }
.creative-upload>span { color: #fff; font-weight: 850; }
.creative-upload small { color: #817982; }
.optional-copy { display: flex; align-items: center; justify-content: space-between; padding: 15px 17px; border: 1px solid var(--line); border-radius: 13px; background: #0a080b; }
.optional-copy div { display: flex; flex-direction: column; }
.optional-copy small { color: #817a83; }
.campaign-report { margin-top: 12px; overflow: hidden; border: 1px solid rgba(255,255,255,.09); border-radius: 16px; background: rgba(7,6,8,.65); }
.campaign-report>header { display: grid; grid-template-columns: 1fr auto auto; gap: 18px; align-items: center; padding: 17px 19px; border-bottom: 1px solid var(--line); }
.campaign-report h3,.campaign-report p { margin: 0; }
.campaign-report p { color: #7f7881; font-size: .68rem; }
.campaign-kpis { display: flex; gap: 16px; }
.campaign-kpis span { display: flex; flex-direction: column; color: #77717a; font-size: .62rem; text-transform: uppercase; }
.campaign-kpis b { color: #fff; font-size: 1rem; }
.creative-results { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; padding: 18px; }
.device-creative-group h4 { display: flex; align-items: center; gap: 8px; margin: 0 0 10px; font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; }
.device-creative-group:nth-child(2) .dot { background: #7f7cff; box-shadow: 0 0 10px rgba(127,124,255,.55); }
.device-creative-group>div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.creative-card { position: relative; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: #100d11; }
.creative-card.is-leading { border-color: rgba(69,216,189,.55); box-shadow: 0 0 24px rgba(69,216,189,.1); }
.creative-card img { width: 100%; aspect-ratio: 16/10; object-fit: cover; }
.device-creative-group:first-child .creative-card img { aspect-ratio: 4/5; }
.creative-card>div { padding: 10px; }
.creative-card b,.creative-card small { display: block; }
.creative-card small { color: #807780; font-size: .62rem; }
.creative-card span { display: inline-block; margin-top: 6px; padding: 3px 6px; border-radius: 99px; background: rgba(69,216,189,.1); color: #62d9c2; font-size: .55rem; font-weight: 900; text-transform: uppercase; }
.creative-card span.learning { background: rgba(255,75,158,.1); color: #ff82ba; }
.campaign-modal { overflow: hidden; padding: max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left)); }
.campaign-card:not(.campaign-image-only) { width: min(calc(var(--campaign-vw,100vw) - 24px),1040px); height: min(calc(var(--campaign-vh,100dvh) - 24px),780px); max-width: 100%; max-height: 100%; grid-template-columns: minmax(0,1.15fr) minmax(280px,.85fr); }
.campaign-text-only { width: min(calc(100vw - 24px),640px)!important; grid-template-columns: 1fr!important; }
.campaign-visual { min-width: 0; min-height: 0; display: grid; place-items: center; overflow: hidden; background: #050406; cursor: pointer; }
.campaign-card:not(.campaign-image-only)>.campaign-visual img { display: block; width: 100%; height: 100%; min-width: 0; min-height: 0; object-fit: contain; }
.campaign-card .campaign-copy { width: 100%; max-height: 100%; align-self: center; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
.campaign-image-only { width: min(calc(var(--campaign-vw,100vw) - 24px),1200px)!important; height: min(calc(var(--campaign-vh,100dvh) - 24px),900px); max-width: 100%; max-height: 100%; display: block!important; background: #080609!important; }
.campaign-image-only>.campaign-visual { width: 100%; height: 100%; }
.campaign-image-only>.campaign-visual img { display: block; width: 100%; height: 100%; object-fit: contain; }

/* Recipient lists and email engagement */
.email-studio-grid { align-items: start; }
.list-importer p { color: #968d97; font-size: .78rem; }
.permission-check { align-items: flex-start!important; padding: 12px; border: 1px solid rgba(255,255,255,.09); border-radius: 12px; background: #0b090c; color: #c8c1c8; font-size: .72rem; }
.tracking-note { display: grid; grid-template-columns: 10px auto; gap: 1px 8px; align-items: center; max-width: 390px; }
.tracking-note .tracking-dot { grid-row: 1/3; width: 8px; height: 8px; border-radius: 50%; background: #45d8bd; box-shadow: 0 0 12px rgba(69,216,189,.7); }
.tracking-note b { color: #d7d1d8; font-size: .72rem; }
.tracking-note small { color: #817982; font-size: .62rem; }

@media(max-width:900px){
  .analytics-toolbar .date-presets { width: 100%; }
  .analytics-metrics { grid-template-columns: repeat(2,1fr); }
  .analytics-chart-head { align-items: flex-start; flex-direction: column; }
  .chart-legend { justify-content: flex-start; }
  .campaign-report>header { grid-template-columns: 1fr auto; }
  .campaign-report>header form { grid-column: 1/-1; }
  .creative-results { grid-template-columns: 1fr; }
}
@media(max-width:760px){
  .campaign-card:not(.campaign-image-only) { width: min(calc(var(--campaign-vw,100vw) - 16px),620px); height: auto; max-height: 100%; grid-template-columns: 1fr; overflow-y: auto!important; overscroll-behavior: contain; }
  .campaign-card:not(.campaign-image-only)>.campaign-visual { width: 100%; height: clamp(150px,42dvh,420px); flex: 0 0 auto; }
  .campaign-card:not(.campaign-image-only)>.campaign-visual img { width: 100%; height: 100%; object-fit: contain; }
  .campaign-card .campaign-copy { max-height: none; overflow: visible; padding: clamp(18px,5vw,32px); }
}
@media(max-width:640px){
  .switch-control { width: 100%; }
  .analytics-metrics { grid-template-columns: 1fr 1fr!important; }
  .analytics-chart-panel { padding: 18px 12px; }
  .chart-legend { display: grid; grid-template-columns: repeat(3,1fr); width: 100%; }
  .chart-legend button { min-width: 0; justify-content: center; padding: 8px 6px; }
  .line-chart { height: auto; }
  .line-chart svg { min-height: 0; height: auto; }
  .chart-foot { align-items: flex-start; flex-direction: column; }
  .campaign-kpis { grid-column: 1/-1; width: 100%; justify-content: space-between; }
  .campaign-report>header { grid-template-columns: 1fr; }
  .device-creative-group>div { grid-template-columns: 1fr 1fr; }
  .creative-results { padding: 10px; }
  .campaign-image-only { width: calc(var(--campaign-vw,100vw) - 12px)!important; height: calc(var(--campaign-vh,100dvh) - 12px); }
}
@media(max-height:480px) and (min-width:761px){
  .campaign-card .campaign-copy { padding: 18px 24px; }
  .campaign-copy h2 { margin-bottom: 8px; font-size: clamp(1.45rem,6vh,2.2rem)!important; }
}

/* Multi-level games and cinematic public pages */
.upload-levels { padding:22px;border:1px dashed rgba(255,76,158,.5);border-radius:16px;background:rgba(255,45,141,.045); }
.upload-levels input { margin-top:10px; }
.level-track { width:min(500px,100%);margin:24px auto 0;text-align:left; }
.level-track b { display:block;margin-bottom:8px;color:#fff;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase; }
.level-track>div { height:5px;overflow:hidden;border-radius:99px;background:rgba(255,255,255,.08); }
.level-track span { display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#bd0f61,#ff4b9d,#ff9bc8);box-shadow:0 0 16px rgba(255,45,141,.6);transition:width .5s ease; }

.games-page { width:min(1500px,calc(100% - 32px));margin:0 auto;padding:clamp(55px,9vw,120px) 0; }
.games-hero { position:relative;max-width:1040px;margin-bottom:70px; }
.games-hero::before { content:"GAMES";position:absolute;z-index:-1;top:-70px;left:-10px;color:rgba(255,255,255,.018);font-size:clamp(7rem,20vw,18rem);font-weight:950;letter-spacing:-.09em; }
.games-hero h1 { max-width:900px;font-size:clamp(3.2rem,9vw,8rem)!important;line-height:.86!important; }
.games-hero>p:last-child { max-width:680px;color:#aaa2ab;font-size:1.15rem; }
.game-gallery { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2.3vw,34px); }
.public-game-card { position:relative;overflow:hidden;padding:10px 10px 28px;border:1px solid rgba(255,255,255,.09);border-radius:24px;background:linear-gradient(155deg,rgba(30,19,28,.9),rgba(8,7,9,.98));box-shadow:0 24px 70px rgba(0,0,0,.34);transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .35s,box-shadow .35s; }
.public-game-card>div { aspect-ratio:4/3;overflow:hidden;border-radius:17px; }
.public-game-card img { width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .5s; }
.public-game-card>span,.public-game-card>h2,.public-game-card>p,.public-game-card>b { display:block;margin-right:16px;margin-left:16px; }
.public-game-card>span { margin-top:20px;color:#ff70b1;font-size:.68rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase; }
.public-game-card h2 { margin-top:10px;margin-bottom:10px;font-size:clamp(1.5rem,2.5vw,2.4rem)!important; }
.public-game-card p { min-height:3em;color:var(--muted); }
.public-game-card>b { color:#fff;font-size:.82rem;text-transform:uppercase;letter-spacing:.1em; }
.public-game-card:hover { color:#fff;transform:translateY(-10px);border-color:rgba(255,79,159,.65);box-shadow:0 35px 100px rgba(0,0,0,.55),0 0 40px rgba(255,45,141,.12); }
.public-game-card:hover img { transform:scale(1.08);filter:saturate(1.12) contrast(1.04); }
.empty-games { padding:70px;border:1px solid var(--line);border-radius:24px;text-align:center;background:var(--panel); }

.artwork-page { width:min(1580px,calc(100% - 32px))!important;margin:clamp(28px,5vw,70px) auto!important;gap:clamp(28px,4vw,70px)!important;align-items:start!important; }
.artwork-stage { position:relative;overflow:hidden!important;min-height:0!important;padding:clamp(10px,1.5vw,20px)!important;border:1px solid rgba(255,255,255,.11)!important;border-radius:clamp(20px,3vw,38px)!important;background:radial-gradient(circle at 50% 50%,rgba(255,45,141,.09),transparent 52%),#080609!important;box-shadow:0 45px 120px rgba(0,0,0,.58),0 0 0 1px rgba(255,255,255,.025),0 0 70px rgba(255,45,141,.09); }
.artwork-stage::after { content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.08) 48%,transparent 66%);transform:translateX(-130%);animation:artSheen 7s ease-in-out infinite; }
.artwork-stage>img { width:100%!important;max-height:82vh!important;object-fit:contain!important;border-radius:clamp(14px,2vw,28px)!important;animation:artReveal .8s cubic-bezier(.2,.8,.2,1) both; }
.artwork-info { position:sticky!important;top:105px;padding:clamp(24px,3vw,44px)!important;border:1px solid rgba(255,255,255,.09);border-radius:24px;background:radial-gradient(circle at 100% 0,rgba(255,45,141,.12),transparent 40%),rgba(14,10,14,.88);box-shadow:0 30px 80px rgba(0,0,0,.38);backdrop-filter:blur(18px); }
.artwork-actions { flex-wrap:wrap; }
.share-list a { border-radius:10px!important;transition:transform .2s,border-color .2s!important; }
.share-list a:hover { transform:translateY(-3px);border-color:var(--accent)!important; }
@keyframes artReveal{from{opacity:0;transform:scale(.96);filter:blur(12px)}to{opacity:1;transform:none;filter:none}}
@keyframes artSheen{0%,65%{transform:translateX(-130%)}85%,100%{transform:translateX(130%)}}

body:not(.admin-body):not(.game-page)::after { content:"";position:fixed;z-index:-2;inset:0;pointer-events:none;background:radial-gradient(circle at 8% 18%,rgba(255,45,141,.08),transparent 25%),radial-gradient(circle at 88% 55%,rgba(114,42,255,.055),transparent 28%); }
.button { box-shadow:0 10px 28px rgba(240,68,82,.14); }
.button:hover { box-shadow:0 14px 36px rgba(255,45,141,.27); }

@media(max-width:980px){.game-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.artwork-info{position:static!important}}
@media(max-width:620px){.game-gallery{grid-template-columns:1fr}.games-page{width:calc(100% - 20px)}.games-hero{margin-bottom:40px}.public-game-card p{min-height:0}.artwork-page{width:calc(100% - 16px)!important}.artwork-stage{padding:7px!important;border-radius:20px!important}.artwork-stage>img{border-radius:14px!important}}
