/* Global semantic palette. No content, layout or image filters belong here. */
:root,html[data-site-theme="paper"] {
 --site-bg:#fafafa;--site-surface:#ffffff;--site-soft:#f0f1f2;--site-ink:#24272b;--site-muted:#60666d;--site-muted-rgb:96,102,109;--site-line:#d5d8dc;--site-accent:#303a46;--site-accent-hover:#1c2632;--site-on-accent:#ffffff;--site-accent-rgb:48,58,70;
 --site-success:#256240;--site-danger:#aa3042;--site-warning:#78530a;
 color-scheme:light;
}
html[data-site-theme="warm"] {
 --site-bg:#f6f3ec;--site-surface:#fffdf8;--site-soft:#ece6db;--site-ink:#332e28;--site-muted:#696055;--site-muted-rgb:105,96,85;--site-line:#d6cdbf;--site-accent:#755039;--site-accent-hover:#563923;--site-on-accent:#ffffff;--site-accent-rgb:117,80,57;
 color-scheme:light;
}
html[data-site-theme="slate"] {
 --site-bg:#f3f5f7;--site-surface:#ffffff;--site-soft:#e8edf2;--site-ink:#25313c;--site-muted:#596978;--site-muted-rgb:89,105,120;--site-line:#cbd5df;--site-accent:#365f83;--site-accent-hover:#254767;--site-on-accent:#ffffff;--site-accent-rgb:54,95,131;
 color-scheme:light;
}
html[data-site-theme="night"] {
 --site-bg:#1b1e22;--site-surface:#25292e;--site-soft:#30353c;--site-ink:#eceef0;--site-muted:#b2b8c0;--site-muted-rgb:178,184,192;--site-line:#535b66;--site-accent:#b8cbe0;--site-accent-hover:#d2dfed;--site-on-accent:#17212c;--site-accent-rgb:184,203,224;
 --site-success:#89cca0;--site-danger:#f49ba9;--site-warning:#e7c785;
 color-scheme:dark;
}
html[data-site-theme="purple"] {
 --site-bg:#f5f2f8;--site-surface:#fffdff;--site-soft:#eae3f1;--site-ink:#302838;--site-muted:#685a73;--site-muted-rgb:104,90,115;--site-line:#d4c8df;--site-accent:#684391;--site-accent-hover:#50326f;--site-on-accent:#ffffff;--site-accent-rgb:104,67,145;
 color-scheme:light;
}
html[data-site-theme="pink"] {
 --site-bg:#fff6f9;--site-surface:#fffdfd;--site-soft:#f3e5ec;--site-ink:#3b2932;--site-muted:#6e5c66;--site-muted-rgb:110,92,102;--site-line:#dfc8d3;--site-accent:#963f68;--site-accent-hover:#77304f;--site-on-accent:#ffffff;--site-accent-rgb:150,63,104;
 color-scheme:light;
}
html[data-site-theme="gold"] {
 --site-bg:#faf6eb;--site-surface:#fffdf6;--site-soft:#eee6d2;--site-ink:#383023;--site-muted:#6c604b;--site-muted-rgb:108,96,75;--site-line:#d7c9a9;--site-accent:#806018;--site-accent-hover:#62480e;--site-on-accent:#ffffff;--site-accent-rgb:128,96,24;
 color-scheme:light;
}
html[data-site-theme="black-gold"] {
 --site-bg:#191714;--site-surface:#24211c;--site-soft:#302a20;--site-ink:#f3ebda;--site-muted:#c5bca6;--site-muted-rgb:197,188,166;--site-line:#665a43;--site-accent:#d8b66b;--site-accent-hover:#ead09a;--site-on-accent:#1c1812;--site-accent-rgb:216,182,107;
 --site-success:#a5cca0;--site-danger:#f49ba9;--site-warning:#e7c785;
 color-scheme:dark;
}
html[data-site-theme="matcha"] {
 --site-bg:#f3f6ed;--site-surface:#fdfff8;--site-soft:#e4eadc;--site-ink:#2c3527;--site-muted:#57634f;--site-muted-rgb:87,99,79;--site-line:#c9d3bd;--site-accent:#45613c;--site-accent-hover:#32492b;--site-on-accent:#ffffff;--site-accent-rgb:69,97,60;
 color-scheme:light;
}
/* Bridge Bootstrap and existing application semantic variables. */
html[data-site-theme],html[data-site-theme] .ep-dashboard {
 --bs-body-bg:var(--site-bg);--bs-body-color:var(--site-ink);--bs-secondary-color:var(--site-muted);--bs-secondary-color-rgb:var(--site-muted-rgb);--bs-secondary-rgb:var(--site-muted-rgb);--bs-border-color:var(--site-line);--bs-tertiary-bg:var(--site-soft);
 --bs-link-color:var(--site-accent);--bs-link-color-rgb:var(--site-accent-rgb);--bs-link-hover-color:var(--site-accent-hover);--bs-link-hover-color-rgb:var(--site-accent-rgb);
 --background:var(--site-bg);--foreground:var(--site-ink);--card:var(--site-surface);--card-foreground:var(--site-ink);--popover:var(--site-surface);--popover-foreground:var(--site-ink);--primary:var(--site-accent);--primary-foreground:var(--site-on-accent);--secondary:var(--site-soft);--secondary-foreground:var(--site-ink);--muted:var(--site-soft);--muted-foreground:var(--site-muted);--accent:var(--site-soft);--accent-foreground:var(--site-ink);--border:var(--site-line);--input:var(--site-line);--ring:var(--site-accent);
 --success:var(--site-success);--destructive:var(--site-danger);--warning:var(--site-warning);
}
html[data-site-theme] .ep-dashboard {
 --dashboard-bg:var(--site-bg);--dashboard-sidebar:var(--site-surface);--dashboard-header:var(--site-surface);--dashboard-panel:var(--site-surface);--dashboard-card:var(--site-surface);--dashboard-line:var(--site-line);--dashboard-soft-line:var(--site-line);--dashboard-text:var(--site-ink);--dashboard-muted:var(--site-muted);--dashboard-faint:var(--site-muted);--dashboard-blue:var(--site-accent);--dashboard-violet:var(--site-accent);--dashboard-active:var(--site-soft);--dashboard-track:var(--site-soft);--dashboard-focus:var(--site-accent);
}
.site-theme-control { display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--site-muted); }
.site-theme-control select { background:var(--site-surface);color:var(--site-ink);border:1px solid var(--site-line);border-radius:4px;padding:.4rem 1.6rem .4rem .6rem;max-width:10rem;min-height:36px;font:inherit; }
.site-theme-control select:focus-visible { outline:2px solid var(--site-accent);outline-offset:3px; }
/* Full official swatches remain exact on buttons. Text/focus use a readable family shade. */
html[data-site-theme] { --site-link:var(--site-accent);--site-link-rgb:var(--site-accent-rgb);--bs-primary:var(--site-accent);--bs-primary-rgb:var(--site-accent-rgb);--bs-link-color:var(--site-link);--bs-link-color-rgb:var(--site-link-rgb);--bs-link-hover-color:var(--site-link);--bs-link-hover-color-rgb:var(--site-link-rgb);--ring:var(--site-link); }
html[data-site-theme] .ep-dashboard { --dashboard-blue:var(--site-link);--dashboard-violet:var(--site-link);--dashboard-focus:var(--site-link); }
.site-theme-control { flex-wrap:wrap; }
.site-accent-chip { width:16px;height:16px;display:inline-block;border:1px solid var(--site-muted);border-radius:3px; }
.site-theme-control select:focus-visible { outline-color:var(--site-link); }
@media(max-width:767px) {
 html[data-site-theme] .ep-dashboard { grid-template-rows:auto minmax(0,1fr); }
 html[data-site-theme] .ep-dashboard-header { min-height:60px;height:auto;flex-wrap:wrap;gap:10px;padding-block:10px; }
 html[data-site-theme] .ep-dashboard-header-actions { flex-wrap:wrap;max-width:100%;gap:8px; }
 html[data-site-theme] .site-theme-control select { max-width:8rem; }
}
.site-palette-browser { position:relative;font-size:.85rem;color:var(--site-ink); }
.site-palette-browser summary { cursor:pointer;padding:.4rem;border:1px solid var(--site-line);border-radius:4px; }
.site-palette-panel { position:absolute;right:0;top:calc(100% + 6px);z-index:1100;width:min(360px,90vw);max-height:65vh;overflow:auto;background:var(--site-surface);color:var(--site-ink);border:1px solid var(--site-line);border-radius:6px;padding:12px;box-shadow:0 5px 15px #0002; }
.site-palette-panel section { margin:0 0 10px; }
.site-palette-panel strong { display:block;font-size:.8rem;margin-bottom:4px; }
.site-color-row { display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:4px; }
.site-color-row button { height:30px;min-width:0;border:1px solid var(--site-muted);border-radius:3px;cursor:pointer; }
.site-color-row button:focus-visible { outline:2px solid var(--site-link);outline-offset:2px; }
.site-theme-control[hidden],.site-palette-browser[hidden] { display:none!important; }
.ep-shell>a:first-child { flex-shrink:0;white-space:nowrap; }
.site-appearance-form p { margin:0 0 18px; }
.site-appearance-form label { display:block;margin-bottom:6px; }
.site-appearance-form select { background:var(--site-surface);color:var(--site-ink);border:1px solid var(--site-line);padding:8px;min-height:40px;border-radius:4px;max-width:100%; }
.site-appearance-form input[type=checkbox] { margin-right:6px; }
/* One compact settings entry, opened only when the user wants to customize. */
.site-appearance { position:relative;flex-shrink:0;color:var(--site-ink);font-size:.85rem; }
.site-appearance>summary { cursor:pointer;list-style:none;border:1px solid var(--site-line);border-radius:4px;padding:8px 12px;min-height:36px;background:var(--site-surface); }
.site-appearance>summary::-webkit-details-marker { display:none; }
.site-appearance>summary:focus-visible { outline:2px solid var(--site-link);outline-offset:2px; }
.site-appearance-content { position:absolute;right:0;top:calc(100% + 6px);z-index:1200;display:grid;gap:12px;width:min(320px,calc(100vw - 24px));padding:16px;border:1px solid var(--site-line);border-radius:6px;background:var(--site-surface);color:var(--site-ink);box-shadow:0 5px 15px #0002; }
.site-appearance-content .site-theme-control { display:flex;gap:8px; }
.site-appearance-content .site-theme-control select { flex:1;min-width:0;max-width:100%; }
.site-appearance-content .site-palette-panel { position:static;width:100%;max-height:45vh;box-shadow:none;margin-top:8px;padding:6px;box-sizing:border-box; }
html[data-site-theme] .studio-creation-desk { background:var(--site-soft);color:var(--site-ink);border:1px solid var(--site-line);border-radius:6px; }
html[data-site-theme] .studio-desk-kicker,html[data-site-theme] .studio-creation-desk p,html[data-site-theme] .studio-desk-art span,html[data-site-theme] .studio-desk-art i { color:var(--site-muted); }
html[data-site-theme] .studio-creation-desk .ep-button { background:var(--site-accent);color:var(--site-on-accent); }
html[data-site-theme] .studio-desk-art { border-color:var(--site-line); }
.studio a.studio-error-navigation { color:var(--site-on-accent);background:var(--site-accent);margin-left:8px; }
