/**
 * Academia Prosor design tokens — contract v1.
 *
 * Primitive values live here once. Surface styles consume semantic tokens or
 * their compatibility aliases so Gutenberg, Kadence and saved block markup do
 * not depend on a particular plugin stylesheet.
 */

:root {
	/* Color primitives and semantic roles. */
	--prosor-color-primary: #008f72;
	--prosor-color-secondary: #049f82;
	--prosor-color-action: #005f52;
	--prosor-color-action-hover: #073f3a;
	--prosor-color-deep: #073f3a;
	--prosor-color-footer: #052f2b;
	--prosor-color-selection: #dff4ef;
	--prosor-color-canvas: #f7faf9;
	--prosor-color-surface: #fff;
	--prosor-color-border: #d8e6e2;
	--prosor-color-border-soft: #edf3f1;
	--prosor-color-text: #151c1a;
	--prosor-color-text-soft: #344640;
	--prosor-color-muted: #5f6f6b;
	--prosor-color-library: #6e5acd;
	--prosor-color-library-strong: #5844b2;
	--prosor-color-library-soft: #f0ebff;
	--prosor-color-event: #e2b84c;
	--prosor-color-event-text: #73570e;
	--prosor-color-event-soft: #fff4d7;
	--prosor-color-danger: #c94f4f;
	--prosor-color-danger-strong: #b43e3e;
	--prosor-color-danger-soft: #ffe5e5;

	/* Type families and the operative size ramp. */
	--prosor-font-display: "Oxanium", "Segoe UI", system-ui, sans-serif;
	--prosor-font-body: "Atkinson Hyperlegible Next", "Segoe UI", Arial, sans-serif;
	--prosor-font-size-2xs: 11px;
	--prosor-font-size-xs: 12px;
	--prosor-font-size-sm: 13px;
	--prosor-font-size-label: 14px;
	--prosor-font-size-ui: 15px;
	--prosor-font-size-body: 16px;
	--prosor-font-size-body-lg: 17px;
	--prosor-font-size-card-title: 18px;
	--prosor-font-size-title: 20px;
	--prosor-font-size-section: 24px;
	--prosor-font-size-heading: 32px;
	--prosor-font-size-page: 40px;
	--prosor-font-size-display-lg: 48px;
	--prosor-font-size-display-xl: 56px;
	--prosor-font-size-display-2xl: 64px;
	--prosor-font-size-display-hero: 80px;
	--prosor-font-size-display-monument: 104px;

	/* Semantic type aliases mirrored from DESIGN.md. */
	--prosor-font-size-micro: var(--prosor-font-size-2xs);
	--prosor-font-size-caption: var(--prosor-font-size-xs);
	--prosor-font-size-small: var(--prosor-font-size-sm);
	--prosor-font-size-interface: var(--prosor-font-size-ui);
	--prosor-font-size-body-large: var(--prosor-font-size-body-lg);

	/* Four-point spacing scale. */
	--prosor-space-1: 4px;
	--prosor-space-2: 8px;
	--prosor-space-3: 12px;
	--prosor-space-4: 16px;
	--prosor-space-5: 20px;
	--prosor-space-6: 24px;
	--prosor-space-8: 32px;
	--prosor-space-10: 40px;
	--prosor-space-12: 48px;
	--prosor-space-16: 64px;

	/* Shape, elevation and motion. */
	--prosor-radius-xs: 4px;
	--prosor-radius-sm: 8px;
	--prosor-radius-control: 10px;
	--prosor-radius-field: 12px;
	--prosor-radius-card: 14px;
	--prosor-radius-feature: 16px;
	--prosor-radius-panel: 20px;
	--prosor-radius-pill: 999px;
	--prosor-radius-round: 50%;
	--prosor-radius-status: var(--prosor-radius-sm);
	--prosor-shadow-panel: 0 10px 28px rgb(7 63 58 / 5.5%);
	--prosor-shadow-raised: 0 18px 44px rgb(7 63 58 / 12%);
	--prosor-motion-standard: 180ms cubic-bezier(0.2, 0, 0, 1);

	/* Stable aliases retained for existing Prosor Design surfaces. */
	--prosor-primary: var(--prosor-color-primary);
	--prosor-secondary: var(--prosor-color-secondary);
	--prosor-dark: var(--prosor-color-action);
	--prosor-deep: var(--prosor-color-deep);
	--prosor-mint: var(--prosor-color-selection);
	--prosor-cool-white: var(--prosor-color-canvas);
	--prosor-light-gray: var(--prosor-color-border-soft);
	--prosor-text: var(--prosor-color-text);
	--prosor-muted: var(--prosor-color-muted);
	--prosor-red: var(--prosor-color-danger);
	--prosor-yellow: var(--prosor-color-event);
	--prosor-purple: var(--prosor-color-library);
	--prosor-radius: var(--prosor-radius-panel);
	--prosor-radius-large: var(--prosor-space-8);
}
