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

   ---------------------------------------------------------------------------
   THE SHOP — BLACK. The theme agoramores.shop wears, pinned for every page on
   that hostname. The brief, from the user on 2026-09-23: "make it a all black
   site with offwhite font, and have aesthetically appealing font."

   SO IT IS A BLACK ROOM, NOT A JEWEL BOX. This is deliberately the opposite of
   casey.css, which the shop wore until today: that sheet is a maximalist
   interior — flock damask, brocade, crown moulding, a kilim runner — built to
   Casey's own brief of 2026-09-05. It is not repainted and it is not retired;
   it stays in the picker exactly as she designed it. The shop simply stops
   wearing it. Flat black is the instruction, and flat black is what this is:
   true black ground, ivory type, one metal.

   TRUE BLACK IS LICENSED. DUH/rules/presentation.md, "No blue light, and no
   true white. True black is fine." #000000 is the floor and caseyStyle rule 9
   states it outright. The ceiling is #f2e6d2 — the brightest anything on this
   site may be, chosen by the user on 2026-08-16 — and that is exactly what the
   off-white ink is set to. "Off-white" and "the workspace ceiling" turn out to
   be the same colour, which is why this sheet needs no exception.

   NO BLUE. Every literal below satisfies B <= min(R, G). Nothing here is a
   neutral grey: a grey passes the rule only on the equality, and it emits as
   much blue as it does anything else, so every step of the ladder is warmed
   toward gold instead. There is no color-mix() anywhere — it interpolates in
   oklab and gamut-maps, which puts blue back.

   ONE METAL, AND A LIGHTNESS LADDER. With blue barred the whole gamut collapses
   onto the red-green arc, which is precisely the axis a protanope and a
   deuteranope cannot see along — so meaning rides on LIGHTNESS here, never on
   hue alone (caseyStyle rules 1 and 2). The ladder below is spaced on purpose
   and every figure is measured against #000000, not asserted.

   NO DAY BLOCK, ON PURPOSE. casey.css carries a [data-mode="day"] twin that
   opens the curtains onto a saffron ground. "All black" does not have a
   curtains-open state, so this sheet defines no day block at all. Every
   day-mode selector in main.css is scoped to its own theme id, so with none
   written here the room stays black in both lightings rather than falling back
   to a light ground.

   THE FONT. --font-heading is a FREE slot (see .github/agents/agoraMoresStyle/
   fonts.md) and is spent here on a Didone — the fashion-plate face, which is
   the one display idiom black-and-ivory has always belonged to. --font-text is
   LOCKED site-wide across all fourteen themes and is NOT touched: body copy is
   not a theme decision, and lifting that lock is the user's call, not a sheet's.
   No @font-face, no @import, no CDN — every face below is already on the
   reader's machine, which is why the first paint is the finished typography.
   Didot and Bodoni 72 ship with macOS; Hoefler Text, Baskerville and Palatino
   catch the machines that have neither, so the stack never lands on Times.
   --------------------------------------------------------------------------- */

body[data-theme-id="shop"] {
  /* The ground. True black, and the fills stay black everywhere: a card on this
     site reads by its border, never by a lighter fill. */
  --tt-bg: #000000;
  --tt-bg-alt: #100a07;      /* warm near-black surface        1.07:1 — a FILL, not type */

  /* The ink. #f2e6d2 is the workspace ceiling and the off-white the brief asks
     for; nothing on this site is lighter. */
  --tt-cyan: #f2e6d2;        /* body ink, structural borders  17.02:1 */
  --tt-cyan-soft: #d9c8a6;   /* secondary copy                12.76:1 */

  /* The metal. One family, spaced by lightness so no two meanings share a step. */
  --tt-chartreuse: #e6d9ae;  /* bold, table heads             14.90:1 */
  --tt-yellow: #e6bf63;      /* gold leaf — mark, focus ring  12.00:1 */
  --tt-gold: #c99a33;        /* breadcrumb, ornament           8.15:1 */
  --tt-blue: #a8b25a;        /* the LINK slot — jade, NOT blue 9.18:1 */
  --tt-purple: #b07d22;      /* bronze — :visited              5.80:1 */
  --tt-pink: #ff7a5c;        /* coral — code                   8.19:1 */
  --tt-gray: #a89578;        /* muted text                     7.24:1 */
  --tt-green: #6fbb52;       /* italics, tags                  8.91:1 */
  --tt-orange: #f0803a;      /* list numerals                  7.85:1 */
  --tt-red: #e63a2e;         /* borders, rules                 5.01:1 */
  --tt-teal: #6b5a42;        /* scrollbar, dim border          3.17:1 — a mark, 3:1 target */

  /* Link-hover paired to THIS block's ground (standing rule 2026-08-14).
     #000000 is the darkest ground there is, so the dark value applies. */
  --link-hover: #FF4947;     /* 6.30:1 */
  --link-hover-glow: 255, 73, 71;

  --tt-breadcrumb-text: #c99a33;                  /*  8.15:1 */
  --tt-breadcrumb-glow: rgba(201, 154, 51, 0.45);
  --zodiac-glow: rgba(230, 191, 99, 0.6);
  --constellation-strength: 0;
  /* On black an engrave can only be a lift, never a shadow. */
  --tt-engrave: 0 1px 0 rgba(242, 230, 210, 0.08);

  /* The Didone. Display only — fonts.md: hairlines are the first thing defocus
     deletes, so this never goes below h6 and never onto --font-text. */
  --font-heading: Didot, "Didot LT STD", "Bodoni 72", "Bodoni MT", "Hoefler Text", Baskerville, "Playfair Display", Palatino, "Book Antiqua", Georgia, serif;

  /* THE TWO RAMPS DO DIFFERENT JOBS, AND ONLY ONE OF THEM IS ALLOWED TO SHOUT.
     --tt-heading-rainbow and its vertical twin are NOT just heading decoration:
     main.css paints the page's whole sawtooth frame out of them (the four
     background-image layers behind the tooth masks), plus every border-image
     and the heading rails. Pointed at gold they drew a bright gold zigzag round
     all four edges, which is the one thing an all-black page cannot have. So
     the chrome ramp is ivory held at low alpha -- the frame survives as a faint
     deckled edge instead of a band of metal.

     --tt-heading-text-rainbow is a different token and paints heading TEXT
     only, so that one keeps the struck-metal sheen. A multi-HUE ramp is barred
     in both: on one metal it would be exactly the meaning-by-hue the
     colour-blind rule forbids, and it would read as a mistake on black. */
  --tt-heading-rainbow: linear-gradient(90deg, rgba(242, 230, 210, 0.16), rgba(242, 230, 210, 0.3), rgba(242, 230, 210, 0.16));
  --tt-heading-rainbow-vertical: linear-gradient(180deg, rgba(242, 230, 210, 0.3), rgba(242, 230, 210, 0.12));
  --tt-heading-text-rainbow: linear-gradient(90deg, var(--tt-cyan), var(--tt-yellow) 55%, var(--tt-gold));

  --bg: var(--tt-bg);
  --surface: var(--tt-bg-alt);
  --text: var(--tt-cyan);
  --text-soft: var(--tt-cyan-soft);
  --muted: var(--tt-gray);
  --border: rgba(242, 230, 210, 0.22);
  --border-dim: rgba(242, 230, 210, 0.12);
  --border-teal: rgba(107, 90, 66, 0.55);
}

/* ---------------------------------------------------------------------------
   THE SCENERY IS SWITCHED OFF. main.css paints an ambient layer under the copy
   — stars, parallax, aurora, constellations, fireworks — and casey.css spends
   the same layer on wallpaper. "All black" means none of it. Each layer is
   flattened rather than the container hidden, so the element keeps its place in
   the stacking context and nothing below it reflows.
   --------------------------------------------------------------------------- */
body[data-theme-id="shop"] .night-sky,
body[data-theme-id="shop"] .night-sky::before,
body[data-theme-id="shop"] .night-sky::after,
body[data-theme-id="shop"] .night-sky__stars--far,
body[data-theme-id="shop"] .night-sky__stars--near,
body[data-theme-id="shop"] .night-sky__aurora,
body[data-theme-id="shop"] .night-sky__constellations,
body[data-theme-id="shop"] .night-sky__fireworks {
  background: none;
  background-image: none;
  box-shadow: none;
  opacity: 0;
  animation: none;
  content: none;
}

body[data-theme-id="shop"] .night-sky {
  background: var(--tt-bg);
  opacity: 1;
}

/* The page itself, and anything that inherits a ground from the base sheet. */
body[data-theme-id="shop"] {
  background: var(--tt-bg);
  color: var(--tt-cyan);
}

/* Headings in the Didone, with the tracking a high-contrast face needs to stop
   its hairlines touching. Weight is left alone: a Didone's whole character is
   the thick/thin, and synthesising bold destroys it. */
body[data-theme-id="shop"] main h1,
body[data-theme-id="shop"] main h2,
body[data-theme-id="shop"] main h3 {
  font-family: var(--font-heading);
  letter-spacing: 0.012em;
}

/* Code keeps the coral, on the same black as everything else — a lighter code
   fill would be the one grey surface on the site. */
body[data-theme-id="shop"] code {
  background: var(--tt-bg-alt);
  color: var(--tt-pink);
}

body[data-theme-id="shop"] pre code {
  background: var(--tt-bg-alt);
}
