/* Named palettes from the supplied reference. UI shades preserve readable contrast. */
html:root{--ec-page:#071a14;--ec-surface:#112a23;--ec-raised:#1c3b31;--ec-input:#0c211b;--ec-line:#34654c;--ec-text:#f2f7f4;--ec-muted:#afbeb6;--ec-accent:#86efac;--ec-accent2:#d1fae5;--ec-primary:#064e3b;--ec-primary-end:#12873d;--ec-accent-soft:color-mix(in srgb,var(--ec-accent) 14%,transparent);--ec-focus:var(--ec-accent);--ec-button-text:#fff;color-scheme:dark;}
html:root[data-theme="light"]{--ec-page:#fefffe;--ec-surface:#ffffff;--ec-raised:#fdfffd;--ec-input:#ffffff;--ec-line:#c1d3ce;--ec-text:#16231d;--ec-muted:#526158;--ec-accent:#064e3b;--ec-accent2:#12863d;--ec-primary:#064e3b;--ec-primary-end:#12873d;--ec-accent-soft:color-mix(in srgb,var(--ec-accent) 14%,transparent);--ec-focus:var(--ec-accent);--ec-button-text:#fff;color-scheme:light;}
html:root[data-color-palette="minimal-monochrome"]{--ec-page:#0d0d0d;--ec-surface:#191919;--ec-raised:#252525;--ec-input:#121212;--ec-line:#404246;--ec-text:#f2f7f4;--ec-muted:#afbeb6;--ec-accent:#9ca3af;--ec-accent2:#d1d5db;--ec-primary:#000000;--ec-primary-end:#374151;--ec-accent-soft:color-mix(in srgb,var(--ec-accent) 14%,transparent);--ec-focus:var(--ec-accent);--ec-button-text:#fff;color-scheme:dark;}
html:root[data-color-palette="minimal-monochrome"][data-theme="light"]{--ec-page:#fefefe;--ec-surface:#ffffff;--ec-raised:#fdfdfe;--ec-input:#ffffff;--ec-line:#bfbfbf;--ec-text:#16231d;--ec-muted:#526158;--ec-accent:#000000;--ec-accent2:#374151;--ec-primary:#000000;--ec-primary-end:#374151;--ec-accent-soft:color-mix(in srgb,var(--ec-accent) 14%,transparent);--ec-focus:var(--ec-accent);--ec-button-text:#fff;color-scheme:light;}
html:root[data-color-palette="blue-orange"]{--ec-page:#121724;--ec-surface:#202637;--ec-raised:#2d354b;--ec-input:#181e2d;--ec-line:#425672;--ec-text:#f2f7f4;--ec-muted:#afbeb6;--ec-accent:#93c5fd;--ec-accent2:#f97316;--ec-primary:#1e3a8a;--ec-primary-end:#3472d8;--ec-accent-soft:color-mix(in srgb,var(--ec-accent) 14%,transparent);--ec-focus:var(--ec-accent);--ec-button-text:#fff;color-scheme:dark;}
html:root[data-color-palette="blue-orange"][data-theme="light"]{--ec-page:#fffcf8;--ec-surface:#ffffff;--ec-raised:#fff9f2;--ec-input:#ffffff;--ec-line:#c7cee2;--ec-text:#16231d;--ec-muted:#526158;--ec-accent:#1e3a8a;--ec-accent2:#326ed1;--ec-primary:#1e3a8a;--ec-primary-end:#3472d8;--ec-accent-soft:color-mix(in srgb,var(--ec-accent) 14%,transparent);--ec-focus:var(--ec-accent);--ec-button-text:#fff;color-scheme:light;}
html:root[data-color-palette="purple-pink"]{--ec-page:#211733;--ec-surface:#34264d;--ec-raised:#473567;--ec-input:#2a1e3f;--ec-line:#655182;--ec-text:#f2f7f4;--ec-muted:#afbeb6;--ec-accent:#d8b4fe;--ec-accent2:#ef65a9;--ec-primary:#7c3aed;--ec-primary-end:#994de1;--ec-accent-soft:color-mix(in srgb,var(--ec-accent) 14%,transparent);--ec-focus:var(--ec-accent);--ec-button-text:#fff;color-scheme:dark;}
html:root[data-color-palette="purple-pink"][data-theme="light"]{--ec-page:#fffbfd;--ec-surface:#ffffff;--ec-raised:#fef8fc;--ec-input:#ffffff;--ec-line:#decefb;--ec-text:#16231d;--ec-muted:#526158;--ec-accent:#7c3aed;--ec-accent2:#944bd9;--ec-primary:#7c3aed;--ec-primary-end:#994de1;--ec-accent-soft:color-mix(in srgb,var(--ec-accent) 14%,transparent);--ec-focus:var(--ec-accent);--ec-button-text:#fff;color-scheme:light;}
html:root[data-color-palette="green-neutral"]{--ec-page:#0e1d19;--ec-surface:#1a2e28;--ec-raised:#263f38;--ec-input:#132520;--ec-line:#336653;--ec-text:#f2f7f4;--ec-muted:#afbeb6;--ec-accent:#6ee7b7;--ec-accent2:#e7e5e4;--ec-primary:#065f46;--ec-primary-end:#0c855d;--ec-accent-soft:color-mix(in srgb,var(--ec-accent) 14%,transparent);--ec-focus:var(--ec-accent);--ec-button-text:#fff;color-scheme:dark;}
html:root[data-color-palette="green-neutral"][data-theme="light"]{--ec-page:#feffff;--ec-surface:#ffffff;--ec-raised:#fefeff;--ec-input:#ffffff;--ec-line:#c1d7d1;--ec-text:#16231d;--ec-muted:#526158;--ec-accent:#065f46;--ec-accent2:#0c855d;--ec-primary:#065f46;--ec-primary-end:#0c855d;--ec-accent-soft:color-mix(in srgb,var(--ec-accent) 14%,transparent);--ec-focus:var(--ec-accent);--ec-button-text:#fff;color-scheme:light;}
html:root[data-color-palette="black-gold"]{--ec-page:#0d0d0d;--ec-surface:#191919;--ec-raised:#252525;--ec-input:#121212;--ec-line:#514622;--ec-text:#f2f7f4;--ec-muted:#afbeb6;--ec-accent:#d4af37;--ec-accent2:#fbbf24;--ec-primary:#000000;--ec-primary-end:#1f2937;--ec-accent-soft:color-mix(in srgb,var(--ec-accent) 14%,transparent);--ec-focus:var(--ec-accent);--ec-button-text:#fff;color-scheme:dark;}
html:root[data-color-palette="black-gold"][data-theme="light"]{--ec-page:#fffefb;--ec-surface:#ffffff;--ec-raised:#fffdf7;--ec-input:#ffffff;--ec-line:#bfbfbf;--ec-text:#16231d;--ec-muted:#526158;--ec-accent:#000000;--ec-accent2:#1f2937;--ec-primary:#000000;--ec-primary-end:#1f2937;--ec-accent-soft:color-mix(in srgb,var(--ec-accent) 14%,transparent);--ec-focus:var(--ec-accent);--ec-button-text:#fff;color-scheme:light;}
html:root[data-color-palette="red-white"]{--ec-page:#311414;--ec-surface:#492121;--ec-raised:#622f2f;--ec-input:#3c1a1a;--ec-line:#7e3939;--ec-text:#f2f7f4;--ec-muted:#afbeb6;--ec-accent:#f87171;--ec-accent2:#fca5a5;--ec-primary:#dc2626;--ec-primary-end:#b91c1c;--ec-accent-soft:color-mix(in srgb,var(--ec-accent) 14%,transparent);--ec-focus:var(--ec-accent);--ec-button-text:#fff;color-scheme:dark;}
html:root[data-color-palette="red-white"][data-theme="light"]{--ec-page:#fffdfd;--ec-surface:#ffffff;--ec-raised:#fffbfb;--ec-input:#ffffff;--ec-line:#f6c9c9;--ec-text:#16231d;--ec-muted:#526158;--ec-accent:#dc2626;--ec-accent2:#b91c1c;--ec-primary:#dc2626;--ec-primary-end:#b91c1c;--ec-accent-soft:color-mix(in srgb,var(--ec-accent) 14%,transparent);--ec-focus:var(--ec-accent);--ec-button-text:#fff;color-scheme:light;}
html:root[data-color-palette="teal-sand"]{--ec-page:#102523;--ec-surface:#1c3a37;--ec-raised:#284e4b;--ec-input:#152e2c;--ec-line:#306f66;--ec-text:#f2f7f4;--ec-muted:#afbeb6;--ec-accent:#5eead4;--ec-accent2:#e7dcc8;--ec-primary:#0b8278;--ec-primary-end:#0e8376;--ec-accent-soft:color-mix(in srgb,var(--ec-accent) 14%,transparent);--ec-focus:var(--ec-accent);--ec-button-text:#fff;color-scheme:dark;}
html:root[data-color-palette="teal-sand"][data-theme="light"]{--ec-page:#fefefe;--ec-surface:#ffffff;--ec-raised:#fefefd;--ec-input:#ffffff;--ec-line:#c2e4e1;--ec-text:#16231d;--ec-muted:#526158;--ec-accent:#0b8278;--ec-accent2:#0e8174;--ec-primary:#0b8278;--ec-primary-end:#0e8376;--ec-accent-soft:color-mix(in srgb,var(--ec-accent) 14%,transparent);--ec-focus:var(--ec-accent);--ec-button-text:#fff;color-scheme:light;}
html:root[data-color-palette="pastel-dream"]{--ec-page:#282435;--ec-surface:#3e3850;--ec-raised:#534c6b;--ec-input:#322d41;--ec-line:#765a78;--ec-text:#f2f7f4;--ec-muted:#bbc8c1;--ec-accent:#f9a8d4;--ec-accent2:#fdba74;--ec-primary:#7c67b9;--ec-primary-end:#786e9a;--ec-accent-soft:color-mix(in srgb,var(--ec-accent) 14%,transparent);--ec-focus:var(--ec-accent);--ec-button-text:#fff;color-scheme:dark;}
html:root[data-color-palette="pastel-dream"][data-theme="light"]{--ec-page:#fffdf6;--ec-surface:#ffffff;--ec-raised:#fffbed;--ec-input:#ffffff;--ec-line:#e9e2fe;--ec-text:#16231d;--ec-muted:#526158;--ec-accent:#7a65b6;--ec-accent2:#746b95;--ec-primary:#7c67b9;--ec-primary-end:#786e9a;--ec-accent-soft:color-mix(in srgb,var(--ec-accent) 14%,transparent);--ec-focus:var(--ec-accent);--ec-button-text:#fff;color-scheme:light;}
html:root[data-color-palette="grey-blue"]{--ec-page:#121417;--ec-surface:#202226;--ec-raised:#2d3035;--ec-input:#181a1e;--ec-line:#434952;--ec-text:#f2f7f4;--ec-muted:#afbeb6;--ec-accent:#94a3b8;--ec-accent2:#cbd5e1;--ec-primary:#1e293b;--ec-primary-end:#475569;--ec-accent-soft:color-mix(in srgb,var(--ec-accent) 14%,transparent);--ec-focus:var(--ec-accent);--ec-button-text:#fff;color-scheme:dark;}
html:root[data-color-palette="grey-blue"][data-theme="light"]{--ec-page:#fefeff;--ec-surface:#ffffff;--ec-raised:#fdfefe;--ec-input:#ffffff;--ec-line:#c7cace;--ec-text:#16231d;--ec-muted:#526158;--ec-accent:#1e293b;--ec-accent2:#475569;--ec-primary:#1e293b;--ec-primary-end:#475569;--ec-accent-soft:color-mix(in srgb,var(--ec-accent) 14%,transparent);--ec-focus:var(--ec-accent);--ec-button-text:#fff;color-scheme:light;}
html:root[data-color-palette="warm-earth"]{--ec-page:#211510;--ec-surface:#34231d;--ec-raised:#47312a;--ec-input:#2a1b16;--ec-line:#663c16;--ec-text:#f2f7f4;--ec-muted:#afbeb6;--ec-accent:#d97706;--ec-accent2:#ead9c6;--ec-primary:#7c2d12;--ec-primary-end:#b45309;--ec-accent-soft:color-mix(in srgb,var(--ec-accent) 14%,transparent);--ec-focus:var(--ec-accent);--ec-button-text:#fff;color-scheme:dark;}
html:root[data-color-palette="warm-earth"][data-theme="light"]{--ec-page:#fffefe;--ec-surface:#ffffff;--ec-raised:#fefefd;--ec-input:#ffffff;--ec-line:#decac4;--ec-text:#16231d;--ec-muted:#526158;--ec-accent:#7c2d12;--ec-accent2:#b45309;--ec-primary:#7c2d12;--ec-primary-end:#b45309;--ec-accent-soft:color-mix(in srgb,var(--ec-accent) 14%,transparent);--ec-focus:var(--ec-accent);--ec-button-text:#fff;color-scheme:light;}
html:root[data-color-palette="neon-pop"]{--ec-page:#0f1011;--ec-surface:#1b1c1e;--ec-raised:#28292c;--ec-input:#141517;--ec-line:#445925;--ec-text:#f2f7f4;--ec-muted:#afbeb6;--ec-accent:#a3e635;--ec-accent2:#facc15;--ec-primary:#0b0f19;--ec-primary-end:#047f94;--ec-accent-soft:color-mix(in srgb,var(--ec-accent) 14%,transparent);--ec-focus:var(--ec-accent);--ec-button-text:#fff;color-scheme:dark;}
html:root[data-color-palette="neon-pop"][data-theme="light"]{--ec-page:#fdf0f7;--ec-surface:#ffffff;--ec-raised:#fce4f0;--ec-input:#ffffff;--ec-line:#c2c3c6;--ec-text:#16231d;--ec-muted:#526158;--ec-accent:#0b0f19;--ec-accent2:#047386;--ec-primary:#0b0f19;--ec-primary-end:#047f94;--ec-accent-soft:color-mix(in srgb,var(--ec-accent) 14%,transparent);--ec-focus:var(--ec-accent);--ec-button-text:#fff;color-scheme:light;}
html:root[data-color-palette="sunset-vibes"]{--ec-page:#1a1225;--ec-surface:#2a1f3a;--ec-raised:#3a2d4e;--ec-input:#21182e;--ec-line:#693850;--ec-text:#f2f7f4;--ec-muted:#afbeb6;--ec-accent:#fb7185;--ec-accent2:#f97316;--ec-primary:#4c1d95;--ec-primary-end:#d92776;--ec-accent-soft:color-mix(in srgb,var(--ec-accent) 14%,transparent);--ec-focus:var(--ec-accent);--ec-button-text:#fff;color-scheme:dark;}
html:root[data-color-palette="sunset-vibes"][data-theme="light"]{--ec-page:#fffdf6;--ec-surface:#ffffff;--ec-raised:#fffbed;--ec-input:#ffffff;--ec-line:#d2c6e4;--ec-text:#16231d;--ec-muted:#526158;--ec-accent:#4c1d95;--ec-accent2:#d42673;--ec-primary:#4c1d95;--ec-primary-end:#d92776;--ec-accent-soft:color-mix(in srgb,var(--ec-accent) 14%,transparent);--ec-focus:var(--ec-accent);--ec-button-text:#fff;color-scheme:light;}
html:root[data-color-palette="pink-purple"]{--ec-page:#331926;--ec-surface:#4d293b;--ec-raised:#673950;--ec-input:#3f202f;--ec-line:#684674;--ec-text:#f2f7f4;--ec-muted:#afbeb6;--ec-accent:#a98dfa;--ec-accent2:#e9d5ff;--ec-primary:#cb3e84;--ec-primary-end:#c026d3;--ec-accent-soft:color-mix(in srgb,var(--ec-accent) 14%,transparent);--ec-focus:var(--ec-accent);--ec-button-text:#fff;color-scheme:dark;}
html:root[data-color-palette="pink-purple"][data-theme="light"]{--ec-page:#fefeff;--ec-surface:#ffffff;--ec-raised:#fefdff;--ec-input:#ffffff;--ec-line:#fad1e6;--ec-text:#16231d;--ec-muted:#526158;--ec-accent:#c93d82;--ec-accent2:#c026d3;--ec-primary:#cb3e84;--ec-primary-end:#c026d3;--ec-accent-soft:color-mix(in srgb,var(--ec-accent) 14%,transparent);--ec-focus:var(--ec-accent);--ec-button-text:#fff;color-scheme:light;}
html:root[data-color-palette="navy-coral"]{--ec-page:#101114;--ec-surface:#1c1e22;--ec-raised:#292b30;--ec-input:#15171a;--ec-line:#154c57;--ec-text:#f2f7f4;--ec-muted:#afbeb6;--ec-accent:#06b6d4;--ec-accent2:#fb7185;--ec-primary:#0f172a;--ec-primary-end:#3472d8;--ec-accent-soft:color-mix(in srgb,var(--ec-accent) 14%,transparent);--ec-focus:var(--ec-accent);--ec-button-text:#fff;color-scheme:dark;}
html:root[data-color-palette="navy-coral"][data-theme="light"]{--ec-page:#fffcfc;--ec-surface:#ffffff;--ec-raised:#fff9f9;--ec-input:#ffffff;--ec-line:#c3c5ca;--ec-text:#16231d;--ec-muted:#526158;--ec-accent:#0f172a;--ec-accent2:#326ed1;--ec-primary:#0f172a;--ec-primary-end:#3472d8;--ec-accent-soft:color-mix(in srgb,var(--ec-accent) 14%,transparent);--ec-focus:var(--ec-accent);--ec-button-text:#fff;color-scheme:light;}
html:root[data-color-palette="black-purple"]{--ec-page:#0d0d0d;--ec-surface:#191919;--ec-raised:#252525;--ec-input:#121212;--ec-line:#3b2d5b;--ec-text:#f2f7f4;--ec-muted:#afbeb6;--ec-accent:#9367f7;--ec-accent2:#c4b5fd;--ec-primary:#000000;--ec-primary-end:#6d28d9;--ec-accent-soft:color-mix(in srgb,var(--ec-accent) 14%,transparent);--ec-focus:var(--ec-accent);--ec-button-text:#fff;color-scheme:dark;}
html:root[data-color-palette="black-purple"][data-theme="light"]{--ec-page:#fefdff;--ec-surface:#ffffff;--ec-raised:#fcfcff;--ec-input:#ffffff;--ec-line:#bfbfbf;--ec-text:#16231d;--ec-muted:#526158;--ec-accent:#000000;--ec-accent2:#6d28d9;--ec-primary:#000000;--ec-primary-end:#6d28d9;--ec-accent-soft:color-mix(in srgb,var(--ec-accent) 14%,transparent);--ec-focus:var(--ec-accent);--ec-button-text:#fff;color-scheme:light;}
html:root[data-color-palette="beige-brown"]{--ec-page:#211610;--ec-surface:#33251c;--ec-raised:#463429;--ec-input:#291d15;--ec-line:#64503e;--ec-text:#f2f7f4;--ec-muted:#afbeb6;--ec-accent:#d6b38c;--ec-accent2:#eedfcc;--ec-primary:#78350f;--ec-primary-end:#a16207;--ec-accent-soft:color-mix(in srgb,var(--ec-accent) 14%,transparent);--ec-focus:var(--ec-accent);--ec-button-text:#fff;color-scheme:dark;}
html:root[data-color-palette="beige-brown"][data-theme="light"]{--ec-page:#fffffe;--ec-surface:#ffffff;--ec-raised:#fefefe;--ec-input:#ffffff;--ec-line:#ddccc3;--ec-text:#16231d;--ec-muted:#526158;--ec-accent:#78350f;--ec-accent2:#a16207;--ec-primary:#78350f;--ec-primary-end:#a16207;--ec-accent-soft:color-mix(in srgb,var(--ec-accent) 14%,transparent);--ec-focus:var(--ec-accent);--ec-button-text:#fff;color-scheme:light;}
html:root[data-color-palette="cyan-magenta"]{--ec-page:#0e2b2f;--ec-surface:#1a4148;--ec-raised:#265860;--ec-input:#13353a;--ec-line:#45477d;--ec-text:#f2f7f4;--ec-muted:#bcc8c2;--ec-accent:#c690fa;--ec-accent2:#f283ba;--ec-primary:#047f94;--ec-primary-end:#3472d8;--ec-accent-soft:color-mix(in srgb,var(--ec-accent) 14%,transparent);--ec-focus:var(--ec-accent);--ec-button-text:#fff;color-scheme:dark;}
html:root[data-color-palette="cyan-magenta"][data-theme="light"]{--ec-page:#fffdfe;--ec-surface:#ffffff;--ec-raised:#fffbfd;--ec-input:#ffffff;--ec-line:#c1edf4;--ec-text:#16231d;--ec-muted:#526158;--ec-accent:#047e92;--ec-accent2:#3370d4;--ec-primary:#047f94;--ec-primary-end:#3472d8;--ec-accent-soft:color-mix(in srgb,var(--ec-accent) 14%,transparent);--ec-focus:var(--ec-accent);--ec-button-text:#fff;color-scheme:light;}
html:root[data-color-palette="grayscale-accent"]{--ec-page:#101114;--ec-surface:#1d1e22;--ec-raised:#292b30;--ec-input:#16171a;--ec-line:#43464c;--ec-text:#f2f7f4;--ec-muted:#afbeb6;--ec-accent:#9ca3af;--ec-accent2:#3f84f6;--ec-primary:#111827;--ec-primary-end:#4b5563;--ec-accent-soft:color-mix(in srgb,var(--ec-accent) 14%,transparent);--ec-focus:var(--ec-accent);--ec-button-text:#fff;color-scheme:dark;}
html:root[data-color-palette="grayscale-accent"][data-theme="light"]{--ec-page:#fcfdff;--ec-surface:#ffffff;--ec-raised:#fafcff;--ec-input:#ffffff;--ec-line:#c4c5c9;--ec-text:#16231d;--ec-muted:#526158;--ec-accent:#111827;--ec-accent2:#4b5563;--ec-primary:#111827;--ec-primary-end:#4b5563;--ec-accent-soft:color-mix(in srgb,var(--ec-accent) 14%,transparent);--ec-focus:var(--ec-accent);--ec-button-text:#fff;color-scheme:light;}
html:root[data-color-palette="vintage-retro"]{--ec-page:#10201f;--ec-surface:#1c3331;--ec-raised:#294644;--ec-input:#152927;--ec-line:#5e4629;--ec-text:#f2f7f4;--ec-muted:#afbeb6;--ec-accent:#f97316;--ec-accent2:#e97474;--ec-primary:#0f766e;--ec-primary-end:#916f05;--ec-accent-soft:color-mix(in srgb,var(--ec-accent) 14%,transparent);--ec-focus:var(--ec-accent);--ec-button-text:#fff;color-scheme:dark;}
html:root[data-color-palette="vintage-retro"][data-theme="light"]{--ec-page:#fffefe;--ec-surface:#ffffff;--ec-raised:#fffefc;--ec-input:#ffffff;--ec-line:#c3dddb;--ec-text:#16231d;--ec-muted:#526158;--ec-accent:#0f766e;--ec-accent2:#916f05;--ec-primary:#0f766e;--ec-primary-end:#916f05;--ec-accent-soft:color-mix(in srgb,var(--ec-accent) 14%,transparent);--ec-focus:var(--ec-accent);--ec-button-text:#fff;color-scheme:light;}
