:root {
  color-scheme: light;
  --theme-bg: #f4f6f9;
  --theme-bg-secondary: #ffffff;
  --theme-surface: #ffffff;
  --theme-surface-strong: #ffffff;
  --theme-surface-tint: rgb(255 255 255 / 0.92);
  --theme-text: #182533;
  --theme-muted: #6b7c93;
  --theme-border: rgb(53 84 114 / 0.12);
  --theme-input-bg: #ffffff;
  --theme-modal-bg: #ffffff;
  --theme-overlay: rgb(15 24 37 / 0.44);
  --theme-icon: #182533;
  --theme-shadow: 0 10px 30px rgb(15 32 56 / 0.08);
  --theme-card-shadow: 0 2px 8px rgb(15 32 56 / 0.05);
  --theme-accent: #3390ec;
  --theme-accent-strong: #2481df;
  --theme-accent-rgb: 51 144 236;
  --theme-accent-soft: rgb(var(--theme-accent-rgb) / 0.14);
  --theme-accent-border-weak: rgb(var(--theme-accent-rgb) / 0.24);
  --theme-accent-border-strong: rgb(var(--theme-accent-rgb) / 0.52);
  --theme-accent-glow: 0 6px 18px rgb(var(--theme-accent-rgb) / 0.14);
  --theme-focus-ring: 0 0 0 3px rgb(var(--theme-accent-rgb) / 0.12);
  --theme-button-bg: #3390ec;
  --theme-button-text: #ffffff;
  --theme-button-bg-hover: #2481df;
  --theme-chat-bubble-bg: #ffffff;
  --theme-chat-bubble-border: rgb(53 84 114 / 0.08);
  --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: #17212b;
  --theme-bg-secondary: #232e3c;
  --theme-surface: #1f2a38;
  --theme-surface-strong: #253242;
  --theme-surface-tint: rgb(31 42 56 / 0.94);
  --theme-text: #f5f7fb;
  --theme-muted: #9aa8b8;
  --theme-border: rgb(136 170 204 / 0.16);
  --theme-input-bg: #253242;
  --theme-modal-bg: #1f2a38;
  --theme-overlay: rgb(15 24 37 / 0.6);
  --theme-icon: #f5f7fb;
  --theme-shadow: 0 12px 34px rgb(0 0 0 / 0.28);
  --theme-card-shadow: 0 2px 8px rgb(0 0 0 / 0.16);
  --theme-accent: #5ba8f6;
  --theme-accent-strong: #7ab8fb;
  --theme-accent-rgb: 91 168 246;
  --theme-accent-soft: rgb(var(--theme-accent-rgb) / 0.18);
  --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: #5ba8f6;
  --theme-button-text: #17212b;
  --theme-button-bg-hover: #7ab8fb;
  --theme-chat-bubble-bg: #223040;
  --theme-chat-bubble-border: rgb(136 170 204 / 0.12);
  --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);
}
