/* The same four palettes and radio toggle as trading-piano. */
:root[data-theme="L2"] {
  --bg:#fafafa;--text:#202124;--input-bg:#f0f1f2;--border:#d1d4d7;--muted:#656b71;--hint:#737980;
  --green:#217446;--red:#bf343e;--warning:#886716;--accent:#1E6E8C;--kind-signal:#6B4FA8;--kind-forecaster:#0F766E;color-scheme:light;
}
:root[data-theme="L4"] {
  --bg:#edf3f8;--text:#233649;--input-bg:#e1eaf3;--border:#bdcbd9;--muted:#5b7083;--hint:#667a8d;
  --green:#23765b;--red:#b33d50;--warning:#886716;--accent:#1E6E8C;--kind-signal:#6B4FA8;--kind-forecaster:#0F766E;color-scheme:light;
}
:root[data-theme="D1"] {
  --bg:#191b1e;--text:#e0e3e7;--input-bg:#25292e;--border:#454c55;--muted:#a2acb8;--hint:#8f9aa8;
  --green:#79c69b;--red:#ed8b8b;--warning:#dbb66f;--accent:#72B6D1;--kind-signal:#B39DDB;--kind-forecaster:#5EC4B6;color-scheme:dark;
}
:root[data-theme="D6"] {
  --bg:#252c36;--text:#e3e9f1;--input-bg:#333e4d;--border:#546378;--muted:#adbed3;--hint:#9baac0;
  --green:#88d0b1;--red:#f0a0a5;--warning:#dbb66f;--accent:#72B6D1;--kind-signal:#B39DDB;--kind-forecaster:#5EC4B6;color-scheme:dark;
}
:root[data-theme] {
  --ink:var(--text);--fg:var(--text);--mut:var(--muted);--line:var(--border);--hair:var(--border);
  --panel:var(--input-bg);--card:var(--input-bg);--grid:var(--border);--second:var(--hint);
  --good:var(--green);--pos:var(--green);--crit:var(--red);--neg:var(--red);--warn:var(--warning);--acc:var(--accent);
  --accent-soft:color-mix(in srgb,var(--accent) 14%,var(--bg));
  --good-bg:color-mix(in srgb,var(--green) 13%,var(--bg));
  --warn-bg:color-mix(in srgb,var(--warning) 13%,var(--bg));
  --crit-bg:color-mix(in srgb,var(--red) 13%,var(--bg));
}
.theme-toggle{display:flex;align-items:center;gap:2px;padding:2px;border-radius:14px;background:var(--input-bg);border:1px solid var(--border);flex:none}
.theme-stop{position:relative;display:grid;place-items:center;width:19px;height:20px;border-radius:50%;cursor:pointer}
.theme-stop input{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;opacity:0;cursor:pointer}
.theme-stop span{width:9px;height:9px;border-radius:50%;background:var(--swatch);border:1px solid #80808070;pointer-events:none}
.theme-stop:has(input:checked){background:var(--bg);box-shadow:0 0 0 1px var(--text)}
.theme-stop:has(input:focus-visible){outline:2px solid var(--text);outline-offset:3px}
form>.theme-toggle{align-self:flex-end}

/* Toggle failures remain accessible without adding messages or height below switches. */
.toggle-feedback{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
