:root {
  color-scheme: light;
  --theme-bg: #e8efff;
  --theme-bg-secondary: #f6f8ff;
  --theme-surface: rgb(255 255 255 / 0.76);
  --theme-surface-strong: rgb(255 255 255 / 0.9);
  --theme-surface-tint: rgb(255 255 255 / 0.7);
  --theme-text: #14213d;
  --theme-muted: #60708f;
  --theme-border: rgb(78 112 170 / 0.18);
  --theme-input-bg: rgb(255 255 255 / 0.82);
  --theme-modal-bg: rgb(246 248 255 / 0.92);
  --theme-overlay: rgb(18 30 58 / 0.48);
  --theme-icon: #14213d;
  --theme-shadow: 0 18px 48px rgb(60 88 150 / 0.16);
  --theme-card-shadow: 0 8px 24px rgb(60 88 150 / 0.1);
  --theme-accent: #5f8dff;
  --theme-accent-strong: #2f5edb;
  --theme-accent-rgb: 95 141 255;
  --theme-accent-soft: rgb(var(--theme-accent-rgb) / 0.16);
  --theme-accent-border-weak: rgb(var(--theme-accent-rgb) / 0.28);
  --theme-accent-border-strong: rgb(var(--theme-accent-rgb) / 0.54);
  --theme-accent-glow: 0 10px 28px rgb(var(--theme-accent-rgb) / 0.2);
  --theme-focus-ring: 0 0 0 3px rgb(var(--theme-accent-rgb) / 0.16);
  --theme-button-bg: #5f8dff;
  --theme-button-text: #ffffff;
  --theme-button-bg-hover: #4778f2;
  --theme-chat-bubble-bg: rgb(255 255 255 / 0.82);
  --theme-chat-bubble-border: rgb(78 112 170 / 0.14);
  --theme-chat-own-bg: rgb(var(--theme-accent-rgb) / 0.16);
  --theme-chat-own-border: rgb(var(--theme-accent-rgb) / 0.12);
  --theme-chat-checks: #7e93a8;
  --theme-danger: #da5252;
  --theme-danger-rgb: 218 82 82;
  --theme-success: #2ea772;
  --theme-success-rgb: 46 167 114;
  --theme-warning-rgb: 255 193 7;
  --theme-status-new-bg: rgb(var(--theme-warning-rgb) / 0.18);
  --theme-status-new-text: #8a6200;
  --theme-status-in-progress-bg: rgb(var(--theme-accent-rgb) / 0.16);
  --theme-status-in-progress-text: #1564b4;
  --theme-status-done-bg: rgb(var(--theme-success-rgb) / 0.18);
  --theme-status-done-text: #1d7f54;
  --theme-status-rejected-bg: rgb(var(--theme-danger-rgb) / 0.14);
  --theme-status-rejected-text: #c94444;
  --theme-badge-danger-bg: #da5252;
  --theme-badge-danger-text: #ffffff;
  --theme-badge-warning-bg: #f0c419;
  --theme-badge-warning-text: #523d00;
  --theme-badge-info-bg: rgb(var(--theme-accent-rgb) / 0.14);
  --theme-badge-info-text: var(--theme-accent-strong);
  --theme-trust-very: #2ea772;
  --theme-trust-trusted: #a8ff2f;
  --theme-trust-neutral: #d9e1ec;
  --theme-trust-low: #f29a4a;
  --theme-trust-bad: #da5252;
  --theme-scrollbar-thumb: rgb(53 84 114 / 0.24);
  --theme-scrollbar-track: transparent;
}

:root[data-theme="dark"] {
  color-scheme: dark;
  --theme-bg: #0d1428;
  --theme-bg-secondary: #111b35;
  --theme-surface: rgb(20 31 58 / 0.72);
  --theme-surface-strong: rgb(27 42 76 / 0.86);
  --theme-surface-tint: rgb(20 31 58 / 0.72);
  --theme-text: #f5f8ff;
  --theme-muted: #a5b4d7;
  --theme-border: rgb(155 188 255 / 0.17);
  --theme-input-bg: rgb(22 35 66 / 0.8);
  --theme-modal-bg: rgb(17 27 53 / 0.94);
  --theme-overlay: rgb(4 8 20 / 0.66);
  --theme-icon: #f5f7fb;
  --theme-shadow: 0 22px 60px rgb(0 0 0 / 0.34);
  --theme-card-shadow: 0 10px 28px rgb(0 0 0 / 0.2);
  --theme-accent: #9bbcff;
  --theme-accent-strong: #c4d8ff;
  --theme-accent-rgb: 155 188 255;
  --theme-accent-soft: rgb(var(--theme-accent-rgb) / 0.16);
  --theme-accent-border-weak: rgb(var(--theme-accent-rgb) / 0.32);
  --theme-accent-border-strong: rgb(var(--theme-accent-rgb) / 0.52);
  --theme-accent-glow: 0 6px 18px rgb(var(--theme-accent-rgb) / 0.18);
  --theme-focus-ring: 0 0 0 3px rgb(var(--theme-accent-rgb) / 0.14);
  --theme-button-bg: #d9e5ff;
  --theme-button-text: #0d1428;
  --theme-button-bg-hover: #ffffff;
  --theme-chat-bubble-bg: rgb(25 39 73 / 0.78);
  --theme-chat-bubble-border: rgb(155 188 255 / 0.14);
  --theme-chat-own-bg: rgb(var(--theme-accent-rgb) / 0.2);
  --theme-chat-own-border: rgb(var(--theme-accent-rgb) / 0.18);
  --theme-chat-checks: #9aa8b8;
  --theme-danger: #ff8f8f;
  --theme-danger-rgb: 255 143 143;
  --theme-success: #7edbb1;
  --theme-success-rgb: 126 219 177;
  --theme-status-new-bg: rgb(var(--theme-warning-rgb) / 0.18);
  --theme-status-new-text: #ffd773;
  --theme-status-in-progress-bg: rgb(var(--theme-accent-rgb) / 0.18);
  --theme-status-in-progress-text: #8bc8ff;
  --theme-status-done-bg: rgb(var(--theme-success-rgb) / 0.2);
  --theme-status-done-text: #9de5c2;
  --theme-status-rejected-bg: rgb(var(--theme-danger-rgb) / 0.16);
  --theme-status-rejected-text: #ffabae;
  --theme-badge-danger-bg: #ff8f8f;
  --theme-badge-danger-text: #17212b;
  --theme-badge-warning-bg: #ffd773;
  --theme-badge-warning-text: #3a2a00;
  --theme-badge-info-bg: rgb(var(--theme-accent-rgb) / 0.16);
  --theme-badge-info-text: #d9eeff;
  --theme-trust-very: #7edbb1;
  --theme-trust-trusted: #a8ff2f;
  --theme-trust-neutral: #8ea0b2;
  --theme-trust-low: #f7b26d;
  --theme-trust-bad: #ff8f8f;
  --theme-scrollbar-thumb: rgb(136 170 204 / 0.26);
}

html,
body {
  background: var(--theme-bg);
}

html.theme-freeze *,
html.theme-freeze *::before,
html.theme-freeze *::after {
  transition: none !important;
}

* {
  scrollbar-color: var(--theme-scrollbar-thumb) var(--theme-scrollbar-track);
}
