/* nucleo-bio design tokens — single source of truth.
   Generated from the 4 page :root blocks (reconciled) + extracted type/spacing scales. */
:root {
  /* surfaces & ink */
  --bg: #ffffff;
  --paper: #ffffff;
  --paper-soft: #fafaf7;
  --ink: #0a0a0a;
  --fg: #0a0a0a;

  /* brand */
  --accent: #bfff00;            /* lime — assinatura Núcleo */
  --accent-soft: rgba(191, 255, 0, 0.18);

  /* text tones */
  --muted: rgba(10, 10, 10, 0.55);
  --muted-soft: rgba(10, 10, 10, 0.42);
  --hairline: rgba(10, 10, 10, 0.14);
  --hairline-strong: rgba(10, 10, 10, 0.28);

  /* semantic */
  --danger: #ff7a7a;

  /* radius */
  --radius-md: 10px;
  --radius-lg: 16px;
  --radius-pill: 999px;

  /* motion */
  --ease: cubic-bezier(0.22, 1, 0.36, 1);

  /* elevation */
  --shadow-card: 0 1px 0 rgba(10,10,10,0.04),
                 0 14px 36px -22px rgba(10,10,10,0.22);
  --shadow-card-hover: 0 1px 0 rgba(10,10,10,0.06),
                       0 28px 56px -24px rgba(10,10,10,0.30);
  --shadow-lg: 0 24px 60px -24px rgba(10,10,10,0.28);

  /* type scale */
  --fs-3xs: 10px;
  --fs-2xs: 11px;
  --fs-xs: 12px;
  --fs-sm: 13px;
  --fs-base: 14px;
  --fs-md: 15px;
  --fs-lg: 16px;
  --fs-xl: 18px;
  --fs-2xl: 20px;
  --fs-3xl: 22px;
  --fs-4xl: 26px;
  --fs-5xl: 28px;
  --fs-6xl: 54px;
  --fs-7xl: 64px;
  --fs-8xl: 72px;
  --fs-h3: clamp(26px, 4.4vw, 34px);
  --fs-h2: clamp(32px, 5vw, 46px);
  --fs-h1: clamp(48px, 6vw, 72px);

  /* spacing scale */
  --sp-4: 4px;   --sp-6: 6px;   --sp-8: 8px;   --sp-10: 10px;
  --sp-12: 12px; --sp-14: 14px; --sp-16: 16px; --sp-18: 18px;
  --sp-20: 20px; --sp-24: 24px; --sp-28: 28px; --sp-32: 32px;
  --sp-36: 36px; --sp-40: 40px; --sp-48: 48px; --sp-56: 56px;
  --sp-64: 64px; --sp-72: 72px; --sp-80: 80px; --sp-96: 96px;
}
