@font-face { font-family: "DejaVu Sans"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/DejaVuSans.ttf") format("truetype"); }
@font-face { font-family: "DejaVu Sans"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/DejaVuSans-Bold.ttf") format("truetype"); }
@font-face { font-family: "Noto Sans"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/NotoSans-Regular.ttf") format("truetype"); }
@font-face { font-family: "Noto Sans"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/NotoSans-Bold.ttf") format("truetype"); }
/*
  RASi/GreyBeard Labs · PatriciAI/Project:Genesis
  Kit 1.1 staged after completed UIUX review; no deployment or canonical logo approval.
  Values mirror tokens.json; validate contrast before implementation.
*/
:root {
  --font-proof: "DejaVu Sans", "Noto Sans", sans-serif;
  --font-brand: "DejaVu Sans", "Noto Sans", sans-serif;
  --font-mono: "JetBrains Mono", "Noto Sans Mono", ui-monospace, monospace;
  --text-display: clamp(2.5rem, 5vw, 5rem);
  --text-h1: clamp(2rem, 3.5vw, 3.5rem);
  --text-h2: clamp(1.5rem, 2.5vw, 2.25rem);
  --text-h3: 1.5rem; --text-body: 1rem; --text-small: .875rem; --text-caption: .75rem;
  --leading-display: 1.5; --leading-heading: 1.5; --leading-body: 1.5; --leading-compact: 1.3;
  --space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px; --space-5: 20px;
  --space-6: 24px; --space-8: 32px; --space-10: 40px; --space-12: 48px; --space-16: 64px; --space-20: 80px;
  --radius-sm: 6px; --radius-md: 10px; --radius-lg: 16px; --radius-xl: 24px; --radius-pill: 999px;
  --control-sm: 32px; --control-md: 40px; --control-lg: 48px;
  --content-max: 1200px; --reading-max: 720px; --wide-max: 1440px;
  --control-border-min-contrast: 3;
  --safe-desktop: 48px; --safe-tablet: 32px; --safe-mobile: 20px; /* Export safe rectangles: formats.json, never a global proof inset. */
}
[data-theme="light"] { --background:#F5F7FB; --surface:#FFF; --text:#172033; --muted-text:#526078; --primary:#3157A6; --on-primary:#FFF; --border:#C9D2E3; --control-border:#526078; --focus:#155EEF; --error:#B42318; --on-error:#FFF; --success:#16794A; --on-success:#FFF; }
[data-theme="dark"] { --background:#0B1020; --surface:#141C31; --text:#F4F7FF; --muted-text:#B4C0D9; --primary:#91B5FF; --on-primary:#0B1020; --border:#394866; --control-border:#8CA4C2; --focus:#8CC8FF; --error:#FFB4AB; --on-error:#35100D; --success:#6FE5A6; --on-success:#082719; }
[data-theme="psychedelic"] { --background:#111027; --surface:#1D1A42; --text:#FAF8FF; --muted-text:#C7C3E6; --primary:#B9A6FF; --on-primary:#17122F; --border:#554D86; --control-border:#AFA6D7; --focus:#6FE7FF; --error:#FFB4C6; --on-error:#3A0D22; --success:#7DE6C0; --on-success:#082A25; }
:where(:focus-visible) { outline: 2px solid var(--focus); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { animation-duration:.001ms!important; transition-duration:.001ms!important; scroll-behavior:auto!important; } }
