:root {
  /* ===== brand ===== */
  --gt-brand: #5868C8;
  --gt-brand-hover: #4555B8;
  --gt-brand-pressed: #3A47A0;
  --gt-brand-soft: #EEF0FB;
  --gt-brand-softer: #F7F8FD;
  --gt-on-brand: #FFFFFF;

  /* tonal scale */
  --gt-brand-50:  #F2F4FC;
  --gt-brand-100: #E1E5F7;
  --gt-brand-200: #C2CAF0;
  --gt-brand-300: #9CA8E4;
  --gt-brand-400: #7B89D6;
  --gt-brand-500: #5868C8;
  --gt-brand-600: #4555B8;
  --gt-brand-700: #38449C;
  --gt-brand-800: #2A347A;
  --gt-brand-900: #1B2256;

  /* ===== neutrals (warm) ===== */
  --gt-bg:        #FAFAF7;
  --gt-surface:   #FFFFFF;
  --gt-surface-2: #F4F4F0;
  --gt-surface-3: #EDEDE7;
  --gt-line:      #E6E6E0;
  --gt-line-soft: #F0F0EA;

  --gt-ink:           #14141A;
  --gt-ink-secondary: rgba(20, 20, 26, 0.62);
  --gt-ink-tertiary:  rgba(20, 20, 26, 0.42);
  --gt-ink-disabled:  rgba(20, 20, 26, 0.26);

  /* ===== dark surface ===== */
  --gt-dark-bg:        #15172A;
  --gt-dark-surface:   #1E2138;
  --gt-dark-surface-2: #272B45;
  --gt-dark-line:      rgba(255,255,255,0.10);
  --gt-dark-ink:       #F4F4F0;
  --gt-dark-ink-sec:   rgba(244,244,240,0.66);
  --gt-on-dark-brand:  #8E9CE8;

  /* ===== semantic ===== */
  --gt-success: #2F9E66;
  --gt-warning: #C7892B;
  --gt-danger:  #C84858;
  --gt-info:    #5868C8;

  /* ===== type ===== */
  --gt-font-sans: 'Manrope', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  --gt-font-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;

  /* type scale */
  --gt-size-display:  72px;
  --gt-size-h1:       56px;
  --gt-size-h2:       40px;
  --gt-size-h3:       28px;
  --gt-size-h4:       20px;
  --gt-size-body-lg:  18px;
  --gt-size-body:     16px;
  --gt-size-body-sm: 14px;
  --gt-size-caption:  12px;

  /* ===== spacing ===== */
  --gt-sp-1:  4px;
  --gt-sp-2:  8px;
  --gt-sp-3: 12px;
  --gt-sp-4: 16px;
  --gt-sp-5: 20px;
  --gt-sp-6: 24px;
  --gt-sp-8: 32px;
  --gt-sp-10: 40px;
  --gt-sp-12: 48px;
  --gt-sp-16: 64px;
  --gt-sp-20: 80px;
  --gt-sp-24: 96px;
  --gt-sp-32: 128px;

  /* ===== radii ===== */
  --gt-r-xs:  6px;
  --gt-r-sm: 10px;
  --gt-r-md: 14px;
  --gt-r-lg: 20px;
  --gt-r-xl: 28px;
  --gt-r-2xl: 36px;
  --gt-r-full: 999px;

  /* ===== elevation ===== */
  --gt-shadow-xs: 0 1px 2px rgba(20, 20, 26, 0.05);
  --gt-shadow-sm: 0 2px 8px rgba(20, 20, 26, 0.06);
  --gt-shadow-md: 0 12px 32px -8px rgba(20, 20, 26, 0.10);
  --gt-shadow-lg: 0 24px 56px -12px rgba(20, 20, 26, 0.14);
  --gt-shadow-focus: 0 0 0 4px rgba(88, 104, 200, 0.22);
  --gt-shadow-brand: 0 12px 32px -8px rgba(88, 104, 200, 0.45);

  /* ===== motion ===== */
  --gt-dur-instant: 80ms;
  --gt-dur-fast:    150ms;
  --gt-dur-base:    240ms;
  --gt-dur-slow:    400ms;
  --gt-dur-ambient: 800ms;

  --gt-ease-standard: cubic-bezier(0.16, 1, 0.3, 1);   /* powerful ease-out */
  --gt-ease-bouncy:   cubic-bezier(0.34, 1.56, 0.64, 1); /* delightful overshoot */
  --gt-ease-in:       cubic-bezier(0.4, 0, 1, 0.4);
  --gt-ease-linear:   linear;

  /* ===== layout ===== */
  --gt-container: 1200px;
  --gt-container-narrow: 880px;
}

/* =========================================================
   DARK THEME — override on [data-theme="dark"]
   ========================================================= */
[data-theme="dark"] {
  --gt-bg: #15172A;
  --gt-surface: #1E2138;
  --gt-surface-2: #272B45;
  --gt-surface-3: #323657;
  --gt-line: rgba(255, 255, 255, 0.08);
  --gt-line-soft: rgba(255, 255, 255, 0.05);

  --gt-ink: #F4F4F0;
  --gt-ink-secondary: rgba(244, 244, 240, 0.66);
  --gt-ink-tertiary: rgba(244, 244, 240, 0.42);
  --gt-ink-disabled: rgba(244, 244, 240, 0.22);

  --gt-brand-hover: #6B7BD6;
  --gt-brand-pressed: #4555B8;
  --gt-brand-soft: rgba(88, 104, 200, 0.16);
  --gt-brand-softer: rgba(88, 104, 200, 0.08);

  --gt-shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.4);
  --gt-shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.5);
  --gt-shadow-md: 0 12px 32px -8px rgba(0, 0, 0, 0.6);
  --gt-shadow-lg: 0 24px 56px -12px rgba(0, 0, 0, 0.7);
  --gt-shadow-focus: 0 0 0 4px rgba(88, 104, 200, 0.35);
  --gt-shadow-brand: 0 12px 32px -8px rgba(88, 104, 200, 0.6);
}
