:root {
    color-scheme: light;

    /*
     * Precision Market tokens.
     * The system is intentionally calm: porcelain surfaces, graphite text,
     * steel-blue actions, sparse status colors, and border-first depth.
     */
    --color-background: #f4f2ed;
    --color-background-soft: #faf9f6;
    --color-surface: #ffffff;
    --color-surface-muted: #f7f6f2;
    --color-surface-strong: #ebe8df;

    --color-text: #1d242c;
    --color-text-soft: #394552;
    --color-text-muted: #687482;
    --color-text-subtle: #8a94a1;

    --color-border: #d9d5ca;
    --color-border-strong: #beb8aa;
    --color-divider: #e8e5dc;

    --color-action: #315d84;
    --color-action-hover: #244765;
    --color-action-active: #19354d;
    --color-action-text: #ffffff;

    --color-selected-background: #eaf1f6;
    --color-selected-border: #9fb8cc;
    --color-selected-text: #244765;

    --color-success-background: #edf6ee;
    --color-success-border: #9fcaa7;
    --color-success-text: #285c33;

    --color-warning-background: #fff7e6;
    --color-warning-border: #dfbd6a;
    --color-warning-text: #785817;

    --color-error-background: #fff0ed;
    --color-error-border: #d59a90;
    --color-error-text: #8d3028;

    --color-info-background: var(--color-selected-background);
    --color-info-border: var(--color-selected-border);
    --color-info-text: var(--color-selected-text);
    --color-focus: #2f6f9f;

    --space-1: 0.25rem;
    --space-2: 0.5rem;
    --space-3: 0.75rem;
    --space-4: 1rem;
    --space-5: 1.5rem;
    --space-6: 2rem;
    --space-7: 2.75rem;
    --space-8: 4rem;

    --radius-small: 0.25rem;
    --radius-medium: 0.375rem;
    --radius-large: 0.5rem;

    --border-width: 1px;
    --shadow-overlay: 0 1.25rem 3rem rgba(29, 36, 44, 0.12);
    --shadow-menu: 0 0.75rem 2rem rgba(29, 36, 44, 0.1);

    --z-index-skip-link: 20;
    --z-index-overlay: 50;

    --container-width: 72rem;
    --content-width: 46rem;
    --narrow-content-width: 36rem;

    --transition-fast: 160ms ease;
    --transition-medium: 220ms ease;
}
