:root {
  --domain-primary: #7d27be;
  --domain-primary-dark: #5f1a93;
  --domain-secondary: #c22e4e;
  --domain-accent: #7be228;
  --domain-soft: #f6ecfd;
  --domain-primary-rgb: 125,39,190;
  --domain-primary-dark-rgb: 95,26,147;
  --domain-secondary-rgb: 194,46,78;
  --domain-accent-rgb: 123,226,40;
}

.bg-blue-400,
.bg-blue-500,
.bg-blue-600 { background-color: var(--domain-primary) !important; }
.hover\:bg-blue-700:hover { background-color: var(--domain-primary-dark) !important; }
.bg-blue-50,
.hover\:bg-blue-50:hover { background-color: var(--domain-soft) !important; }
.bg-blue-100 { background-color: color-mix(in srgb, var(--domain-primary) 18%, white) !important; }
.bg-blue-900 { background-color: color-mix(in srgb, var(--domain-primary-dark) 78%, black) !important; }
.text-blue-100 { color: color-mix(in srgb, var(--domain-soft) 78%, white) !important; }
.text-blue-300,
.text-blue-400,
.text-blue-500,
.text-blue-600,
.hover\:text-blue-400:hover,
.hover\:text-blue-600:hover,
.hover\:text-blue-700:hover { color: var(--domain-primary) !important; }
.border-yellow-400 { border-color: var(--domain-accent) !important; }
.border-blue-500,
.focus\:ring-blue-500:focus {
  border-color: var(--domain-primary) !important;
  --tw-ring-color: rgb(var(--domain-primary-rgb) / 1) !important;
}
.from-blue-50 {
  --tw-gradient-from: var(--domain-soft) var(--tw-gradient-from-position) !important;
  --tw-gradient-to: rgb(var(--domain-primary-rgb) / 0) var(--tw-gradient-to-position) !important;
}
.from-purple-50 {
  --tw-gradient-from: color-mix(in srgb, var(--domain-secondary) 10%, white) var(--tw-gradient-from-position) !important;
  --tw-gradient-to: rgb(var(--domain-secondary-rgb) / 0) var(--tw-gradient-to-position) !important;
}
.to-pink-50,
.to-purple-50 { --tw-gradient-to: color-mix(in srgb, var(--domain-accent) 10%, white) var(--tw-gradient-to-position) !important; }
.from-blue-600 {
  --tw-gradient-from: var(--domain-primary) var(--tw-gradient-from-position) !important;
  --tw-gradient-to: rgb(var(--domain-primary-rgb) / 0) var(--tw-gradient-to-position) !important;
}
.via-purple-600 {
  --tw-gradient-to: rgb(var(--domain-secondary-rgb) / 0) var(--tw-gradient-to-position) !important;
  --tw-gradient-stops: var(--tw-gradient-from), var(--domain-secondary) var(--tw-gradient-via-position), var(--tw-gradient-to) !important;
}
.to-pink-600,
.to-purple-600 { --tw-gradient-to: var(--domain-accent) var(--tw-gradient-to-position) !important; }
.icon-gradient {
  background: linear-gradient(45deg, var(--domain-primary), var(--domain-secondary)) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
}
.slider {
  background: linear-gradient(to right, var(--domain-primary) 0%, var(--domain-primary) var(--progress, 0%), #6b7280 var(--progress, 0%), #6b7280 100%) !important;
}
.slider::-webkit-slider-thumb { background: var(--domain-primary) !important; }
.slider::-moz-range-thumb { background: var(--domain-primary) !important; }