body.memory-heat-page {
  --memory-cyan: #7ce4f0;
  --memory-gold: #e9d28a;
  --memory-orange: #e56f38;
}

body.memory-heat-page .startup-content,
body.memory-heat-page .home-hero,
body.memory-heat-page .campus-home-panel {
  border-color: rgba(124, 228, 240, 0.26);
  background:
    radial-gradient(circle at 18% 10%, rgba(124, 228, 240, 0.10), transparent 30%),
    radial-gradient(circle at 84% 18%, rgba(233, 210, 138, 0.12), transparent 28%),
    rgba(5, 16, 31, 0.74);
}

body.memory-heat-page .startup-eyebrow,
body.memory-heat-page .eyebrow,
body.memory-heat-page .source-line {
  color: var(--memory-cyan);
}

body.memory-heat-page .startup-content h1,
body.memory-heat-page .home-hero h1,
body.memory-heat-page #campusTitle {
  color: #fff4d4;
}

body.memory-heat-page.view-map #map,
body.memory-heat-page.view-map .leaflet-map,
body.memory-heat-page.view-map .leaflet-container {
  background:
    radial-gradient(circle at 18px 18px, rgba(233, 210, 138, 0.30) 0 1.15px, transparent 1.8px),
    radial-gradient(circle at 46px 46px, rgba(124, 228, 240, 0.22) 0 1px, transparent 1.8px),
    radial-gradient(circle at 50% 42%, rgba(124, 228, 240, 0.045), transparent 40%),
    #061422;
  background-size: 48px 48px, 48px 48px, auto, auto;
}

body.memory-heat-page .leaflet-overlay-pane svg path {
  transition: fill-opacity 140ms ease, stroke-width 140ms ease, stroke 140ms ease, fill 140ms ease;
}

.memory-heat-icon {
  pointer-events: auto;
  background: transparent;
}

.memory-heat-marker {
  position: absolute;
  left: calc(var(--heat-size) * -0.5);
  top: calc(var(--heat-size) * -0.5);
  display: block;
  width: var(--heat-size);
  height: var(--heat-size);
  border-radius: 999px;
  background:
    radial-gradient(circle, #fff6cf 0 10%, var(--heat-core) 11% 29%, rgba(233, 210, 138, 0.35) 31% 45%, transparent 67%);
  box-shadow:
    0 0 calc(var(--heat-size) * 0.72) var(--heat-halo),
    0 0 calc(var(--heat-size) * 1.36) rgba(124, 228, 240, 0.32),
    0 0 calc(var(--heat-size) * 2.05) rgba(229, 111, 56, 0.20);
  mix-blend-mode: screen;
}

.memory-heat-marker > span {
  position: absolute;
  inset: 35%;
  border-radius: inherit;
  background: #fff6cf;
  box-shadow: 0 0 10px rgba(255, 246, 207, 0.92);
}

body.memory-heat-page.view-map .memory-hot-label {
  max-width: 170px;
  padding: 2px 7px;
  border: 1px solid rgba(255, 184, 89, 0.48);
  border-radius: 5px;
  color: #061422;
  background: linear-gradient(135deg, rgba(232, 213, 136, 0.98), rgba(232, 128, 66, 0.88));
  box-shadow:
    0 0 18px rgba(232, 128, 66, 0.36),
    0 1px 4px rgba(0, 0, 0, 0.28);
  font-size: 11px;
  font-weight: 900;
  text-shadow: none;
}

body.memory-heat-page.view-map .memory-guide {
  border-color: rgba(233, 210, 138, 0.22);
  color: #fff4d4;
  background: rgba(7, 22, 34, 0.76);
}

body.memory-heat-page.view-map .memory-guide span {
  color: var(--memory-gold);
  filter: drop-shadow(0 0 8px rgba(233, 210, 138, 0.62));
}

body.memory-heat-page.view-map .topbar {
  background:
    radial-gradient(circle at 80% 20%, rgba(233, 210, 138, 0.09), transparent 28%),
    linear-gradient(180deg, rgba(7, 22, 34, 0.94), rgba(5, 16, 29, 0.90));
}

body.memory-heat-page.view-map .top-search button,
body.memory-heat-page.view-map .memory-form button,
body.memory-heat-page.view-map .section-head span {
  color: #061422;
  background: linear-gradient(135deg, var(--memory-gold), #f0a158);
}

body.memory-heat-page.view-map .map-badge span::after {
  content: " · Memory";
  color: var(--memory-gold);
}

@media (max-width: 760px) {
  body.memory-heat-page.view-map .memory-hot-label {
    max-width: 136px;
    padding: 2px 5px;
    font-size: 10px;
  }

  .memory-heat-marker {
    filter: saturate(0.95);
  }

  body.memory-heat-page.view-map .memory-guide {
    right: 10px;
    left: 10px;
    bottom: 10px;
    max-width: none;
  }
}
