/* ============================================================
   The tokens seam (ADR-0002). Fede's master system swaps values here.

   Every visual value on the site lives here as a custom property.
   Page CSS (app.css) consumes tokens only; a hex code in a page
   file is a bug. Values ported 1:1 from the Claude Design package
   design/mockups/2026-07-07-portal-app-v0.1/portal-app.css :root,
   plus the three values that package hardcoded in component rules
   (--purple-hover, --gold-hover, --gold-ink-deep).
   ============================================================ */
:root{
  /* --- surfaces --- */
  --paper:#F4F2EA; --white:#FBFAF6;
  --white-pure:#FFFFFF;

  /* --- ink --- */
  --ink:#1F1F21; --charcoal:#39393B; --muted:#6F6D64; --faint:#9C9889;

  /* --- hairlines --- */
  --rule:#D8D3C6; --rule-2:#E6E2D7;

  /* --- brand accents --- */
  --purple:#7D639B;
  --purple-hover:#6C5488;              /* was hardcoded in .btn.purple:hover */
  --aubergine:#33254A; --aubergine-2:#3F2F5A;
  --gold:#AC9D71; --gold-deep:#8A7A3F; --gold-tint:#EFE9D6;
  --gold-hover:#BCAD81;                /* was hardcoded in .btn.gold:hover */
  --gold-ink-deep:#2C2713;             /* was hardcoded as gold-button ink */
  --red:#A8443A; --red-lift:#C25A4E;
  --red-tint:#F2E2DF;                  /* status-banner alert wash (issue 0031); Claude Design may retune */
  --sage:#5B7A4A;                      /* success (HANDOFF token list; feedback widget) */
  --amber:#B17B2E;                     /* caution / in-progress (doc-list status dot-chips; value = design-system tokens/colors.css) */
  --purple-tint:#ECE6F2;               /* today's day-card wash (P4 week strip); Claude Design may retune */
  --text-on-dark:#E4DDF0;

  /* --- calendar event taxonomy (P4 pass A): audience-based dot colours.
         Semantic aliases onto the palette so meaning is explicit + Code can
         reference them. Claude Design may retune the mapping. --- */
  --ev-holiday:var(--sage);     /* holiday / no children: school closed */
  --ev-parent:var(--purple);    /* events that involve parents */
  --ev-child:var(--gold-deep);  /* children-only: first day, sports day */

  /* --- fonts --- */
  --sans:"Inter Tight",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --serif:"Newsreader","Times New Roman",Georgia,serif;
  --mono:"Space Mono",ui-monospace,"SF Mono",Menlo,monospace;
  --wordmark:"Hanken Grotesk","Inter Tight",system-ui,sans-serif;
  --stencil:"Saira Stencil One",var(--mono);   /* tape chips (live markers) */

  /* --- shadows --- */
  --shadow-quiet:0 1px 0 rgba(0,0,0,0.02);
  --shadow-hard:3px 3px 0 rgba(31,31,33,0.10);
  --shadow-sheet:0 -10px 30px rgba(31,31,33,0.16);   /* upward soft shadow for the mobile calendar bottom-sheet (pass B) */

  /* --- chrome --- */
  --nav-h:70px;

  /* --- Purple Elephant (early years) sub-brand seam (issue 0064). PE pages are
         ELC Portal pages (masthead stays, rule 3) fronting the early years. The
         lead accent aliases --purple so a bespoke PE colour later swaps at ONE
         line without touching page CSS (ADR-0002). No new hex. --- */
  --pe-accent:var(--purple);              /* PE lead accent (early-years purple) */
  --pe-accent-deep:var(--aubergine-2);    /* pressed state / heading ink on the tint */
  --pe-tint:var(--purple-tint);           /* soft wash for the "in the making" panels */
  --pe-art-ink:var(--purple);             /* hero-art seam inherits the accent (art layer) */
  --pe-ground:34%;                        /* strength of the faint contour motif behind the hero */

  /* --- print year-calendar sheet (issue 0046, Phase 2 Claude Design). The
         OFFICIAL ELC register for the fridge sheet: clean white ground, cool
         charcoal ink, one audience-based colour key that matches the City School
         PDF (elc.ac.th/the-city-school-calendar). Deliberately NOT the portal warm
         palette. Grayscale-safe: a glyph shape carries each category too, so the
         key survives a black-and-white print. CD may retune the mapping (ADR-0002). --- */
  --cal-holiday:#B0655C;    /* holiday, school closed (muted clay) */
  --cal-staff:#A98C57;      /* staff / professional development day, no children (ochre) */
  --cal-conf:#5F7EA0;       /* parent-teacher conferences, no children (slate) */
  --cal-event:var(--purple);/* school event, parents invited (the ELC signature) */
  --cal-child:#6E8A56;      /* school event for children, parents not expected (sage) */
  --cal-ink:#54545A;        /* sheet body ink: cool grey, official register */
  --cal-dow:#B4B0A4;        /* weekday letters + empty day cells */
  --cal-foot:#A09C90;       /* footnote */
}
