/* ============================================
   Delta Forge - Brand Color System
   Anchor: Rust 600 - Carbon 1000 (per A:/delta-forge/color/PaletteColor.html)
   Space: OKLCH (perceptual). Hex fallbacks supplied for legacy aliases.
   ============================================ */

:root {
    /* ---- RUST (signature hue) ---- */
    --rust-50:  oklch(0.972 0.012 45);
    --rust-100: oklch(0.943 0.028 44);
    --rust-200: oklch(0.886 0.058 43);
    --rust-300: oklch(0.808 0.098 42);
    --rust-400: oklch(0.715 0.135 41);
    --rust-500: oklch(0.638 0.158 40);
    --rust-600: oklch(0.562 0.165 39);   /* base anchor */
    --rust-700: oklch(0.478 0.150 38);
    --rust-800: oklch(0.395 0.124 37);
    --rust-900: oklch(0.318 0.094 36);
    --rust-950: oklch(0.232 0.064 35);

    /* ---- CARBON (cool neutral chassis) ---- */
    --carbon-0:    oklch(1 0 0);
    --carbon-25:   oklch(0.985 0.003 240);
    --carbon-50:   oklch(0.965 0.004 240);
    --carbon-100:  oklch(0.928 0.006 240);
    --carbon-200:  oklch(0.870 0.008 240);
    --carbon-300:  oklch(0.770 0.010 240);
    --carbon-400:  oklch(0.640 0.012 240);
    --carbon-500:  oklch(0.510 0.014 240);
    --carbon-600:  oklch(0.405 0.014 240);
    --carbon-700:  oklch(0.310 0.013 240);
    /* Dark steps pinned to literal hex (matches delta-forge-gui tokens
       and Tailwind surface scale). The earlier oklch(...) definitions
       at hue 240 carried a faint cool-blue cast that read as a blue
       tint on top-of-page chrome (announcement bar, navbar). Literal
       hex neutralises the chroma and keeps the chassis truly cool-grey. */
    --carbon-800:  #1F242B;
    --carbon-850:  #181D24;
    --carbon-900:  #12161E;
    --carbon-925:  #0F131A;
    --carbon-950:  #0C1015;
    --carbon-1000: #07090E;

    /* ---- PARCHMENT (warm neutral, light-mode chassis) ---- */
    --parch-50:  oklch(0.985 0.005 70);
    --parch-100: oklch(0.965 0.008 70);
    --parch-200: oklch(0.935 0.012 65);
    --parch-300: oklch(0.880 0.018 60);

    /* ---- DATA-VIZ (categorical, 8-key) ---- */
    --viz-1: oklch(0.638 0.158 40);   /* Rust */
    --viz-2: oklch(0.760 0.135 78);   /* Amber */
    --viz-3: oklch(0.700 0.130 120);  /* Lime */
    --viz-4: oklch(0.640 0.110 155);  /* Moss */
    --viz-5: oklch(0.660 0.095 200);  /* Teal */
    --viz-6: oklch(0.620 0.130 245);  /* Azure */
    --viz-7: oklch(0.580 0.140 295);  /* Violet */
    --viz-8: oklch(0.620 0.155 350);  /* Magenta */

    /* ---- DOMAIN COLORS (one per Delta Forge product surface) ---- */
    --d-delta:   oklch(0.638 0.158 40);   /* Delta Lake -> rust */
    --d-iceberg: oklch(0.660 0.095 215);  /* Iceberg    -> glacial teal */
    --d-graph:   oklch(0.580 0.140 295);  /* Cypher     -> violet */
    --d-geo:     oklch(0.700 0.130 145);  /* H3 geo     -> moss-lime */
    --d-health:  oklch(0.620 0.155 350);  /* FHIR/HL7   -> magenta */
    --d-lineage: oklch(0.760 0.135 78);   /* Lineage    -> amber */
    --d-pipe:    oklch(0.660 0.110 250);  /* Pipelines  -> azure */
    --d-mcp:     oklch(0.700 0.090 180);  /* MCP        -> cyan */

    /* ---- SEQUENTIAL (5-stop) ---- */
    --seq-rust-1: oklch(0.295 0.065 35);
    --seq-rust-2: oklch(0.420 0.110 38);
    --seq-rust-3: oklch(0.565 0.155 40);
    --seq-rust-4: oklch(0.710 0.140 50);
    --seq-rust-5: oklch(0.870 0.090 75);

    /* ---- DIVERGING (for diffs, deltas, +/- metrics) ---- */
    --div-neg-3: oklch(0.520 0.180 25);
    --div-neg-2: oklch(0.620 0.130 30);
    --div-neg-1: oklch(0.760 0.080 40);
    --div-mid:   oklch(0.500 0.005 240);
    --div-pos-1: oklch(0.760 0.060 155);
    --div-pos-2: oklch(0.660 0.110 152);
    --div-pos-3: oklch(0.560 0.140 150);

    /* ---- SIGNAL (semantic states) ---- */
    --signal-success:    oklch(0.685 0.145 152);
    --signal-success-bg: oklch(0.685 0.145 152 / 0.14);
    --signal-warning:    oklch(0.790 0.150 85);
    --signal-warning-bg: oklch(0.790 0.150 85 / 0.14);
    --signal-danger:     oklch(0.605 0.205 25);
    --signal-danger-bg:  oklch(0.605 0.205 25 / 0.14);
    --signal-info:       oklch(0.680 0.110 230);
    --signal-info-bg:    oklch(0.680 0.110 230 / 0.14);
    --signal-pending:    oklch(0.580 0.020 260);

    /* ---- SQL SYNTAX (editor only) ---- */
    --syn-keyword:        oklch(0.680 0.110 230);
    --syn-keyword-brand:  oklch(0.620 0.155 350);
    --syn-fn:             oklch(0.760 0.135 78);
    --syn-string:         oklch(0.700 0.110 145);
    --syn-number:         oklch(0.700 0.130 120);
    --syn-type:           oklch(0.660 0.095 200);
    --syn-comment:        oklch(0.510 0.014 240);
    --syn-operator:       oklch(0.870 0.008 240);
    --syn-table:          oklch(0.620 0.155 350);
    --syn-variable:       oklch(0.760 0.110 60);
    --syn-cypher:         oklch(0.580 0.140 295);

    /* ---- SEMANTIC SURFACE (DARK, default) ---- */
    --bg-canvas:     var(--carbon-1000);
    --bg-surface:    var(--carbon-950);
    --bg-raised:     var(--carbon-900);
    --bg-overlay:    var(--carbon-850);
    --bg-sunken:     oklch(0.058 0.005 240);
    --bg-hover:      oklch(1 0 0 / 0.04);
    --bg-selected:   oklch(0.562 0.165 39 / 0.16);
    --bg-active:     oklch(1 0 0 / 0.08);

    --line-faint:    oklch(0.232 0.012 240 / 0.6);
    --line-default:  oklch(0.310 0.013 240 / 0.8);
    --line-strong:   var(--carbon-700);
    --line-accent:   oklch(0.562 0.165 39 / 0.55);
    --line-focus:    var(--rust-500);

    --fg-default:    oklch(0.965 0.004 240);
    --fg-muted:      var(--carbon-300);
    --fg-subtle:     var(--carbon-400);
    --fg-disabled:   var(--carbon-600);
    --fg-on-rust:    oklch(0.985 0.005 45);
    --fg-link:       var(--rust-400);

    --accent:        var(--rust-600);
    --accent-hover:  var(--rust-500);
    --accent-press:  var(--rust-700);
    --accent-soft:   oklch(0.562 0.165 39 / 0.14);
    --accent-line:   oklch(0.562 0.165 39 / 0.40);
    --accent-glow:   oklch(0.562 0.165 39 / 0.20);

    --code-bg:       var(--carbon-950);
    --code-border:   var(--carbon-800);

    --diff-add-bg:   oklch(0.685 0.145 152 / 0.14);
    --diff-add-fg:   oklch(0.760 0.110 152);
    --diff-rem-bg:   oklch(0.605 0.205 25 / 0.14);
    --diff-rem-fg:   oklch(0.720 0.140 28);

    --grid: oklch(1 0 0 / 0.04);

    /* ---- TYPOGRAPHY (brand stack) ----
       --font-sans    : workhorse for body, navigation, buttons, labels, cards.
       --font-mono    : crests, code, metadata, technical labels.
       --font-display : Inter Tight at heavier weights. Default for h1-h6 so
                        section titles and card headings stay legible at small
                        sizes without a serif fallback.
       --font-serif   : Instrument Serif (italic-capable). Reserve for hero
                        titles, marquee numbers, and editorial accents
                        (.display-serif, .hero-title em, .lede-quote, etc).
    */
    --font-sans:    'Inter Tight', 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --font-mono:    'JetBrains Mono', ui-monospace, 'SF Mono', Consolas, monospace;
    --font-display: 'Inter Tight', 'Inter', system-ui, -apple-system, sans-serif;
    --font-serif:   'Instrument Serif', 'Times New Roman', Georgia, serif;

    /* ============================================
       LEGACY ALIASES - keep prior token names alive,
       remap their values to the brand palette so all
       inherited rules in styles.css and pages.css
       resolve to Rust + Carbon.
       ============================================ */

    /* Surface scale (was Midnight Sapphire) -> Carbon */
    --surface-50:  var(--carbon-50);
    --surface-100: var(--carbon-100);
    --surface-200: var(--carbon-200);
    --surface-300: var(--carbon-300);
    --surface-400: var(--carbon-400);
    --surface-500: var(--carbon-500);
    --surface-600: var(--carbon-600);
    --surface-700: var(--carbon-700);
    --surface-800: var(--carbon-800);
    --surface-850: var(--carbon-850);
    --surface-900: var(--carbon-900);
    --surface-925: oklch(0.135 0.009 240);
    --surface-950: var(--carbon-950);
    --surface-975: oklch(0.098 0.007 240);

    /* Primary scale (was Refined Blue) -> Rust */
    --primary-50:  var(--rust-50);
    --primary-100: var(--rust-100);
    --primary-200: var(--rust-200);
    --primary-300: var(--rust-300);
    --primary-400: var(--rust-400);
    --primary-500: var(--rust-500);
    --primary-600: var(--rust-600);
    --primary-700: var(--rust-700);
    --primary-800: var(--rust-800);
    --primary-900: var(--rust-900);

    /* Extended palette (re-cast to brand viz keys) */
    --purple-400: var(--viz-7);
    --purple-500: oklch(0.530 0.155 295);
    --purple-600: oklch(0.470 0.155 295);

    --cyan-400: var(--d-mcp);
    --cyan-500: oklch(0.640 0.090 180);
    --cyan-600: oklch(0.560 0.085 180);

    --emerald-400: var(--div-pos-1);
    --emerald-500: var(--signal-success);

    --amber-400: var(--viz-2);
    --amber-500: oklch(0.700 0.150 78);

    --rose-400: oklch(0.700 0.155 5);
    --rose-500: var(--signal-danger);

    --magenta-400: var(--viz-8);
    --magenta-500: oklch(0.560 0.165 350);

    --orange-400: oklch(0.730 0.150 55);
    --orange-500: oklch(0.660 0.155 50);

    --indigo-400: oklch(0.610 0.130 270);
    --indigo-500: oklch(0.530 0.140 270);

    /* Success / Warning / Error scales -> brand signal hues */
    --success-50:  oklch(0.975 0.030 152);
    --success-100: oklch(0.940 0.060 152);
    --success-200: oklch(0.890 0.090 152);
    --success-300: oklch(0.820 0.110 152);
    --success-400: oklch(0.760 0.130 152);
    --success-500: var(--signal-success);
    --success-600: oklch(0.600 0.150 152);
    --success-700: oklch(0.510 0.145 152);

    --warning-50:  oklch(0.985 0.030 85);
    --warning-100: oklch(0.955 0.070 85);
    --warning-200: oklch(0.910 0.110 85);
    --warning-300: oklch(0.870 0.135 85);
    --warning-400: oklch(0.835 0.145 85);
    --warning-500: var(--signal-warning);
    --warning-600: oklch(0.700 0.150 85);
    --warning-700: oklch(0.610 0.140 85);

    --error-50:  oklch(0.972 0.018 25);
    --error-100: oklch(0.935 0.055 25);
    --error-200: oklch(0.870 0.110 25);
    --error-300: oklch(0.785 0.165 25);
    --error-400: oklch(0.700 0.190 25);
    --error-500: var(--signal-danger);
    --error-600: oklch(0.530 0.205 25);
    --error-700: oklch(0.460 0.180 25);

    /* Background semantic aliases -> Carbon stack */
    --bg-base:        var(--carbon-1000);
    --bg-elevated:    var(--carbon-950);
    --bg-container:   var(--carbon-900);
    --bg-spotlight:   var(--carbon-850);
    --bg-component:   var(--carbon-800);
    --bg-primary:     var(--carbon-1000);
    --bg-secondary:   var(--carbon-950);
    --bg-tertiary:    var(--carbon-900);
    --bg-card:        var(--carbon-850);
    --bg-card-hover:  var(--carbon-800);
    --bg-elevated-web: var(--carbon-700);

    /* Text aliases */
    --text-primary:     var(--fg-default);
    --text-secondary:   var(--fg-muted);
    --text-tertiary:    var(--fg-subtle);
    --text-muted:       var(--carbon-500);
    --text-placeholder: var(--carbon-500);

    /* Border aliases */
    --border-primary:   oklch(1 0 0 / 0.12);
    --border-secondary: oklch(1 0 0 / 0.08);
    --border-focus:     var(--rust-500);
    --border-subtle:    var(--border-secondary);
    --border-default:   var(--border-primary);
    --border-strong:    oklch(1 0 0 / 0.15);
    --border-accent:    var(--accent-line);

    /* Gradients - now Rust + Carbon, no more sapphire-to-purple */
    --gradient-primary:   linear-gradient(135deg, oklch(0.478 0.150 38) 0%, oklch(0.562 0.165 39) 50%, oklch(0.715 0.135 41) 100%);
    --gradient-display:   linear-gradient(135deg, oklch(0.715 0.135 41) 0%, oklch(0.760 0.135 78) 55%, oklch(0.808 0.098 42) 100%);
    --gradient-secondary: linear-gradient(135deg, oklch(0.660 0.095 200) 0%, oklch(0.562 0.165 39) 100%);
    --gradient-accent:    linear-gradient(135deg, oklch(0.562 0.165 39) 0%, oklch(0.760 0.135 78) 100%);
    --gradient-glow:      radial-gradient(ellipse at center, oklch(0.562 0.165 39 / 0.18) 0%, transparent 70%);


    /* Spacing (unchanged) */
    --container-max: 1320px;
    --section-padding: 140px;

    /* Shadows - retuned to neutral carbon, plus warm rust glow */
    --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.4);
    --shadow:    0 4px 6px -1px rgba(0, 0, 0, 0.18), 0 2px 4px -1px rgba(0, 0, 0, 0.10);
    --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.50);
    --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.60);
    --shadow-xl: 0 16px 48px rgba(0, 0, 0, 0.70);
    --shadow-glow:        0 0 24px oklch(0.562 0.165 39 / 0.20);
    --shadow-glow-lg:     0 0 40px oklch(0.562 0.165 39 / 0.25);
    --shadow-glow-success: 0 0 20px oklch(0.685 0.145 152 / 0.18);
    --shadow-glow-error:   0 0 20px oklch(0.605 0.205 25 / 0.18);

    /* Radii */
    --radius-sm: 4px;
    --radius:    6px;
    --radius-md: 6px;
    --radius-lg: 8px;
    --radius-xl: 12px;
    --radius-2xl: 16px;
    --radius-full: 9999px;

    /* Transitions */
    --transition-fast: 150ms ease;
    --transition:      200ms cubic-bezier(0.4, 0, 0.2, 1);
    --transition-slow: 300ms cubic-bezier(0.4, 0, 0.2, 1);

    /* Data viz aliases (legacy names map to brand viz keys) */
    --viz-blue:    var(--viz-6);
    --viz-purple:  var(--viz-7);
    --viz-cyan:    var(--d-mcp);
    --viz-lime:    var(--viz-3);
    --viz-orange:  oklch(0.730 0.150 55);
    --viz-magenta: var(--viz-8);
    --viz-gold:    oklch(0.825 0.140 92);
    --viz-red:     var(--signal-danger);
    --viz-indigo:  oklch(0.610 0.130 270);
    --viz-teal:    oklch(0.640 0.090 195);

    /* Syntax theme aliases (legacy GUI Monaco keys -> brand syntax keys) */
    --syntax-keyword:    var(--syn-keyword);
    --syntax-type:       var(--syn-type);
    --syntax-predefined: var(--syn-fn);
    --syntax-identifier: var(--carbon-200);
    --syntax-string:     var(--syn-string);
    --syntax-number:     var(--syn-number);
    --syntax-comment:    var(--syn-comment);
    --syntax-operator:   var(--syn-operator);

    /* Status aliases */
    --status-success:   var(--signal-success);
    --status-error:     var(--signal-danger);
    --status-running:   var(--rust-500);
    --status-pending:   var(--signal-warning);
    --status-cancelled: var(--carbon-400);
    --status-idle:      var(--carbon-600);

    /* Gray ramps -> Carbon (used by older rules in styles.css) */
    --gray-50:  var(--carbon-50);
    --gray-100: var(--carbon-100);
    --gray-200: var(--carbon-200);
    --gray-300: var(--carbon-300);
    --gray-400: var(--carbon-400);
    --gray-500: var(--carbon-500);
    --gray-600: var(--carbon-600);
    --gray-700: var(--carbon-700);
    --gray-800: var(--carbon-800);
    --gray-850: var(--carbon-850);
    --gray-900: var(--carbon-900);
    --gray-950: oklch(0.098 0.007 240);

    /* "primary" semantic alias used in some pages.css gradients */
    --primary: var(--rust-600);
}
