/* Changed for Gould: classes for removed colours deleted (shade steps and
   feedback colours) — spec decision 50. */
[class^="color-"],
[class*=" color-"] {
  --color-o: 1;
}

[class^="bg-"],
[class*=" bg-"] {
  --bg-o: 1;
}

[class^="border-"],
[class*=" border-"] {
  --border-o: 1;
}

.color-inherit { color: inherit; }
.color-white { color: hsl(var(--color-white-hsl) / var(--color-o, 1)); }
.color-white-dark-1 { color: hsl(var(--color-white-dark-1-hsl) / var(--color-o, 1)); }
.color-white-dark-2 { color: hsl(var(--color-white-dark-2-hsl) / var(--color-o, 1)); }
.color-black { color: hsl(var(--color-black-hsl) / var(--color-o, 1)); }

.color-bg-base { color: hsl(var(--color-bg-base-hsl) / var(--color-o, 1)); }

.color-contrast-lower { color: hsl(var(--color-contrast-lower-hsl) / var(--color-o, 1)); }
.color-contrast-low { color: hsl(var(--color-contrast-low-hsl) / var(--color-o, 1)); }
.color-contrast-medium { color: hsl(var(--color-contrast-medium-hsl) / var(--color-o, 1)); }
.color-contrast-high { color: hsl(var(--color-contrast-high-hsl) / var(--color-o, 1)); }
.color-contrast-higher { color: hsl(var(--color-contrast-higher-hsl) / var(--color-o, 1)); }

.color-primary-base { color: hsl(var(--color-primary-base-hsl) / var(--color-o, 1)); }

.color-accent-base { color: hsl(var(--color-accent-base-hsl) / var(--color-o, 1)); }




.bg-transparent { background-color: transparent; }
.bg-inherit { background-color: inherit; }
.bg-white { background-color: hsl(var(--color-white-hsl) / var(--bg-o, 1)); }
.bg-black { background-color: hsl(var(--color-black-hsl) / var(--bg-o, 1)); }

.bg-blue-base { background-color: hsl(var(--color-blue-base-hsl) / var(--bg-o, 1)); }

.bg-default { background-color: hsl(var(--color-bg-base-hsl) / var(--bg-o, 1)); }

.bg-contrast-lower { background-color: hsl(var(--color-contrast-lower-hsl) / var(--bg-o, 1)); }
.bg-contrast-low { background-color: hsl(var(--color-contrast-low-hsl) / var(--bg-o, 1)); }
.bg-contrast-medium { background-color: hsl(var(--color-contrast-medium-hsl) / var(--bg-o, 1)); }
.bg-contrast-high { background-color: hsl(var(--color-contrast-high-hsl) / var(--bg-o, 1)); }
.bg-contrast-higher { background-color: hsl(var(--color-contrast-higher-hsl) / var(--bg-o, 1)); }

.bg-primary-base { background-color: hsl(var(--color-primary-base-hsl) / var(--bg-o, 1)); }

.bg-accent-base { background-color: hsl(var(--color-accent-base-hsl) / var(--bg-o, 1)); }




.border {
  border: var(--border-width, 1px) var(--border-style, solid) hsl(var(--color-contrast-lower-hsl) / var(--border-o, 1));
}
.border-top {
  border-top: var(--border-width, 1px) var(--border-style, solid) hsl(var(--color-contrast-lower-hsl) / var(--border-o, 1));
}
.border-bottom {
  border-bottom: var(--border-width, 1px) var(--border-style, solid) hsl(var(--color-contrast-lower-hsl) / var(--border-o, 1));
}
.border-left {
  border-left: var(--border-width, 1px) var(--border-style, solid) hsl(var(--color-contrast-lower-hsl) / var(--border-o, 1));
}
.border-right {
  border-right: var(--border-width, 1px) var(--border-style, solid) hsl(var(--color-contrast-lower-hsl) / var(--border-o, 1));
}

.border-2 { --border-width: 2px; }
.border-3 { --border-width: 3px; }
.border-4 { --border-width: 4px; }
.border-dotted { --border-style: dotted; }
.border-dashed { --border-style: dashed; }

.border-white { border-color: hsl(var(--color-white-hsl) / var(--border-o, 1)); }
.border-black { border-color: hsl(var(--color-black-hsl) / var(--border-o, 1)); }
.border-blue-base { border-color: hsl(var(--color-blue-base-hsl) / var(--border-o, 1)); }

.border-bg-base { border-color: hsl(var(--color-bg-base-hsl) / var(--border-o, 1)); }

.border-contrast-lower { border-color: hsl(var(--color-contrast-lower-hsl) / var(--border-o, 1)); }
.border-contrast-low { border-color: hsl(var(--color-contrast-low-hsl) / var(--border-o, 1)); }
.border-contrast-medium { border-color: hsl(var(--color-contrast-medium-hsl) / var(--border-o, 1)); }
.border-contrast-high { border-color: hsl(var(--color-contrast-high-hsl) / var(--border-o, 1)); }
.border-contrast-higher { border-color: hsl(var(--color-contrast-higher-hsl) / var(--border-o, 1)); }

.border-primary-base { border-color: hsl(var(--color-primary-base-hsl) / var(--border-o, 1)); }

.border-accent-base { border-color: hsl(var(--color-accent-base-hsl) / var(--border-o, 1)); }




.radius-sm { border-radius: var(--radius-sm); }
.radius-md { border-radius: var(--radius-md); }
.radius-lg { border-radius: var(--radius-lg); }
.radius-50\% { border-radius: 50%; }
.radius-full { border-radius: 50em; }
.radius-0 { border-radius: 0; }
.radius-inherit { border-radius: inherit; }
.radius-top-left-0 { border-top-left-radius: 0; }
.radius-top-right-0 { border-top-right-radius: 0; }
.radius-bottom-right-0 { border-bottom-right-radius: 0; }
.radius-bottom-left-0 { border-bottom-left-radius: 0; }

.shadow-xs { box-shadow: var(--shadow-xs); }
.shadow-sm { box-shadow: var(--shadow-sm); }
.shadow-md { box-shadow: var(--shadow-md); }
.shadow-lg { box-shadow: var(--shadow-lg); }
.shadow-xl { box-shadow: var(--shadow-xl); }
.shadow-none { box-shadow: none; }

.inner-glow,
.inner-glow-top {
  position: relative;
}

.inner-glow::after,
.inner-glow-top::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
}

.inner-glow::after { box-shadow: var(--inner-glow); }
.inner-glow-top::after { box-shadow: var(--inner-glow-top); }

.opacity-0 { opacity: 0; }
.opacity-5\% { opacity: 0.05; }
.opacity-10\% { opacity: 0.1; }
.opacity-15\% { opacity: 0.15; }
.opacity-20\% { opacity: 0.2; }
.opacity-25\% { opacity: 0.25; }
.opacity-30\% { opacity: 0.3; }
.opacity-40\% { opacity: 0.4; }
.opacity-50\% { opacity: 0.5; }
.opacity-60\% { opacity: 0.6; }
.opacity-70\% { opacity: 0.7; }
.opacity-75\% { opacity: 0.75; }
.opacity-80\% { opacity: 0.8; }
.opacity-85\% { opacity: 0.85; }
.opacity-90\% { opacity: 0.9; }
.opacity-95\% { opacity: 0.95; }

.bg-center { background-position: center; }
.bg-top { background-position: center top; }
.bg-right { background-position: right center; }
.bg-bottom { background-position: center bottom; }
.bg-left { background-position: left center; }
.bg-top-left { background-position: left top; }
.bg-top-right { background-position: right top; }
.bg-bottom-left { background-position: left bottom; }
.bg-bottom-right { background-position: right bottom; }
.bg-cover { background-size: cover; }
.bg-no-repeat { background-repeat: no-repeat; }

.z-index-header { z-index: var(--z-index-header); }
.z-index-popover { z-index: var(--z-index-popover); }
.z-index-fixed-element { z-index: var(--z-index-fixed-element); }
.z-index-overlay { z-index: var(--z-index-overlay); }
.z-index-important { z-index: var(--z-index-important); }
.z-index-1 { z-index: 1; }
.z-index-2 { z-index: 2; }
.z-index-3 { z-index: 3; }

.bg-opacity-0 { --bg-o: 0; }
.bg-opacity-5\% { --bg-o: 0.05; }
.bg-opacity-10\% { --bg-o: 0.1; }
.bg-opacity-15\% { --bg-o: 0.15; }
.bg-opacity-20\% { --bg-o: 0.2; }
.bg-opacity-25\% { --bg-o: 0.25; }
.bg-opacity-30\% { --bg-o: 0.3; }
.bg-opacity-40\% { --bg-o: 0.4; }
.bg-opacity-50\% { --bg-o: 0.5; }
.bg-opacity-60\% { --bg-o: 0.6; }
.bg-opacity-70\% { --bg-o: 0.7; }
.bg-opacity-75\% { --bg-o: 0.75; }
.bg-opacity-80\% { --bg-o: 0.8; }
.bg-opacity-85\% { --bg-o: 0.85; }
.bg-opacity-90\% { --bg-o: 0.9; }
.bg-opacity-95\% { --bg-o: 0.95; }

.color-opacity-0 { --color-o: 0; }
.color-opacity-5\% { --color-o: 0.05; }
.color-opacity-10\% { --color-o: 0.1; }
.color-opacity-15\% { --color-o: 0.15; }
.color-opacity-20\% { --color-o: 0.2; }
.color-opacity-25\% { --color-o: 0.25; }
.color-opacity-30\% { --color-o: 0.3; }
.color-opacity-40\% { --color-o: 0.4; }
.color-opacity-50\% { --color-o: 0.5; }
.color-opacity-60\% { --color-o: 0.6; }
.color-opacity-70\% { --color-o: 0.7; }
.color-opacity-75\% { --color-o: 0.75; }
.color-opacity-80\% { --color-o: 0.8; }
.color-opacity-85\% { --color-o: 0.85; }
.color-opacity-90\% { --color-o: 0.9; }
.color-opacity-95\% { --color-o: 0.95; }

.border-opacity-0 { --border-o: 0; }
.border-opacity-5\% { --border-o: 0.05; }
.border-opacity-10\% { --border-o: 0.1; }
.border-opacity-15\% { --border-o: 0.15; }
.border-opacity-20\% { --border-o: 0.2; }
.border-opacity-25\% { --border-o: 0.25; }
.border-opacity-30\% { --border-o: 0.3; }
.border-opacity-40\% { --border-o: 0.4; }
.border-opacity-50\% { --border-o: 0.5; }
.border-opacity-60\% { --border-o: 0.6; }
.border-opacity-70\% { --border-o: 0.7; }
.border-opacity-75\% { --border-o: 0.75; }
.border-opacity-80\% { --border-o: 0.8; }
.border-opacity-85\% { --border-o: 0.85; }
.border-opacity-90\% { --border-o: 0.9; }
.border-opacity-95\% { --border-o: 0.95; }
