/* RubanBuild — design tokens. No rules here, only custom properties. */
:root {
  /* ── Brand palette ── */
  --rb-primary:       #e69829;
  --rb-primary-dark:  #cb7c11;
  --rb-primary-light: #fff7ed;
  --rb-accent:        #102b45;
  --rb-accent-soft:   #e7eef6;

  /* ── Semantic color aliases (RPS canonical names) ── */
  --color-primary:  var(--rb-primary);
  --color-danger:   #ef4444;
  --color-warning:  #f59e0b;
  --color-info:     #3b82f6;
  --color-success:  #22c55e;
  --color-text:     #1f2937;
  --color-muted:    #6b7280;
  --color-border:   #e6eaf0;
  --color-surface:  #ffffff;
  --color-bg:       #f4f6f9;

  /* ── Full gray scale ── */
  --gray-50:  #f9fafb;
  --gray-100: #f3f4f6;
  --gray-200: #e5e7eb;
  --gray-300: #d1d5db;
  --gray-400: #9ca3af;
  --gray-500: #6b7280;
  --gray-600: #4b5563;
  --gray-700: #374151;
  --gray-800: #1f2937;
  --gray-900: #111827;

  /* ── Spacing scale (4px base) ── */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;

  /* ── Typography ── */
  --fs-xs:   0.75rem;
  --fs-sm:   0.875rem;
  --fs-base: 1rem;
  --fs-lg:   1.125rem;
  --fs-xl:   1.25rem;
  --fs-2xl:  1.5rem;
  --fs-3xl:  1.875rem;
  --fw-normal:   400;
  --fw-medium:   500;
  --fw-semibold: 600;
  --fw-bold:     700;

  /* ── Layout ── */
  --shell-max:    760px;
  --topbar-h:     58px;
  --bottomnav-h:  62px;
  --radius-sm:    6px;
  --radius-md:    10px;
  --radius-lg:    16px;
  --radius-full:  9999px;
  --shadow-sm:    0 1px 3px rgba(0,0,0,.08);
  --shadow-md:    0 2px 14px rgba(16,43,69,.07);
  --shadow-lg:    0 8px 24px rgba(0,0,0,.16);

  /* ── RS Design-System Scale Layer (2026-06-18)
     Naming aliases so rubansoftwares.com canonical names resolve here.
     Additive — no existing rule is changed.                           */

  /* Spacing aliases (main-site names → existing space-1..8 values) */
  --space-xs:  var(--space-1);   /*  4px */
  --space-sm:  var(--space-2);   /*  8px */
  --space-md:  var(--space-4);   /* 16px */
  --space-lg:  var(--space-5);   /* 24px */
  --space-xl:  2.5rem;           /* 40px */
  --space-2xl: var(--space-8);   /* 64px */

  /* Radius aliases (missing entries only) */
  --radius-xl:   24px;
  --radius-pill: 50px;

  /* Typography scale — fluid, responsive via clamp() */
  --text-display: clamp(2.4rem, 5vw,  3.6rem);
  --text-h1:      clamp(2rem,   4vw,  2.8rem);
  --text-h2:      clamp(1.6rem, 3vw,  2.2rem);
  --text-h3:      clamp(1.3rem, 2.2vw, 1.7rem);
  --text-h4:      clamp(1.1rem, 1.6vw, 1.3rem);
  --text-h5:      1.1rem;
  --text-lg:      1.125rem;
  --text-body:    1rem;
  --text-sm:      0.875rem;
  --text-caption: 0.78rem;

  /* Line-heights */
  --leading-tight:   1.2;
  --leading-snug:    1.4;
  --leading-normal:  1.6;
  --leading-relaxed: 1.8;
}

[data-theme="dark"] {
  --color-text:    #f9fafb;
  --color-muted:   #9ca3af;
  --color-surface: #1f2937;
  --color-bg:      #111827;
  --color-border:  #374151;
}
