/* ONE PUBLIC WEBSITE PALETTE.
 * Edit these values to recolour every public page on the next refresh.
 * Served directly by the shared layout: no npm build needed for palette edits.
 * Keep foreground/background pairs readable. Photos and private portals keep
 * their own original colours.
 */
:root {
  color-scheme: dark;
  --root-page-bg: #102620;
  --root-section-bg: #14342c;
  --root-warm-panel: #20392f;
  --root-surface: #193e34;
  --root-input-bg: #102d26;
  --root-header-bg: var(--root-page-bg);
  --root-hero-bg: var(--root-section-bg);
  --root-footer-bg: var(--root-section-bg);
  --root-text: #edf5f2;
  --root-muted: #b6ceca;
  --root-accent: #9dd7cd;
  --root-accent-hover: #bae8df;
  --root-on-accent: #103832;
  --root-gold-400: #d0af68;
  --root-border: #34584e;
  --root-control-border: #70998b;
  --root-error: #ffb4ab;
  --root-button-bg: var(--root-accent);
  --root-button-text: var(--root-on-accent);
  --root-button-hover: var(--root-accent-hover);
  --root-focus-color: var(--root-accent);
  --root-selected-bg: var(--root-surface);
  --root-selected-text: var(--root-accent);
  --root-icon-bg: var(--root-surface);
  --root-icon-color: var(--root-accent);
  --root-hero-text: var(--root-text);
  --root-hero-muted: var(--root-muted);
  --root-hero-accent: var(--root-accent);
  --root-chrome-text: var(--root-text);
  --root-chrome-muted: var(--root-muted);
  --root-chrome-accent: var(--root-accent);
  --root-nav-selected-bg: var(--root-surface);
  --root-nav-text: var(--root-text);
  --root-nav-selected-text: var(--root-accent);
  --root-logo-filter: brightness(0) invert(1);
  --root-key-cta-bg: var(--root-accent);
  --root-key-cta-text: var(--root-on-accent);
  --root-badge-bg: var(--root-surface);
  --root-badge-text: var(--root-text);
  --root-shadow: 0 2px 8px #0000000d;
  --root-overlay: #061b16b3;
  /* Shared decorative finishes. Both palettes keep identical geometry. */
  --root-hero-glow: #24634e;
  --root-hero-deep: #071f1b;
  --root-icon-teal-bg: #234d43;
  --root-icon-teal-ink: #b3e5d9;
  --root-icon-gold-bg: #423c27;
  --root-icon-gold-ink: #f1d594;
  --root-icon-blue-bg: #253e48;
  --root-icon-blue-ink: #b4dcec;
  --root-icon-sage-bg: #304934;
  --root-icon-sage-ink: #d0e5ac;
  --root-shadow-soft: 0 8px 30px #00000014;
  --root-shadow-raised: 0 16px 38px #00000026;
  --root-chrome-border: #518a785c;
  --root-section-gradient: linear-gradient(
    130deg,
    var(--root-section-bg),
    color-mix(in srgb, var(--root-section-bg) 90%, var(--root-icon-teal-bg))
  );
  --root-card-gradient: linear-gradient(
    145deg,
    var(--root-surface) 45%,
    color-mix(in srgb, var(--root-surface) 94%, var(--root-accent))
  );
  --root-hero-gradient:
    radial-gradient(
      ellipse at 82% 28%,
      color-mix(in srgb, var(--root-hero-glow) 65%, transparent),
      transparent 62%
    ),
    linear-gradient(
      120deg,
      var(--root-hero-deep),
      var(--root-hero-bg) 60%,
      var(--root-hero-deep)
    );
  /* Illustration colours are part of this palette; the artwork is unchanged. */
  --root-art-paper: #194238;
  --root-art-mist: #204c3f;
  --root-art-soft: #568f7c;
  --root-art-ink: var(--root-chrome-accent);
  --root-art-muted: #80b5a8;
  --root-art-edge: #518a78;
  --root-art-solid: var(--root-chrome-accent);
  --root-art-inverse: var(--root-on-accent);
  --root-art-halo: #174637;
  --root-art-shadow: #0b2d24;
  /* Compatibility palette for approved templates. Prefer semantic roles above. */
  --root-green-950: var(--root-page-bg);
  --root-green-900: var(--root-section-bg);
  --root-green-800: var(--root-surface);
  --root-green-700: var(--root-accent);
  --root-mint-500: var(--root-accent);
  --root-mint-200: var(--root-accent);
  --root-sage-100: var(--root-section-bg);
  --root-cream-50: var(--root-page-bg);
  --root-white: var(--root-text);
}

/* The original warm-white reading theme, with green brand chrome. */
:root[data-theme="light"] {
  color-scheme: light;
  --root-page-bg: #fcfbf7;
  --root-section-bg: #edf3ed;
  --root-warm-panel: #f4f1e7;
  --root-surface: #ffffff;
  --root-input-bg: #ffffff;
  --root-header-bg: #fcfbf7;
  --root-hero-bg: #082f29;
  --root-footer-bg: #082f29;
  --root-text: #1c3832;
  --root-muted: #52655f;
  --root-accent: #246952;
  --root-accent-hover: #175443;
  --root-border: #d4dfd7;
  --root-control-border: #849e91;
  --root-error: #a12c2c;
  --root-button-bg: #103e34;
  --root-button-text: #ffffff;
  --root-selected-bg: #edf3ed;
  --root-icon-bg: #edf3ed;
  --root-mint-500: #a9d9c7;
  --root-mint-200: #d6ede3;
  --root-chrome-text: #edf5f2;
  --root-chrome-muted: #b6ceca;
  --root-chrome-accent: #9dd7cd;
  --root-nav-selected-bg: #edf3ed;
  --root-nav-text: #103e34;
  --root-nav-selected-text: #246952;
  --root-logo-filter: none;
  --root-key-cta-bg: #f1d594;
  --root-key-cta-text: #103832;
  --root-badge-bg: #fcfbf7;
  --root-badge-text: #1c3832;
  --root-hero-text: var(--root-chrome-text);
  --root-hero-muted: var(--root-chrome-muted);
  --root-hero-accent: #d2dfa5;
  --root-icon-teal-bg: #e0f0e9;
  --root-icon-teal-ink: #1b6551;
  --root-icon-gold-bg: #f6edcf;
  --root-icon-gold-ink: #795d20;
  --root-icon-blue-bg: #e4eef3;
  --root-icon-blue-ink: #345e72;
  --root-icon-sage-bg: #e8efd9;
  --root-icon-sage-ink: #486037;
  --root-shadow-soft: 0 6px 26px #103e3409;
  --root-shadow-raised: 0 16px 36px #103e3417;
}
