/* ============================================================================
   Accent themes.
   The accent is a family of 11 tokens, not one value, so each theme redefines the
   whole family in both light and dark rather than swapping a single hex.
   Green and orange collide with meanings the system already owns: green is what
   'improved' means and amber is what 'at risk' means. Those themes therefore
   re-step the colliding semantic instead of letting two things share a colour.
   In the orange theme, 'at risk' takes the indigo the brand just vacated.
   Every pair was measured with a CVD-aware validator; the worst normal-vision
   separation stays above the readability floor in both themes.
   ============================================================================ */

/* ---- blue ---- */
:root[data-accent="blue"]{
  --accent:#1B6FE0; --accent-2:#4A8EEC; --accent-3:#1454AE; --accent-hi:#1763CC; --on-accent:#FFFFFF;
  --wash:rgba(27,111,224,.075); --wash-2:rgba(27,111,224,.14); --accent-u:rgba(27,111,224,.34);
  --lift-accent:0 1px 2px rgba(14,66,140,.22), 0 10px 22px -10px rgba(14,66,140,.50);
  --lift-accent-2:0 2px 4px rgba(14,66,140,.24), 0 14px 28px -10px rgba(14,66,140,.55);
  --now-glow:0 0 0 2px rgba(27,111,224,.10), 0 0 16px rgba(27,111,224,.45);
}
@media (prefers-color-scheme: dark){
  :root[data-accent='blue']:not([data-theme='light']){
    --accent:#6BA6FF; --accent-2:#94C0FF; --accent-3:#3C79D6; --accent-hi:#84B6FF; --on-accent:#0E1420;
    --wash:rgba(107,166,255,.13); --wash-2:rgba(107,166,255,.22); --accent-u:rgba(107,166,255,.46);
    --lift-accent:0 0 0 1px rgba(107,166,255,.40), 0 8px 22px -12px rgba(44,95,168,.75);
    --lift-accent-2:0 0 0 1px rgba(107,166,255,.55), 0 12px 30px -12px rgba(44,95,168,.85);
    --now-glow:0 0 0 2px rgba(107,166,255,.16), 0 0 18px rgba(107,166,255,.40);
  }
}
:root[data-theme="dark"][data-accent="blue"]{
  --accent:#6BA6FF; --accent-2:#94C0FF; --accent-3:#3C79D6; --accent-hi:#84B6FF; --on-accent:#0E1420;
  --wash:rgba(107,166,255,.13); --wash-2:rgba(107,166,255,.22); --accent-u:rgba(107,166,255,.46);
  --lift-accent:0 0 0 1px rgba(107,166,255,.40), 0 8px 22px -12px rgba(44,95,168,.75);
  --lift-accent-2:0 0 0 1px rgba(107,166,255,.55), 0 12px 30px -12px rgba(44,95,168,.85);
  --now-glow:0 0 0 2px rgba(107,166,255,.16), 0 0 18px rgba(107,166,255,.40);
}
:root[data-theme="light"][data-accent="blue"]{
  --accent:#1B6FE0; --accent-2:#4A8EEC; --accent-3:#1454AE; --accent-hi:#1763CC; --on-accent:#FFFFFF;
  --wash:rgba(27,111,224,.075); --wash-2:rgba(27,111,224,.14); --accent-u:rgba(27,111,224,.34);
  --lift-accent:0 1px 2px rgba(14,66,140,.22), 0 10px 22px -10px rgba(14,66,140,.50);
  --lift-accent-2:0 2px 4px rgba(14,66,140,.24), 0 14px 28px -10px rgba(14,66,140,.55);
  --now-glow:0 0 0 2px rgba(27,111,224,.10), 0 0 16px rgba(27,111,224,.45);
}

/* ---- teal ---- */
:root[data-accent="teal"]{
  --accent:#0E7C8B; --accent-2:#2A9AAA; --accent-3:#095E6A; --accent-hi:#0C6E7C; --on-accent:#FFFFFF;
  --wash:rgba(14,124,139,.075); --wash-2:rgba(14,124,139,.14); --accent-u:rgba(14,124,139,.34);
  --lift-accent:0 1px 2px rgba(8,70,80,.22), 0 10px 22px -10px rgba(8,70,80,.50);
  --lift-accent-2:0 2px 4px rgba(8,70,80,.24), 0 14px 28px -10px rgba(8,70,80,.55);
  --now-glow:0 0 0 2px rgba(14,124,139,.10), 0 0 16px rgba(14,124,139,.45);
  --good:#0B5233;
}
@media (prefers-color-scheme: dark){
  :root[data-accent='teal']:not([data-theme='light']){
    --accent:#4FC2D4; --accent-2:#7FD8E5; --accent-3:#2A93A4; --accent-hi:#68CEDE; --on-accent:#0C1A1E;
    --wash:rgba(79,194,212,.13); --wash-2:rgba(79,194,212,.22); --accent-u:rgba(79,194,212,.46);
    --lift-accent:0 0 0 1px rgba(79,194,212,.40), 0 8px 22px -12px rgba(29,107,120,.75);
    --lift-accent-2:0 0 0 1px rgba(79,194,212,.55), 0 12px 30px -12px rgba(29,107,120,.85);
    --now-glow:0 0 0 2px rgba(79,194,212,.16), 0 0 18px rgba(79,194,212,.40);
    --good:#2E8F6A;
  }
}
:root[data-theme="dark"][data-accent="teal"]{
  --accent:#4FC2D4; --accent-2:#7FD8E5; --accent-3:#2A93A4; --accent-hi:#68CEDE; --on-accent:#0C1A1E;
  --wash:rgba(79,194,212,.13); --wash-2:rgba(79,194,212,.22); --accent-u:rgba(79,194,212,.46);
  --lift-accent:0 0 0 1px rgba(79,194,212,.40), 0 8px 22px -12px rgba(29,107,120,.75);
  --lift-accent-2:0 0 0 1px rgba(79,194,212,.55), 0 12px 30px -12px rgba(29,107,120,.85);
  --now-glow:0 0 0 2px rgba(79,194,212,.16), 0 0 18px rgba(79,194,212,.40);
  --good:#2E8F6A;
}
:root[data-theme="light"][data-accent="teal"]{
  --accent:#0E7C8B; --accent-2:#2A9AAA; --accent-3:#095E6A; --accent-hi:#0C6E7C; --on-accent:#FFFFFF;
  --wash:rgba(14,124,139,.075); --wash-2:rgba(14,124,139,.14); --accent-u:rgba(14,124,139,.34);
  --lift-accent:0 1px 2px rgba(8,70,80,.22), 0 10px 22px -10px rgba(8,70,80,.50);
  --lift-accent-2:0 2px 4px rgba(8,70,80,.24), 0 14px 28px -10px rgba(8,70,80,.55);
  --now-glow:0 0 0 2px rgba(14,124,139,.10), 0 0 16px rgba(14,124,139,.45);
  --good:#0B5233;
}

/* ---- green ---- */
:root[data-accent="green"]{
  --accent:#3F9E57; --accent-2:#5DBA74; --accent-3:#2E7C42; --accent-hi:#388E4E; --on-accent:#FFFFFF;
  --wash:rgba(63,158,87,.075); --wash-2:rgba(63,158,87,.14); --accent-u:rgba(63,158,87,.34);
  --lift-accent:0 1px 2px rgba(31,90,50,.22), 0 10px 22px -10px rgba(31,90,50,.50);
  --lift-accent-2:0 2px 4px rgba(31,90,50,.24), 0 14px 28px -10px rgba(31,90,50,.55);
  --now-glow:0 0 0 2px rgba(63,158,87,.10), 0 0 16px rgba(63,158,87,.45);
  --good:#0B5233;
}
@media (prefers-color-scheme: dark){
  :root[data-accent='green']:not([data-theme='light']){
    --accent:#6ED07F; --accent-2:#95E19F; --accent-3:#3F9E57; --accent-hi:#84D993; --on-accent:#0C1810;
    --wash:rgba(110,208,127,.13); --wash-2:rgba(110,208,127,.22); --accent-u:rgba(110,208,127,.46);
    --lift-accent:0 0 0 1px rgba(110,208,127,.40), 0 8px 22px -12px rgba(44,116,64,.75);
    --lift-accent-2:0 0 0 1px rgba(110,208,127,.55), 0 12px 30px -12px rgba(44,116,64,.85);
    --now-glow:0 0 0 2px rgba(110,208,127,.16), 0 0 18px rgba(110,208,127,.40);
    --good:#1F7A55;
  }
}
:root[data-theme="dark"][data-accent="green"]{
  --accent:#6ED07F; --accent-2:#95E19F; --accent-3:#3F9E57; --accent-hi:#84D993; --on-accent:#0C1810;
  --wash:rgba(110,208,127,.13); --wash-2:rgba(110,208,127,.22); --accent-u:rgba(110,208,127,.46);
  --lift-accent:0 0 0 1px rgba(110,208,127,.40), 0 8px 22px -12px rgba(44,116,64,.75);
  --lift-accent-2:0 0 0 1px rgba(110,208,127,.55), 0 12px 30px -12px rgba(44,116,64,.85);
  --now-glow:0 0 0 2px rgba(110,208,127,.16), 0 0 18px rgba(110,208,127,.40);
  --good:#1F7A55;
}
:root[data-theme="light"][data-accent="green"]{
  --accent:#3F9E57; --accent-2:#5DBA74; --accent-3:#2E7C42; --accent-hi:#388E4E; --on-accent:#FFFFFF;
  --wash:rgba(63,158,87,.075); --wash-2:rgba(63,158,87,.14); --accent-u:rgba(63,158,87,.34);
  --lift-accent:0 1px 2px rgba(31,90,50,.22), 0 10px 22px -10px rgba(31,90,50,.50);
  --lift-accent-2:0 2px 4px rgba(31,90,50,.24), 0 14px 28px -10px rgba(31,90,50,.55);
  --now-glow:0 0 0 2px rgba(63,158,87,.10), 0 0 16px rgba(63,158,87,.45);
  --good:#0B5233;
}

/* ---- orange ---- */
:root[data-accent="orange"]{
  --accent:#DD6A12; --accent-2:#F0862F; --accent-3:#B3540C; --accent-hi:#C85F10; --on-accent:#FFFFFF;
  --wash:rgba(221,106,18,.075); --wash-2:rgba(221,106,18,.14); --accent-u:rgba(221,106,18,.34);
  --lift-accent:0 1px 2px rgba(140,66,10,.22), 0 10px 22px -10px rgba(140,66,10,.50);
  --lift-accent-2:0 2px 4px rgba(140,66,10,.24), 0 14px 28px -10px rgba(140,66,10,.55);
  --now-glow:0 0 0 2px rgba(221,106,18,.10), 0 0 16px rgba(221,106,18,.45);
  --broken:#A81050;
  --broken-2:rgba(168,16,80,.20); --broken-wash:rgba(168,16,80,.085);
  --lift-brk:0 1px 2px rgba(168,16,80,.10), 0 6px 16px -8px rgba(168,16,80,.28);
  --risk:#6152C9;
  --risk-2:rgba(97,82,201,.24); --risk-wash:rgba(97,82,201,.10);
  --risk-ink:#4C4770;
}
@media (prefers-color-scheme: dark){
  :root[data-accent='orange']:not([data-theme='light']){
    --accent:#F5993F; --accent-2:#FFB268; --accent-3:#C97620; --accent-hi:#FFA855; --on-accent:#1A1108;
    --wash:rgba(245,153,63,.13); --wash-2:rgba(245,153,63,.22); --accent-u:rgba(245,153,63,.46);
    --lift-accent:0 0 0 1px rgba(245,153,63,.40), 0 8px 22px -12px rgba(154,92,20,.75);
    --lift-accent-2:0 0 0 1px rgba(245,153,63,.55), 0 12px 30px -12px rgba(154,92,20,.85);
    --now-glow:0 0 0 2px rgba(245,153,63,.16), 0 0 18px rgba(245,153,63,.40);
    --broken:#FF5C86;
    --broken-2:rgba(255,92,134,.30); --broken-wash:rgba(255,92,134,.14);
    --lift-brk:0 1px 2px rgba(255,92,134,.10), 0 6px 16px -8px rgba(255,92,134,.28);
    --risk:#9C8CFF;
    --risk-2:rgba(156,140,255,.32); --risk-wash:rgba(156,140,255,.14);
    --risk-ink:#C3BCEA;
  }
}
:root[data-theme="dark"][data-accent="orange"]{
  --accent:#F5993F; --accent-2:#FFB268; --accent-3:#C97620; --accent-hi:#FFA855; --on-accent:#1A1108;
  --wash:rgba(245,153,63,.13); --wash-2:rgba(245,153,63,.22); --accent-u:rgba(245,153,63,.46);
  --lift-accent:0 0 0 1px rgba(245,153,63,.40), 0 8px 22px -12px rgba(154,92,20,.75);
  --lift-accent-2:0 0 0 1px rgba(245,153,63,.55), 0 12px 30px -12px rgba(154,92,20,.85);
  --now-glow:0 0 0 2px rgba(245,153,63,.16), 0 0 18px rgba(245,153,63,.40);
  --broken:#FF5C86;
  --broken-2:rgba(255,92,134,.30); --broken-wash:rgba(255,92,134,.14);
  --lift-brk:0 1px 2px rgba(255,92,134,.10), 0 6px 16px -8px rgba(255,92,134,.28);
  --risk:#9C8CFF;
  --risk-2:rgba(156,140,255,.32); --risk-wash:rgba(156,140,255,.14);
  --risk-ink:#C3BCEA;
}
:root[data-theme="light"][data-accent="orange"]{
  --accent:#DD6A12; --accent-2:#F0862F; --accent-3:#B3540C; --accent-hi:#C85F10; --on-accent:#FFFFFF;
  --wash:rgba(221,106,18,.075); --wash-2:rgba(221,106,18,.14); --accent-u:rgba(221,106,18,.34);
  --lift-accent:0 1px 2px rgba(140,66,10,.22), 0 10px 22px -10px rgba(140,66,10,.50);
  --lift-accent-2:0 2px 4px rgba(140,66,10,.24), 0 14px 28px -10px rgba(140,66,10,.55);
  --now-glow:0 0 0 2px rgba(221,106,18,.10), 0 0 16px rgba(221,106,18,.45);
  --broken:#A81050;
  --broken-2:rgba(168,16,80,.20); --broken-wash:rgba(168,16,80,.085);
  --lift-brk:0 1px 2px rgba(168,16,80,.10), 0 6px 16px -8px rgba(168,16,80,.28);
  --risk:#6152C9;
  --risk-2:rgba(97,82,201,.24); --risk-wash:rgba(97,82,201,.10);
  --risk-ink:#4C4770;
}