/* Flui tokens — implemented from bible/05-design-system/design-language.md */
:root {
  --color-bg: #ffffff;
  --color-bg-soft: #f7fbfd;
  --color-surface: #ffffff;
  --color-text: #021a2d;
  --color-text-muted: #5e7285;
  --color-primary: #29a9f3;
  --color-primary-hover: #1598e6;
  --color-primary-on: #ffffff;
  /* Door fill: water character, WCAG AA with white 15px/600 text. */
  --color-primary-door: #0d6e9c;
  --color-primary-door-hover: #0b5f88;
  --color-accent: #63d2ff;
  --color-mist: #ddf4ff;
  --color-ink-blue: #0e5e8d;
  --color-border: #dceaf2;
  --color-success: #2fae6a;
  --color-warning: #e9a93a;
  --color-error: #b42318;
  --color-slot: #e4eef4;
  --color-recognition-field: #0a3044;

  --font-display: "Fraunces", Georgia, serif;
  --font-primary: "Manrope", system-ui, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, monospace;

  --header-h: 64px;
  --layout-max: 1280px;
  --layout-reading: 720px;
  --layout-hero-copy: 620px;
  --layout-invite-copy: 470px;

  --section-padding-y: 88px;
  --section-padding-x: 24px;
  --section-gap: 48px;
  --type-body: 400 17px/1.75 var(--font-primary);
  --type-body-lg: 400 20px/1.7 var(--font-primary);

  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;
  --space-9: 96px;
  --space-10: 128px;

  --radius-sm: 10px;
  --radius-md: 14px;
  --radius-lg: 28px;
  --radius-xl: 40px;
  --radius-round: 999px;

  --shadow-sm: 0 4px 10px rgba(2, 26, 45, 0.05);
  --shadow-md: 0 12px 32px rgba(2, 26, 45, 0.08);
  --shadow-lg: 0 24px 64px rgba(2, 26, 45, 0.1);

  --motion-fast: 180ms;
  --motion-normal: 240ms;
  --motion-slow: 420ms;
  --motion-enter: 1000ms;
  --motion-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
}

@media (min-width: 1024px) {
  :root {
    --header-h: 72px;
    --section-padding-y: 144px;
    --section-padding-x: 48px;
    --section-gap: 72px;
    --type-body: 400 18px/1.75 var(--font-primary);
    --type-body-lg: 400 22px/1.7 var(--font-primary);
  }
}
