/* ============================================
   CalcTools — Design Tokens v2
   "Warm Precision Workshop"
   Bricolage Grotesque + DM Sans
   Forest Green + Paper Cream
   ============================================ */

:root {
  /* ── PRIMARY: Warm Forest Green ── */
  --green-50:  #F0FFF4;
  --green-100: #DCFCE7;
  --green-200: #B7E4C7;
  --green-300: #95D5B2;
  --green-400: #74C69D;
  --green-500: #52B788;
  --green-600: #40916C;
  --green-700: #2D6A4F;
  --green-800: #1B4332;
  --green-900: #0B2618;

  /* ── SURFACE: Paper / Cream ── */
  --paper:       #FFFEF7;
  --paper-warm:  #FBF9F1;
  --paper-tint:  #F5F2E8;
  --paper-muted: #EDE9DD;

  /* ── NEUTRAL: Warm Stone ── */
  --stone-0:   #FFFFFF;
  --stone-50:  #FAF9F6;
  --stone-100: #F0EEEA;
  --stone-200: #E2DFD9;
  --stone-300: #CBC6BD;
  --stone-400: #A39E93;
  --stone-500: #7A756B;
  --stone-600: #5C5850;
  --stone-700: #423F39;
  --stone-800: #2D2B27;
  --stone-900: #1A1917;

  /* ── ACCENT: Warm Amber ── */
  --amber-100: #FEF3C7;
  --amber-300: #FCD34D;
  --amber-500: #F59E0B;
  --amber-700: #B45309;

  /* ── SEMANTIC ── */
  --success:  #40916C;
  --warning:  #E09F3E;
  --error:    #C1121F;
  --info:     #457B9D;

  /* ── CATEGORY ACCENTS ── */
  --cat-finance:      #2D6A4F;
  --cat-math:         #5A189A;
  --cat-health:       #C9184A;
  --cat-construction: #CC6600;
  --cat-auto:         #495057;
  --cat-taxes:        #6A4C93;
  --cat-date:         #168AAD;
  --cat-conversion:   #2D6A4F;
  --cat-physics:      #1D3557;
  --cat-everyday:     #E09F3E;
  --cat-sports:       #9D0208;
  --cat-food:         #BB8A52;
  --cat-chemistry:    #7B2D8E;
  --cat-it:           #0077B6;
  --cat-generators:   #6930C3;
  --cat-ecology:      #40916C;
  --cat-education:    #264653;
  --cat-stats:        #495057;
  --cat-business:     #1B4332;
  --cat-salary:       #7B2D8E;
  --cat-realty:       #9A6700;
  --cat-stocks:       #2D6A4F;

  /* ── TYPOGRAPHY ── */
  --font-display: 'Bricolage Grotesque', 'Georgia', serif;
  --font-body:    'DM Sans', -apple-system, 'Segoe UI', sans-serif;
  --font-mono:    'JetBrains Mono', 'Fira Code', monospace;

  --text-xs:   0.8125rem; /* 13px */
  --text-sm:   0.875rem;  /* 14px */
  --text-base: 1rem;      /* 16px — readable base */
  --text-md:   1.0625rem; /* 17px */
  --text-lg:   1.1875rem; /* 19px */
  --text-xl:   1.375rem;  /* 22px */
  --text-2xl:  1.625rem;  /* 26px */
  --text-3xl:  2.125rem;  /* 34px */
  --text-4xl:  2.75rem;   /* 44px */
  --text-5xl:  3.5rem;    /* 56px */

  --weight-normal:   400;
  --weight-medium:   500;
  --weight-semibold: 600;
  --weight-bold:     700;
  --weight-black:    800;

  --leading-tight:   1.2;
  --leading-snug:    1.35;
  --leading-normal:  1.55;
  --leading-relaxed: 1.7;

  --tracking-tight:  -0.02em;
  --tracking-normal:  0;
  --tracking-wide:    0.02em;
  --tracking-caps:    0.08em;

  /* ── SPACING (4px grid) ── */
  --sp-0:  0;
  --sp-1:  0.25rem;
  --sp-2:  0.5rem;
  --sp-3:  0.75rem;
  --sp-4:  1rem;
  --sp-5:  1.25rem;
  --sp-6:  1.5rem;
  --sp-8:  2rem;
  --sp-10: 2.5rem;
  --sp-12: 3rem;
  --sp-16: 4rem;
  --sp-20: 5rem;
  --sp-24: 6rem;

  /* ── RADIUS ── */
  --r-sm:   4px;
  --r-md:   8px;
  --r-lg:   12px;
  --r-xl:   16px;
  --r-2xl:  20px;
  --r-3xl:  24px;
  --r-full: 9999px;

  /* ── BORDERS (Notion-style light) ── */
  --border-hair:    1px solid rgba(0,0,0,0.06);
  --border-light:   1px solid rgba(0,0,0,0.08);
  --border-default: 1px solid rgba(0,0,0,0.12);
  --border-strong:  1px solid rgba(0,0,0,0.18);
  --border-focus:   2px solid var(--green-500);

  /* ── SHADOWS ── */
  --shadow-xs:    0 1px 2px rgba(0,0,0,0.04);
  --shadow-sm:    0 1px 4px rgba(0,0,0,0.06);
  --shadow-md:    0 4px 12px rgba(0,0,0,0.06);
  --shadow-lg:    0 8px 24px rgba(0,0,0,0.08);
  --shadow-xl:    0 16px 48px rgba(0,0,0,0.1);
  --shadow-inner: inset 0 1px 2px rgba(0,0,0,0.06);
  --shadow-glow:  0 0 0 3px rgba(82,183,136,0.2);
  --shadow-btn:   0 1px 2px rgba(0,0,0,0.1), 0 1px 0 rgba(255,255,255,0.06) inset;

  /* ── MOTION ── */
  --ease-out:    cubic-bezier(0.22, 1, 0.36, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --ease-bounce: cubic-bezier(0.68, -0.55, 0.27, 1.55);
  --dur-fast:    120ms;
  --dur-base:    200ms;
  --dur-slow:    350ms;
  --dur-enter:   450ms;

  /* ── LAYOUT ── */
  --max-w:       1200px;
  --max-w-narrow: 760px;
  --header-h:    60px;

  /* ── Z-INDEX ── */
  --z-base:     1;
  --z-dropdown: 100;
  --z-sticky:   200;
  --z-overlay:  300;
  --z-modal:    400;
  --z-toast:    500;
}
