/* GENERATED — do not edit by hand.
   Source of truth: design/rebrand-handoff/assets/jarvis-finish.css
   Regenerate: python3 design/rebrand-handoff/assets/sync_tokens.py */
/* JARVIS — "Workshop" finish (own-finish BUILD.md §3.1, board R3-Cmd-2).
   Night-only (§5) — the day-mode toggle is hidden in this app, not disabled. */
[data-app="jarvis"] {
  /* Chrome colour as RGB channels so JSX/CSS can write rgba(var(--lr-a), .2) and
     the Knight room can re-tint every alpha at once (Knight spec §1). Night values
     are the literals these replaced — a pure refactor. lr-a = --light family,
     lr-b = steel-blue family, lr-c = the pre-finish arc, lr-g = gold, lr-w/w2 = watch amber. */
  --lr-a: 143,220,255; --lr-b: 77,143,204; --lr-c: 111,195,223;
  --lr-g: 232,179,60;  --lr-w: 212,160,90; --lr-w2: 224,166,88;
  --pie-core: #4D8FCC; --pie-div-etf: #6FC3DF;   /* pie categorical hues that were cyan (pieRegistry.js) */

  --room:            #03070C;
  --room-wash:        radial-gradient(760px 520px at 420px 260px, rgba(var(--lr-a),.13), transparent 70%),
                       radial-gradient(1400px 260px at 50% 100%, rgba(var(--lr-b),.10), transparent 70%);
  --light:            #8FDCFF;   /* replaces the old arc cyan #6FC3DF everywhere in this app */
  --light-2:          #4D8FCC;
  --ink:              #DDF4FF;
  --ink-2:            #AFD3E4;
  --ink-3:            #8DB4C8;
  --ink-dim:          #4F7C95;
  --panel:            linear-gradient(180deg, rgba(10,26,40,.62), rgba(5,14,24,.62));
  --panel-edge:       rgba(var(--lr-a),.26);
  --panel-edge-hero:  rgba(var(--lr-a),.42);
  --r-card:           6px;   /* finish override of the suite 10px — flagged in BUILD.md §3.1 */
  --f-display:        'Orbitron';
  --sidebar-w:        224px;

  /* Re-skin the existing chassis CSS immediately (own-finish BUILD.md §7
     step 2: "smoke every page... before touching layouts") — every existing
     component reads these OLD names, not --room/--light/--ink*, so without
     this alias block finish.css would do nothing until a screen is rebuilt. */
  --bg:         var(--room);
  --panel-side: var(--room);
  --border:     var(--panel-edge);
  --t-hi:       var(--ink);
  --t-mid:      var(--ink-2);
  --t-lo:       var(--ink-3);     /* §15: --t-lo is the chassis' SENTENCE colour (was 5.8:1); --ink-dim is chrome only */
  --arc:        var(--light);
  --f-disp:     var(--f-display);
  /* Found 2026-09-25 (Wealth review): --f-lab is the suite's card/section-
     label font (.mk-clab and every CardTitle that hasn't moved to the
     .jv2 .l grammar yet) and defaults to IBM Plex Mono (tokens.css) —
     unaliased, so any component still on the old CardTitle/.mk-clab
     pattern (e.g. Wealth's Account Balances panel) rendered its label in
     mono instead of the Orbitron BUILD.md §3.1's type table calls for on
     every panel/section label. Same fix shape as the block below: alias
     once here rather than patch each component. */
  --f-lab:      var(--f-display);

  /* Found 2026-09-25: this alias block covered the tokens most components
     read, but several purely-chrome tokens (progress-bar tracks, the
     sidebar active-flick, active-state backgrounds, the hero card's
     drop-accent, the page-header rule) were never aliased, so they kept
     leaking the suite's gold defaults through in whichever component
     hadn't been individually patched yet -- e.g. Rules Engine's row
     background (--ink-mid -> --track, unaliased) read as "a strange
     brown colour" even after --panel/--border/--t-hi were already
     correctly blue. Aliasing these here fixes every remaining component
     that reads them, instead of patching each one by hand as it's found. */
  --track:           rgba(var(--lr-a),.12);
  --flick:           linear-gradient(90deg, var(--light), transparent);
  --item-active-bg:  linear-gradient(90deg, rgba(var(--lr-a),.14), transparent);
  --card-shadow:     inset 0 1px 0 rgba(var(--lr-a),.07);
  /* Brian, 2026-09-25: the red-line/gold-seal page-header rule should be
     gone, not recoloured -- neutralised suite-wide for this app rather
     than removed per-component. */
  --hero-rule:       transparent;
}

/* own-finish BUILD.md §3.1's own flag, never implemented until now (found
   2026-09-25 auditing Holdings, one of the "chassis + finish, no bespoke
   design round" pages): ".mk-card--hero (gold box-shadow plate) is not in
   this finish. Hero = stronger light edge + inner glow instead. Keep the
   class, change what it draws for [data-app="jarvis"]." The suite default
   is a 3px gold offset-plate shadow (components.css); this replaces it
   with the same inset-glow + outer-glow treatment .jv2 .p.hero already
   uses on Portfolio Brief, rather than just recolouring the gold shape. */
[data-app="jarvis"] .mk-card--hero {
  border-color: var(--panel-edge-hero);
  box-shadow: inset 0 0 40px rgba(var(--lr-a),.08), 0 0 26px rgba(var(--lr-a),.08);
}
[data-app="jarvis"] .mk-card--hero.is-link:hover {
  border-color: var(--light);
}

/* Same audit, same day: table row hover/select and a few active-state
   accents were never in the alias block because they're not aliases at
   all in index.css -- --row-line/--row-hover/--row-sel are separate
   literal rgba(232,179,60,...) tokens ("hover + selected are both gold,
   CHROME-PRINCIPLES"), and .mk-hrow's selected-row edge, .mk-chipbtn's
   active border, and .mk-search's focus ring hardcode var(--gold)
   directly rather than reading any of the aliased names. Found auditing
   Holdings (2026-09-25) -- same inconsistency the rail's active-tab bar
   already avoided by using var(--light) instead of gold. */
/* html[data-app="jarvis"], not the bare attribute selector: these three
   properties are re-declared in index.css's own body (:root, after every
   @import), so at equal specificity source order would let that later
   :root win regardless of what's written here. The extra element
   selector bumps specificity just enough to beat it reliably. */
html[data-app="jarvis"] {
  --row-line:  rgba(var(--lr-a),.10);
  --row-hover: rgba(var(--lr-a),.05);
  --row-sel:   rgba(var(--lr-a),.08);
}
[data-app="jarvis"] .mk-hrow.on td:first-child { box-shadow: inset 2px 0 0 var(--light); }
[data-app="jarvis"] .mk-chipbtn.on { border-color: var(--light); }
[data-app="jarvis"] .mk-search:focus-visible { outline-color: var(--light); }

/* ══ KNIGHT room (Knight spec 29 Sep 2026) ═══════════════════════════════════
   Hidden third room: type WAYNE to enter, STARK to leave. Finish only — no
   layout. Every cyan/gold/amber alpha in the app is an rgba(var(--lr-*)) so
   re-pointing the channels below re-tints all of it. Night stays the default. */
html[data-app="jarvis"][data-mode="knight"] {
  --lr-a: 255,207,1; --lr-b: 255,207,1; --lr-c: 255,207,1; --lr-g: 255,207,1;
  --lr-w: 232,135,58; --lr-w2: 232,135,58;

  --room:            #07070B;
  /* The searchlight is the bat-signal: a wedge of light widening from the sidebar
     mark (110px, 99px) toward the bottom-right, plus a low glow at the mark itself.
     knight.js draws the same wedge (3x alpha) for the entry sequence. */
  --room-wash:       radial-gradient(ellipse 460px 320px at 110px 99px, rgba(255,207,1,.10), transparent 70%),
                     conic-gradient(from 122deg at 110px 99px, transparent 0deg, rgba(255,207,1,.035) 5deg, rgba(255,207,1,.075) 11deg, rgba(255,207,1,.035) 17deg, transparent 22deg);
  --light:           #FFCF01;
  --light-2:         #FFCF01;
  --light-text:      #FFCF01;
  --ink:             #ECEAE3;
  --ink-2:           #B8B6AE;
  --ink-3:           #9A98A0;
  --ink-dim:         #7E7D84;
  --panel:           #101014;
  --panel-edge:      #232329;
  --panel-edge-hero: rgba(255,207,1,.38);
  --track:           rgba(255,207,1,.10);
  --item-active-bg:  linear-gradient(90deg, rgba(255,207,1,.14), transparent);
  --card-shadow:     inset 0 1px 0 rgba(255,207,1,.07);
  --row-line:        rgba(255,207,1,.08);
  --row-hover:       rgba(255,207,1,.05);
  --row-sel:         rgba(255,207,1,.08);

  --watch:           #E8873A;     /* caution = orange, must not collide with the yellow accent */
  --gold:            rgba(255,207,1,.5);
  --gold-text:       #FFCF01;
  --gold-hi:         #FFCF01;
  --money:           #FFCF01;
  --c1:              #FFCF01;
  --c2:              #C9C2A8;
  --pie-core:        #C9C2A8;   /* no cyan in Knight */
  --pie-div-etf:     #8A8A94;
  --wordmark:        linear-gradient(180deg,#F4F1E6,#9A9891);
  --f-display:       'Big Shoulders Display', sans-serif;
  --w-disp:          700;
  --w-num:           700;
}
/* Focal band + KPI left-glow (spec §2). --panel-edge-hero above carries the border. */
html[data-mode="knight"] .jv2 .p.hero,
html[data-mode="knight"] .mk-card--hero,
html[data-mode="knight"] .mk-cmd-v2 .p.hero {
  box-shadow: inset 0 0 48px rgba(255,207,1,.07), inset 0 1px 0 rgba(255,207,1,.22);
}
html[data-mode="knight"] .jv2 .p:not(.hero):has(> .l + .v) {
  box-shadow: inset 2px 0 0 rgba(255,207,1,.7), inset 16px 0 22px -16px rgba(255,207,1,.35);
}
