:root {
  --white: #ffffff;
  --off-white: #fafafa;
  --black: #111111;
  --grey: #6b6b6b;
  --grey-light: #9a9a9a;
  --hairline: #d9d9d9;
}

* { box-sizing: border-box; }

/* ---------- Ambient generative art: triangulated rain ----------
   Malte's explicit ask (2026-08-22): an abstract, slow-shifting pastel
   art piece in the background, built from triangles, as a deliberate
   ONE-OFF exception to the otherwise-monochrome design (see AI-HANDOFF.md
   - do not read this as license to add color elsewhere). Sits above all
   content at very low opacity via mix-blend-mode so it tints rather than
   covers; pointer-events:none keeps it fully non-interactive. Hidden
   during the lightbox (opaque, higher z-index) and toggled off in map
   view (see initViewToggle in script.js) so it never competes with
   Leaflet's own UI. */
#ambient-canvas {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 90;
  pointer-events: none;
  /* soft-light was tried first but is nearly invisible against this
     design's near-white backgrounds (soft-light barely lightens white);
     multiply shows the pastel tones clearly against white while still
     leaving black text/buttons dark and legible (multiply always trends
     toward the darker input). */
  mix-blend-mode: multiply;
  opacity: 0.6;
}

@media (prefers-reduced-motion: reduce) {
  #ambient-canvas { display: none; }
}

html[dir="rtl"] body,
html[dir="rtl"] h1,
html[dir="rtl"] h2,
html[dir="rtl"] .month-divider {
  font-family: "Vazirmatn", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* .card-note-overlay/.lightbox-note-overlay default to the serif italic
   voice below (Cormorant Garamond has no Persian coverage) - swap back to
   the Persian font for RTL notes so a Farsi caption doesn't render in a
   typeface missing its glyphs. */
html[dir="rtl"] .card-note-overlay,
html[dir="rtl"] #lightbox-note-overlay {
  font-family: "Vazirmatn", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-style: normal;
}

/* .closing-text and .message-text are always verbatim, untranslated
   English content (see AI-HANDOFF.md) - never switch them to the
   Persian font even when the surrounding UI is RTL. */

html, body {
  margin: 0;
  padding: 0;
  background: var(--white);
  color: var(--black);
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

h1, h2 {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 500;
  margin: 0;
}

