:root {
    color-scheme: dark;

    --tfc-page-bg: #111;
    --tfc-header-bg: rgba(12,12,20,0.97);
    --tfc-surface-bg: rgba(12,12,20,0.88);
    --tfc-surface-border: rgba(255,255,255,0.10);
    --tfc-surface-border-subtle: rgba(255,255,255,0.08);
    --tfc-surface-hover: rgba(255,255,255,0.04);

    --tfc-panel-bg: var(--tfc-surface-bg);
    --tfc-panel-border: var(--tfc-surface-border);

    --tfc-text-primary: #ddd;
    --tfc-text-secondary: #aaa;
    --tfc-text-muted: #555;
    --tfc-text-faint: #444;

    --tfc-accent: #4a9eff;
    --tfc-btn-active-bg: rgba(80,140,255,0.85);
    --tfc-btn-inactive-bg: rgba(255,255,255,0.06);
    --tfc-btn-border: rgba(255,255,255,0.15);

    --tfc-input-bg: rgba(255,255,255,0.05);
    --tfc-input-border: rgba(255,255,255,0.12);

    --tfc-danger-bg: rgba(255,80,80,0.15);
    --tfc-danger-text: #f88;
    --tfc-danger-border: rgba(255,80,80,0.3);

    --tfc-success-bg: rgba(80,200,80,0.15);
    --tfc-success-text: #8f8;
    --tfc-success-border: rgba(80,200,80,0.3);

    --tfc-info-bg: rgba(80,160,255,0.15);
    --tfc-info-text: #8cf;
    --tfc-info-border: rgba(80,160,255,0.3);

    --tfc-warm-text: #f59e0b;
    --tfc-warm-bg: rgba(245,158,11,0.95);
    --tfc-warm-fg: #1a1300;

    --tfc-diff-added: #26f24d;
    --tfc-diff-modified: #ffec1a;
    --tfc-diff-removed: #ff3333;

    --tfc-table-border: rgba(255,255,255,0.08);

    --tfc-select-rect-border: rgba(80,200,255,0.8);
    --tfc-select-rect-fill: rgba(80,200,255,0.06);

    --tfc-status-bg: rgba(0,0,0,0.7);
    --tfc-loader-bg: rgba(8,8,16,0.75);
    --tfc-spinner-track: rgba(255,255,255,0.15);
    --tfc-spinner-tip: rgba(80,140,255,0.9);
    --tfc-accent-slider: rgba(80,140,255,0.85);

    --tfc-loader-bar: #4a9eff;
    --tfc-loader-bar-glow: #4a9eff88;
    --tfc-loader-title: #e8e8e8;
    --tfc-loader-sub: #555;
    --tfc-loader-track: #222;

    --tfc-history-row-active: rgba(80,140,255,0.08);
    --tfc-history-row-hover: rgba(100,160,255,0.14);
    --tfc-history-row-divider: rgba(255,255,255,0.04);
    --tfc-history-footer-border: rgba(255,255,255,0.07);
}

[data-theme="light"] {
    color-scheme: light;

    --tfc-page-bg: #f4f5f7;
    --tfc-header-bg: rgba(252,252,253,0.85);
    --tfc-surface-bg: rgba(255,255,255,0.78);
    --tfc-surface-border: rgba(15,23,42,0.10);
    --tfc-surface-border-subtle: rgba(15,23,42,0.06);
    --tfc-surface-hover: rgba(15,23,42,0.04);

    --tfc-panel-bg: var(--tfc-surface-bg);
    --tfc-panel-border: var(--tfc-surface-border);

    --tfc-text-primary: #0f172a;
    --tfc-text-secondary: #475569;
    --tfc-text-muted: #94a3b8;
    --tfc-text-faint: #cbd5e1;

    --tfc-accent: #2563eb;
    --tfc-btn-active-bg: rgba(37,99,235,0.92);
    --tfc-btn-inactive-bg: rgba(15,23,42,0.05);
    --tfc-btn-border: rgba(15,23,42,0.12);

    --tfc-input-bg: rgba(255,255,255,0.85);
    --tfc-input-border: rgba(15,23,42,0.15);

    --tfc-danger-bg: rgba(220,38,38,0.08);
    --tfc-danger-text: #b91c1c;
    --tfc-danger-border: rgba(220,38,38,0.22);

    --tfc-success-bg: rgba(22,163,74,0.10);
    --tfc-success-text: #15803d;
    --tfc-success-border: rgba(22,163,74,0.25);

    --tfc-info-bg: rgba(37,99,235,0.08);
    --tfc-info-text: #1d4ed8;
    --tfc-info-border: rgba(37,99,235,0.22);

    --tfc-warm-text: #c2410c;
    --tfc-warm-bg: rgba(234,88,12,0.95);
    --tfc-warm-fg: #ffffff;

    --tfc-diff-added: #15803d;
    --tfc-diff-modified: #b45309;
    --tfc-diff-removed: #b91c1c;

    --tfc-table-border: rgba(15,23,42,0.08);

    --tfc-select-rect-border: rgba(37,99,235,0.75);
    --tfc-select-rect-fill: rgba(37,99,235,0.08);

    --tfc-status-bg: rgba(255,255,255,0.92);
    --tfc-loader-bg: rgba(244,245,247,0.92);
    --tfc-spinner-track: rgba(15,23,42,0.10);
    --tfc-spinner-tip: rgba(37,99,235,0.92);
    --tfc-accent-slider: rgba(37,99,235,0.88);

    --tfc-loader-bar: #2563eb;
    --tfc-loader-bar-glow: #2563eb88;
    --tfc-loader-title: #0f172a;
    --tfc-loader-sub: #64748b;
    --tfc-loader-track: #e2e8f0;

    --tfc-history-row-active: rgba(37,99,235,0.08);
    --tfc-history-row-hover: rgba(37,99,235,0.14);
    --tfc-history-row-divider: rgba(15,23,42,0.05);
    --tfc-history-footer-border: rgba(15,23,42,0.08);
}
