/* ============================================================================
   AI DECK · SYSTEM PRESETS  (experiment — prototyps/theming-superapp)
   ----------------------------------------------------------------------------
   Each of the 4 design systems expressed as VALUES over tokens.css.
   Load AFTER tokens.css. No component CSS here — only the contract variables.
   That is the test: how far a pure value-swap carries each identity, and where
   we hit the wall (see plan/02-system-presets.md).

   CASCADE DESIGN (learned the hard way):
     • tokens.css :root defaults      → specificity (0,1,0)
     • theme block  [data-theme][data-mode] incl. its signature --brand
                                       → (0,2,0)  ⇒ beats :root
     • brand override [data-brand][data-mode] (sets --brand* only)
                                       → (0,2,0), placed LATER in this file
                                       ⇒ ties theme block, wins on source order
     • data-brand="neutral"           → no brand block ⇒ theme's signature stays
   (Do NOT use :where() for the signature accent — 0 specificity loses to :root.)

   SEMANTICS (--ok/--warn/--danger) are intentionally NOT overridden per theme —
   they stay fixed (from tokens.css) so meaning never shifts with skin/brand.
   ============================================================================ */

/* ══════════════════════════ MISSION DECK ══════════════════════════════════ */
/* cinematic HUD · bi-tonal cyan machine energy · four-tier elevation          */
[data-theme="mission"][data-mode="dark"]{
  --bg:#0a1219; --surface:#12202b; --surface-2:#1b2e3b;
  --fg:#aee9f2; --fg-muted:#8fb3c0; --fg-faint:#4a6672;
  --line:rgba(126,255,234,.10); --line-strong:rgba(126,255,234,.18);
  --radius:6px; --radius-lg:10px; --focus:#7dffea;
  --shadow:0 18px 40px -22px rgba(0,0,0,.85); --shadow-inset:inset 0 1px 0 rgba(174,233,242,.10);
  --font-ui:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; --font-display:var(--font-ui); --space:1;
  --glow:0 0 10px -2px var(--brand); --brand-glow:none;
  --brand:#5ef2ff; --brand-ink:#aee9f2; --brand-on:#04070a; --brand-grad:linear-gradient(90deg,#5ef2ff,#7dffea);
}
[data-theme="mission"][data-mode="light"]{
  --bg:#dce5e7; --surface:#eef3f4; --surface-2:#f7fafb;
  --fg:#0e1f29; --fg-muted:#3f5763; --fg-faint:#6a828d;
  --line:rgba(8,60,74,.16); --line-strong:rgba(8,60,74,.28);
  --radius:6px; --radius-lg:10px; --focus:#08768a;
  --shadow:0 12px 30px -20px rgba(10,40,55,.4); --shadow-inset:inset 0 1px 0 rgba(255,255,255,.7);
  --font-ui:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; --font-display:var(--font-ui); --space:1;
  --glow:0 0 0 1px color-mix(in srgb,var(--brand) 50%,transparent); --brand-glow:none;
  --brand:#08768a; --brand-ink:#066277; --brand-on:#ffffff; --brand-grad:linear-gradient(90deg,#08768a,#0a8ba2);
}

/* ═════════════════════════════ NEON NIHON ═════════════════════════════════ */
/* wet-black night city · one neon glow · flat hairlines at rest               */
[data-theme="neon"][data-mode="dark"]{
  --bg:#08080c; --surface:#101019; --surface-2:#0c0c15;
  --fg:#eef0f5; --fg-muted:#9e9aae; --fg-faint:#5b5868;
  --line:rgba(255,255,255,.14); --line-strong:rgba(255,255,255,.24);
  --radius:3px; --radius-lg:4px; --focus:#8fb2ff;
  --shadow:0 18px 50px -20px rgba(0,0,0,.85); --shadow-inset:none;
  --font-ui:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; --font-display:var(--font-ui); --space:1;
  --glow:0 0 10px -1px var(--brand);
  --brand-glow:0 0 8px color-mix(in srgb,var(--brand) 55%,transparent),0 0 18px color-mix(in srgb,var(--brand) 28%,transparent);
  --brand:#6e9bff; --brand-ink:#8fb2ff; --brand-on:#0b1220; --brand-grad:linear-gradient(90deg,#6e9bff,#8f7cff);
}
[data-theme="neon"][data-mode="light"]{
  --bg:#eceaf0; --surface:#f5f3f8; --surface-2:#edebf2;
  --fg:#26222e; --fg-muted:#5b5568; --fg-faint:#8a8598;
  --line:rgba(0,0,0,.14); --line-strong:rgba(0,0,0,.22);
  --radius:3px; --radius-lg:4px; --focus:#3457d6;
  --shadow:0 14px 40px -22px rgba(20,10,40,.35); --shadow-inset:none;
  --font-ui:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; --font-display:var(--font-ui); --space:1;
  --glow:0 0 8px -2px var(--brand); --brand-glow:0 0 6px color-mix(in srgb,var(--brand) 30%,transparent);
  --brand:#3f52ff; --brand-ink:#2f3fd6; --brand-on:#ffffff; --brand-grad:linear-gradient(90deg,#3f52ff,#7c3aed);
}

/* ════════════════════════════ TRADING FLOOR ══════════════════════════════ */
/* Bloomberg density · keylines not shadows · monospace mother-tongue · amber   */
[data-theme="trading"][data-mode="dark"]{
  --bg:#0c0d10; --surface:#111318; --surface-2:#15181e;
  --fg:#edf0f4; --fg-muted:#8a939f; --fg-faint:#7e8792;
  --line:rgba(255,255,255,.09); --line-strong:rgba(255,255,255,.16);
  --radius:2px; --radius-lg:2px; --focus:#f6b85f;
  --shadow:0 2px 0 rgba(0,0,0,.5); --shadow-inset:none;   /* flat — keylines carry it */
  --font-ui:ui-monospace,"SF Mono",Menlo,Consolas,monospace; --font-display:var(--font-ui); --space:.9;
  --glow:none; --brand-glow:none;
  --brand:#f2a13b; --brand-ink:#f6b85f; --brand-on:#0b1220; --brand-grad:linear-gradient(90deg,#f2a13b,#e4772b);
}
[data-theme="trading"][data-mode="light"]{
  --bg:#eceef1; --surface:#f6f7f9; --surface-2:#fbfcfd;
  --fg:#16181d; --fg-muted:#586470; --fg-faint:#7b8590;
  --line:rgba(0,0,0,.10); --line-strong:rgba(0,0,0,.18);
  --radius:2px; --radius-lg:2px; --focus:#b56a12;
  --shadow:0 1px 0 rgba(0,0,0,.12); --shadow-inset:none;
  --font-ui:ui-monospace,"SF Mono",Menlo,Consolas,monospace; --font-display:var(--font-ui); --space:.9;
  --glow:none; --brand-glow:none;
  --brand:#c97a16; --brand-ink:#9c5e0d; --brand-on:#ffffff; --brand-grad:linear-gradient(90deg,#c97a16,#a85a1c);
}

/* ═════════════════════════════ AURORA GLASS ══════════════════════════════ */
/* frosted panes · heavy rounding · airy · single glow (solids here; glass opt-in)*/
[data-theme="aurora"][data-mode="dark"]{
  --bg:#101725; --surface:#18202e; --surface-2:#212b3b;
  --fg:#eef4ff; --fg-muted:rgba(238,244,255,.82); --fg-faint:rgba(238,244,255,.55);
  --line:rgba(255,255,255,.20); --line-strong:rgba(255,255,255,.28);
  --radius:14px; --radius-lg:18px; --focus:#eaf1ff;
  --shadow:0 24px 60px -30px rgba(0,8,20,.85),0 6px 20px -12px rgba(0,6,16,.55);
  --shadow-inset:inset 0 1px 0 rgba(255,255,255,.22);
  --font-ui:ui-rounded,"SF Pro Rounded","Hiragino Maru Gothic ProN",system-ui,sans-serif; --font-display:var(--font-ui); --space:1.15;
  --glow:none; --brand-glow:0 0 40px -6px color-mix(in srgb,var(--brand) 55%,transparent);
  --brand:#6e9bff; --brand-ink:#8fb2ff; --brand-on:#0b1220; --brand-grad:linear-gradient(90deg,#6e9bff,#9b7cff);
}
[data-theme="aurora"][data-mode="light"]{
  --bg:#eef1f6; --surface:#f8fafd; --surface-2:#eef5fb;
  --fg:#1a2440; --fg-muted:#4c567e; --fg-faint:#636a93;
  --line:rgba(20,30,60,.14); --line-strong:rgba(20,30,60,.22);
  --radius:14px; --radius-lg:18px; --focus:#0b1220;
  --shadow:0 20px 50px -30px rgba(20,40,80,.4),0 6px 18px -12px rgba(20,40,80,.25);
  --shadow-inset:inset 0 1px 0 rgba(255,255,255,.9);
  --font-ui:ui-rounded,"SF Pro Rounded","Hiragino Maru Gothic ProN",system-ui,sans-serif; --font-display:var(--font-ui); --space:1.15;
  --glow:none; --brand-glow:0 0 40px -8px color-mix(in srgb,var(--brand) 40%,transparent);
  --brand:#3f6ae0; --brand-ink:#3157c4; --brand-on:#ffffff; --brand-grad:linear-gradient(90deg,#3f6ae0,#7c3aed);
}

/* ══════════════════════ WHITE-LABEL BRAND OVERRIDES ═══════════════════════ */
/* Placed LAST: ties the theme block's (0,2,0) signature and wins on source     */
/* order. neutral = no block ⇒ the system's own signature accent stays.         */
/* Palettes: BKW bkw.com · Qynn qynn-energy.ch · Powerflow repo · SBB Lyne       */

[data-brand="bkw"][data-mode="dark"]{ --brand:#9bbb0c; --brand-ink:#b6d40a; --brand-on:#0b1220; --brand-grad:linear-gradient(90deg,#9bbb0c,#ff6418); }
[data-brand="bkw"][data-mode="light"]{ --brand:#6f8a08; --brand-ink:#5a7006; --brand-on:#ffffff; --brand-grad:linear-gradient(90deg,#6f8a08,#e0560f); }

[data-brand="qynn"][data-mode="dark"]{ --brand:#7c3aed; --brand-ink:#a78bfa; --brand-on:#ffffff; --brand-grad:linear-gradient(90deg,#2563eb,#7c3aed,#ec4899); }
[data-brand="qynn"][data-mode="light"]{ --brand:#6d28d9; --brand-ink:#6d28d9; --brand-on:#ffffff; --brand-grad:linear-gradient(90deg,#2563eb,#7c3aed,#ec4899); }

[data-brand="powerflow"][data-mode="dark"]{ --brand:#069728; --brand-ink:#22c55e; --brand-on:#04140a; --brand-grad:linear-gradient(90deg,#0a6b24,#069728); }
[data-brand="powerflow"][data-mode="light"]{ --brand:#057a20; --brand-ink:#046b1c; --brand-on:#ffffff; --brand-grad:linear-gradient(90deg,#0a4c1c,#057a20); }

[data-brand="sbb"][data-mode="dark"]{ --brand:#eb0000; --brand-ink:#ff6666; --brand-on:#ffffff; --brand-grad:linear-gradient(90deg,#eb0000,#c40000); }
[data-brand="sbb"][data-mode="light"]{ --brand:#d10000; --brand-ink:#c40000; --brand-on:#ffffff; --brand-grad:linear-gradient(90deg,#d10000,#a30000); }

/* Qynn is the one brand that WANTS its gradient on fills — the pilot reads
   --brand-grad for primary buttons / active spines when a gradient is present. */
