/* ============================================================
   _modes.css — Day / Evening / Night
   Applied via [data-mode="..."] on <html>. Theme-orthogonal.
   Section ref: baseline brief §2.2
   ============================================================ */

/* ---------- DAY (default) ---------- */
[data-mode="day"] {
  --bg-base:     #FBFAF7;
  --bg-elevated: #FFFFFF;
  --bg-sunken:   #F4F2EE;
  --bg-overlay:  rgba(251, 250, 247, 0.85);

  --ink:        #1A1F2A;
  --ink-muted:  #5A6472;
  --ink-faint:  #8A94A2;

  --accent-warm: #D9A55E;
}

/* ---------- EVENING ---------- */
[data-mode="evening"] {
  --bg-base:     #F5EFE6;
  --bg-base-dim: #E8DFD0;
  --bg-elevated: #FCFAF6;
  --bg-sunken:   #EEE5D5;
  --bg-overlay:  rgba(245, 239, 230, 0.85);

  --ink:        #1A1F2A;
  --ink-muted:  #5A6472;
  --ink-faint:  #8A94A2;

  --accent-warm: #D9A55E;

  /* Brand-mint deepening for cream contrast (calendar fix-pack #3, Sam
     2026-05-20). Base --brand at full L washes out on cream and drops
     below AA on small surfaces (gantt now-line, today day-header, brand-
     tinted toolbar buttons). Same hue (168), lower L. */
  --brand:        oklch(0.62 0.16 168);
  --brand-strong: oklch(0.52 0.16 168);
  --brand-tint:   oklch(0.62 0.16 168 / 0.16);  /* hero-underline tint on cream (was inheriting Day mint) */
}

/* Evening uses a static single-hue gradient on body */
[data-mode="evening"] body {
  background: linear-gradient(to bottom, var(--bg-base), var(--bg-base-dim));
  background-attachment: fixed;
}

/* ---------- NIGHT (default, first-class) ----------
   Sam's locked stance 2026-05-10: darkmode is the parent app's
   default and a first-class citizen. Calm record, never theatrical.
   Inherits staff-app brand-mint DNA but warms the base (#0E1216 vs.
   staff's cooler graphite) so a parent's evening session reads as
   "low lamp on warm desk" rather than "operator console". No glow,
   no ambient gradient, no shadows.
*/
[data-mode="night"] {
  --bg-base:     #0D1216;
  --bg-elevated: #161C22;
  --bg-sunken:   #1B232A;
  --bg-overlay:  rgba(13, 18, 22, 0.85);

  --ink:        #ECEBE6;     /* warm near-white, not pure */
  --ink-muted:  #A4ABB4;
  --ink-faint:  #7E8693;     /* bumped from #6E7681 — calendar fix-pack #7, Sam 2026-05-20. Clears 4.5:1 over --bg-elevated for informational scaffolding sites (axis labels, "no staff scheduled", search-result subtext). */

  /* Brand-mint reads slightly cooler against the deep base —
     bump strong variant for AA on body text. */
  --brand:        #34D2C2;
  --brand-strong: #5BE0D2;
  --brand-tint:   rgba(52, 210, 194, 0.14);

  /* Semantic states lifted for dark-bg AA */
  --success: #5DBE85;
  --warning: #DC9C5C;
  --danger:  #E66378;
  --info:    #6BA7C9;

  --success-tint: rgba(93, 190, 133, 0.10);
  --warning-tint: rgba(220, 156, 92, 0.10);
  --danger-tint:  rgba(230, 99, 120, 0.10);
  --info-tint:    rgba(107, 167, 201, 0.10);

  --accent-warm: #C49A5A;

  /* Hairlines lift to remain perceptible on dark */
  --hairline:        rgba(236, 235, 230, 0.10);
  --hairline-strong: rgba(236, 235, 230, 0.20);

  /* Focus ring needs more presence on dark */
  --focus-ring: rgba(91, 224, 210, 0.50);
}
