/* Montserrat (OFL), self-hosted Latin subset, variable 100-900: one sans for titles + wordmark (Kyle 10/13) */
@font-face{font-family:"Montserrat";src:url("montserrat.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
/* MCA Design System v1 tokens. One file for the public site, the portal and the dashboard (Glass).
   Extends apps/shared/tokens.css. Every existing --mca-* name keeps its value so nothing breaks.
   Dashboard-only extras: [data-theme="light"] and the --mca-accent-custom hook. */
:root {
  /* brand: existing values, unchanged */
  --mca-black:#000000; --mca-amber:#FF9E1B; --mca-ivory:#F4EFE6; --mca-muted:#8B8B8B; --mca-white:#FFFFFF; --mca-ink:#0D1344;
  --mca-gold:#9A5600;            /* existing light-theme accent (themes.py LIGHT_CSS) */
  --mca-amber-deep:#C46F00;      /* existing light amber (themes.py amber.light) */

  /* type: 3 families, as already used */
  --mca-sans:"Montserrat","Inter","Helvetica Neue",Helvetica,Arial,system-ui,sans-serif;
  --mca-mono:"IBM Plex Mono","JetBrains Mono","SFMono-Regular",Menlo,Consolas,"DejaVu Sans Mono",monospace;
  /* scale: 1.25 ratio from a 16px base; mono labels at fixed small sizes */
  --mca-fs-10:10px; --mca-fs-11:11px; --mca-fs-12:12px; --mca-fs-14:14px; --mca-fs-16:16px; --mca-fs-20:20px;
  --mca-fs-24:24px; --mca-fs-32:32px; --mca-fs-40:40px; --mca-fs-56:56px;
  --mca-fs-display:clamp(44px,6vw,92px);   /* site h1, existing */
  --mca-lh-tight:1.1; --mca-lh-snug:1.3; --mca-lh-body:1.6;
  --mca-label-ls:.22em; --mca-btn-ls:.18em; --mca-status-ls:.14em;
  --mca-num:"tnum" 1, "lnum" 1;            /* all figures: tabular */

  /* spacing: existing 4px scale plus two steps on top */
  --mca-s1:4px; --mca-s2:8px; --mca-s3:12px; --mca-s4:16px; --mca-s5:24px; --mca-s6:32px; --mca-s7:48px;
  --mca-s8:64px; --mca-s9:96px;

  /* grid */
  --mca-cols:12; --mca-gutter:var(--mca-s5); --mca-margin:var(--mca-s7); --mca-max:1320px;
  /* rhythm: card heights are multiples of 8 */
  --mca-h-tile:96px; --mca-h-sm:192px; --mca-h-md:320px; --mca-h-lg:448px;
  --mca-status-h:26px; --mca-nav-h:88px; --mca-app-h:56px; --mca-ctl-h:40px;

  /* shape and motion */
  --mca-radius:0; --mca-radius-round:999px;  /* round only for swatches and the mode toggle */
  --mca-ease:cubic-bezier(.2,.0,0,1); --mca-t-fast:120ms; --mca-t:200ms; --mca-t-slow:320ms;
  --mca-focus:0 0 0 2px var(--mca-bg),0 0 0 4px var(--mca-accent);

  /* semantic theme: dark is the default everywhere */
  --mca-bg:#000000; --mca-surface:#0A0A0A; --mca-surface-2:#121212; --mca-raised:#161616;
  --mca-fg:#F4EFE6; --mca-fg-2:#D9D4CA; --mca-fg-3:#8A857C;
  --mca-accent-custom:initial;               /* hook: Glass sets this from the palette picker */
  --mca-accent:var(--mca-accent-custom,#FF9E1B);
  --mca-on-accent:#000000;
  --mca-line:color-mix(in srgb,var(--mca-accent) 27%,transparent);
  --mca-line-strong:var(--mca-accent);
  --mca-hair:rgba(255,255,255,.08);
  --mca-up:#57AB5A; --mca-down:#E5534B; --mca-neutral:#768390;  /* existing amber.dark */
  --mca-s-2:#F4EFE6; --mca-s-3:#8A8F98;
  --mca-ok:#57AB5A; --mca-warn:#FF9E1B; --mca-err:#E5534B; --mca-info:#3FB6B2;
  --mca-grid-bg:rgba(255,158,27,.03);
  --mca-border:1px solid var(--mca-line);
}
[data-theme="light"] {
  --mca-bg:#FAF8F3; --mca-surface:#FFFFFF; --mca-surface-2:#F3EFE6; --mca-raised:#FFFFFF;
  --mca-fg:#0D1344; --mca-fg-2:#2A3060; --mca-fg-3:#5C6283;
  --mca-accent:var(--mca-accent-custom,#9A5600); --mca-on-accent:#FFFFFF;
  --mca-line:color-mix(in srgb,var(--mca-accent) 40%,transparent);
  --mca-hair:rgba(13,19,68,.08);
  --mca-up:#2E7D32; --mca-down:#C62828; --mca-neutral:#6B7280;
  --mca-s-2:#0D1344; --mca-s-3:#5C6283;
  --mca-ok:#15803D; --mca-warn:#B45309; --mca-err:#B91C1C; --mca-info:#1B8A86;
  --mca-grid-bg:rgba(13,19,68,.03);
}
@media (prefers-reduced-motion:reduce){:root{--mca-t-fast:0ms;--mca-t:0ms;--mca-t-slow:0ms}}

/* ---------- base ---------- */
.mca{background:var(--mca-bg);color:var(--mca-fg-2);font:400 var(--mca-fs-16)/var(--mca-lh-body) var(--mca-sans);
  -webkit-font-smoothing:antialiased;font-feature-settings:var(--mca-num)}
.mca :focus-visible{outline:none;box-shadow:var(--mca-focus)}
.mca-label{color:var(--mca-accent);font:600 var(--mca-fs-11)/1.2 var(--mca-mono);letter-spacing:var(--mca-label-ls);text-transform:uppercase}
.mca-h{font-family:var(--mca-sans);font-weight:300;color:var(--mca-fg);letter-spacing:-.02em;line-height:var(--mca-lh-tight)}
.mca-num{font-family:var(--mca-mono);font-feature-settings:var(--mca-num);color:var(--mca-fg)}

/* ---------- grid ---------- */
.mca-wrap{max-width:var(--mca-max);margin:0 auto;padding:0 var(--mca-margin)}
.mca-grid{display:grid;grid-template-columns:repeat(var(--mca-cols),minmax(0,1fr));gap:var(--mca-gutter);align-items:stretch}
.mca-grid>*{min-width:0}
.span-2{grid-column:span 2}.span-3{grid-column:span 3}.span-4{grid-column:span 4}.span-6{grid-column:span 6}.span-12{grid-column:span 12}
@media (min-width:1600px){:root{--mca-max:1520px}}
@media (max-width:1279px){:root{--mca-gutter:var(--mca-s4);--mca-margin:var(--mca-s6)}.md-span-4{grid-column:span 4}.md-span-6{grid-column:span 6}.md-span-12{grid-column:span 12}}
@media (max-width:767px){:root{--mca-cols:4;--mca-gutter:var(--mca-s3);--mca-margin:var(--mca-s4)}
  .mca-grid>*{grid-column:span 4}.sm-span-2{grid-column:span 2}}

/* ---------- status strip + header ---------- */
.mca-status{background:var(--mca-accent);color:var(--mca-on-accent);height:var(--mca-status-h);display:flex;align-items:center;
  justify-content:space-between;padding:0 var(--mca-margin);font:600 var(--mca-fs-11)/1 var(--mca-mono);letter-spacing:var(--mca-status-ls);text-transform:uppercase}
.mca-header{height:var(--mca-nav-h);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:var(--mca-border)}
.mca-header>:last-child{justify-self:end}
.mca-header--app{height:var(--mca-app-h)}
.mca-header{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--mca-bg) 82%,transparent);backdrop-filter:blur(12px)}

/* ---------- buttons ---------- */
.mca-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--mca-s2);height:var(--mca-ctl-h);padding:0 var(--mca-s4);
  border:1px solid var(--mca-accent);border-radius:0;background:transparent;color:var(--mca-accent);cursor:pointer;text-decoration:none;
  font:700 var(--mca-fs-12)/1 var(--mca-mono);letter-spacing:var(--mca-btn-ls);text-transform:uppercase;
  transition:background var(--mca-t-fast) var(--mca-ease),color var(--mca-t-fast) var(--mca-ease)}
.mca-btn:hover,.mca-btn.on,.mca-btn--primary{background:var(--mca-accent);color:var(--mca-on-accent)}
.mca-btn--primary:hover{background:color-mix(in srgb,var(--mca-accent) 86%,var(--mca-fg))}
.mca-btn--ghost{border-color:var(--mca-line);color:var(--mca-fg-2)}
.mca-btn--ghost:hover{border-color:var(--mca-accent);background:transparent;color:var(--mca-fg)}
.mca-btn--sm{height:32px;padding:0 var(--mca-s3);font-size:var(--mca-fs-11)}
.mca-btn:disabled{opacity:.4;cursor:not-allowed}
.mca-seg{display:inline-flex;border:var(--mca-border)}.mca-seg .mca-btn{border:0}

/* ---------- cards ---------- */
.mca-card{position:relative;background:var(--mca-surface);border:var(--mca-border);padding:var(--mca-s5);display:flex;flex-direction:column;
  min-width:0;height:100%;transition:border-color var(--mca-t) var(--mca-ease)}
a.mca-card:hover,.mca-card--link:hover{border-color:var(--mca-accent)}
.mca-card__head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--mca-s3);height:16px;margin-bottom:var(--mca-s4)}
.mca-card__body{flex:1;min-height:0}
.mca-card__foot{margin-top:var(--mca-s4);color:var(--mca-fg-3);font:400 var(--mca-fs-11)/1.4 var(--mca-mono)}
.mca-card--tile{height:var(--mca-h-tile);padding:var(--mca-s4);justify-content:space-between}
.mca-card--tile .mca-num{font-size:var(--mca-fs-24);line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.h-sm{height:var(--mca-h-sm)}.h-md{height:var(--mca-h-md)}.h-lg{height:var(--mca-h-lg)}
.mca-bracket::before,.mca-bracket::after{content:"";position:absolute;width:12px;height:12px;border:0 solid var(--mca-accent)}
.mca-bracket::before{top:-1px;left:-1px;border-top-width:1px;border-left-width:1px}
.mca-bracket::after{bottom:-1px;right:-1px;border-bottom-width:1px;border-right-width:1px}

/* ---------- tables ---------- */
.mca-table{width:100%;border-collapse:collapse;font:500 var(--mca-fs-14)/1 var(--mca-mono);font-feature-settings:var(--mca-num)}
.mca-table th{height:32px;text-align:right;color:var(--mca-fg-3);font:600 var(--mca-fs-11)/1 var(--mca-mono);letter-spacing:var(--mca-label-ls);
  text-transform:uppercase;border-bottom:var(--mca-border)}
.mca-table td{height:36px;text-align:right;color:var(--mca-fg);border-bottom:1px solid var(--mca-hair)}
.mca-table th:first-child,.mca-table td:first-child{text-align:left;color:var(--mca-fg-3)}
.mca-table tr:hover td{background:color-mix(in srgb,var(--mca-accent) 6%,transparent)}
.mca-table--dense td{height:28px;font-size:var(--mca-fs-12)}

/* ---------- inputs ---------- */
.mca-input,.mca-select{height:var(--mca-ctl-h);width:100%;padding:0 var(--mca-s3);background:var(--mca-surface);color:var(--mca-fg);
  border:1px solid var(--mca-hair);border-bottom-color:var(--mca-line);border-radius:0;font:400 var(--mca-fs-14)/1 var(--mca-sans);
  transition:border-color var(--mca-t-fast) var(--mca-ease)}
.mca-input:focus,.mca-select:focus{border-color:var(--mca-accent);outline:none}
.mca-input[aria-invalid="true"]{border-color:var(--mca-err)}
.mca-field{display:grid;gap:var(--mca-s2)}
.mca-field .mca-label{color:var(--mca-fg-3)}

/* ---------- badges ---------- */
.mca-badge{display:inline-flex;align-items:center;gap:6px;height:20px;padding:0 var(--mca-s2);border:1px solid currentColor;border-radius:0;
  font:600 var(--mca-fs-10)/1 var(--mca-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mca-fg-3)}
.mca-badge--accent{color:var(--mca-accent)}.mca-badge--up{color:var(--mca-up)}.mca-badge--down{color:var(--mca-down)}
.mca-badge--ok{color:var(--mca-ok)}.mca-badge--warn{color:var(--mca-warn)}.mca-badge--err{color:var(--mca-err)}
.mca-badge--live::before{content:"";width:6px;height:6px;background:currentColor;animation:mca-pulse 2s var(--mca-ease) infinite}
@keyframes mca-pulse{50%{opacity:.25}}

/* ---------- chart container ---------- */
.mca-chart{display:grid;grid-template-rows:16px 1fr 16px;gap:var(--mca-s3);height:100%}
.mca-chart__plot{position:relative;min-height:0;background-image:linear-gradient(var(--mca-hair) 1px,transparent 1px);background-size:100% 25%}
.mca-chart__plot>svg,.mca-chart__plot>canvas{display:block;width:100%;height:100%}
.mca-chart__legend{display:flex;gap:var(--mca-s4);color:var(--mca-fg-3);font:500 var(--mca-fs-11)/16px var(--mca-mono)}
.mca-skeleton{background:linear-gradient(90deg,var(--mca-surface) 0,var(--mca-surface-2) 50%,var(--mca-surface) 100%);background-size:200% 100%;
  animation:mca-shimmer 1.4s linear infinite}
@keyframes mca-shimmer{to{background-position:-200% 0}}
.mca-enter{animation:mca-in var(--mca-t-slow) var(--mca-ease) both}
@keyframes mca-in{from{opacity:0;transform:translateY(4px)}}

/* ---------- modal (v1.1) ---------- */
.mca-backdrop{position:fixed;inset:0;display:grid;place-items:center;padding:var(--mca-s4);z-index:50;
  background:color-mix(in srgb,var(--mca-bg) 72%,transparent);backdrop-filter:blur(12px)}
.mca-modal{width:min(100%,560px);padding:var(--mca-s6);background:var(--mca-surface);border:1px solid var(--mca-accent);border-radius:0;
  animation:mca-in var(--mca-t-slow) var(--mca-ease) both}
.mca-modal .mca-h{font-size:var(--mca-fs-32);margin:var(--mca-s3) 0}
.mca-modal__row{display:grid;grid-template-columns:2fr 1fr;gap:0}.mca-modal__row>*{height:48px}
@media (max-width:479px){.mca-modal__row{grid-template-columns:1fr;gap:var(--mca-s2)}}
.mca-badge--delayed{color:var(--mca-fg-3)}.mca-badge--stale{color:var(--mca-warn)}
.is-stale .mca-num{color:var(--mca-fg-2)}

/* ---------- PALETTE SYSTEM v3 (generated by palettes_v3.py; do not hand-edit) ----------
   Select with <html data-palette="signal|terminal|neon|aurora|colorblind" data-theme="dark|light">. */
:root:not([data-theme="light"]), [data-palette="signal"]:not([data-theme="light"]) { --bg:#000000; --surface:#0A0A0A; --surface-2:#141414; --border:#3A2A12; --text:#F4EFE6; --text-muted:#9A958C; --accent:#FF9E1B; --structure:#FF9E1B; --pos:#6EE787; --neg:#E5483F; --pos-muted:#7BAE86; --neg-muted:#C98A86; --pos-strong:#2EA043; --neg-strong:#E5534B; --level-neutral:#F4EFE6; --level-flip:#FF9E1B; --level-band:rgba(244,239,230,.06); --s1:#F4EFE6; --s2:#FFB454; --s3:#79C0FF; --s4:#D2A8FF; --s5:#A5A5A5; --s6:#E3B341; --live:#6EE787; --delayed:#9A958C; --stale:#FFB454; --focus:#FF9E1B;
  --mca-bg:var(--bg); --mca-surface:var(--surface); --mca-surface-2:var(--surface-2); --mca-fg:var(--text); --mca-fg-3:var(--text-muted); --mca-accent:var(--accent); --mca-line:var(--border); --mca-up:var(--pos); --mca-down:var(--neg); --neutral:var(--level-neutral); --pos-strong-muted:var(--pos-strong); --neg-strong-muted:var(--neg-strong); --mca-ok:var(--live); --mca-warn:var(--stale); }
[data-theme="light"]:not([data-palette]), [data-palette="signal"][data-theme="light"] { --bg:#FAF8F3; --surface:#FFFFFF; --surface-2:#F3EFE6; --border:#E2D3B5; --text:#0D1344; --text-muted:#555B7A; --accent:#9A5600; --structure:#9A5600; --pos:#17752F; --neg:#C62828; --pos-muted:#4A7354; --neg-muted:#8F4F4B; --pos-strong:#1F6B33; --neg-strong:#A8322B; --level-neutral:#0D1344; --level-flip:#9A5600; --level-band:rgba(13,19,68,.05); --s1:#0D1344; --s2:#9A5600; --s3:#1F5FAD; --s4:#7A3FB0; --s5:#5C5C5C; --s6:#7D6200; --live:#17752F; --delayed:#555B7A; --stale:#9A5600; --focus:#9A5600;
  --mca-bg:var(--bg); --mca-surface:var(--surface); --mca-surface-2:var(--surface-2); --mca-fg:var(--text); --mca-fg-3:var(--text-muted); --mca-accent:var(--accent); --mca-line:var(--border); --mca-up:var(--pos); --mca-down:var(--neg); --neutral:var(--level-neutral); --pos-strong-muted:var(--pos-strong); --neg-strong-muted:var(--neg-strong); --mca-ok:var(--live); --mca-warn:var(--stale); }
[data-palette="terminal"]:not([data-theme="light"]) { --bg:#000000; --surface:#000000; --surface-2:#0B0B0B; --border:#3D2A00; --text:#FFB000; --text-muted:#B07A00; --accent:#FFB000; --structure:#FFB000; --pos:#00D7FF; --neg:#FF3B6B; --pos-muted:#6FB8C9; --neg-muted:#D27C93; --pos-strong:#2AA8FF; --neg-strong:#FF5FA2; --level-neutral:#FFFFFF; --level-flip:#FFB000; --level-band:rgba(255,176,0,.07); --s1:#FFFFFF; --s2:#FFB000; --s3:#9EE37D; --s4:#C9A0FF; --s5:#8A8A8A; --s6:#FFE45C; --live:#00D7FF; --delayed:#B07A00; --stale:#FF8C00; --focus:#00D7FF;
  --mca-bg:var(--bg); --mca-surface:var(--surface); --mca-surface-2:var(--surface-2); --mca-fg:var(--text); --mca-fg-3:var(--text-muted); --mca-accent:var(--accent); --mca-line:var(--border); --mca-up:var(--pos); --mca-down:var(--neg); --neutral:var(--level-neutral); --pos-strong-muted:var(--pos-strong); --neg-strong-muted:var(--neg-strong); --mca-ok:var(--live); --mca-warn:var(--stale); }
[data-palette="terminal"][data-theme="light"] { --bg:#FFF8EC; --surface:#FFFFFF; --surface-2:#FBEFD9; --border:#E7CF9F; --text:#3D2A00; --text-muted:#6E5A2E; --accent:#9A5A00; --structure:#9A5A00; --pos:#006E8A; --neg:#B0144A; --pos-muted:#3F6E7C; --neg-muted:#8A4A5E; --pos-strong:#0059A8; --neg-strong:#A3166F; --level-neutral:#111111; --level-flip:#9A5A00; --level-band:rgba(154,90,0,.06); --s1:#111111; --s2:#9A5A00; --s3:#3D7A1F; --s4:#6B3FB0; --s5:#5A5A5A; --s6:#7A6500; --live:#006E8A; --delayed:#6E5A2E; --stale:#A04F00; --focus:#006E8A;
  --mca-bg:var(--bg); --mca-surface:var(--surface); --mca-surface-2:var(--surface-2); --mca-fg:var(--text); --mca-fg-3:var(--text-muted); --mca-accent:var(--accent); --mca-line:var(--border); --mca-up:var(--pos); --mca-down:var(--neg); --neutral:var(--level-neutral); --pos-strong-muted:var(--pos-strong); --neg-strong-muted:var(--neg-strong); --mca-ok:var(--live); --mca-warn:var(--stale); }
[data-palette="neon"]:not([data-theme="light"]) { --bg:#07060D; --surface:#0F0D1A; --surface-2:#171427; --border:#2E2752; --text:#F2F0FF; --text-muted:#A29EC2; --accent:#B388FF; --structure:#B388FF; --pos:#B6FF3B; --neg:#FF3DAA; --pos-muted:#B3D68A; --neg-muted:#E39AC3; --pos-strong:#8CFF00; --neg-strong:#FF62BE; --level-neutral:#F2F0FF; --level-flip:#FFE600; --level-band:rgba(179,136,255,.08); --s1:#F2F0FF; --s2:#B388FF; --s3:#3DE8FF; --s4:#FFE600; --s5:#9A96B8; --s6:#FF9F40; --live:#B6FF3B; --delayed:#A29EC2; --stale:#FFE600; --focus:#3DE8FF;
  --mca-bg:var(--bg); --mca-surface:var(--surface); --mca-surface-2:var(--surface-2); --mca-fg:var(--text); --mca-fg-3:var(--text-muted); --mca-accent:var(--accent); --mca-line:var(--border); --mca-up:var(--pos); --mca-down:var(--neg); --neutral:var(--level-neutral); --pos-strong-muted:var(--pos-strong); --neg-strong-muted:var(--neg-strong); --mca-ok:var(--live); --mca-warn:var(--stale); }
[data-palette="neon"][data-theme="light"] { --bg:#FBFAFF; --surface:#FFFFFF; --surface-2:#F1EEFC; --border:#D9D2F5; --text:#140F2E; --text-muted:#544E78; --accent:#6A2FD8; --structure:#6A2FD8; --pos:#3F7A00; --neg:#C2006E; --pos-muted:#56703A; --neg-muted:#8E4A71; --pos-strong:#336B00; --neg-strong:#B0005F; --level-neutral:#140F2E; --level-flip:#7A5F00; --level-band:rgba(106,47,216,.06); --s1:#140F2E; --s2:#6A2FD8; --s3:#00708A; --s4:#7A5F00; --s5:#5E5A75; --s6:#A34A00; --live:#3F7A00; --delayed:#544E78; --stale:#7A5F00; --focus:#6A2FD8;
  --mca-bg:var(--bg); --mca-surface:var(--surface); --mca-surface-2:var(--surface-2); --mca-fg:var(--text); --mca-fg-3:var(--text-muted); --mca-accent:var(--accent); --mca-line:var(--border); --mca-up:var(--pos); --mca-down:var(--neg); --neutral:var(--level-neutral); --pos-strong-muted:var(--pos-strong); --neg-strong-muted:var(--neg-strong); --mca-ok:var(--live); --mca-warn:var(--stale); }
[data-palette="aurora"]:not([data-theme="light"]) { --bg:#0B1020; --surface:#111831; --surface-2:#18213F; --border:#2A3560; --text:#EAF0FF; --text-muted:#97A3C7; --accent:#A78BFA; --structure:#A78BFA; --pos:#2DE1C2; --neg:#FF7A6B; --pos-muted:#86C7BC; --neg-muted:#DDA39C; --pos-strong:#14C9AA; --neg-strong:#FF8F7F; --level-neutral:#EAF0FF; --level-flip:#FFD166; --level-band:rgba(167,139,250,.08); --s1:#EAF0FF; --s2:#A78BFA; --s3:#7CB7FF; --s4:#FFD166; --s5:#97A3C7; --s6:#F0A6FF; --live:#2DE1C2; --delayed:#97A3C7; --stale:#FFD166; --focus:#7CB7FF;
  --mca-bg:var(--bg); --mca-surface:var(--surface); --mca-surface-2:var(--surface-2); --mca-fg:var(--text); --mca-fg-3:var(--text-muted); --mca-accent:var(--accent); --mca-line:var(--border); --mca-up:var(--pos); --mca-down:var(--neg); --neutral:var(--level-neutral); --pos-strong-muted:var(--pos-strong); --neg-strong-muted:var(--neg-strong); --mca-ok:var(--live); --mca-warn:var(--stale); }
[data-palette="aurora"][data-theme="light"] { --bg:#F6F8FF; --surface:#FFFFFF; --surface-2:#ECF0FB; --border:#D3DAF0; --text:#0E1530; --text-muted:#4F5A7D; --accent:#6240D6; --structure:#6240D6; --pos:#00776A; --neg:#C2412F; --pos-muted:#3E6E68; --neg-muted:#8E5A52; --pos-strong:#006B5F; --neg-strong:#B23A29; --level-neutral:#0E1530; --level-flip:#7A5A00; --level-band:rgba(98,64,214,.06); --s1:#0E1530; --s2:#6240D6; --s3:#1F5FAD; --s4:#7A5A00; --s5:#5A6380; --s6:#9A2FA8; --live:#00776A; --delayed:#4F5A7D; --stale:#7A5A00; --focus:#6240D6;
  --mca-bg:var(--bg); --mca-surface:var(--surface); --mca-surface-2:var(--surface-2); --mca-fg:var(--text); --mca-fg-3:var(--text-muted); --mca-accent:var(--accent); --mca-line:var(--border); --mca-up:var(--pos); --mca-down:var(--neg); --neutral:var(--level-neutral); --pos-strong-muted:var(--pos-strong); --neg-strong-muted:var(--neg-strong); --mca-ok:var(--live); --mca-warn:var(--stale); }
[data-palette="colorblind"]:not([data-theme="light"]) { --bg:#000000; --surface:#0A0A0A; --surface-2:#141414; --border:#33302B; --text:#F4EFE6; --text-muted:#9A958C; --accent:#F4EFE6; --structure:#F4EFE6; --pos:#56B4E9; --neg:#F08A24; --pos-muted:#8AB3CC; --neg-muted:#D4A37A; --pos-strong:#3AA0E0; --neg-strong:#FF9A3C; --level-neutral:#F4EFE6; --level-flip:#F0E442; --level-band:rgba(244,239,230,.06); --s1:#F4EFE6; --s2:#F0E442; --s3:#CC79A7; --s4:#009E73; --s5:#9A958C; --s6:#B9B9FF; --live:#56B4E9; --delayed:#9A958C; --stale:#F0E442; --focus:#F0E442;
  --mca-bg:var(--bg); --mca-surface:var(--surface); --mca-surface-2:var(--surface-2); --mca-fg:var(--text); --mca-fg-3:var(--text-muted); --mca-accent:var(--accent); --mca-line:var(--border); --mca-up:var(--pos); --mca-down:var(--neg); --neutral:var(--level-neutral); --pos-strong-muted:var(--pos-strong); --neg-strong-muted:var(--neg-strong); --mca-ok:var(--live); --mca-warn:var(--stale); }
[data-palette="colorblind"][data-theme="light"] { --bg:#FAF8F3; --surface:#FFFFFF; --surface-2:#F3EFE6; --border:#DAD5CA; --text:#0D1344; --text-muted:#555B7A; --accent:#0D1344; --structure:#0D1344; --pos:#0067A5; --neg:#B04A00; --pos-muted:#43708E; --neg-muted:#865A3A; --pos-strong:#005A92; --neg-strong:#9E4300; --level-neutral:#111111; --level-flip:#6E6400; --level-band:rgba(13,19,68,.05); --s1:#111111; --s2:#6E6400; --s3:#A0407A; --s4:#00735A; --s5:#5C5C5C; --s6:#4B4BB0; --live:#0067A5; --delayed:#555B7A; --stale:#6E6400; --focus:#0067A5;
  --mca-bg:var(--bg); --mca-surface:var(--surface); --mca-surface-2:var(--surface-2); --mca-fg:var(--text); --mca-fg-3:var(--text-muted); --mca-accent:var(--accent); --mca-line:var(--border); --mca-up:var(--pos); --mca-down:var(--neg); --neutral:var(--level-neutral); --pos-strong-muted:var(--pos-strong); --neg-strong-muted:var(--neg-strong); --mca-ok:var(--live); --mca-warn:var(--stale); }
[data-palette="terminal"] .mca, [data-palette="terminal"] body { font-family: var(--mca-mono); }  /* dense mono feel */
.mca-sw{width:28px;height:28px;padding:0;border:1px solid transparent}.mca-sw.on{outline:2px solid var(--focus);outline-offset:2px}
.lv-call,.gex-pos{color:var(--pos)}.lv-put,.gex-neg{color:var(--neg)}.lv-em-p05{color:var(--pos-muted)}.lv-em-m05{color:var(--neg-muted)}.lv-em-p10{color:var(--pos-strong)}.lv-em-m10{color:var(--neg-strong)}.lv-prior{color:var(--level-neutral)}.lv-flip{border-top:2px dashed var(--level-flip)}
.badge-live{color:var(--live)}.badge-delayed{color:var(--delayed)}.badge-stale{color:var(--stale)}
