/* ===== INDEX: MINECRAFT NIGHT THEME ===== */
/* Visual-only — structure/content unchanged */

:root {
  --night-sky: #070a13;
  --night-midnight: #070a13;
  --night-blue: #0d1637;
  --night-deep-navy: #111c46;
  --night-moon: #6f88d8;
  --night-purple: #291a4a;
  --night-horizon: #4e3678;
  --night-terrain: #101e17;
  --night-grass: #193421;
  --night-moss: #16351a;
  --night-cave: #10131c;
  --night-deepslate: #1a1f28;
  --night-stone: #171b28;
  --night-stone-warm: #2a2620;
  --night-torch: #e7a34a;
  --night-lantern: #ffbf63;
  --night-water: #2479d2;
  --night-cherry: #c15a91;
  --night-portal: #5b3d8a;
  --night-green: #5d9135;
  --night-text: #f2f3f0;
  --night-muted: #aeb3bf;
  --block-size: 8px;
}

/* ---- Global world canvas ---- */
body.theme-nocturne {
  background-color: #050810;
  color: var(--night-text);
  background-image:
    /* distant moon */
    radial-gradient(circle at 18% 8%, rgba(111, 136, 216, 0.22) 0%, rgba(111, 136, 216, 0.06) 4%, transparent 14%),
    /* portal haze far right */
    radial-gradient(ellipse 40% 30% at 92% 18%, rgba(91, 61, 138, 0.12), transparent 55%),
    /* cherry glow left */
    radial-gradient(ellipse 35% 25% at 4% 42%, rgba(193, 90, 145, 0.08), transparent 50%),
    /* voxel hill band */
    linear-gradient(175deg, transparent 58%, rgba(22, 53, 26, 0.35) 58.2%, rgba(22, 53, 26, 0.35) 62%, transparent 62.2%),
    linear-gradient(168deg, transparent 64%, rgba(16, 30, 23, 0.45) 64.3%, rgba(16, 30, 23, 0.45) 68%, transparent 68.2%),
    /* star field base */
    radial-gradient(1px 1px at 10% 15%, rgba(255, 255, 255, 0.35), transparent),
    radial-gradient(1px 1px at 33% 8%, rgba(255, 255, 255, 0.25), transparent),
    radial-gradient(1px 1px at 67% 12%, rgba(200, 210, 255, 0.3), transparent),
    radial-gradient(1px 1px at 88% 20%, rgba(255, 255, 255, 0.2), transparent),
    linear-gradient(180deg, #050810 0%, #0a1020 35%, #0d1524 70%, #0a0e16 100%);
  background-attachment: fixed;
}

body.theme-nocturne::before {
  content: "";
  position: fixed;
  inset: -10%;
  pointer-events: none;
  z-index: 0;
  background:
    radial-gradient(circle at 72% 24%, rgba(91, 61, 138, 0.07), transparent 38%),
    radial-gradient(circle at 28% 70%, rgba(231, 163, 74, 0.04), transparent 32%);
  animation: night-drift 36s ease-in-out infinite alternate;
  opacity: 0.75;
}

body.theme-nocturne::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  opacity: 0.35;
  background-image:
    repeating-linear-gradient(
      0deg,
      transparent,
      transparent calc(var(--block-size) - 1px),
      rgba(255, 255, 255, 0.012) calc(var(--block-size) - 1px),
      rgba(255, 255, 255, 0.012) var(--block-size)
    ),
    repeating-linear-gradient(
      90deg,
      transparent,
      transparent calc(var(--block-size) - 1px),
      rgba(255, 255, 255, 0.008) calc(var(--block-size) - 1px),
      rgba(255, 255, 255, 0.008) var(--block-size)
    );
}

@keyframes night-drift {
  from { transform: translate(0, 0); }
  to { transform: translate(2%, -1%); }
}

/* Left accent rail — unique sidebar feel without DOM change */
body.theme-nocturne main {
  position: relative;
  z-index: 1;
}

body.theme-nocturne main::before {
  content: "";
  position: fixed;
  left: 0;
  top: calc(var(--nav-h) + var(--announce-h));
  bottom: 0;
  width: 3px;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(
    180deg,
    rgba(74, 47, 114, 0.5) 0%,
    rgba(22, 104, 199, 0.35) 40%,
    rgba(90, 143, 50, 0.25) 100%
  );
  opacity: 0.7;
}

@media (max-width: 1023px) {
  body.theme-nocturne main::before { display: none; }
}

/* Navbar night */
body.theme-nocturne #rift-header {
  background:
    linear-gradient(180deg, rgba(20, 24, 32, 0.98) 0%, rgba(12, 16, 24, 0.98) 100%);
  border-bottom: 1px solid rgba(42, 48, 56, 0.6);
  box-shadow: 0 1px 0 rgba(111, 136, 216, 0.06), inset 0 -1px 0 rgba(0, 0, 0, 0.35);
}

body.theme-nocturne .rift-announce {
  background: linear-gradient(90deg, #0a0e18 0%, #0d1220 50%, #0a0e18 100%);
  border-bottom: 1px solid rgba(42, 48, 56, 0.5);
  color: var(--night-muted);
}

body.theme-nocturne .rift-brand-name {
  display: inline-block;
  font-family: var(--font-display);
  font-size: 0.7rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--night-muted);
  margin-left: 0.35rem;
}

body.theme-nocturne .rift-rail-link {
  color: rgba(243, 244, 239, 0.88);
}

body.theme-nocturne .rift-rail-link.is-active {
  color: var(--night-green);
}

body.theme-nocturne .rift-rail-link:hover {
  color: #fff;
}

/* Hero night — panoramic atmosphere (image layers untouched) */
body.theme-nocturne .lunar-banner:not(.lunar-banner--canyon) {
  background: #060a14;
  box-shadow:
    inset 0 -80px 120px rgba(5, 8, 16, 0.45),
    inset 0 0 80px rgba(78, 54, 120, 0.08);
}

body.theme-nocturne .lunar-banner:not(.lunar-banner--canyon)::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 4;
  background:
    /* moon bloom */
    radial-gradient(circle at 14% 16%, rgba(111, 136, 216, 0.28) 0%, rgba(111, 136, 216, 0.08) 6%, transparent 18%),
    /* horizon violet */
    radial-gradient(ellipse 120% 45% at 50% 88%, rgba(78, 54, 120, 0.2), transparent 60%),
    /* low fog */
    linear-gradient(180deg, rgba(6, 10, 20, 0.08) 0%, transparent 28%, transparent 55%, rgba(9, 14, 26, 0.35) 100%),
    /* distant peaks */
    linear-gradient(182deg, transparent 52%, rgba(23, 27, 40, 0.15) 52.5%, transparent 53%),
    linear-gradient(177deg, transparent 48%, rgba(25, 52, 33, 0.12) 48.4%, transparent 49%);
}

body.theme-nocturne .lunar-banner:not(.lunar-banner--canyon)::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 4;
  background:
    linear-gradient(180deg, transparent 62%, rgba(9, 11, 21, 0.28) 100%),
    radial-gradient(ellipse 80% 40% at 50% 100%, rgba(36, 121, 210, 0.07), transparent 65%);
}

body.theme-nocturne .lunar-fall-layer {
  filter: drop-shadow(0 0 12px rgba(22, 104, 199, 0.35));
}

/* Stars */
body.theme-nocturne .lunar-stars {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 6;
  overflow: hidden;
}

body.theme-nocturne .lunar-stars::before,
body.theme-nocturne .lunar-stars::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(1px 1px at 8% 12%, rgba(255, 255, 255, 0.85), transparent),
    radial-gradient(1px 1px at 15% 28%, rgba(200, 210, 255, 0.7), transparent),
    radial-gradient(1.5px 1.5px at 22% 8%, rgba(255, 255, 255, 0.9), transparent),
    radial-gradient(1px 1px at 31% 18%, rgba(180, 190, 255, 0.6), transparent),
    radial-gradient(1px 1px at 38% 32%, rgba(255, 255, 255, 0.75), transparent),
    radial-gradient(1.5px 1.5px at 45% 6%, rgba(255, 255, 255, 0.8), transparent),
    radial-gradient(1px 1px at 52% 22%, rgba(200, 200, 255, 0.65), transparent),
    radial-gradient(1px 1px at 58% 14%, rgba(255, 255, 255, 0.7), transparent),
    radial-gradient(1px 1px at 65% 26%, rgba(255, 255, 255, 0.6), transparent),
    radial-gradient(1.5px 1.5px at 72% 10%, rgba(220, 210, 255, 0.75), transparent),
    radial-gradient(1px 1px at 78% 20%, rgba(255, 255, 255, 0.8), transparent),
    radial-gradient(1px 1px at 85% 8%, rgba(255, 255, 255, 0.65), transparent),
    radial-gradient(1px 1px at 92% 16%, rgba(200, 220, 255, 0.7), transparent),
    radial-gradient(1px 1px at 12% 42%, rgba(255, 255, 255, 0.5), transparent),
    radial-gradient(1px 1px at 88% 38%, rgba(255, 255, 255, 0.55), transparent);
  animation: star-twinkle 6s ease-in-out infinite alternate;
}

body.theme-nocturne .lunar-stars::after {
  background-image:
    radial-gradient(1px 1px at 18% 52%, rgba(255, 255, 255, 0.45), transparent),
    radial-gradient(1px 1px at 42% 48%, rgba(255, 255, 255, 0.4), transparent),
    radial-gradient(1px 1px at 67% 44%, rgba(200, 210, 255, 0.5), transparent),
    radial-gradient(1px 1px at 91% 50%, rgba(255, 255, 255, 0.35), transparent);
  animation-delay: 3s;
  opacity: 0.7;
}

@keyframes star-twinkle {
  from { opacity: 0.65; }
  to { opacity: 1; }
}

@keyframes shooting-star {
  0% { transform: translate(0, 0); opacity: 0; }
  2% { opacity: 1; }
  8% { transform: translate(120px, 60px); opacity: 0; }
  100% { opacity: 0; }
}

body.theme-nocturne .lunar-shooting-star {
  position: absolute;
  top: 8%;
  left: 20%;
  width: 40px;
  height: 1px;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.9), transparent);
  pointer-events: none;
  z-index: 7;
  opacity: 0;
  animation: shooting-star 12s ease-in-out infinite;
  animation-delay: 8s;
}

/* Hero text — bamboo canyon */
body.theme-nocturne .lunar-banner--canyon {
  background-color: #0d1511;
  background-image: none;
}

body.theme-nocturne .lunar-banner--canyon .lunar-canyon-image {
  filter: none;
  transform: none;
  opacity: 1;
}

body.theme-nocturne .lunar-banner--canyon .lunar-eyebrow {
  color: #6aad4a;
  text-shadow:
    0 1px 0 #1a2a14,
    0 2px 6px rgba(8, 14, 10, 0.7);
}

body.theme-nocturne .lunar-banner--canyon .lunar-title {
  color: #f5f0de;
  text-shadow:
    3px 0 0 #24301c,
    0 3px 0 #24301c,
    3px 3px 0 #1a2414,
    5px 5px 0 #101812;
}

body.theme-nocturne .lunar-banner--canyon .lunar-cta--primary,
body.theme-nocturne .lunar-banner--canyon .lunar-cta--secondary {
  color: #f5f0de;
}

/* Hero text night */
body.theme-nocturne .lunar-eyebrow {
  color: rgba(243, 244, 239, 0.92);
  text-shadow: 0 1px 6px rgba(5, 8, 23, 0.8);
}

body.theme-nocturne .lunar-title {
  color: #fff;
  text-shadow:
    0.08em 0 #1a1f3d,
    0.08em 0.08em #1a1f3d,
    0 0.08em #1a1f3d,
    0.16em 0.16em 0 #0a0c18,
    0 0 20px rgba(39, 51, 110, 0.25);
}

/* Hero button */
body.theme-nocturne .forge-amethyst {
  background: linear-gradient(180deg, #1a2238 0%, #111827 100%);
  border: 2px solid #3d3568;
  border-bottom-width: 4px;
  border-bottom-color: #2a2448;
  color: var(--night-text);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

body.theme-nocturne .forge-amethyst:hover {
  border-color: #5a4f8a;
  background: linear-gradient(180deg, #222b45 0%, #151c30 100%);
}

body.theme-nocturne .forge-emerald,
body.theme-nocturne .forge-emerald-dl {
  background: linear-gradient(180deg, #6a9e3a 0%, #3d6620 100%);
  border-color: #2d4818;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 3px 0 #1a3010;
}

/* Fireflies / particles */
body.theme-nocturne .lunar-mote {
  border-radius: 50%;
  animation: firefly-drift linear infinite;
}

body.theme-nocturne .lunar-mote:nth-child(1) {
  background: rgba(255, 191, 99, 0.75);
  box-shadow: 0 0 6px rgba(230, 163, 72, 0.4);
  width: 4px;
  height: 4px;
}

body.theme-nocturne .lunar-mote:nth-child(2) {
  background: rgba(185, 76, 135, 0.65);
  width: 3px;
  height: 3px;
}

body.theme-nocturne .lunar-mote:nth-child(3) {
  background: rgba(53, 200, 220, 0.5);
  width: 3px;
  height: 3px;
}

body.theme-nocturne .lunar-mote:nth-child(4) {
  background: rgba(255, 191, 99, 0.6);
  width: 2px;
  height: 2px;
}

@keyframes firefly-drift {
  0% { transform: translateY(0); opacity: 0; }
  15% { opacity: 0.6; }
  100% { transform: translateY(40vh); opacity: 0; }
}

/* ---- Section world layers (backgrounds only) ---- */
body.theme-nocturne .rift-section {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

/* deepslate pixel divider between sections */
body.theme-nocturne .rift-section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 6px;
  z-index: 0;
  pointer-events: none;
  background:
    repeating-linear-gradient(
      90deg,
      #2a3038 0,
      #2a3038 6px,
      #1e232b 6px,
      #1e232b 12px,
      #353b44 12px,
      #353b44 14px,
      #1a1f28 14px,
      #1a1f28 20px
    );
  box-shadow: 0 2px 0 rgba(0, 0, 0, 0.4);
  opacity: 0.85;
}

/* 1 — Platforms: soft handoff from canyon hero */
body.theme-nocturne .rift-section-platforms {
  background-color: #0d1511 !important;
  background-image:
    radial-gradient(ellipse 90% 55% at 50% 0%, rgba(106, 173, 74, 0.06), transparent 55%),
    linear-gradient(180deg, #0d1511 0%, #101712 40%, #111815 100%) !important;
}

body.theme-nocturne .rift-section-platforms::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background:
    /* blocky terrain silhouette */
    linear-gradient(168deg, transparent 72%, rgba(22, 53, 26, 0.25) 72.3%, rgba(22, 53, 26, 0.25) 76%, transparent 76.3%),
    linear-gradient(192deg, transparent 78%, rgba(26, 31, 40, 0.35) 78.4%, rgba(26, 31, 40, 0.35) 82%, transparent 82.3%),
    repeating-linear-gradient(
      90deg,
      transparent,
      transparent 15px,
      rgba(255, 255, 255, 0.015) 15px,
      rgba(255, 255, 255, 0.015) 16px
    );
  opacity: 0.9;
}

/* 2 — Discover: forest edge + cherry moonlight */
body.theme-nocturne .section-wander {
  background-color: #081018 !important;
  background-image:
    radial-gradient(ellipse 70% 50% at 85% 20%, rgba(193, 90, 145, 0.14), transparent 55%),
    radial-gradient(ellipse 60% 40% at 10% 80%, rgba(22, 53, 26, 0.2), transparent 50%),
    linear-gradient(180deg, #0a1420 0%, #060c14 100%) !important;
}

body.theme-nocturne .section-wander::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background:
    /* tree silhouettes */
    linear-gradient(175deg, transparent 55%, rgba(12, 24, 18, 0.5) 55.5%, transparent 56%),
    linear-gradient(185deg, transparent 62%, rgba(10, 20, 16, 0.45) 62.8%, transparent 63.5%),
    linear-gradient(170deg, transparent 68%, rgba(14, 28, 20, 0.4) 68.6%, transparent 69.2%),
    radial-gradient(ellipse 50% 30% at 50% 100%, rgba(36, 121, 210, 0.06), transparent 70%);
}

/* 3 — How it works: moonlit grassland blocks */
body.theme-nocturne .section-learn {
  background-color: #0c1610 !important;
  background-image:
    radial-gradient(ellipse 80% 50% at 50% 0%, rgba(93, 145, 53, 0.08), transparent 50%),
    linear-gradient(180deg, #101e17 0%, #0c1812 50%, #0a1410 100%) !important;
}

body.theme-nocturne .section-learn::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background-image:
    repeating-linear-gradient(
      0deg,
      transparent,
      transparent 7px,
      rgba(255, 255, 255, 0.02) 7px,
      rgba(255, 255, 255, 0.02) 8px
    ),
    repeating-linear-gradient(
      90deg,
      transparent,
      transparent 7px,
      rgba(0, 0, 0, 0.08) 7px,
      rgba(0, 0, 0, 0.08) 8px
    );
  opacity: 0.35;
  mask-image: linear-gradient(180deg, transparent 0%, black 25%, black 75%, transparent 100%);
}

/* 4 — Game modes: deep cave + portal glow */
body.theme-nocturne .section-play {
  background-color: #060810 !important;
  background-image:
    radial-gradient(ellipse 55% 45% at 50% 60%, rgba(91, 61, 138, 0.18), transparent 60%),
    radial-gradient(ellipse 40% 30% at 20% 30%, rgba(36, 121, 210, 0.08), transparent 50%),
    linear-gradient(180deg, #0a0c14 0%, #050608 50%, #080a10 100%) !important;
}

body.theme-nocturne .section-play::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background:
    /* deepslate wall texture */
    repeating-linear-gradient(
      135deg,
      transparent,
      transparent 12px,
      rgba(26, 31, 40, 0.25) 12px,
      rgba(26, 31, 40, 0.25) 14px
    ),
    linear-gradient(180deg, rgba(91, 61, 138, 0.06) 0%, transparent 40%, rgba(91, 61, 138, 0.04) 100%);
  opacity: 0.85;
}

body.theme-nocturne .play-cinema {
  position: relative;
  z-index: 1;
}

/* 5 — Play with friends: torch-lit clearing */
body.theme-nocturne .section-party {
  background-color: #12100c !important;
  background-image:
    radial-gradient(ellipse 50% 40% at 25% 30%, rgba(231, 163, 74, 0.12), transparent 55%),
    radial-gradient(ellipse 45% 35% at 75% 70%, rgba(255, 191, 99, 0.08), transparent 50%),
    linear-gradient(180deg, #141210 0%, #0e0c0a 100%) !important;
}

body.theme-nocturne .section-party::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background:
    radial-gradient(circle at 30% 25%, rgba(231, 163, 74, 0.06) 0%, transparent 25%),
    radial-gradient(circle at 70% 65%, rgba(255, 191, 99, 0.05) 0%, transparent 22%),
    linear-gradient(180deg, transparent 70%, rgba(22, 53, 26, 0.15) 100%);
}

/* 6 — Expand world: night forest canopy */
body.theme-nocturne .section-grow {
  background-color: #0a1a0e !important;
  background-image:
    radial-gradient(ellipse 100% 60% at 50% 0%, rgba(93, 145, 53, 0.15), transparent 55%),
    radial-gradient(ellipse 80% 50% at 80% 100%, rgba(22, 53, 26, 0.25), transparent 50%),
    linear-gradient(180deg, #16351a 0%, #122a16 35%, #0f2212 70%, #0a180e 100%) !important;
}

body.theme-nocturne .section-grow::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background:
    linear-gradient(172deg, transparent 8%, rgba(12, 28, 16, 0.35) 8.5%, transparent 9%),
    linear-gradient(178deg, transparent 12%, rgba(10, 24, 14, 0.3) 12.4%, transparent 13%),
    radial-gradient(ellipse 60% 25% at 50% 0%, rgba(193, 90, 145, 0.05), transparent 70%);
}

/* 7 — FAQ: deepslate chamber */
body.theme-nocturne .section-faq-about {
  background-color: #0a0c10 !important;
  background-image:
    linear-gradient(180deg, #12151c 0%, #0a0c10 40%, #080a0e 100%) !important;
}

body.theme-nocturne .section-faq-about::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background:
    repeating-linear-gradient(
      0deg,
      transparent,
      transparent 11px,
      rgba(255, 255, 255, 0.018) 11px,
      rgba(255, 255, 255, 0.018) 12px
    ),
    radial-gradient(ellipse 70% 40% at 50% 100%, rgba(42, 48, 56, 0.4), transparent 65%);
  opacity: 0.6;
}

/* Keep content above atmospheric layers */
body.theme-nocturne .rift-wrap,
body.theme-nocturne .party-shell,
body.theme-nocturne .grow-header,
body.theme-nocturne .grow-carousel,
body.theme-nocturne .faq-wrap,
body.theme-nocturne .wander-carousel,
body.theme-nocturne .learn-grid,
body.theme-nocturne .rift-deck-panel {
  position: relative;
  z-index: 1;
}

body.theme-nocturne .section-learn .learn-card h3 {
  color: var(--night-text);
}

body.theme-nocturne .section-learn .learn-card p {
  color: var(--night-muted);
}

body.theme-nocturne .section-party .party-title {
  color: var(--night-text);
}

body.theme-nocturne .section-party .party-lead {
  color: var(--night-muted);
}

body.theme-nocturne .section-grow .rift-section-title {
  color: #fff;
}

body.theme-nocturne .section-grow .grow-lead {
  color: rgba(243, 244, 239, 0.78);
}

body.theme-nocturne .grow-slide {
  background: rgba(18, 36, 22, 0.85) !important;
  color: var(--night-text);
  backdrop-filter: blur(2px);
}

body.theme-nocturne .grow-slide.is-active {
  background: rgba(22, 44, 28, 0.92) !important;
  border-color: rgba(93, 145, 53, 0.35) !important;
}

body.theme-nocturne .grow-slide p {
  color: var(--night-muted);
}

body.theme-nocturne .grow-slide a {
  color: var(--night-lantern);
}

/* Cards */
body.theme-nocturne .play-card,
body.theme-nocturne .wander-main,
body.theme-nocturne .deck-tile,
body.theme-nocturne .grow-slide {
  background: #15171d !important;
  border: 1px solid rgba(39, 51, 110, 0.25) !important;
  border-top-color: rgba(39, 51, 110, 0.4) !important;
  box-shadow: 0 4px 0 rgba(0, 0, 0, 0.35);
}

body.theme-nocturne .section-learn .learn-card {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

body.theme-nocturne .section-learn .learn-card img {
  border: none !important;
  box-shadow: none !important;
}

/* Section titles */
body.theme-nocturne .rift-section-title {
  color: var(--night-text);
  text-shadow: 0 2px 12px rgba(39, 51, 110, 0.2);
}

body.theme-nocturne .rift-section-title::after {
  height: 4px;
  background:
    repeating-linear-gradient(
      90deg,
      var(--night-green) 0,
      var(--night-green) 8px,
      var(--night-deepslate) 8px,
      var(--night-deepslate) 16px,
      rgba(111, 136, 216, 0.5) 16px,
      rgba(111, 136, 216, 0.5) 24px
    );
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.35);
  opacity: 0.75;
}

body.theme-nocturne .rift-section-lead,
body.theme-nocturne .wander-lead {
  color: var(--night-muted);
}

/* Links in main only */
body.theme-nocturne main a:not(.forge-emerald):not(.forge-emerald-dl):not(.rift-rail-link):not(.lunar-cta) {
  color: #6aad4a;
}

body.theme-nocturne main a:not(.forge-emerald):not(.forge-emerald-dl):not(.rift-rail-link):not(.lunar-cta):hover {
  color: var(--night-lantern);
}

/* Footer night — deepslate stone */
body.theme-nocturne .rift-footer {
  position: relative;
  background:
    linear-gradient(180deg, #0c0f14 0%, #080a0e 100%);
  border-top: 6px solid transparent;
  border-image: repeating-linear-gradient(
    90deg,
    #2a3038 0,
    #2a3038 8px,
    #1a1f28 8px,
    #1a1f28 16px
  ) 6;
}

body.theme-nocturne .rift-footer::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse 80% 50% at 50% 0%, rgba(42, 48, 56, 0.25), transparent 60%),
    repeating-linear-gradient(
      0deg,
      transparent,
      transparent 15px,
      rgba(255, 255, 255, 0.012) 15px,
      rgba(255, 255, 255, 0.012) 16px
    );
  opacity: 0.5;
}

body.theme-nocturne .rift-legal-wrap {
  background: #20242c;
  position: relative;
  z-index: 1;
}

body.theme-nocturne .rift-footer .rift-footer-col a,
body.theme-nocturne .rift-footer .rift-footer-guidelines a {
  color: var(--night-green);
}

/* Scrollbar */
body.theme-nocturne ::-webkit-scrollbar-track {
  background: #090b11;
}

body.theme-nocturne ::-webkit-scrollbar-thumb {
  background: #303a5a;
}

body.theme-nocturne ::-webkit-scrollbar-thumb:hover {
  background: #465485;
}

@media (prefers-reduced-motion: reduce) {
  body.theme-nocturne::before,
  body.theme-nocturne::after,
  body.theme-nocturne .lunar-stars::before,
  body.theme-nocturne .lunar-stars::after,
  body.theme-nocturne .lunar-shooting-star,
  body.theme-nocturne .lunar-mote {
    animation: none !important;
  }
}

@media (max-width: 768px) {
  body.theme-nocturne .lunar-stars::before,
  body.theme-nocturne .lunar-stars::after {
    opacity: 0.5;
  }
}
