/* Hallmark · genre: modern-minimal · theme: Quiet · anchor: faculty-teal · macrostructure: semantic event tokens · designed-as-app */
:root {
  /* Shared Special Events and Announcements system. */
  --color-event-ink: oklch(29% 0.03 148);
  --color-event-muted: oklch(49% 0.024 148);
  --color-event-rule: oklch(88% 0.016 142);
  --color-event-canvas: oklch(99% 0.006 110);
  --color-event-canvas-translucent: oklch(99% 0.006 110 / 96%);
  --color-event-surface: oklch(97% 0.014 132);
  --color-event-surface-selected: oklch(96% 0.026 170);
  --color-event-accent: oklch(51% 0.1 181);
  --color-event-accent-strong: oklch(39% 0.085 181);
  --color-event-accent-ink: oklch(99% 0.006 110);
  --color-event-success: oklch(48% 0.11 151);
  --color-event-success-surface: oklch(97% 0.025 151);
  --color-event-warning: oklch(51% 0.09 80);
  --color-event-danger: oklch(48% 0.145 28);
  --color-event-danger-ink: oklch(35% 0.12 28);
  --color-event-danger-rule: oklch(81% 0.065 28);
  --color-event-danger-surface: oklch(97% 0.025 28);
  --color-event-overlay: oklch(18% 0.015 148 / 66%);
  --color-event-shadow: oklch(20% 0.02 148 / 12%);
  --font-event-display: "LINE Seed Sans TH", "Noto Sans Thai", "Leelawadee UI", Tahoma, sans-serif;
  --font-event-body: "LINE Seed Sans TH", "Noto Sans Thai", "Leelawadee UI", Tahoma, sans-serif;
  --text-event-xs: 0.8125rem;
  --text-event-sm: 0.9375rem;
  --text-event-body: 1rem;
  --text-event-section: 1.25rem;
  --text-event-title: 2rem;
  --space-event-3xs: 0.125rem;
  --space-event-2xs: 0.25rem;
  --space-event-xs: 0.5rem;
  --space-event-sm: 0.75rem;
  --space-event-md: 1rem;
  --space-event-lg: 1.5rem;
  --space-event-xl: 2rem;
  --space-event-2xl: 3rem;
  --space-event-3xl: 4rem;
  --space-event-4xl: 4.5rem;
  --radius-event-sm: 0.25rem;
  --radius-event-md: 0.5rem;
  --rule-event: 1px solid var(--color-event-rule);
  --shadow-event-sticky: 0 -8px 24px var(--color-event-shadow);
  --shadow-event-modal: 0 24px 80px oklch(18% 0.015 148 / 24%);
  --ease-event-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-event-in: cubic-bezier(0.7, 0, 0.84, 0);
  --ease-event-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-event-micro: 120ms;
  --dur-event-short: 180ms;
  --dur-event-accordion: 240ms;
  --z-event-sticky: 200;
  --z-event-ribbon: 390;
  --z-event-modal: 400;
  --z-event-raised: 10;

  --color-personnel-ink: oklch(28% 0.03 151);
  --color-personnel-muted: oklch(49% 0.025 151);
  --color-personnel-teal: oklch(53% 0.105 181);
  --color-personnel-green: oklch(50% 0.085 131);
  --color-personnel-line: oklch(89% 0.018 138);
  --color-personnel-surface: oklch(99% 0.004 105);
  --color-personnel-tint: oklch(97% 0.016 133);
  --color-personnel-focus: oklch(55% 0.17 242);
  --font-personnel-sans: "LINE Seed Sans TH", "Noto Sans Thai", "Leelawadee UI", Tahoma, system-ui, sans-serif;
  --text-personnel-xs: 0.8125rem;
  --text-personnel-sm: 0.9375rem;
  --text-personnel-body: 1rem;
  --text-personnel-lead: clamp(1.0625rem, 1rem + 0.2vw, 1.1875rem);
  --text-personnel-section: clamp(1.45rem, 1.25rem + 0.7vw, 1.9rem);
  --text-personnel-title: clamp(1.625rem, 1.35rem + 1vw, 2.35rem);
  --space-personnel-1: 0.375rem;
  --space-personnel-2: 0.625rem;
  --space-personnel-3: 1rem;
  --space-personnel-4: 1.5rem;
  --space-personnel-5: 2rem;
  --space-personnel-6: 3rem;
  --space-personnel-7: 4.5rem;
  --radius-personnel-sm: 0.5rem;
  --radius-personnel-md: 0.875rem;
  --measure-personnel-copy: 72ch;
  --measure-personnel-document: 68rem;
  --size-personnel-portrait: 20rem;
  --size-personnel-icon: 1.25rem;
  --size-personnel-control: 2.75rem;
  --rule-personnel: 1px solid var(--color-personnel-line);
  --dur-personnel-fast: 140ms;
  --ease-personnel: cubic-bezier(0.2, 0, 0, 1);

  /* Academic Degree Program Manager: protected-shell compatible tokens. */
  --color-degree-primary: var(--e-global-color-primary, #7d8f6a);
  --color-degree-accent: var(--e-global-color-secondary, #007c72);
  --color-degree-accent-strong: #315c52;
  --color-degree-accent-ink: #fbfcf9;
  --color-degree-ink: var(--e-global-color-text, #263126);
  --color-degree-muted: #5f6b60;
  --color-degree-line: #d9e0d5;
  --color-degree-line-strong: #b9c5b7;
  --color-degree-canvas: var(--e-global-color-canvas-white, #fbfcf9);
  --color-degree-paper: #fdfefa;
  --color-degree-surface: var(--e-global-color-96482ee, #f7f8f2);
  --color-degree-surface-strong: var(--e-global-color-9f80574, #e9eee4);
  --color-degree-dark: var(--e-global-color-9dc8f35, #4f5528);
  --color-degree-success: #267653;
  --color-degree-warning: #8a5417;
  --color-degree-warning-surface: #fff4d8;
  --color-degree-warning-ink: #745214;
  --color-degree-danger: #b42318;
  --color-degree-danger-surface: #fdf2f0;
  /* Shared admin focus ring. Every plugin admin screen had invented its own:
     seven treatments across seven screens, including WordPress core blue on
     one screen sitting directly beside faculty teal on its sibling, and a 24%
     alpha ring elsewhere that is barely perceptible. A keyboard user moving
     between screens of one product should not have to relearn what "focused"
     looks like, so the ring is defined once here and consumed by name. */
  --rxsu-admin-focus-ring: #007c72;
  --rxsu-admin-focus-ring-width: 2px;
  --rxsu-admin-focus-ring-offset: 2px;
  /* Shared card elevation. Three near-identical shadows existed (0 8px 24px at
     5% and 6%, 0 10px 26px at 6%) plus one screen whose visually identical
     cards were flat, so the same card idiom sat at four different heights
     depending on which screen you were on. */
  --rxsu-admin-card-shadow: 0 8px 24px rgb(38 49 38 / 6%);
  --color-degree-neutral: #758076;
  --color-degree-shadow: oklch(29% 0.03 148 / 9%);
  --color-degree-focus: #007c72;
  --font-degree-display: "LINE Seed Sans TH", "Noto Sans Thai", "Leelawadee UI", Tahoma, sans-serif;
  --font-degree-body: "LINE Seed Sans TH", "Noto Sans Thai", "Leelawadee UI", Tahoma, sans-serif;
  --font-degree-mono: ui-monospace, SFMono-Regular, Menlo, monospace;
  --text-degree-xs: 0.75rem;
  --text-degree-sm: 0.875rem;
  --text-degree-body: 1rem;
  --text-degree-lead: 1.1875rem;
  --text-degree-section: clamp(1.8125rem, 1.55rem + 1.2vw, 2.6875rem);
  --text-degree-title: clamp(2.125rem, 1.75rem + 2.1vw, 4.25rem);
  --space-degree-1: 0.25rem;
  --space-degree-2: 0.5rem;
  --space-degree-3: 0.75rem;
  --space-degree-4: 1rem;
  --space-degree-5: 1.5rem;
  --space-degree-6: 2rem;
  --space-degree-7: 3rem;
  --space-degree-8: 4rem;
  --space-degree-9: 5.5rem;
  --radius-degree-sm: 0.25rem;
  --radius-degree-md: 0.375rem;
  --radius-degree-lg: 0.625rem;
  --measure-degree-copy: 65ch;
  --measure-degree-wide: 73.75rem;
  --size-degree-control: 2.75rem;
  --rule-degree: 1px solid var(--color-degree-line);
  --shadow-degree-raised: 0 14px 40px var(--color-degree-shadow);
  --dur-degree-fast: 140ms;
  --dur-degree-short: 180ms;
  --ease-degree-out: cubic-bezier(0.16, 1, 0.3, 1);
}
