/*
 * Solarized Dark, based on Ethan Schoonover's original palette:
 * https://ethanschoonover.com/solarized/
 *
 * No Default overrides: each legacy value is retained as a CSS var fallback.
 * Use base1 for normal text on base02 (AA); original base0 is decorative only.
 * Accent text is mixed with base3 for legibility, accent backgrounds with base03
 * so a single light on-accent foreground remains readable.
 */
html[data-theme="solarized-dark"] {
  color-scheme: dark;
  --sb-base03: #002b36;
  --sb-base02: #073642;
  --sb-base01: #586e75;
  --sb-base00: #657b83;
  --sb-base0: #839496;
  --sb-base1: #93a1a1;
  --sb-base2: #eee8d5;
  --sb-base3: #fdf6e3;
  --sb-blue: #268bd2;
  --sb-green: #859900;
  --sb-cyan: #2aa198;
  --sb-yellow: #b58900;
  --sb-orange: #cb4b16;
  --sb-red: #dc322f;
  --sb-magenta: #d33682;
  --sb-violet: #6c71c4;
  --sb-bg: var(--sb-base03);
  --sb-surface: var(--sb-base02);
  --sb-text: var(--sb-base1);
  --sb-muted: var(--sb-base1);
  --sb-border: var(--sb-base0);
  --sb-accent: var(--sb-cyan);
  --sb-on-accent: var(--sb-base03);
  --sb-foreground-on-accent: var(--sb-base1);
  --sb-foreground-blue: color-mix(in srgb, var(--sb-blue) 40%, var(--sb-base3));
  --sb-foreground-green: color-mix(in srgb, var(--sb-green) 40%, var(--sb-base3));
  --sb-foreground-cyan: color-mix(in srgb, var(--sb-cyan) 40%, var(--sb-base3));
  --sb-foreground-yellow: color-mix(in srgb, var(--sb-yellow) 40%, var(--sb-base3));
  --sb-foreground-orange: color-mix(in srgb, var(--sb-orange) 40%, var(--sb-base3));
  --sb-foreground-red: color-mix(in srgb, var(--sb-red) 40%, var(--sb-base3));
  --sb-foreground-magenta: color-mix(in srgb, var(--sb-magenta) 40%, var(--sb-base3));
  --sb-foreground-violet: color-mix(in srgb, var(--sb-violet) 40%, var(--sb-base3));
  --sb-background-blue: color-mix(in srgb, var(--sb-blue) 10%, var(--sb-base03));
  --sb-background-green: color-mix(in srgb, var(--sb-green) 10%, var(--sb-base03));
  --sb-background-cyan: color-mix(in srgb, var(--sb-cyan) 10%, var(--sb-base03));
  --sb-background-yellow: color-mix(in srgb, var(--sb-yellow) 10%, var(--sb-base03));
  --sb-background-orange: color-mix(in srgb, var(--sb-orange) 10%, var(--sb-base03));
  --sb-background-red: color-mix(in srgb, var(--sb-red) 10%, var(--sb-base03));
  --sb-background-magenta: color-mix(in srgb, var(--sb-magenta) 10%, var(--sb-base03));
  --sb-background-violet: color-mix(in srgb, var(--sb-violet) 10%, var(--sb-base03));
  /* The alpha adapter needs channels so Default retains original transparency.
   * Foreground alpha is raised ONLY in this theme to keep small labels readable.
   */
  --sb-text-rgb: 147, 161, 161;
  --sb-text-alpha: 1;
  --sb-foreground-on-accent-rgb: 147, 161, 161;
  --sb-foreground-on-accent-alpha: 1;
  --sb-bg-rgb: 0, 43, 54;
  --sb-surface-rgb: 7, 54, 66;
  --sb-border-rgb: 131, 148, 150;
  --sb-foreground-blue-rgb: 167, 203, 220;
  --sb-foreground-green-rgb: 205, 209, 136;
  --sb-foreground-cyan-rgb: 169, 212, 197;
  --sb-foreground-yellow-rgb: 224, 202, 136;
  --sb-foreground-orange-rgb: 233, 178, 145;
  --sb-foreground-red-rgb: 240, 168, 155;
  --sb-foreground-magenta-rgb: 236, 169, 188;
  --sb-foreground-violet-rgb: 195, 193, 215;
  --sb-foreground-blue-alpha: 1;
  --sb-foreground-green-alpha: 1;
  --sb-foreground-cyan-alpha: 1;
  --sb-foreground-yellow-alpha: 1;
  --sb-foreground-orange-alpha: 1;
  --sb-foreground-red-alpha: 1;
  --sb-foreground-magenta-alpha: 1;
  --sb-foreground-violet-alpha: 1;
  --sb-background-blue-rgb: 4, 53, 70;
  --sb-background-green-rgb: 13, 54, 49;
  --sb-background-cyan-rgb: 4, 55, 64;
  --sb-background-yellow-rgb: 18, 52, 49;
  --sb-background-orange-rgb: 20, 46, 51;
  --sb-background-red-rgb: 22, 44, 53;
  --sb-background-magenta-rgb: 21, 44, 62;
  --sb-background-violet-rgb: 11, 50, 68;
  --sb-line-blue-rgb: var(--sb-foreground-blue-rgb);
  --sb-line-green-rgb: var(--sb-foreground-green-rgb);
  --sb-line-cyan-rgb: var(--sb-foreground-cyan-rgb);
  --sb-line-yellow-rgb: var(--sb-foreground-yellow-rgb);
  --sb-line-orange-rgb: var(--sb-foreground-orange-rgb);
  --sb-line-red-rgb: var(--sb-foreground-red-rgb);
  --sb-line-magenta-rgb: var(--sb-foreground-magenta-rgb);
  --sb-line-violet-rgb: var(--sb-foreground-violet-rgb);
  --sb-line-blue: var(--sb-foreground-blue);
  --sb-line-green: var(--sb-foreground-green);
  --sb-line-cyan: var(--sb-foreground-cyan);
  --sb-line-yellow: var(--sb-foreground-yellow);
  --sb-line-orange: var(--sb-foreground-orange);
  --sb-line-red: var(--sb-foreground-red);
  --sb-line-magenta: var(--sb-foreground-magenta);
  --sb-line-violet: var(--sb-foreground-violet);
  --sb-success: var(--sb-foreground-green);
  --sb-warning: var(--sb-foreground-yellow);
  --sb-error: var(--sb-foreground-red);
}
/* Native controls, editor and map chrome are outside React's inline styles. */
html[data-theme="solarized-dark"] body {
  background-color: var(--sb-bg);
  color: var(--sb-text);
}
html[data-theme="solarized-dark"] :is(input, textarea, select, option) {
  color-scheme: dark;
}
html[data-theme="solarized-dark"] :is(input, textarea)::placeholder {
  color: var(--sb-muted);
  opacity: 1;
}
html[data-theme="solarized-dark"] :focus-visible {
  outline: 2px solid var(--sb-foreground-cyan);
  outline-offset: 3px;
}
html[data-theme="solarized-dark"] ::selection {
  background: var(--sb-background-cyan);
  color: var(--sb-base3);
}
html[data-theme="solarized-dark"] ::-webkit-scrollbar-track { background: var(--sb-bg); }
html[data-theme="solarized-dark"] ::-webkit-scrollbar-thumb { background: var(--sb-border); }
html[data-theme="solarized-dark"] :is(.ql-toolbar.ql-snow, .ql-editor, .ql-picker-options, .ql-tooltip) {
  background: var(--sb-surface);
  color: var(--sb-text);
  border-color: var(--sb-border) !important;
}
html[data-theme="solarized-dark"] :is(.ql-picker, .ql-picker-item, .session-summary-html, .session-summary-html strong, .ql-editor h1, .ql-editor h2) { color: var(--sb-text); }
html[data-theme="solarized-dark"] :is(.ql-editor.ql-blank)::before { color: var(--sb-muted); }
html[data-theme="solarized-dark"] :is(.ql-editor a, .session-summary-html a) { color: var(--sb-foreground-cyan); }
html[data-theme="solarized-dark"] .ql-snow .ql-stroke { stroke: var(--sb-text); }
html[data-theme="solarized-dark"] .ql-snow .ql-fill { fill: var(--sb-text); }
html[data-theme="solarized-dark"] :is(.leaflet-bar a, .leaflet-popup-content-wrapper, .leaflet-popup-tip, .leaflet-control-layers, .leaflet-control-attribution) {
  background: var(--sb-surface);
  color: var(--sb-text);
  border-color: var(--sb-border);
}
html[data-theme="solarized-dark"] :is(.leaflet-control-attribution a, .leaflet-popup-close-button) { color: var(--sb-foreground-cyan); }
html[data-theme="solarized-dark"] .vd-form :is(input, textarea, select):focus-visible {
  border-color: var(--sb-foreground-cyan) !important;
  box-shadow: 0 0 0 2px var(--sb-foreground-cyan);
}