/*
 * UKMB GLOBAL THEME TOKENS — PROJECT COMPATIBILITY EDITION
 * Updated: 01 Nov 2026
 *
 * Contract:
 * - This file defines shared palette tokens and safe base defaults only.
 * - Page-specific CSS owns all page, section, card, component and text styling.
 * - Never paint backgrounds on text elements (p, span, label, small, etc.).
 * - Never impose layout, spacing, sizing, positioning, shadows or animation.
 * - Loaded before each page's own stylesheet; page styles remain authoritative.
 */

:root {
    /* UKMB reference palette */
    --ukmb-reference-page: #edf1ed;
    --ukmb-reference-section: #f3f4ee;
    --ukmb-reference-card: #f8f9f4;
    --ukmb-reference-border: #d5dcd3;
    --ukmb-reference-ink: #183d34;
    --ukmb-reference-muted: #66766e;
    --ukmb-reference-green: #1c554b;
    --ukmb-reference-green-deep: #0b4039;
    --ukmb-reference-gold: #d6b04d;

    /* Legacy token aliases retained for existing project stylesheets. */
    --ukmb-light-page: #edf1ed;
    --ukmb-light-panel: #f3f4ee;
    --ukmb-light-card: #f8f9f4;
    --ukmb-light-border: #d5dcd3;
    --ukmb-light-ink: #183d34;
    --ukmb-light-muted: #66766e;
    --ukmb-deep-green: #0b4039;
    --ukmb-deep-green-hover: #08352f;
    --ukmb-gold-title: #d6b04d;
    --ukmb-gold-accent: #d6b04d;

    /* Existing semantic variables used by legacy page CSS. */
    --text-heading: #17483c;
    --text-body: #183d34;
    --text-muted: #66766e;
    --text-light: #f8f9f4;
    --bg-body: #edf1ed;
    --bg-section: #f3f4ee;
    --bg-card: #f8f9f4;
    --bg-dark: #0b4039;

    --color-secondary-900: #083b3b;
    --color-secondary-800: #0b4039;
    --color-secondary-700: #1c554b;
    --color-secondary-600: #287064;
    --color-secondary-500: #43877a;
    --color-accent-900: #8b6a18;
    --color-accent-800: #a17b1c;
    --color-accent-700: #b88d21;
    --color-accent-600: #d0a42a;
    --color-accent-500: #e0b73a;
}

/* Canvas fallback only. A page's own body/background declaration takes priority. */
html {
    color-scheme: light;
    background-color: var(--ukmb-reference-page);
}

body {
    color: var(--ukmb-reference-ink);
}

/* Safe form-control defaults with zero selector specificity.
   Page-specific form styles can always override these defaults. */
:where(
    input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
    select,
    textarea
) {
    color: var(--ukmb-reference-ink);
    background-color: #f8f9f4;
    border-color: #c3cdc5;
}

:where(input, textarea)::placeholder {
    color: #78877f;
    opacity: 1;
}

:where(input, select, textarea):focus-visible {
    outline-color: rgba(166, 128, 45, 0.35);
}

/* No global rules are applied to headings, paragraphs, spans, labels,
   section/card backgrounds, buttons, navigation, or footer components.
   Their owning page/component stylesheets control those elements. */
