/* =============================================================
   GEA · Design Tokens
   Single source of truth for color, type, spacing, radius,
   shadows, motion and layout. Consume only via CSS variables.
   ============================================================= */

:root {
    /* ----- Brand scale (anchor: #01EEEB) ----- */
    --gea-brand-50:  #E5FEFD;
    --gea-brand-100: #B8FAF9;
    --gea-brand-200: #8AF6F4;
    --gea-brand-300: #5CF2EF;
    --gea-brand-400: #2EEEEA;
    --gea-brand-500: #01EEEB;
    --gea-brand-600: #00BEBB;
    --gea-brand-700: #008E8C;
    --gea-brand-800: #005F5E;
    --gea-brand-900: #002F2F;
    --gea-brand: var(--gea-brand-500);

    /* ----- Neutral scale (anchor: #010101 / #FFFFFF) ----- */
    --gea-neutral-0:    #FFFFFF;
    --gea-neutral-50:   #F7F7F8;
    --gea-neutral-100:  #EDEDF0;
    --gea-neutral-200:  #D4D4DC;
    --gea-neutral-300:  #A8A8B5;
    --gea-neutral-400:  #7A7A88;
    --gea-neutral-500:  #54545F;
    --gea-neutral-600:  #38383F;
    --gea-neutral-700:  #26262C;
    --gea-neutral-800:  #18181C;
    --gea-neutral-850:  #131316;
    --gea-neutral-900:  #0A0A0C;
    --gea-neutral-950:  #050506;
    --gea-neutral-1000: #010101;

    /* ----- Semantic ----- */
    --gea-success:        #16D9A4;
    --gea-success-soft:   rgba(22, 217, 164, 0.12);
    --gea-success-border: rgba(22, 217, 164, 0.32);

    --gea-warning:        #FFB020;
    --gea-warning-soft:   rgba(255, 176, 32, 0.12);
    --gea-warning-border: rgba(255, 176, 32, 0.32);

    --gea-danger:         #FF4D4D;
    --gea-danger-soft:    rgba(255, 77, 77, 0.12);
    --gea-danger-border:  rgba(255, 77, 77, 0.32);

    --gea-info:           var(--gea-brand-500);
    --gea-info-soft:      rgba(1, 238, 235, 0.10);
    --gea-info-border:    rgba(1, 238, 235, 0.32);

    /* ----- Surface (dark theme — primary) ----- */
    --gea-bg:              var(--gea-neutral-1000);
    --gea-bg-subtle:       var(--gea-neutral-950);
    --gea-bg-elevated:     var(--gea-neutral-900);
    --gea-surface:         var(--gea-neutral-850);
    --gea-surface-raised:  var(--gea-neutral-800);
    --gea-surface-overlay: var(--gea-neutral-700);
    --gea-surface-inverse: var(--gea-neutral-50);

    /* ----- Border ----- */
    --gea-border-subtle: rgba(255, 255, 255, 0.06);
    --gea-border:        rgba(255, 255, 255, 0.10);
    --gea-border-strong: rgba(255, 255, 255, 0.16);
    --gea-border-brand:  var(--gea-brand-500);
    --gea-divider:       rgba(255, 255, 255, 0.08);

    /* ----- Text ----- */
    --gea-text:          #F5F5F8;
    --gea-text-muted:    #A8A8B5;
    --gea-text-subtle:   #7A7A88;
    --gea-text-disabled: #54545F;
    --gea-text-on-brand: #010101;
    --gea-text-link:     var(--gea-brand-500);

    /* ----- Typography ----- */
    --gea-font-display: 'Space Grotesk', 'Inter', 'Noto Sans Georgian', system-ui, -apple-system, sans-serif;
    --gea-font-sans:    'Inter', 'Noto Sans Georgian', system-ui, -apple-system, 'Segoe UI', sans-serif;
    --gea-font-mono:    'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, Consolas, monospace;

    --gea-text-2xs: 10px;
    --gea-text-xs:  12px;
    --gea-text-sm:  14px;
    --gea-text-md:  16px;
    --gea-text-lg:  18px;
    --gea-text-xl:  20px;
    --gea-text-2xl: 24px;
    --gea-text-3xl: 30px;
    --gea-text-4xl: 36px;
    --gea-text-5xl: 48px;
    --gea-text-6xl: 60px;
    --gea-text-7xl: 72px;

    --gea-leading-none:    1;
    --gea-leading-tight:   1.2;
    --gea-leading-snug:    1.35;
    --gea-leading-normal:  1.5;
    --gea-leading-relaxed: 1.65;

    --gea-weight-regular:  400;
    --gea-weight-medium:   500;
    --gea-weight-semibold: 600;
    --gea-weight-bold:     700;

    --gea-tracking-tighter: -0.04em;
    --gea-tracking-tight:   -0.02em;
    --gea-tracking-normal:  0;
    --gea-tracking-wide:     0.04em;
    --gea-tracking-wider:    0.08em;
    --gea-tracking-widest:   0.16em;

    /* ----- Spacing (4px scale) ----- */
    --gea-space-0:    0;
    --gea-space-0-5:  2px;
    --gea-space-1:    4px;
    --gea-space-1-5:  6px;
    --gea-space-2:    8px;
    --gea-space-3:   12px;
    --gea-space-4:   16px;
    --gea-space-5:   20px;
    --gea-space-6:   24px;
    --gea-space-7:   28px;
    --gea-space-8:   32px;
    --gea-space-10:  40px;
    --gea-space-12:  48px;
    --gea-space-14:  56px;
    --gea-space-16:  64px;
    --gea-space-20:  80px;
    --gea-space-24:  96px;
    --gea-space-32: 128px;

    /* ----- Radius ----- */
    --gea-radius-none: 0;
    --gea-radius-xs:    4px;
    --gea-radius-sm:    6px;
    --gea-radius-md:    8px;
    --gea-radius-lg:   12px;
    --gea-radius-xl:   16px;
    --gea-radius-2xl:  20px;
    --gea-radius-3xl:  28px;
    --gea-radius-full: 9999px;

    /* ----- Shadows (tuned for dark surfaces) ----- */
    --gea-shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, 0.40);
    --gea-shadow-sm: 0 2px 4px -1px rgba(0, 0, 0, 0.40), 0 1px 2px 0 rgba(0, 0, 0, 0.30);
    --gea-shadow-md: 0 4px 8px -2px rgba(0, 0, 0, 0.50), 0 2px 4px -1px rgba(0, 0, 0, 0.30);
    --gea-shadow-lg: 0 12px 24px -4px rgba(0, 0, 0, 0.55), 0 4px 8px -2px rgba(0, 0, 0, 0.35);
    --gea-shadow-xl: 0 24px 48px -8px rgba(0, 0, 0, 0.65), 0 8px 16px -4px rgba(0, 0, 0, 0.45);
    --gea-shadow-2xl: 0 32px 64px -12px rgba(0, 0, 0, 0.75);

    /* Brand glow — used for hover states + featured cards */
    --gea-glow-brand:        0 0 0 1px rgba(1, 238, 235, 0.45), 0 0 24px -4px rgba(1, 238, 235, 0.35);
    --gea-glow-brand-strong: 0 0 0 1px rgba(1, 238, 235, 0.65), 0 0 32px -2px rgba(1, 238, 235, 0.55);

    /* Focus rings */
    --gea-ring-brand:   0 0 0 3px rgba(1, 238, 235, 0.28);
    --gea-ring-danger:  0 0 0 3px rgba(255, 77, 77, 0.28);
    --gea-ring-success: 0 0 0 3px rgba(22, 217, 164, 0.28);

    /* ----- Motion ----- */
    --gea-duration-instant: 75ms;
    --gea-duration-fast:   150ms;
    --gea-duration-base:   200ms;
    --gea-duration-slow:   300ms;
    --gea-duration-slower: 500ms;

    --gea-ease-out:    cubic-bezier(0.16, 1, 0.3, 1);
    --gea-ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
    --gea-ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);

    /* ----- Z-index scale ----- */
    --gea-z-base:     0;
    --gea-z-dropdown: 100;
    --gea-z-sticky:   200;
    --gea-z-overlay:  300;
    --gea-z-modal:    400;
    --gea-z-popover:  500;
    --gea-z-tooltip:  600;
    --gea-z-toast:    700;

    /* ----- Layout ----- */
    --gea-container:   1280px;
    --gea-container-narrow: 960px;
    --gea-header-h:    72px;
    --gea-sidebar-w:   288px;
}
