/**
 * CFT LMS design tokens + fonts (from CFT-LMS-demo.html).
 */

@font-face {
	font-family: "IBM Plex Sans";
	font-style: normal;
	font-weight: 100 700;
	font-display: swap;
	src: url("../fonts/ibm-plex-sans-var.woff2") format("woff2");
}

@font-face {
	font-family: "IBM Plex Mono";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/ibm-plex-mono-400.woff2") format("woff2");
}

@font-face {
	font-family: "IBM Plex Mono";
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url("../fonts/ibm-plex-mono-500.woff2") format("woff2");
}

@font-face {
	font-family: "Switzer";
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
	src: url("../fonts/hanken-grotesk-var.woff2") format("woff2");
}

:root,
body.cft-lms-skin,
.cft-portal {
	--cft-compliance-white: #f7f7f7;
	--cft-regulatory-black: #242424;
	--cft-archive-beige: #d1c5b2;
	--cft-control-navy: #103b58;
	--cft-transport-blue: #406279;
	--cft-mist-grey: #cfd8de;
	--cft-file-sand: #c7b289;
	--cft-slate-blue: #70899b;
	--cft-navy-900: #0a2638;
	--cft-navy-800: #0d3149;
	--cft-navy-700: #103b58;
	--cft-navy-600: #1c4d6d;
	--cft-navy-500: #406279;
	--cft-grey-100: #eef1f3;
	--cft-grey-200: #dfe5e9;
	--cft-grey-300: #cfd8de;
	--cft-grey-400: #aab8c1;
	--cft-grey-500: #70899b;
	--cft-grey-600: #54697a;
	--cft-grey-700: #3a4953;
	--cft-ink-700: #3a3a3a;
	--cft-ink-900: #242424;
	--cft-paper: #f7f7f7;
	--cft-paper-warm: #efeae1;
	--cft-heavy-ochre: #8f6b26;
	--cft-operational-orange: #ef803f;
	--cft-safety-orange: #f29965;
	--cft-caution-orange: #f5b38c;
	--cft-marker-yellow: #efb23f;
	--cft-hazard-amber: #f5d18c;
	--cft-alert-gold: #f2c165;
	--cft-signal-red: #db3627;
	--cft-control-red: #832017;
	--cft-containment-red: #581610;
	--cft-alert-red: #af2b1f;

	--bg: var(--cft-compliance-white);
	--bg-warm: var(--cft-paper-warm);
	--bg-inverse: var(--cft-navy-800);
	--surface: #ffffff;
	--surface-2: var(--cft-grey-100);
	--surface-sunken: var(--cft-grey-200);
	--surface-inverse: var(--cft-navy-700);
	--text: var(--cft-regulatory-black);
	--text-muted: var(--cft-grey-600);
	--text-subtle: var(--cft-grey-500);
	--text-on-brand: var(--cft-compliance-white);
	--text-link: var(--cft-control-navy);
	--border: var(--cft-grey-200);
	--border-strong: var(--cft-grey-400);
	--border-brand: var(--cft-control-navy);
	--focus-ring: var(--cft-operational-orange);
	--danger: var(--cft-signal-red);
	--success: #2f7d52;
	--info: var(--cft-transport-blue);
	--accent: var(--cft-operational-orange);
	--accent-strong: #d96a2a;

	--font-primary: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--font-secondary: "Switzer", "IBM Plex Sans", system-ui, sans-serif;
	--font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
	--fw-regular: 400;
	--fw-medium: 500;
	--fw-semibold: 600;
	--fw-bold: 700;
	--radius-sm: 6px;
	--radius-md: 10px;
	--radius-lg: 14px;
	--dur-fast: 120ms;
	--ease-standard: cubic-bezier(0.2, 0.8, 0.2, 1);

	--cft-bg: var(--bg);
	--cft-surface: var(--surface);
	--cft-text: var(--text);
	--cft-text-muted: var(--text-muted);
	--cft-border: var(--border);
	--cft-border-strong: var(--border-strong);
	--cft-accent: var(--accent);
	--cft-primary: var(--cft-control-navy);
	--cft-radius: var(--radius-md);
	--cft-font: var(--font-primary);
}
