/* Semantic theme contract. Concrete values are supplied by one theme file. */
:root {
    --color-canvas: var(--color-bg);
    --color-navigation: var(--color-sidebar);
    --color-panel: var(--color-surface);
    --color-panel-raised: var(--color-surface-2);
    --color-panel-hover: var(--color-surface-hover);
    --color-body-text: var(--color-text-primary);
    --color-heading: var(--color-text-primary);
    --color-text-subtle: var(--color-text-secondary);
    --color-text-placeholder: var(--color-text-muted);
    --color-divider: var(--color-border);
    --color-divider-strong: var(--color-border-strong);
    --color-control-bg: var(--color-panel-raised);
    --color-control-bg-hover: var(--color-panel-hover);
    --color-control-text: var(--color-text-primary);
    --color-control-border: var(--color-border-strong);
    --color-link: var(--color-info-text);
    --color-link-hover: var(--color-info-text);
    --color-action-link: var(--color-accent);
    --color-danger-action: var(--color-danger-text);
    --color-card-bg: var(--color-panel);
    --color-card-bg-hover: var(--color-panel-hover);
    --color-card-border: var(--color-border);
    --color-table-bg: var(--color-panel);
    --color-table-header-bg: var(--color-panel-raised);
    --color-table-row-hover: var(--color-panel-hover);
    --color-table-text: var(--color-text-primary);
    --color-table-header-text: var(--color-text-secondary);
    --color-table-border: var(--color-border);
    --color-search-bg: var(--color-panel);
    --color-search-bg-hover: var(--color-panel-hover);
    --color-search-border: var(--color-border-strong);
    --color-search-text: var(--color-text-primary);
    --color-search-muted: var(--color-text-secondary);
    --color-badge-info-bg: var(--color-info-bg);
    --color-badge-info-text: var(--color-info-text);
    --color-chat-composer-bg: linear-gradient(to top, var(--color-panel) 75%, transparent);
    --shadow-card: var(--shadow-panel);
    --shadow-popover: var(--shadow-overlay);
    --shadow-control: none;
}
