/* X-ADP v3 full mock: design tokens (owner lane SH).
   Light values are the mockup :root (xadp-v3-demo-for-thomas.html L20 to L35, inv/design-tokens.md T1, T2).
   Dark values are the 4b product set (T9) plus the tokens the mockup hard-codes (IA D10).
   Rule: no lane writes a hex literal; every colour is a token from this file. [KB T5.1 one term per thing] */

@font-face { font-family: Inter; font-style: normal; font-weight: 100 900; font-display: block;
  src: url(../../fonts/inter-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: Inter; font-style: normal; font-weight: 100 900; font-display: block;
  src: url(../../fonts/inter-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }

:root {
  color-scheme: light;
  /* ink and surfaces (T1) */
  --ink: #12261F; --ink2: #3B4A44; --muted: #5F6D67; --muted-l: #5F6D67;
  --page: #F3F5F4; --card: #FFFFFF; --hair: #E2E7E4; --hair2: #EDF1EE; --ctl: #C3CDC8; --track: #E9EEEB; --added: #F6F8F7;
  --surface: #FFFFFF;          /* chip, popover, white tip, cargo chip, seg thumb (mockup #fff) */
  --surface-2: #FAFBFA;        /* steps box, code blocks */
  --on-acc: #FFFFFF;           /* text on a filled accent or on --gd */
  --on-fill: #12261F;          /* text on a bright fill (warn, an index colour): dark in both themes, 4.5:1 or more */
  /* brand and accent */
  --g: #2E8763; --gl: #48D49C; --gd: #123627; --gd-tx: #123627;
  --acc: #2E8763; --acc-d: #1F6B4C; --acc-dd: #17583E; --acc-l: #B5DFCB; --acc-t: #EAF5EF; --acc-tx: #1F6B4C;
  --acc-fill: #1F6B4C; --acc-fill-h: #17583E; /* LIVE 8.9 LOOK contrast: a filled accent under white text, 4.5:1 or more */
  /* their side (amber), loss, info (our side) */
  --ns-t: #8A6A1F; --ns-f: #FDF6E3; --ns-b: #E7CF94;
  --loss: #B5473C; --loss-l: #F9ECEA; --loss-b: #E7C3BE; --err: #9A3412; /* LIVE JUDGE R1 item 6: --loss on --loss-l 4.63:1 (was #F3DEDB, 4.14:1) */
  --info: #1F5FAF; --info-t: #EAF1FB; --info-b: #BCD0EE;
  --warn: #C0841A;             /* our concession, moved fingerprint, value out of range */
  --plain: #C9D3CE; --plain-d: #A9B5AF; --axis: #AEB9B3; --grid: #EDF1EE;
  --dis: #A3AEA9; --dis-loss: #C98F88; --nocost: #8FC4AC; --wait: #D5DDD9; --nego-grid: #B7C3BD; --oor: #9AA7A1;
  /* bands and hatches */
  --band: #F6F8F7; --band-year: #EEF3F0;
  --blk-a: #FDF6E3; --blk-b: #F1E2B8; --nop-a: #F7F9F8; --nop-b: #E6ECE9;
  --late-a: #F3DEDB; --late-b: #B5473C; --waitp-a: #EEF2F0; --waitp-b: #A9B5AF; --us-a: #EAF1FB; --us-b: #C9DAF2;
  /* map */
  --sea: #F1F6F3; --grat: #E3EAE6; --land: #DAE2DE; --coast: #FFFFFF;
  /* price index colours (IDX_COL) and source shades (SRC_COL) */
  --ix-hh: #2A78D6; --ix-ttf: #E07B28; --ix-jkm: #1E9E8C; --ix-brent: #B0479B;
  --src-1: #2A78D6; --src-2: #1E569A; --src-3: #153C6B; --src-4: #B0479B; --src-5: #E07B28; --src-6: #1E9E8C; --src-7: #14675B; --src-8: #6A4FB0;
  /* value ramp base (seqGreen = rgba(ramp, .12 + .88 t)) */
  --ramp-rgb: 46, 135, 99; --ramp-loss-rgb: 181, 71, 60;
  /* radius, shadow, focus, motion (T4) */
  --r-xs: 4px; --r-sm: 6px; --r-md: 8px; --r-lg: 12px; --r-xl: 16px;
  --r-tip: 10px; /* LIVE s92: the white hover card #tipW (HOVER-SPEC 1, prototype .tw-tip) */
  --sh-card: 0 1px 2px rgba(18, 54, 39, .04);
  --sh-thumb: 0 1px 2px rgba(18, 54, 39, .16), 0 0 0 1px rgba(18, 54, 39, .04);
  --sh-pop: 0 14px 34px -12px rgba(18, 54, 39, .30);
  --sh-lift: 0 2px 10px -4px rgba(18, 54, 39, .25);
  --focus: 0 0 0 3px rgba(46, 135, 99, .26);
  --backdrop: rgba(11, 31, 24, .38);
  --t-fast: .12s; --t-rail: .15s;
  /* type scale (IA D11): one scale, floor 11 px */
  --fs-hero: 26px; --fs-title: 18px; --fs-q: 14.5px; --fs-body: 13.5px; --fs-tab: 13px; --fs-chip: 12.5px; --fs-label: 12px; --fs-small: 11.5px; --fs-tick: 11px;
  /* 4/8 grid (IA D12, T5 right column) */
  --s1: 4px; --s2: 8px; --s3: 12px; --s4: 16px; --s6: 24px; --s8: 32px; --s16: 64px;
  --rail-w: 196px; --dock-w: 400px; /* LIVE s151 (REQ PLAT to LIVE 8): the 4875 rail column (proto style.css 53, r6/neo.css 75) */
  --sel-chev: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%235F6D67' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6.2l4 4 4-4'/%3E%3C/svg%3E"); /* polish PA2: select chevron, muted */
}

/* Dark: the 4b set (T9), guarded so an explicit light choice wins. */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    color-scheme: dark;
    --ink: #E4ECE8; --ink2: #BCCAC3; --muted: #93A39B; --muted-l: #8A9A92;
    --page: #0D1613; --card: #141F1B; --hair: #26362F; --hair2: #1E2C26; --ctl: #3A4C44; --track: #22312B; --added: #1A2722;
    --surface: #1A2722; --surface-2: #17231F; --on-acc: #FFFFFF; --on-fill: #0D1613;
    --gd-tx: #D5EDE2;
    --acc: #3FBF8A; --acc-d: #2E8763; --acc-dd: #34976E; --acc-l: #24533F; --acc-t: #15302A; --acc-tx: #5FD9A6;
    --acc-fill: #2C805E; --acc-fill-h: #256C4F; /* LIVE 8.9 LOOK contrast: white 4.8:1 and 6.3:1 */
    --ns-t: #E3C16F; --ns-f: #2A2414; --ns-b: #6B5A2A;
    --loss: #F08A7E; --loss-l: #3D2320; --loss-b: #6B3832; --err: #F2A27A;
    --info: #8EAEFF; --info-t: #17224A; --info-b: #3A55B0;
    --warn: #E0A64A;
    --plain: #4A5A53; --plain-d: #5E7068; --axis: #52655C; --grid: #1E2C26;
    --dis: #5E7068; --dis-loss: #8A5650; --nocost: #4E8C72; --wait: #33443D; --nego-grid: #3E5048; --oor: #6E7F77;
    --band: #17221E; --band-year: #182520;
    --blk-a: #2A2414; --blk-b: #3D3319; --nop-a: #17221E; --nop-b: #22312B;
    --late-a: #3D2320; --late-b: #F08A7E; --waitp-a: #1A2722; --waitp-b: #4A5A53; --us-a: #17224A; --us-b: #2C3F7A;
    --sea: #10201B; --grat: #1A2C25; --land: #26362F; --coast: #141F1B;
    --ix-hh: #5B9BE8; --ix-ttf: #F29A52; --ix-jkm: #3FC1AE; --ix-brent: #D27CC2;
    --src-1: #5B9BE8; --src-2: #9CC2F2; --src-3: #3C74BF; --src-4: #D27CC2; --src-5: #F29A52; --src-6: #3FC1AE; --src-7: #7FD8C9; --src-8: #A893E6;
    --ramp-rgb: 63, 191, 138; --ramp-loss-rgb: 240, 138, 126;
    --sh-card: 0 0 0 0 transparent;
    --sh-thumb: 0 1px 2px rgba(0, 0, 0, .5), 0 0 0 1px rgba(255, 255, 255, .06);
    --sh-pop: 0 16px 40px -12px rgba(0, 0, 0, .70), 0 0 0 1px rgba(255, 255, 255, .04);
    --sh-lift: 0 4px 14px -6px rgba(0, 0, 0, .70);
    --focus: 0 0 0 3px rgba(63, 191, 138, .32);
    --backdrop: rgba(0, 0, 0, .56);
    --sel-chev: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%2393A39B' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6.2l4 4 4-4'/%3E%3C/svg%3E"); /* polish PA2: select chevron, muted */
  }
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --ink: #E4ECE8; --ink2: #BCCAC3; --muted: #93A39B; --muted-l: #8A9A92;
  --page: #0D1613; --card: #141F1B; --hair: #26362F; --hair2: #1E2C26; --ctl: #3A4C44; --track: #22312B; --added: #1A2722;
  --surface: #1A2722; --surface-2: #17231F; --on-acc: #FFFFFF; --on-fill: #0D1613;
  --gd-tx: #D5EDE2;
  --acc: #3FBF8A; --acc-d: #2E8763; --acc-dd: #34976E; --acc-l: #24533F; --acc-t: #15302A; --acc-tx: #5FD9A6;
  --acc-fill: #2C805E; --acc-fill-h: #256C4F; /* LIVE 8.9 LOOK contrast: white 4.8:1 and 6.3:1 */
  --ns-t: #E3C16F; --ns-f: #2A2414; --ns-b: #6B5A2A;
  --loss: #F08A7E; --loss-l: #3D2320; --loss-b: #6B3832; --err: #F2A27A;
  --info: #8EAEFF; --info-t: #17224A; --info-b: #3A55B0;
  --warn: #E0A64A;
  --plain: #4A5A53; --plain-d: #5E7068; --axis: #52655C; --grid: #1E2C26;
  --dis: #5E7068; --dis-loss: #8A5650; --nocost: #4E8C72; --wait: #33443D; --nego-grid: #3E5048; --oor: #6E7F77;
  --band: #17221E; --band-year: #182520;
  --blk-a: #2A2414; --blk-b: #3D3319; --nop-a: #17221E; --nop-b: #22312B;
  --late-a: #3D2320; --late-b: #F08A7E; --waitp-a: #1A2722; --waitp-b: #4A5A53; --us-a: #17224A; --us-b: #2C3F7A;
  --sea: #10201B; --grat: #1A2C25; --land: #26362F; --coast: #141F1B;
  --ix-hh: #5B9BE8; --ix-ttf: #F29A52; --ix-jkm: #3FC1AE; --ix-brent: #D27CC2;
  --src-1: #5B9BE8; --src-2: #9CC2F2; --src-3: #3C74BF; --src-4: #D27CC2; --src-5: #F29A52; --src-6: #3FC1AE; --src-7: #7FD8C9; --src-8: #A893E6;
  --ramp-rgb: 63, 191, 138; --ramp-loss-rgb: 240, 138, 126;
  --sh-card: 0 0 0 0 transparent;
  --sh-thumb: 0 1px 2px rgba(0, 0, 0, .5), 0 0 0 1px rgba(255, 255, 255, .06);
  --sh-pop: 0 16px 40px -12px rgba(0, 0, 0, .70), 0 0 0 1px rgba(255, 255, 255, .04);
  --sh-lift: 0 4px 14px -6px rgba(0, 0, 0, .70);
  --focus: 0 0 0 3px rgba(63, 191, 138, .32);
  --backdrop: rgba(0, 0, 0, .56);
  --sel-chev: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%2393A39B' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6.2l4 4 4-4'/%3E%3C/svg%3E"); /* polish PA2: select chevron, muted */
}
