/* ------------ Base colour scheme ------------ */

:root {
	/* Base RGB values (raw) */

	--ss-academic-blue-value: 31, 58, 95;
	--ss-slate-blue-value: 74, 111, 165;
	--ss-amber-value: 233, 180, 76;

	--ss-success-green-value: 46, 125, 50;
	--ss-error-red-value: 198, 40, 40;

	--ss-bg-value: 248, 249, 250;
	--ss-surface-value: 255, 255, 255;
	--ss-text-value: 33, 37, 41;
	--ss-text-muted-value: 108, 117, 125;
	--ss-border-value: 222, 226, 230;
}

:root {
	/* Named colour tokens */
	/* Represents design language */

	--ss-academic-blue: rgb(var(--ss-academic-blue-value));
	--ss-slate-blue: rgb(var(--ss-slate-blue-value));
	--ss-amber: rgb(var(--ss-amber-value));

	--ss-success-green: rgb(var(--ss-success-green-value));
	--ss-error-red: rgb(var(--ss-error-red-value));

	--ss-neutral-bg: rgb(var(--ss-bg-value));
	--ss-neutral-surface: rgb(var(--ss-surface-value));
	--ss-neutral-text: rgb(var(--ss-text-value));
	--ss-neutral-text-muted: rgb(var(--ss-text-muted-value));
	--ss-neutral-border: rgb(var(--ss-border-value));
}

:root {
	/* Role-based theme colours */
	/* The only layer consumed */

	--ss-primary: rgba(var(--ss-academic-blue), 1);
	--ss-secondary: rgba(var(--ss-slate-blue), 1);
	--ss-accent: rgba(var(--ss-amber), 1);

	--ss-success: rgba(var(--ss-success-green), 1);
	--ss-error: rgba(var(--ss-error-red), 1);

	--ss-bg: rgba(var(--ss-neutral-bg), 1);
	--ss-surface: rgba(var(--ss-neutral-surface), 1);
	--ss-text: rgba(var(--ss-neutral-text), 1);
	--ss-text-muted: rgba(var(--ss-neutral-text-muted), 1);
	--ss-border: rgba(var(--ss-neutral-border), 1);
}
