:root {
  /* PWE / Paradise family identity. Functional colours below remain semantic
     UI tokens and must not be replaced by brand amber. */
  /* Golden-ratio layout contract. Phi is used for hierarchy rather than
     decoration: 61.8/38.2 splits, Fibonacci spacing, and restrained motion. */
  --ui-phi: 1.618;
  --ui-golden-major: 61.8%;
  --ui-golden-minor: 38.2%;
  --ui-golden-columns: minmax(0, 1.618fr) minmax(0, 1fr);
  --ui-golden-columns-reverse: minmax(0, 1fr) minmax(0, 1.618fr);
  --ui-content-max: 89rem;
  --ui-reading-measure: 55ch;
  --ui-space-1: 5px;
  --ui-space-2: 8px;
  --ui-space-3: 13px;
  --ui-space-4: 21px;
  --ui-space-5: 34px;
  --ui-space-6: 55px;
  --ui-space-7: 89px;
  --ui-type-xs: 13px;
  --ui-type-sm: 16px;
  --ui-type-md: 21px;
  --ui-type-lg: 34px;
  --ui-type-xl: 55px;
  --ui-duration-exit: 144ms;
  --ui-duration-enter: 233ms;
  --pwe-family-navy: #0e1729;
  --pwe-family-navy-raised: #16233d;
  --pwe-family-amber: #f5b335;
  --pwe-family-amber-text: #a16207;
  --pwe-warm-paper: #f7f5f2;
  --ui-primary: #2563eb;
  --ui-secondary: #0f766e;
  --ui-accent: #f59e0b;
  --ui-bg: #f8fafc;
  --ui-surface: #ffffff;
  --ui-text: #0f172a;
  --ui-muted: #64748b;
  --ui-border: #e2e8f0;
  --ui-error: #dc2626;
  --ui-success: #16a34a;
  --ui-radius-control: 8px;
  --ui-radius-card: 13px;
  --ui-focus: 0 0 0 3px rgba(37, 99, 235, 0.28);
}

:where(button, a, input, select, textarea):focus-visible {
  outline: 2px solid var(--ui-primary);
  outline-offset: 2px;
  box-shadow: var(--ui-focus);
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
