/* ==========================================================================
   ChainVault - Design Tokens & CSS Custom Properties
   Crypto Wallet Dashboard | Dark Glass-Morphism Theme
   ========================================================================== */

:root {
  /* -----------------------------------------------------------------------
     COLOR SYSTEM - Dark Crypto Palette
     ----------------------------------------------------------------------- */

  /* Background Layers (darkest to lightest) */
  --color-bg-deepest:       #060910;
  --color-bg-sidebar:       #080c14;
  --color-bg-primary:       #0a0e17;
  --color-bg-secondary:     #0f1420;
  --color-bg-tertiary:      #141925;
  --color-bg-elevated:      #1a1f2e;
  --color-bg-surface:       #1e2433;
  --color-bg-hover:         #242a3a;

  /* Glass-morphism Surfaces */
  --color-glass-bg:         rgba(26, 31, 46, 0.80);
  --color-glass-bg-light:   rgba(26, 31, 46, 0.60);
  --color-glass-bg-heavy:   rgba(26, 31, 46, 0.92);
  --color-glass-border:     rgba(255, 255, 255, 0.06);
  --color-glass-border-hover: rgba(255, 255, 255, 0.10);
  --color-glass-shine:      rgba(255, 255, 255, 0.03);

  /* Primary - Electric Green */
  --color-primary:          #00e5a0;
  --color-primary-light:    #33edb6;
  --color-primary-dark:     #00c489;
  --color-primary-muted:    rgba(0, 229, 160, 0.60);
  --color-primary-subtle:   rgba(0, 229, 160, 0.15);
  --color-primary-ghost:    rgba(0, 229, 160, 0.08);
  --color-primary-glow:     rgba(0, 229, 160, 0.25);

  /* Semantic - Success (Green) */
  --color-success:          #00e5a0;
  --color-success-bg:       rgba(0, 229, 160, 0.12);
  --color-success-border:   rgba(0, 229, 160, 0.25);

  /* Semantic - Danger (Red) */
  --color-danger:           #ef4444;
  --color-danger-light:     #f87171;
  --color-danger-bg:        rgba(239, 68, 68, 0.12);
  --color-danger-border:    rgba(239, 68, 68, 0.25);
  --color-danger-glow:      rgba(239, 68, 68, 0.20);

  /* Semantic - Warning / Pending (Amber) */
  --color-warning:          #f59e0b;
  --color-warning-light:    #fbbf24;
  --color-warning-bg:       rgba(245, 158, 11, 0.12);
  --color-warning-border:   rgba(245, 158, 11, 0.25);

  /* Semantic - Info (Blue) */
  --color-info:             #3b82f6;
  --color-info-bg:          rgba(59, 130, 246, 0.12);
  --color-info-border:      rgba(59, 130, 246, 0.25);

  /* Text Colors (light on dark) */
  --color-text-primary:     #f0f2f5;
  --color-text-secondary:   #9ca3b4;
  --color-text-tertiary:    #6b7280;
  --color-text-muted:       #4b5263;
  --color-text-inverse:     #0a0e17;

  /* Gray Scale */
  --color-gray-50:          #f9fafb;
  --color-gray-100:         #f0f2f5;
  --color-gray-200:         #d1d5db;
  --color-gray-300:         #9ca3b4;
  --color-gray-400:         #6b7280;
  --color-gray-500:         #4b5263;
  --color-gray-600:         #374151;
  --color-gray-700:         #2a3040;
  --color-gray-800:         #1e2433;
  --color-gray-900:         #141925;

  /* Borders */
  --color-border:           rgba(255, 255, 255, 0.06);
  --color-border-subtle:    rgba(255, 255, 255, 0.04);
  --color-border-strong:    rgba(255, 255, 255, 0.12);
  --color-border-focus:     rgba(0, 229, 160, 0.50);

  /* Token / Coin Brand Colors */
  --color-token-btc:        #f7931a;
  --color-token-eth:        #627eea;
  --color-token-sol:        #9945ff;
  --color-token-usdt:       #26a17b;
  --color-token-usdc:       #2775ca;
  --color-token-bnb:        #f3ba2f;
  --color-token-ada:        #0033ad;
  --color-token-dot:        #e6007a;
  --color-token-avax:       #e84142;
  --color-token-matic:      #8247e5;

  /* -----------------------------------------------------------------------
     TYPOGRAPHY
     ----------------------------------------------------------------------- */

  /* Font Families */
  --font-heading:           'Space Grotesk', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-body:              'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono:              'JetBrains Mono', 'SF Mono', 'Fira Code', 'Cascadia Code', monospace;

  /* Font Sizes - Modular Scale (~1.25 ratio) */
  --text-2xs:               0.625rem;   /* 10px */
  --text-xs:                0.75rem;    /* 12px */
  --text-sm:                0.875rem;   /* 14px */
  --text-base:              1rem;       /* 16px */
  --text-lg:                1.125rem;   /* 18px */
  --text-xl:                1.25rem;    /* 20px */
  --text-2xl:               1.5rem;     /* 24px */
  --text-3xl:               1.875rem;   /* 30px */
  --text-4xl:               2.25rem;    /* 36px */
  --text-5xl:               3rem;       /* 48px */
  --text-6xl:               3.75rem;    /* 60px */

  /* Font Weights */
  --weight-regular:         400;
  --weight-medium:          500;
  --weight-semibold:        600;
  --weight-bold:            700;

  /* Line Heights */
  --leading-none:           1;
  --leading-tight:          1.2;
  --leading-snug:           1.35;
  --leading-normal:         1.5;
  --leading-relaxed:        1.625;

  /* Letter Spacing */
  --tracking-tight:         -0.025em;
  --tracking-normal:        0;
  --tracking-wide:          0.025em;
  --tracking-wider:         0.05em;
  --tracking-widest:        0.1em;

  /* -----------------------------------------------------------------------
     SPACING SCALE (4px base)
     ----------------------------------------------------------------------- */
  --space-0:                0;
  --space-1:                0.25rem;    /* 4px */
  --space-2:                0.5rem;     /* 8px */
  --space-3:                0.75rem;    /* 12px */
  --space-4:                1rem;       /* 16px */
  --space-5:                1.25rem;    /* 20px */
  --space-6:                1.5rem;     /* 24px */
  --space-8:                2rem;       /* 32px */
  --space-10:               2.5rem;     /* 40px */
  --space-12:               3rem;       /* 48px */
  --space-16:               4rem;       /* 64px */
  --space-20:               5rem;       /* 80px */
  --space-24:               6rem;       /* 96px */

  /* -----------------------------------------------------------------------
     BORDER RADIUS
     ----------------------------------------------------------------------- */
  --radius-xs:              0.25rem;    /* 4px */
  --radius-sm:              0.375rem;   /* 6px */
  --radius-md:              0.5rem;     /* 8px */
  --radius-lg:              0.75rem;    /* 12px */
  --radius-xl:              1rem;       /* 16px */
  --radius-2xl:             1.25rem;    /* 20px */
  --radius-full:            9999px;

  /* -----------------------------------------------------------------------
     GLASS-MORPHISM SYSTEM
     ----------------------------------------------------------------------- */
  --glass-blur:             20px;
  --glass-blur-sm:          10px;
  --glass-blur-lg:          40px;
  --glass-blur-xl:          60px;
  --glass-saturate:         1.2;

  /* Composite Glass Styles (use as reference) */
  --glass-backdrop:         blur(var(--glass-blur)) saturate(var(--glass-saturate));
  --glass-backdrop-sm:      blur(var(--glass-blur-sm)) saturate(var(--glass-saturate));
  --glass-backdrop-lg:      blur(var(--glass-blur-lg)) saturate(var(--glass-saturate));

  /* -----------------------------------------------------------------------
     SHADOWS & GLOWS
     ----------------------------------------------------------------------- */

  /* Elevation Shadows */
  --shadow-sm:              0 1px 2px rgba(0, 0, 0, 0.30);
  --shadow-md:              0 4px 6px -1px rgba(0, 0, 0, 0.35),
                            0 2px 4px -2px rgba(0, 0, 0, 0.30);
  --shadow-lg:              0 10px 15px -3px rgba(0, 0, 0, 0.40),
                            0 4px 6px -4px rgba(0, 0, 0, 0.35);
  --shadow-xl:              0 20px 25px -5px rgba(0, 0, 0, 0.45),
                            0 8px 10px -6px rgba(0, 0, 0, 0.40);
  --shadow-2xl:             0 25px 50px -12px rgba(0, 0, 0, 0.60);

  /* Glow Effects */
  --glow-green-sm:          0 0 10px rgba(0, 229, 160, 0.15),
                            0 0 20px rgba(0, 229, 160, 0.08);
  --glow-green:             0 0 15px rgba(0, 229, 160, 0.20),
                            0 0 40px rgba(0, 229, 160, 0.10);
  --glow-green-lg:          0 0 20px rgba(0, 229, 160, 0.25),
                            0 0 60px rgba(0, 229, 160, 0.12),
                            0 0 100px rgba(0, 229, 160, 0.06);
  --glow-green-intense:     0 0 20px rgba(0, 229, 160, 0.40),
                            0 0 60px rgba(0, 229, 160, 0.20),
                            0 0 120px rgba(0, 229, 160, 0.10);
  --glow-red:               0 0 15px rgba(239, 68, 68, 0.20),
                            0 0 40px rgba(239, 68, 68, 0.10);
  --glow-amber:             0 0 15px rgba(245, 158, 11, 0.20),
                            0 0 40px rgba(245, 158, 11, 0.10);

  /* Inner Glows / Inset */
  --glow-inner-green:       inset 0 1px 0 rgba(0, 229, 160, 0.10),
                            inset 0 0 20px rgba(0, 229, 160, 0.05);

  /* -----------------------------------------------------------------------
     TRANSITIONS & ANIMATION
     ----------------------------------------------------------------------- */
  --transition-fast:        150ms ease;
  --transition-base:        200ms ease;
  --transition-slow:        300ms ease;
  --transition-slower:      500ms ease;

  /* Specific Transitions */
  --transition-colors:      color var(--transition-base),
                            background-color var(--transition-base),
                            border-color var(--transition-base);
  --transition-transform:   transform var(--transition-base);
  --transition-shadow:      box-shadow var(--transition-slow);
  --transition-all:         all var(--transition-base);

  /* Easing Curves */
  --ease-out-expo:          cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out-expo:       cubic-bezier(0.87, 0, 0.13, 1);
  --ease-spring:            cubic-bezier(0.34, 1.56, 0.64, 1);

  /* -----------------------------------------------------------------------
     Z-INDEX SCALE
     ----------------------------------------------------------------------- */
  --z-base:                 0;
  --z-dropdown:             100;
  --z-sticky:               200;
  --z-sidebar:              300;
  --z-topbar:               400;
  --z-overlay:              500;
  --z-modal:                600;
  --z-popover:              700;
  --z-tooltip:              800;
  --z-toast:                900;
  --z-max:                  9999;

  /* -----------------------------------------------------------------------
     LAYOUT DIMENSIONS
     ----------------------------------------------------------------------- */
  --sidebar-width:          260px;
  --sidebar-width-collapsed: 72px;
  --topbar-height:          64px;
  --content-max-width:      1400px;
  --content-padding:        var(--space-6);
  --content-padding-mobile: var(--space-4);

  /* -----------------------------------------------------------------------
     BREAKPOINTS (reference only -- use in media queries)
     ----------------------------------------------------------------------- */
  /* --bp-sm:  640px   */
  /* --bp-md:  768px   */
  /* --bp-lg:  1024px  */
  /* --bp-xl:  1280px  */
  /* --bp-2xl: 1536px  */
}
