/* Agoramores — "may" theme overrides. Loaded after main.css.
   Every selector here is scoped to body[data-theme-id="may"]. */

body[data-theme-id="may"] {
  --tt-bg: #000;
  /* Link-hover paired to THIS block's ground (standing rule 2026-08-14).
     #000 is dark: #FF465A clears 6.28:1 here. */
  --link-hover: #FF4947;
  --tt-bg-alt: #000;
  --tt-cyan: #f2e6d2;
  --tt-cyan-soft: #f2e6d2;
  --tt-yellow: #f2e6d2;
  --tt-orange: #f2e6d2;
  --tt-green: #f2e6d2;
  --tt-chartreuse: #f2e6d2;
  --tt-pink: #f2e6d2;
  --tt-purple: #f2e6d2;
  --tt-blue: #f2e6d2;
  --tt-teal: #f2e6d2;
  --tt-gray: #f2e6d2;
  --tt-gold: #f2e6d2;
  --tt-red: #f2e6d2;
  --tt-breadcrumb-text: #f2e6d2;
  --tt-breadcrumb-glow: transparent;
  /* Hover/focus halo for the zodiac glyphs. This month's breadcrumb glow is
     too faint to trace a character, so the chips get their own value; the
     rule that uses it lives once in main.css. Never a border. */
  --zodiac-glow: rgba(242, 230, 210, 0.78);
  --tt-heading-rainbow: none;
  --tt-heading-rainbow-vertical: none;
  --tt-heading-text-rainbow: none;
  --bg: #000;
  --surface: transparent;
  --text: #f2e6d2;
  --text-soft: #f2e6d2;
  --muted: #f2e6d2;
  --border: #f2e6d2;
  --border-dim: rgba(242, 230, 210, 0.7);
  --border-teal: rgba(242, 230, 210, 0.72);
  background: #000;
  color: #f2e6d2;
  color-scheme: dark;
}

body[data-theme-id="may"] .breadcrumb-nav {
  background: #000;
  box-shadow: none;
}

/* The celestial tooltip floats on <body>, outside the card, and these months
   have no rainbow palette to draw its edge from, so it takes a plain frame.
   The zodiac CHIPS deliberately get nothing here — they carry no border on any
   theme; see the permanent note on .celestial-chip in main.css. */
body[data-theme-id="may"] .celestial-tooltip {
  border-image: none;
  border-color: rgba(242, 230, 210, 0.72);
  box-shadow: none;
}

body[data-theme-id="may"]::before,
body[data-theme-id="may"] .breadcrumb-nav::before {
  display: none;
  animation: none;
}

body[data-theme-id="may"] .night-sky {
  background: #000;
}

body[data-theme-id="may"] .night-sky::before,
body[data-theme-id="may"] .night-sky__stars,
body[data-theme-id="may"] .night-sky__aurora,
body[data-theme-id="may"] .night-sky__fireworks,
body[data-theme-id="may"] .heading-section::before,
body[data-theme-id="may"] .page-toc::before {
  display: none;
}

body[data-theme-id="may"],
body[data-theme-id="may"] p,
body[data-theme-id="may"] li,
body[data-theme-id="may"] strong,
body[data-theme-id="may"] b,
body[data-theme-id="may"] em,
body[data-theme-id="may"] i,
body[data-theme-id="may"] a,
body[data-theme-id="may"] label,
body[data-theme-id="may"] td,
body[data-theme-id="may"] .brand a {
  background: none;
  color: #f2e6d2;
  -webkit-text-fill-color: #f2e6d2;
  text-shadow: none;
  animation: none;
}

/* HEADINGS, WHICH THE LIST ABOVE DOES NOT REACH (fixed 2026-08-15). That rule
   names the body elements and stops, so every h1–h6 was left holding main.css's
   clipped `--tt-heading-text-rainbow` — which this sheet sets to `none` —
   behind a transparent text fill, and painted nothing at all. Measured before
   the fix: the brightest pixel inside the H1's own box was 83/255 on the black
   ground, and that was the section rail rather than a letter. A sheet this
   austere still has to be readable.

   Both halves of the selector are needed, and this is the trap: main.css paints
   a rendered heading through `.markdown-page .heading-section__trigger` at
   (0,2,0), which outranks a plain `body[data-theme-id="may"] main h1` at
   (0,1,3). Writing only the second one leaves markdown headings — every
   heading a reader actually meets — still invisible.

   All four declarations are load-bearing, the same trio the `default` sheet
   documents: `background: none` and `background-clip: border-box` undo the
   clip, and the fill colour beats `color` on the element it lands on. */
body[data-theme-id="may"] main h1,
body[data-theme-id="may"] .page-title,
body[data-theme-id="may"] main h2,
body[data-theme-id="may"] main h3,
body[data-theme-id="may"] main h4,
body[data-theme-id="may"] main h5,
body[data-theme-id="may"] main h6,
body[data-theme-id="may"] .markdown-page .heading-section__trigger {
  background: none;
  -webkit-background-clip: border-box;
  background-clip: border-box;
  color: #f2e6d2;
  -webkit-text-fill-color: #f2e6d2;
  text-shadow: none;
  animation: none;
}

/* ---------------------------------------------------------------------------
   MAY BY DAY.

   May is not a designed month. It is the placeholder look — pure white on pure
   black, every gradient `none`, every ambient layer switched off — and that
   austerity is deliberate rather than a gap waiting for a palette. So the
   counterpart is the only thing this sheet can honestly be in the other
   lighting: itself with the sign flipped. Black ink on a white ground, no hue
   introduced anywhere, gradients still `none`, scenery still off. Warming it
   by a single degree would quietly promote May to a styled month, and it isn't
   one; when it is designed, both blocks get replaced together.

   Every selector below carries both attributes — (0,2,n) over the base block's
   (0,1,n) — so the two lightings are order-independent and neither has to know
   the other exists.
   --------------------------------------------------------------------------- */
body[data-theme-id="may"][data-mode="day"] {
  --tt-bg: #f2e6d2;
  /* Link-hover re-paired to THIS block's ground (standing rule 2026-08-14).
     #fff is light: #FF465A only measures 3.35:1 here, so day takes the
     same-hue dark variant, #BD0014 — 6.62:1. */
  --link-hover: #BC0900;
  --tt-bg-alt: #f2e6d2;
  --tt-cyan: #000;
  --tt-cyan-soft: #000;
  --tt-yellow: #000;
  --tt-orange: #000;
  --tt-green: #000;
  --tt-chartreuse: #000;
  --tt-pink: #000;
  --tt-purple: #000;
  --tt-blue: #000;
  --tt-teal: #000;
  --tt-gray: #000;
  --tt-gold: #000;
  --tt-red: #000;
  --tt-breadcrumb-text: #000;
  /* --tt-breadcrumb-glow stays transparent: transparent has no sign to flip.
     That is exactly why the chips carry their own token — the glyph halo has
     to be read against the ground it sits on, and a white halo on a white page
     would leave the strip with no hover or focus affordance at all. */
  --zodiac-glow: rgba(0, 0, 0, 0.78);
  --bg: #f2e6d2;
  --text: #000;
  --text-soft: #000;
  --muted: #000;
  --border: #000;
  --border-dim: rgba(0, 0, 0, 0.7);
  --border-teal: rgba(0, 0, 0, 0.72);
  /* An engraving is cut with the light above it, so the lit lip below a stroke
     is white on a pale card where it was black on a dark one. It reads as
     quietly here as its counterpart does there — that is the inversion working,
     not failing, and a visible shadow would be the thing out of place. */
  --tt-engrave: 0 1px 0 rgba(242, 230, 210, 0.75);
  background: #f2e6d2;
  color: #000;
  color-scheme: light;
}

body[data-theme-id="may"][data-mode="day"] .breadcrumb-nav {
  background: #f2e6d2;
}

/* Only the border colour flips; the tooltip's plain frame and absent shadow are
   properties of the month, not of the hour, and stay with the base block. */
body[data-theme-id="may"][data-mode="day"] .celestial-tooltip {
  border-color: rgba(0, 0, 0, 0.72);
}

body[data-theme-id="may"][data-mode="day"] .night-sky {
  background: #f2e6d2;
}

/* main.css paints the code, field and pre surfaces with dark-ground literals —
   near-white type on a violet-black wash — that May never tokenised, so they
   are the one place the flip does not carry itself. Left alone they land at
   roughly 1.7:1 on the new ground, which the contrast floor does not allow. One
   achromatic wash and black ink restores them without introducing a colour. */
body[data-theme-id="may"][data-mode="day"] code,
body[data-theme-id="may"][data-mode="day"] pre,
body[data-theme-id="may"][data-mode="day"] input,
body[data-theme-id="may"][data-mode="day"] textarea,
body[data-theme-id="may"][data-mode="day"] select {
  background: rgba(0, 0, 0, 0.06);
  color: #000;
}

body[data-theme-id="may"][data-mode="day"] pre code { background: transparent; }

/* The zodiac chips are cut out of this list deliberately. In the base block the
   equivalent selector does reach them and simply loses to .celestial-chip's
   doubled-class rule in main.css; adding [data-mode] raises this one past that
   rule, so the exclusion is what keeps the two lightings behaving identically.
   The chips take their ink, their fill colour and their hover from main.css in
   both modes, which is the whole point of the anchor-proofing there. */
body[data-theme-id="may"][data-mode="day"],
body[data-theme-id="may"][data-mode="day"] p,
body[data-theme-id="may"][data-mode="day"] li,
body[data-theme-id="may"][data-mode="day"] strong,
body[data-theme-id="may"][data-mode="day"] b,
body[data-theme-id="may"][data-mode="day"] em,
body[data-theme-id="may"][data-mode="day"] i,
body[data-theme-id="may"][data-mode="day"] a:not(.celestial-chip),
body[data-theme-id="may"][data-mode="day"] label,
body[data-theme-id="may"][data-mode="day"] td,
body[data-theme-id="may"][data-mode="day"] .brand a {
  color: #000;
  -webkit-text-fill-color: #000;
}

/* The day half of the heading fix above — the sign flipped, like everything
   else in this block. Adding a heading selector to the night rule means adding
   it here too, or the heading goes white on a white ground. */
body[data-theme-id="may"][data-mode="day"] main h1,
body[data-theme-id="may"][data-mode="day"] .page-title,
body[data-theme-id="may"][data-mode="day"] main h2,
body[data-theme-id="may"][data-mode="day"] main h3,
body[data-theme-id="may"][data-mode="day"] main h4,
body[data-theme-id="may"][data-mode="day"] main h5,
body[data-theme-id="may"][data-mode="day"] main h6,
body[data-theme-id="may"][data-mode="day"] .markdown-page .heading-section__trigger {
  color: #000;
  -webkit-text-fill-color: #000;
}
