/* ============================================================================
   P.O.MFS neutral layer — interior pages (everything except the homepage)
   2026-08-26

   ★★ THE FILENAME IS THE CACHE KEY.
      Static assets ship `public, max-age=31536000, immutable`. If you change
      the CONTENT of this file you MUST bump the suffix (a -> b -> c), update
      the <link> in every page below AND the ASSETS list in
      ~/Code/deploy_21st_pomfs.py. Re-deploying the same filename with new
      bytes leaves every browser that already fetched it on the old file for a
      year, while the 60s-cached HTML arrives new — the grid comes apart and
      the S3 origin looks perfectly fine. This site was bitten twice in one
      day by exactly this (HANDOFF 2026-08-26, section 1).

   SCOPE — the 13 pages that were still on the old palette alone:
      /live/  ·  /live/{berlin,london,los-angeles,new-york,paris,seoul,tokyo}/
      /ko/live/seoul/  ·  /ko/guide/hongdae-live-clubs/  ·  /compare/
      /terms.html  ·  /privacy.html

   METHOD — flip the tokens, never chase the selectors.
      shared-260611.css already declares these exact token names, so
      redefining them here (loaded after it) repaints all 13 pages at once
      with zero markup change. Going selector-by-selector was tried on
      app.html and lost to the pages' own specificity (HANDOFF section 5).

   ★ This layer deliberately defines NO structural rules — no .hero, no
     .coindex, no .brand. Those belong to the homepage layer
     (pomfs-neutral-260825c.css) and bleed when borrowed: its
     .hero{background:dark} + .hero h1{color:sand-12} turn an interior
     headline invisible on paper (HANDOFF section 5, trap 1).
   ============================================================================ */

:root{
  /* ---- Radix "Sand" ramp, the house neutral (MIT) ---------------------- */
  --sand-2:#f9f9f8;
  --sand-9:#8d8d86;
  --sand-11:#63635e;
  --sand-12:#21201c;
  --sandd-1:#111110;
  --sandd-2:#191918;
  --sandd-3:#222221;
  --sandd-4:#2a2a28;
  --sandd-6:#3b3a37;
  --sandd-10:#7c7b74;
  --sandd-11:#b5b3ad;
  --sandd-12:#eeeeec;

  /* ---- surfaces: flat greys -> the warm Sand ramp ---------------------- */
  --bg-app:var(--sandd-1);        /* was #0A0A0A */
  --bg-surface:var(--sandd-2);    /* was #121212 */
  --bg-elev:var(--sandd-3);       /* was #1A1A1A */
  --bg-hover:var(--sandd-4);      /* was #242424 */
  --bg-paper:var(--sand-2);       /* was #F5F4F0 */

  /* ---- text ------------------------------------------------------------ */
  --text-primary:var(--sandd-12);
  --text-secondary:#d6d4ce;
  --text-meta:var(--sandd-11);
  /* ★ NOT sandd-10 (#7c7b74). Despite the name, nothing on these pages uses
     this token for a disabled state — it is the meta ink, and every use is
     9-12px: .crumb, .biz, .meta, .note, .slabel, .legal .meta, .back-link a.
     sandd-10 renders those at 4.45:1, which misses AA body by 0.05. The
     design system's dark-surface meta step is #8A8981 (5.38) — HANDOFF
     section 2, the same finding that retired sand-9 on paper. Measured, not
     eyeballed: a full-page contrast sweep flagged 14 nodes at exactly 4.45. */
  --text-disabled:#8A8981;
  --text-on-paper:var(--sand-12);
  --text-on-paper-2:var(--sand-11);
  /* ★ NOT sand-9. Radix sand-9 (#8d8d86) is the ramp's solid step, not a
     text step — 3.17:1 on paper. These pages set 9-12px mono labels in this
     token, so it has to be the darker meta ink (HANDOFF section 2). */
  --text-on-paper-3:#70706A;

  /* ---- rules ----------------------------------------------------------- */
  --border-dark:var(--sandd-4);
  --border-divider:var(--sandd-6);
  --border-light:rgba(33,32,28,0.12);
  --border-light-soft:rgba(33,32,28,0.07);

  /* ---- accent: deliberately NOT set here ------------------------------- */
  /* ★ Do not add --accent to this layer. Eleven of these thirteen pages
     already declare `--accent:#FF6140` in their own inline :root — MiSFY
     orange, because they ARE MiSFY pages (city live listings, the app
     comparison). That is the correct brand colour for them under the company
     register, an inline :root would beat this file anyway, and the orange
     clears AA on every new surface below (6.33 / 5.89 / 5.34).
     The two that do NOT declare it — terms.html and privacy.html — are
     corporate pages and were silently inheriting the retired neon green
     (#2AD829) from shared-260611.css on link hover. They each got their own
     inline :root with the P.O.MFS dark-chrome accent instead, matching how
     the other eleven scope theirs.
     What was actually dated here was never the accent — it was the flat grey
     ground, same finding as app.html (HANDOFF section 5). */
}
