/* Original ornaments inspired by the playful control skins in BELLEROPHON Maritime.
   Decorations occupy control edges; data cells and labels stay unobstructed. */
html[data-ui-theme="christmas"] {
    --theme-launch-start: #214d3b;
    --theme-launch-end: #123328;
    --theme-launch-hover-start: #30654c;
    --theme-launch-hover-end: #204936;
    --theme-launch-icon: #d8edce;
    color-scheme: light;
    --bg: #e5eeea;
    --chrome: #173f34;
    --chrome-2: #245648;
    --surface: #f8fcfa;
    --panel: #edf4ef;
    --panel-2: #dce9e1;
    --field: #ffffff;
    --line: #a8beb3;
    --line-strong: #6d8f7f;
    --ink: #193a2d;
    --muted: #526c5f;
    --label-ink: #294e3b;
    --control-ink: #193a2d;
    --grid-head-ink: #ffffff;
    --chrome-ink: #f7faf4;
    --chrome-muted: #c9ddd0;
    --sort-badge-ink: #244d3a;
    --disabled-ink: #7b8e83;
    --scroll-track: #e2ede5;
    --scroll-thumb: #769b86;
    --scroll-thumb-hover: #486f5a;
    --accent: #a52f43;
    --accent-dark: #7f2234;
    --accent-soft: #f2dce0;
    --ok: #b8dbc2;
    --warn: #edcf85;
    --stop: #efacae;
    --dispatch: #cbe6e6;
    --theme-ornament: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cpath%20d%3D%22M15%2018C6%2019%203%2014%203%208l6%201%202-6%204%206%205-2c2%208-1%2012-5%2011Z%22%20fill%3D%22%2340785a%22%20stroke%3D%22%23183e2b%22%2F%3E%3Cpath%20d%3D%22M17%2019c2-8%207-11%2012-10l-1%206%204%203-6%202-1%206c-6-1-9-3-8-7Z%22%20fill%3D%22%2375a174%22%20stroke%3D%22%23315c3d%22%2F%3E%3Cpath%20d%3D%22m7%2010%209%209%2010-5%22%20fill%3D%22none%22%20stroke%3D%22%23d5e9bc%22%20stroke-linecap%3D%22round%22%2F%3E%3Ccircle%20cx%3D%2213%22%20cy%3D%2221%22%20r%3D%224%22%20fill%3D%22%23d94e61%22%20stroke%3D%22%237f2233%22%2F%3E%3Ccircle%20cx%3D%2220%22%20cy%3D%2222%22%20r%3D%224%22%20fill%3D%22%23b63249%22%20stroke%3D%22%237f2233%22%2F%3E%3Ccircle%20cx%3D%2217%22%20cy%3D%2217%22%20r%3D%224%22%20fill%3D%22%23ef7180%22%20stroke%3D%22%237f2233%22%2F%3E%3Cpath%20d%3D%22M11%2020h2m3-4h2m1%205h2%22%20stroke%3D%22%23fff4eb%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E");
    --theme-texture: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cg%20stroke%3D%22%23c8e3e2%22%20stroke-width%3D%221%22%20opacity%3D%22.26%22%3E%3Cpath%20d%3D%22M16%203v26M5%2010l22%2012M5%2022%2027%2010m-15-4%204%204%204-4m-8%2020%204-4%204%204M6%2013l5%201-1-5m12%2014-1-5%205%201%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
    --theme-texture-size: 46px 46px;
    --theme-checkbox: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M10%205C3%205%203%200%206%201c2%200%204%204%204%204Zm0%200c7%200%207-5%204-4-2%200-4%204-4%204Z%22%20fill%3D%22none%22%20stroke%3D%22%239b6b70%22%20stroke-width%3D%221.5%22%2F%3E%3Crect%20x%3D%222%22%20y%3D%225%22%20width%3D%2216%22%20height%3D%2214%22%20rx%3D%222%22%20fill%3D%22%23fffaf4%22%20stroke%3D%22%237e9484%22%2F%3E%3Cpath%20d%3D%22M10%205v14M2%208h16%22%20stroke%3D%22%23c28388%22%20stroke-width%3D%222%22%2F%3E%3C%2Fsvg%3E");
    --theme-checkbox-checked: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M10%205C3%205%203%200%206%201c2%200%204%204%204%204Zm0%200c7%200%207-5%204-4-2%200-4%204-4%204Z%22%20fill%3D%22none%22%20stroke%3D%22%23a42b43%22%20stroke-width%3D%221.5%22%2F%3E%3Crect%20x%3D%222%22%20y%3D%225%22%20width%3D%2216%22%20height%3D%2214%22%20rx%3D%222%22%20fill%3D%22%23246447%22%20stroke%3D%22%2316462f%22%2F%3E%3Cpath%20d%3D%22M10%205v14M2%208h16%22%20stroke%3D%22%23da7280%22%20stroke-width%3D%222%22%2F%3E%3Cpath%20d%3D%22m5.8%2012%202.7%202.8%205.9-6%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%222.3%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");
    --theme-glint: #cba55d;
}

html[data-ui-theme="halloween"] {
    --theme-launch-start: #3d2747;
    --theme-launch-end: #24192f;
    --theme-launch-hover-start: #57344f;
    --theme-launch-hover-end: #35213d;
    --theme-launch-icon: #ffd18e;
    color-scheme: dark;
    --bg: #18131d;
    --chrome: #211629;
    --chrome-2: #36213d;
    --surface: #221c2b;
    --panel: #2b2234;
    --panel-2: #382c40;
    --field: #1b1723;
    --line: #57465f;
    --line-strong: #8e7295;
    --ink: #f7eddf;
    --muted: #c6b4c8;
    --label-ink: #f4e6d8;
    --control-ink: #f7eddf;
    --grid-head-ink: #fff4e5;
    --chrome-ink: #fff2df;
    --chrome-muted: #d1b4d6;
    --sort-badge-ink: #ffdc9f;
    --disabled-ink: #a18fa7;
    --scroll-track: #1b1723;
    --scroll-thumb: #805a86;
    --scroll-thumb-hover: #b884ae;
    --accent: #ae4b19;
    --accent-dark: #87350e;
    --accent-soft: #543021;
    --ok: #32614b;
    --warn: #805f25;
    --stop: #894342;
    --dispatch: #3c4367;
    --tab-hover-bg: #583c4b;
    --tab-selected-bg: #784322;
    --tab-selected-hover-bg: #8b4b24;
    --tab-marker: #f4bd68;
    --theme-ornament: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cpath%20d%3D%22M16%209c-1-5%202-7%205-7%22%20fill%3D%22none%22%20stroke%3D%22%2392a55e%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%2F%3E%3Cpath%20d%3D%22M16%2010C7%204%201%2012%203%2021c2%209%2010%2010%2013%207%206%204%2013-1%2014-8%201-9-6-14-14-10Z%22%20fill%3D%22%23ed922e%22%20stroke%3D%22%238a421d%22%20stroke-width%3D%221.5%22%2F%3E%3Cpath%20d%3D%22M13%2010C8%2016%209%2024%2013%2028m6-18c5%206%204%2014%200%2018%22%20fill%3D%22none%22%20stroke%3D%22%23c26920%22%2F%3E%3Cpath%20d%3D%22m7%2017%205-3%201%205Zm12-3%206%203-6%202ZM9%2022l5%201%202-2%203%203%205-2-3%205H12Z%22%20fill%3D%22%23382332%22%2F%3E%3Ccircle%20cx%3D%229%22%20cy%3D%2211%22%20r%3D%221.5%22%20fill%3D%22%23ffd277%22%2F%3E%3C%2Fsvg%3E");
    --theme-texture: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2050%2032%22%3E%3Cpath%20d%3D%22m4%2015%205-1%202-5%202%205%205%201c4-4%209-4%2014-2-4%201-5%204-5%207-4-3-7-1-10%203l-6-3-6%203c-3-4-6-6-10-3%200-3-1-6-5-7%205-2%2010-2%2014%202Z%22%20fill%3D%22%23d7a47e%22%20opacity%3D%22.13%22%2F%3E%3C%2Fsvg%3E");
    --theme-texture-size: 76px 42px;
    --theme-checkbox: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22m2%2016%2016%203m-16%200%2016-3%22%20stroke%3D%22%238c7a8f%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%2F%3E%3Cpath%20d%3D%22M10%201C0%201%200%2013%206%2014v3h8v-3C20%2013%2020%201%2010%201Z%22%20fill%3D%22%232a2232%22%20stroke%3D%22%23b49eb9%22%2F%3E%3Cpath%20d%3D%22M6%2015v2m4-2v2m4-2v2%22%20stroke%3D%22%23d2b1a3%22%2F%3E%3Ccircle%20cx%3D%226.5%22%20cy%3D%228.3%22%20r%3D%222%22%20fill%3D%22%23a795af%22%2F%3E%3Ccircle%20cx%3D%2213.5%22%20cy%3D%228.3%22%20r%3D%222%22%20fill%3D%22%23a795af%22%2F%3E%3Cpath%20d%3D%22m10%2011-1.2%202h2.4Z%22%20fill%3D%22%23a795af%22%2F%3E%3C%2Fsvg%3E");
    --theme-checkbox-checked: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22m2%2016%2016%203m-16%200%2016-3%22%20stroke%3D%22%23f1c58a%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%2F%3E%3Cpath%20d%3D%22M10%201C0%201%200%2013%206%2014v3h8v-3C20%2013%2020%201%2010%201Z%22%20fill%3D%22%23bc591d%22%20stroke%3D%22%23ffd394%22%2F%3E%3Cpath%20d%3D%22M6%2015v2m4-2v2m4-2v2%22%20stroke%3D%22%23d2b1a3%22%2F%3E%3Cpath%20d%3D%22m5.8%2010.2%202.7%202.8%205.9-6%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%222.3%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");
    --theme-glint: #f3bb62;
}

html[data-ui-theme="floral"] {
    --theme-launch-start: #4b684e;
    --theme-launch-end: #304b39;
    --theme-launch-hover-start: #506e52;
    --theme-launch-hover-end: #405d45;
    --theme-launch-icon: #ffd9e6;
    color-scheme: light;
    --chrome-2: #5f7454;
    --accent: #99496d;
    --accent-dark: #743750;
    --theme-ornament: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cpath%20d%3D%22M17%2018c-4%209-12%208-14%203%207-3%2011-1%2014-3Zm0%200c3-6%2010-6%2013-3-3%206-8%207-13%203Z%22%20fill%3D%22%236e8b5a%22%20stroke%3D%22%233c6546%22%2F%3E%3Cpath%20d%3D%22M17%2020c-5%202-9-2-7-6-5-3-1-10%204-8%203-6%2010-3%209%203%206%201%206%208%200%209-1%206-7%206-6%202Z%22%20fill%3D%22%23edb7cd%22%20stroke%3D%22%23a45579%22%2F%3E%3Cpath%20d%3D%22m17%2011-3-3m6%205%204-1m-7%204-1%205%22%20stroke%3D%22%23fff2f4%22%2F%3E%3Ccircle%20cx%3D%2218%22%20cy%3D%2214%22%20r%3D%224%22%20fill%3D%22%23f4d27c%22%20stroke%3D%22%23af843e%22%2F%3E%3C%2Fsvg%3E");
    --theme-texture: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20110%2040%22%3E%3Cpath%20d%3D%22M1%2031C21%200%2048%2045%2071%2014S95%2011%20110%204%22%20fill%3D%22none%22%20stroke%3D%22%2371865d%22%20stroke-opacity%3D%22.16%22%20stroke-width%3D%222%22%2F%3E%3Cpath%20d%3D%22M12%2023C7%2011%2020%206%2023%2011c2%205-4%2010-11%2012m48%200c-5-12%208-17%2011-12%202%205-4%2010-11%2012%22%20fill%3D%22%23789362%22%20fill-opacity%3D%22.14%22%2F%3E%3Cg%20fill%3D%22%23d89bb5%22%20fill-opacity%3D%22.24%22%3E%3Ccircle%20cx%3D%2240%22%20cy%3D%2225%22%20r%3D%223%22%2F%3E%3Ccircle%20cx%3D%2245%22%20cy%3D%2226%22%20r%3D%223%22%2F%3E%3Ccircle%20cx%3D%2242%22%20cy%3D%2230%22%20r%3D%223%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
    --theme-texture-size: 110px 40px;
    --theme-checkbox: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M10%202c4-4%208%200%206%204%205%201%205%207%200%208%202%204-2%208-6%204-4%204-8%200-6-4-5-1-5-7%200-8-2-4%202-8%206-4Z%22%20fill%3D%22%23ffedf4%22%20stroke%3D%22%23a7768c%22%2F%3E%3Ccircle%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%223%22%20fill%3D%22%23f4d688%22%2F%3E%3C%2Fsvg%3E");
    --theme-checkbox-checked: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M10%202c4-4%208%200%206%204%205%201%205%207%200%208%202%204-2%208-6%204-4%204-8%200-6-4-5-1-5-7%200-8-2-4%202-8%206-4Z%22%20fill%3D%22%239d426b%22%20stroke%3D%22%236f2c50%22%2F%3E%3Cpath%20d%3D%22m5.8%2010.2%202.7%202.8%205.9-6%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%222.3%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");
    --theme-glint: #b7a06a;
}

html[data-ui-theme="space"] {
    --theme-launch-start: #2c2a52;
    --theme-launch-end: #121b32;
    --theme-launch-hover-start: #403b71;
    --theme-launch-hover-end: #232d4d;
    --theme-launch-icon: #d6ceff;
    color-scheme: dark;
    --accent: #6554ba;
    --accent-dark: #4e4196;
    --theme-ornament: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cpath%20d%3D%22m12%2020-3%209%209-4%22%20fill%3D%22%23ffb658%22%2F%3E%3Cpath%20d%3D%22m12%2023-1%204%204-2%22%20fill%3D%22%23fff0ac%22%2F%3E%3Cpath%20d%3D%22m12%2011-7%204%201%208%208-3m7-8%207%201-3%209-6%202%22%20fill%3D%22%23887bea%22%20stroke%3D%22%23423e81%22%2F%3E%3Cpath%20d%3D%22M11%2020C11%2010%2019%203%2029%203c0%2010-7%2018-17%2018Z%22%20fill%3D%22%23d9efff%22%20stroke%3D%22%23546f9e%22%20stroke-width%3D%221.5%22%2F%3E%3Cpath%20d%3D%22m23%204%205%205%22%20stroke%3D%22%236bbbd9%22%20stroke-width%3D%223%22%2F%3E%3Ccircle%20cx%3D%2220%22%20cy%3D%2212%22%20r%3D%223.5%22%20fill%3D%22%2355bedb%22%20stroke%3D%22%23426c9e%22%2F%3E%3Cpath%20d%3D%22m4%204%201-3%201%203%203%201-3%201-1%203-1-3-3-1Z%22%20fill%3D%22%23f9df93%22%2F%3E%3C%2Fsvg%3E");
    --theme-texture: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20110%2055%22%3E%3Cg%20fill%3D%22%23a6b9ed%22%20opacity%3D%22.4%22%3E%3Ccircle%20cx%3D%227%22%20cy%3D%229%22%20r%3D%221%22%2F%3E%3Ccircle%20cx%3D%2243%22%20cy%3D%2236%22%20r%3D%221%22%2F%3E%3Ccircle%20cx%3D%2292%22%20cy%3D%2213%22%20r%3D%22.8%22%2F%3E%3Cpath%20d%3D%22m65%206%201.5%204L71%2012l-4.5%201.5L65%2018l-1.5-4.5L59%2012l4.5-2Z%22%2F%3E%3Cpath%20d%3D%22m22%2039%201%203%203%201-3%201-1%203-1-3-3-1%203-1Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
    --theme-texture-size: 110px 55px;
    --theme-checkbox: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M4%2014C-2%202%208-1%2014%202c5%202%206%208%202%2012v4H4Z%22%20fill%3D%22%2319263f%22%20stroke%3D%22%238b9ac1%22%2F%3E%3Crect%20x%3D%223%22%20y%3D%225%22%20width%3D%2214%22%20height%3D%229%22%20rx%3D%224%22%20fill%3D%22%230b1328%22%20stroke%3D%22%238ba9d0%22%2F%3E%3Cpath%20d%3D%22M6%2017h8M6%207l2-1%22%20stroke%3D%22%23c5e8fc%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E");
    --theme-checkbox-checked: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M4%2014C-2%202%208-1%2014%202c5%202%206%208%202%2012v4H4Z%22%20fill%3D%22%236664ba%22%20stroke%3D%22%23c2cfff%22%2F%3E%3Crect%20x%3D%223%22%20y%3D%225%22%20width%3D%2214%22%20height%3D%229%22%20rx%3D%224%22%20fill%3D%22%23345c99%22%20stroke%3D%22%238ba9d0%22%2F%3E%3Cpath%20d%3D%22M6%2017h8M6%207l2-1%22%20stroke%3D%22%23c5e8fc%22%20stroke-linecap%3D%22round%22%2F%3E%3Cpath%20d%3D%22m5.8%2010.2%202.7%202.8%205.9-6%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%222.3%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");
    --theme-glint: #a1d7ee;
}

/* Repeated illustrations stay on chrome and title bands, never grid cells. */
html:is([data-ui-theme="christmas"], [data-ui-theme="halloween"], [data-ui-theme="floral"], [data-ui-theme="space"]) :is(.app-header, .window-title) {
    background-image: var(--theme-texture);
    background-size: var(--theme-texture-size);
}

html[data-ui-theme="christmas"] .app-header {
    border-bottom-color: #cba55d;
}

html[data-ui-theme="halloween"] .app-header {
    border-bottom-color: #f3bb62;
}

/* Small corner ornaments leave button labels, sizing and hit targets intact. */
html:is([data-ui-theme="christmas"], [data-ui-theme="halloween"], [data-ui-theme="floral"], [data-ui-theme="space"]) .button:not(.ghost):not(.danger):not(.warning) {
    position: relative;
    isolation: isolate;
}

html:is([data-ui-theme="christmas"], [data-ui-theme="halloween"], [data-ui-theme="floral"], [data-ui-theme="space"]) .button:not(.ghost):not(.danger):not(.warning)::after {
    content: "";
    position: absolute;
    top: -6px;
    right: -4px;
    width: 18px;
    height: 18px;
    background: var(--theme-ornament) center / contain no-repeat;
    pointer-events: none;
    transition: transform 160ms ease;
}

html:is([data-ui-theme="christmas"], [data-ui-theme="halloween"], [data-ui-theme="floral"], [data-ui-theme="space"]) .button:not(:disabled):hover::after {
    transform: translateY(-1px) rotate(8deg);
}

html:is([data-ui-theme="christmas"], [data-ui-theme="halloween"], [data-ui-theme="floral"], [data-ui-theme="space"]) .button:not(.ghost):not(.danger):not(.warning):not(:disabled):hover {
    box-shadow: inset 0 0 0 1px var(--theme-glint), 0 2px 5px rgb(0 0 0 / 16%);
}

html[data-ui-theme="christmas"] .button:not(.ghost):not(.danger):not(.warning)::before {
    content: "";
    position: absolute;
    inset: -3px -1px auto;
    height: 7px;
    border-radius: var(--button-radius) var(--button-radius) 0 0;
    background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20120%2010%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20d%3D%22M0%200H120V3c-8%200-8%204-15%204s-7-3-15-3-6%205-14%205-7-4-16-4-7%202-15%202-8-4-15-4-8%205-15%205S8%205%200%206Z%22%20fill%3D%22%23f5fbff%22%2F%3E%3Cpath%20d%3D%22M0%206c8-1%208%202%2015%202s8-5%2015-5%207%204%2015%204%206-2%2015-2%208%204%2016%204%206-5%2014-5%208%203%2015%203%207-4%2015-4%22%20fill%3D%22none%22%20stroke%3D%22%23bcd6dd%22%2F%3E%3C%2Fsvg%3E") center top / 100% 7px no-repeat;
    pointer-events: none;
}

html:is([data-ui-theme="christmas"], [data-ui-theme="halloween"], [data-ui-theme="floral"], [data-ui-theme="space"]) .button:disabled::after,
html[data-ui-theme="christmas"] .button:disabled::before {
    opacity: .35;
}

/* Module symbols get a matching badge, leaving the functional icon recognizable. */
html:is([data-ui-theme="christmas"], [data-ui-theme="halloween"], [data-ui-theme="floral"], [data-ui-theme="space"]) .launch-module-symbol {
    position: relative;
    overflow: visible;
}

html:is([data-ui-theme="christmas"], [data-ui-theme="halloween"], [data-ui-theme="floral"], [data-ui-theme="space"]) .launch-module-symbol::after {
    content: "";
    position: absolute;
    width: 22px;
    height: 22px;
    right: -7px;
    bottom: -5px;
    background: var(--theme-ornament) center / contain no-repeat;
    pointer-events: none;
}

html:is([data-ui-theme="christmas"], [data-ui-theme="halloween"], [data-ui-theme="floral"], [data-ui-theme="space"]) .home-navigation .launch-tile {
    border-inline-start-color: var(--theme-glint);
}

html:is([data-ui-theme="christmas"], [data-ui-theme="halloween"], [data-ui-theme="floral"], [data-ui-theme="space"]) .home-navigation .launch-module-trigger {
    position: relative;
    color: #fff9f3;
    background-color: var(--theme-launch-end);
    background-image: linear-gradient(125deg, var(--theme-launch-start), var(--theme-launch-end));
    border-color: color-mix(in srgb, var(--theme-launch-icon) 42%, transparent);
}

html:is([data-ui-theme="christmas"], [data-ui-theme="halloween"], [data-ui-theme="floral"], [data-ui-theme="space"]) .home-navigation .launch-module-trigger:hover,
html:is([data-ui-theme="christmas"], [data-ui-theme="halloween"], [data-ui-theme="floral"], [data-ui-theme="space"]) .home-navigation .launch-module[open] > .launch-module-trigger {
    background-image: linear-gradient(125deg, var(--theme-launch-hover-start), var(--theme-launch-hover-end));
    border-color: var(--theme-glint);
}

html:is([data-ui-theme="christmas"], [data-ui-theme="halloween"], [data-ui-theme="floral"], [data-ui-theme="space"]) .home-navigation .launch-module-symbol {
    color: var(--theme-launch-icon);
    background-color: rgb(255 255 255 / 8%);
}

html:is([data-ui-theme="christmas"], [data-ui-theme="halloween"], [data-ui-theme="floral"], [data-ui-theme="space"]) .home-navigation .launch-module-copy small {
    color: #e4e8df;
}

html:is([data-ui-theme="christmas"], [data-ui-theme="halloween"], [data-ui-theme="floral"], [data-ui-theme="space"]) .home-navigation .launch-module-trigger:focus-visible {
    outline-color: var(--theme-launch-icon);
}

html[data-ui-theme="christmas"] .home-navigation .launch-module-trigger::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 7px;
    border-radius: 10px 10px 0 0;
    background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20120%2010%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20d%3D%22M0%200H120V3c-8%200-8%204-15%204s-7-3-15-3-6%205-14%205-7-4-16-4-7%202-15%202-8-4-15-4-8%205-15%205S8%205%200%206Z%22%20fill%3D%22%23f5fbff%22%2F%3E%3Cpath%20d%3D%22M0%206c8-1%208%202%2015%202s8-5%2015-5%207%204%2015%204%206-2%2015-2%208%204%2016%204%206-5%2014-5%208%203%2015%203%207-4%2015-4%22%20fill%3D%22none%22%20stroke%3D%22%23bcd6dd%22%2F%3E%3C%2Fsvg%3E") center top / 100% 7px no-repeat;
    pointer-events: none;
}

html:is([data-ui-theme="christmas"], [data-ui-theme="halloween"], [data-ui-theme="floral"], [data-ui-theme="space"]) :is(.fieldset-panel > legend, .window-title .kicker)::after {
    content: "";
    display: inline-block;
    width: 18px;
    height: 18px;
    margin-inline-start: 7px;
    vertical-align: middle;
    background: var(--theme-ornament) center / contain no-repeat;
    pointer-events: none;
}

/* Keep native checkbox semantics and keyboard behavior. An explicit white tick
   is present only when selected; the ornament is not used as the state cue. */
html:is([data-ui-theme="christmas"], [data-ui-theme="halloween"], [data-ui-theme="floral"], [data-ui-theme="space"]) input[type="checkbox"]:not([role="switch"]) {
    appearance: none;
    -webkit-appearance: none;
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    min-height: 14px;
    padding: 0;
    border: 0;
    border-radius: 2px;
    background-color: transparent;
    background-image: var(--theme-checkbox);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
    cursor: pointer;
    box-shadow: none;
}

html:is([data-ui-theme="christmas"], [data-ui-theme="halloween"], [data-ui-theme="floral"], [data-ui-theme="space"]) input[type="checkbox"]:not([role="switch"]):checked {
    background-image: var(--theme-checkbox-checked);
}

html:is([data-ui-theme="christmas"], [data-ui-theme="halloween"], [data-ui-theme="floral"], [data-ui-theme="space"]) input[type="checkbox"]:not([role="switch"]):indeterminate {
    border: 1px solid var(--line-strong);
    background-color: var(--accent);
    background-image: linear-gradient(#ffffff, #ffffff);
    background-size: 9px 2px;
}

html:is([data-ui-theme="christmas"], [data-ui-theme="halloween"], [data-ui-theme="floral"], [data-ui-theme="space"]) input[type="checkbox"]:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 3px;
}

html:is([data-ui-theme="christmas"], [data-ui-theme="halloween"], [data-ui-theme="floral"], [data-ui-theme="space"]) input[type="checkbox"]:disabled {
    background-color: transparent;
    opacity: .5;
    cursor: not-allowed;
}

/* The new palettes also apply to secondary actions and disabled controls. */
html:is([data-ui-theme="christmas"], [data-ui-theme="halloween"], [data-ui-theme="floral"], [data-ui-theme="space"]) .button.ghost {
    color: var(--ink);
    background-color: var(--field);
    border-color: var(--line-strong);
}

html:is([data-ui-theme="christmas"], [data-ui-theme="halloween"], [data-ui-theme="floral"], [data-ui-theme="space"]) .button.ghost:hover {
    background-color: var(--accent-soft);
}

html:is([data-ui-theme="christmas"], [data-ui-theme="halloween"], [data-ui-theme="floral"], [data-ui-theme="space"]) :is(button, .button, input:not([type="checkbox"]), select, textarea):disabled {
    color: var(--disabled-ink);
    background-color: var(--panel-2);
    border-color: var(--line);
}

html[data-ui-theme="halloween"] :is(.window-title .kicker, .orders-title-order) {
    color: #f3c489;
}

/* Keep grid headings and selection readable within each palette. Status colors
   supplied by the data remain on their cells; no artwork is added to tables. */
html:is([data-ui-theme="christmas"], [data-ui-theme="halloween"], [data-ui-theme="floral"], [data-ui-theme="space"]) :is(.orders-grid, .stock-grid, .worklist-grid, .vcm-grid, .compact-grid, .operations-grid) th {
    color: var(--chrome-ink);
    background-color: var(--chrome-2);
    border-color: var(--line-strong);
}

html:is([data-ui-theme="christmas"], [data-ui-theme="halloween"], [data-ui-theme="floral"], [data-ui-theme="space"]) :is(.orders-grid, .stock-grid, .worklist-grid, .vcm-grid, .compact-grid, .operations-grid) th.sorted {
    background-color: color-mix(in srgb, var(--chrome-2) 80%, var(--accent));
}

html:is([data-ui-theme="christmas"], [data-ui-theme="halloween"], [data-ui-theme="floral"], [data-ui-theme="space"]) :is(.orders-grid, .stock-grid, .worklist-grid, .vcm-grid, .compact-grid, .operations-grid) tbody tr:nth-child(even) {
    background-color: var(--panel);
}

html:is([data-ui-theme="christmas"], [data-ui-theme="halloween"], [data-ui-theme="floral"], [data-ui-theme="space"]) :is(.orders-grid, .stock-grid, .worklist-grid, .vcm-grid, .compact-grid, .operations-grid) tbody tr:hover {
    color: var(--ink);
    background-color: color-mix(in srgb, var(--accent-soft) 65%, var(--panel));
}

html:is([data-ui-theme="christmas"], [data-ui-theme="halloween"], [data-ui-theme="floral"], [data-ui-theme="space"]) .stock-grid tbody tr:hover td {
    color: var(--ink);
    background-color: color-mix(in srgb, var(--accent-soft) 65%, var(--panel));
}

html:is([data-ui-theme="christmas"], [data-ui-theme="halloween"], [data-ui-theme="floral"], [data-ui-theme="space"]) :is(.orders-grid, .stock-grid, .worklist-grid, .vcm-grid, .compact-grid, .operations-grid) tbody tr:is(.selected, .row-selected) td {
    color: var(--ink);
    background-color: var(--accent-soft);
    outline-color: var(--line-strong);
    box-shadow: inset 0 0 0 1px var(--line-strong);
}

@media (prefers-reduced-motion: reduce) {
    html:is([data-ui-theme="christmas"], [data-ui-theme="halloween"], [data-ui-theme="floral"], [data-ui-theme="space"]) .button:not(:disabled):hover::after {
        transition: none;
        transform: none;
    }
}

@media (forced-colors: active) {
    html:is([data-ui-theme="christmas"], [data-ui-theme="halloween"], [data-ui-theme="floral"], [data-ui-theme="space"]) :is(.app-header, .window-title, .home-navigation .launch-module-trigger) {
        color: CanvasText;
        background: Canvas !important;
        border-color: ButtonText;
    }

    html:is([data-ui-theme="christmas"], [data-ui-theme="halloween"], [data-ui-theme="floral"], [data-ui-theme="space"]) .home-navigation :is(.launch-module-symbol, .launch-module-copy small) {
        color: CanvasText;
    }

    html[data-ui-theme="christmas"] .home-navigation .launch-module-trigger::before {
        display: none;
    }

    html:is([data-ui-theme="christmas"], [data-ui-theme="halloween"], [data-ui-theme="floral"], [data-ui-theme="space"]) input[type="checkbox"]:not([role="switch"]) {
        appearance: auto;
        -webkit-appearance: auto;
        background: none !important;
        opacity: 1;
    }

    html:is([data-ui-theme="christmas"], [data-ui-theme="halloween"], [data-ui-theme="floral"], [data-ui-theme="space"]) :is(.button, .launch-module-symbol, .fieldset-panel > legend, .window-title .kicker)::after,
    html[data-ui-theme="christmas"] .button::before {
        display: none;
    }
}

/* Native radios and switches share the selected palette. */
html:is([data-ui-theme="christmas"], [data-ui-theme="halloween"], [data-ui-theme="floral"], [data-ui-theme="space"]) input:is([type="radio"], [role="switch"]) { accent-color: var(--accent); }
