/* Per-game palette for policy / support / terms pages */

body.policy-page {
  color: var(--policy-text, #edf8ff);
}

body.policy-page::after {
  position: fixed;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  content: "";
}

body.policy-page.policy-neon-horde-survivor {
  --policy-accent: #3de1ff;
  --policy-accent-alt: #ff4eea;
  --policy-violet: #a66cff;
  --policy-text: #eefaff;
  --policy-muted: #a3b8cb;
  --policy-line: rgba(61, 225, 255, 0.22);
  background:
    radial-gradient(circle at 12% 0%, rgba(114, 50, 205, 0.28), transparent 32rem),
    radial-gradient(circle at 100% 17%, rgba(0, 206, 255, 0.14), transparent 34rem),
    linear-gradient(180deg, #020713 0%, #030919 48%, #01040d 100%);
}

body.policy-page.policy-neon-horde-survivor::after {
  background-image:
    linear-gradient(rgba(61, 225, 255, 0.032) 1px, transparent 1px),
    linear-gradient(90deg, rgba(61, 225, 255, 0.032) 1px, transparent 1px);
  background-size: 38px 38px;
  mask-image: linear-gradient(to bottom, black, transparent 88%);
}

body.policy-page.policy-fission-neon-tunnel {
  --policy-accent: #3de1ff;
  --policy-accent-alt: #ff4dff;
  --policy-violet: #b66cff;
  --policy-text: #edf8ff;
  --policy-muted: #9eb3c8;
  --policy-line: rgba(61, 225, 255, 0.2);
  background:
    radial-gradient(circle at 14% 0%, rgba(73, 46, 173, 0.25), transparent 34rem),
    radial-gradient(circle at 92% 12%, rgba(0, 198, 240, 0.12), transparent 32rem),
    linear-gradient(#020713 0%, #030817 50%, #02050d 100%);
}

body.policy-page.policy-fission-neon-tunnel::after {
  background-image:
    linear-gradient(rgba(61, 225, 255, 0.022) 1px, transparent 1px),
    linear-gradient(90deg, rgba(61, 225, 255, 0.022) 1px, transparent 1px);
  background-size: 36px 36px;
  mask-image: linear-gradient(#000, transparent 88%);
}

body.policy-page.policy-lumen {
  --policy-accent: #84dfff;
  --policy-accent-alt: #ff4dff;
  --policy-violet: #b66cff;
  --policy-text: #edf8ff;
  --policy-muted: #9eb3c8;
  --policy-line: rgba(132, 223, 255, 0.22);
  background:
    radial-gradient(circle at 14% 0%, rgba(73, 46, 173, 0.22), transparent 34rem),
    radial-gradient(circle at 92% 12%, rgba(132, 223, 255, 0.12), transparent 32rem),
    linear-gradient(#020713 0%, #030817 50%, #02050d 100%);
}

body.policy-page.policy-lumen::after {
  background-image:
    linear-gradient(rgba(132, 223, 255, 0.022) 1px, transparent 1px),
    linear-gradient(90deg, rgba(132, 223, 255, 0.022) 1px, transparent 1px);
  background-size: 36px 36px;
  mask-image: linear-gradient(#000, transparent 88%);
}

body.policy-page.policy-stack-tower-builder {
  --policy-accent: #4fdfed;
  --policy-accent-alt: #ff58b9;
  --policy-violet: #7b52e8;
  --policy-text: #f8f2ff;
  --policy-muted: #c8bfe1;
  --policy-line: rgba(244, 232, 255, 0.18);
  background:
    radial-gradient(circle at 14% 0%, rgba(123, 82, 232, 0.28), transparent 34rem),
    radial-gradient(circle at 92% 12%, rgba(255, 88, 185, 0.18), transparent 32rem),
    linear-gradient(#17103f 0%, #100b2b 50%, #07051a 100%);
}

body.policy-page.policy-stack-tower-builder::after {
  background-image:
    linear-gradient(rgba(79, 223, 237, 0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(79, 223, 237, 0.025) 1px, transparent 1px);
  background-size: 36px 36px;
  mask-image: linear-gradient(#000, transparent 88%);
}

body.policy-page.policy-wreckage {
  --policy-accent: #ff982c;
  --policy-accent-alt: #ffd166;
  --policy-violet: #c45c26;
  --policy-text: #fff4ea;
  --policy-muted: #c9b5a8;
  --policy-line: rgba(255, 152, 44, 0.22);
  background:
    radial-gradient(circle at 14% 0%, rgba(196, 92, 38, 0.24), transparent 34rem),
    radial-gradient(circle at 92% 12%, rgba(255, 152, 44, 0.12), transparent 32rem),
    linear-gradient(#0a0604 0%, #120a06 50%, #070403 100%);
}

body.policy-page.policy-wreckage::after {
  background-image:
    linear-gradient(rgba(255, 152, 44, 0.022) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 152, 44, 0.022) 1px, transparent 1px);
  background-size: 36px 36px;
  mask-image: linear-gradient(#000, transparent 88%);
}

body.policy-page .policy-back-link:hover,
body.policy-page .policy-back-icon {
  color: var(--policy-accent);
}

body.policy-page .policy-tabs a:hover {
  border-color: color-mix(in srgb, var(--policy-accent) 42%, transparent);
  background: color-mix(in srgb, var(--policy-accent) 8%, transparent);
  color: var(--policy-text);
}

body.policy-page .policy-tabs a[aria-current="page"] {
  border-color: color-mix(in srgb, var(--policy-accent) 55%, transparent);
  background: color-mix(in srgb, var(--policy-accent) 14%, transparent);
  color: var(--policy-text);
  box-shadow: 0 0 22px color-mix(in srgb, var(--policy-accent) 18%, transparent);
}

body.policy-page .policy-shell .hero {
  border-bottom-color: var(--policy-line);
}

body.policy-page .policy-context {
  border-color: var(--policy-line);
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--policy-accent) 6%, transparent), transparent 58%),
    rgba(3, 10, 18, 0.72);
}

body.policy-page .policy-shell .eyebrow,
body.policy-page .policy-shell .contents p,
body.policy-page .policy-shell .section-number {
  color: var(--policy-accent-alt, var(--policy-accent));
}

body.policy-page .policy-shell .hero h1 {
  color: var(--policy-text);
  text-shadow: 0 0 38px color-mix(in srgb, var(--policy-accent-alt, var(--policy-accent)) 16%, transparent);
}

body.policy-page .policy-shell .lede,
body.policy-page .policy-shell .policy p,
body.policy-page .policy-shell .policy li {
  color: var(--policy-muted);
}

body.policy-page .policy-shell a {
  color: var(--policy-accent);
}

body.policy-page .policy-shell a:hover {
  color: var(--policy-text);
}

body.policy-page .policy-shell .contents,
body.policy-page .policy-shell .policy-meta span,
body.policy-page .policy-shell .support-card,
body.policy-page .policy-shell .summary-grid div,
body.policy-page .policy-shell .contact-card {
  border-color: var(--policy-line);
}

body.policy-page .policy-shell .contact-link {
  border-color: var(--policy-accent);
  background: color-mix(in srgb, var(--policy-accent) 10%, transparent);
  color: var(--policy-text);
}

body.policy-page .policy-shell .contact-link:hover {
  background: var(--policy-accent);
  color: #020713;
}

body.policy-page .game-help-links a {
  color: var(--policy-accent);
}
