/* M3E-VNEXT-20261016. Shared semantic colors, loaded after page presentation. */
html[data-design-system="expressive"][data-m3e-theme] {
  --m3e-primary:#155d4d; --m3e-container:#d4eee2; --m3e-on-container:#123e32;
  --m3e-accent:#ffdbbd; --m3e-on-accent:#532e13;
  --m3e-bg:#f4f8f5; --m3e-surface:#fff; --m3e-low:#ecf2ed; --m3e-high:#e3ebe5;
  --m3e-ink:#17251f; --m3e-muted:#53665b; --m3e-outline:#b7c7bc;
  --m3e-control-outline:var(--m3e-muted);
  --md-primary:var(--m3e-primary); --md-on-primary:#fff;
  --md-primary-container:var(--m3e-container); --md-on-primary-container:var(--m3e-on-container);
  --md-accent:var(--m3e-accent); --md-on-accent:var(--m3e-on-accent);
  --md-surface:var(--m3e-bg); --md-surface-container:var(--m3e-low); --md-surface-high:var(--m3e-high);
  --md-on-surface:var(--m3e-ink); --md-muted:var(--m3e-muted); --md-outline:var(--m3e-outline);
  --md-error:#a52b25; --md-error-container:#ffdad6; --md-success:#276048; --md-success-container:#d8f0df;
  --ticket-navy:var(--m3e-on-container); --ticket-navy-deep:var(--m3e-low);
  --ticket-blue:var(--m3e-primary); --ticket-blue-strong:var(--m3e-on-container); --ticket-blue-soft:var(--m3e-container);
  --ticket-canvas:var(--m3e-bg); --ticket-ink:var(--m3e-ink); --ticket-muted:var(--m3e-muted);
  --ticket-line:var(--m3e-outline); --ticket-focus:var(--m3e-primary);
  --focus-ring:0 0 0 3px color-mix(in srgb,var(--m3e-primary) 24%,transparent);
  --m3e-ease:cubic-bezier(.2,0,0,1);
}
html[data-design-system="expressive"][data-m3e-theme="indigo-mist"] {
  --m3e-primary:#244eb4; --m3e-container:#dfe6ff; --m3e-on-container:#102d71;
  --m3e-accent:#f4dfc2; --m3e-on-accent:#50391b;
  --m3e-bg:#f6f7fc; --m3e-low:#edf0f8; --m3e-high:#e3e7f2;
  --m3e-ink:#1b2436; --m3e-muted:#566176; --m3e-outline:#bdc6d8;
}
html[data-design-system="expressive"][data-m3e-theme="berry-pink"] {
  --m3e-primary:#6f3d83; --m3e-container:#f0dff5; --m3e-on-container:#49235a;
  --m3e-accent:#ffdde7; --m3e-on-accent:#622b40;
  --m3e-bg:#fcf6fb; --m3e-low:#f4eaf3; --m3e-high:#ebdfed;
  --m3e-ink:#302333; --m3e-muted:#6c596e; --m3e-outline:#d0bdd2;
}
html[data-design-system="expressive"][data-m3e-theme="terracotta-sand"] {
  --m3e-primary:#8c4a25; --m3e-container:#ffdfc9; --m3e-on-container:#5b2e13;
  --m3e-accent:#dfe8c8; --m3e-on-accent:#354725;
  --m3e-bg:#fcf8f2; --m3e-low:#f5ede1; --m3e-high:#ecdfcf;
  --m3e-ink:#33291e; --m3e-muted:#71604d; --m3e-outline:#cdbda9;
}
html[data-m3e-theme] .tn-theme-control[hidden] { display:none!important; }

/* Modal surfaces own scrolling until the final nested layer closes. */
html[data-m3e-modal-open="true"],
html[data-m3e-modal-open="true"] body { overflow:hidden!important; }

html[data-m3e-theme] #moduleViewWorkbench .compare.up {
  color:var(--md-success); background:var(--md-success-container);
}
html[data-m3e-theme] #moduleViewWorkbench .compare.down {
  color:var(--md-error); background:var(--md-error-container);
}

/* Controls need a stronger boundary than decorative dividers in every theme. */
html[data-design-system="expressive"][data-m3e-theme] body :is(
  input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]):not([type="button"]):not([type="submit"]):not([type="reset"]),
  textarea, select, .site-date-trigger, .site-choice-search, .search-control, .date-control
):not(:disabled):not([aria-disabled="true"]) {
  border-color:var(--m3e-control-outline)!important;
}
