﻿@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Cairo:wght@400;700&display=swap');

:root {
  --ts-primary-900: #0f1729;
  --ts-primary-800: #1a2d4a;
  --ts-primary-700: #2543a5;
  --ts-primary-600: #3a56d4;
  --ts-primary-500: #4a7eff;
  --ts-primary-400: #6ba3ff;
  --ts-primary-300: #8fbfff;
  --ts-primary-200: #c4deff;
  --ts-primary-100: #e6f0ff;

  --ts-secondary-900: #0a4d5c;
  --ts-secondary-600: #00d9f0;
  --ts-secondary-400: #4dfff8;
  --ts-secondary-200: #b3fffa;

  --ts-neutral-900: #0d0f14;
  --ts-neutral-800: #1a1d26;
  --ts-neutral-700: #2d3139;
  --ts-neutral-600: #4a4d57;
  --ts-neutral-500: #7a7d89;
  --ts-neutral-400: #a8acb8;
  --ts-neutral-300: #d1d5e0;
  --ts-neutral-200: #e8eaef;
  --ts-neutral-100: #f5f6fa;
  --ts-neutral-50: #fafbfc;

  --ts-success: #10b981;
  --ts-success-light: #d1fae5;
  --ts-warning: #f59e0b;
  --ts-warning-light: #fef3c7;
  --ts-danger: #ef4444;
  --ts-danger-light: #fee2e2;
  --ts-info: #3b82f6;
  --ts-info-light: #dbeafe;

  --ts-gradient-primary: linear-gradient(135deg, #2543a5 0%, #4a7eff 100%);
  --ts-gradient-secondary: linear-gradient(135deg, #00d9f0 0%, #4dfff8 100%);
  --ts-gradient-dark: linear-gradient(135deg, #0f1729 0%, #1a2d4a 100%);
  --ts-gradient-neon: linear-gradient(135deg, #2543a5 0%, #00d9f0 100%);

  --ts-glass-light: rgba(255, 255, 255, 0.1);
  --ts-glass-medium: rgba(255, 255, 255, 0.15);
  --ts-glass-dark: rgba(15, 23, 41, 0.1);
  --ts-glass-blur: blur(20px);
  --ts-glass-backdrop: rgba(255, 255, 255, 0.8);

  --ts-shadow-xs: 0 1px 2px 0 rgba(15, 23, 41, 0.05);
  --ts-shadow-sm: 0 1px 3px 0 rgba(15, 23, 41, 0.1), 0 1px 2px -1px rgba(15, 23, 41, 0.1);
  --ts-shadow-base: 0 4px 6px -1px rgba(15, 23, 41, 0.1), 0 2px 4px -2px rgba(15, 23, 41, 0.1);
  --ts-shadow-md: 0 10px 15px -3px rgba(15, 23, 41, 0.1), 0 4px 6px -4px rgba(15, 23, 41, 0.1);
  --ts-shadow-lg: 0 20px 25px -5px rgba(15, 23, 41, 0.1), 0 8px 10px -6px rgba(15, 23, 41, 0.1);
  --ts-shadow-xl: 0 25px 50px -12px rgba(15, 23, 41, 0.25);
  --ts-glow-primary: 0 0 20px rgba(74, 126, 255, 0.3);
  --ts-glow-secondary: 0 0 20px rgba(0, 217, 240, 0.3);

  --ts-space-0: 0;
  --ts-space-1: 0.25rem;
  --ts-space-2: 0.5rem;
  --ts-space-3: 0.75rem;
  --ts-space-4: 1rem;
  --ts-space-5: 1.25rem;
  --ts-space-6: 1.5rem;
  --ts-space-8: 2rem;
  --ts-space-10: 2.5rem;
  --ts-space-12: 3rem;
  --ts-space-16: 4rem;
  --ts-space-20: 5rem;
  --ts-space-24: 6rem;

  --ts-radius-none: 0;
  --ts-radius-xs: 0.25rem;
  --ts-radius-sm: 0.5rem;
  --ts-radius-base: 0.75rem;
  --ts-radius-md: 1rem;
  --ts-radius-lg: 1.5rem;
  --ts-radius-xl: 2rem;
  --ts-radius-2xl: 3rem;
  --ts-radius-full: 9999px;

  --ts-font-primary: 'Outfit', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --ts-font-secondary: 'Cairo', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --ts-font-mono: 'IBM Plex Mono', monospace;

  --ts-size-2xs: 0.625rem;
  --ts-size-xs: 0.75rem;
  --ts-size-sm: 0.875rem;
  --ts-size-base: 1rem;
  --ts-size-lg: 1.125rem;
  --ts-size-xl: 1.25rem;
  --ts-size-2xl: 1.5rem;
  --ts-size-3xl: 1.875rem;
  --ts-size-4xl: 2.25rem;

  --ts-weight-light: 300;
  --ts-weight-regular: 400;
  --ts-weight-medium: 500;
  --ts-weight-semibold: 600;
  --ts-weight-bold: 700;
  --ts-weight-extrabold: 800;

  --ts-leading-tight: 1.2;
  --ts-leading-snug: 1.375;
  --ts-leading-normal: 1.5;
  --ts-leading-relaxed: 1.625;

  --ts-tracking-tight: -0.02em;
  --ts-tracking-normal: 0;
  --ts-tracking-wide: 0.025em;

  --ts-duration-75: 75ms;
  --ts-duration-100: 100ms;
  --ts-duration-150: 150ms;
  --ts-duration-200: 200ms;
  --ts-duration-300: 300ms;
  --ts-duration-500: 500ms;
  --ts-duration-700: 700ms;
  --ts-duration-1000: 1000ms;

  --ts-timing-linear: linear;
  --ts-timing-ease-in: cubic-bezier(0.4, 0, 1, 1);
  --ts-timing-ease-out: cubic-bezier(0, 0, 0.2, 1);
  --ts-timing-ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
  --ts-timing-bounce: cubic-bezier(0.68, -0.55, 0.265, 1.55);

  --ts-transition-default: all 300ms cubic-bezier(0.4, 0, 0.2, 1);
  --ts-transition-fast: all 150ms cubic-bezier(0.4, 0, 0.2, 1);
  --ts-transition-slow: all 700ms cubic-bezier(0.4, 0, 0.2, 1);

  --ts-z-hide: -1;
  --ts-z-base: 0;
  --ts-z-sticky: 20;
  --ts-z-dropdown: 100;
  --ts-z-fixed: 1020;
  --ts-z-modal-backdrop: 1040;
  --ts-z-modal: 1050;
  --ts-z-popover: 1060;
  --ts-z-tooltip: 1070;

  --ts-bg-primary: var(--ts-neutral-50);
  --ts-bg-secondary: white;
  --ts-bg-tertiary: var(--ts-neutral-100);
  --ts-text-primary: var(--ts-neutral-900);
  --ts-text-secondary: var(--ts-neutral-600);
  --ts-text-tertiary: var(--ts-neutral-500);
  --ts-border-color: var(--ts-neutral-200);
}

@media (prefers-color-scheme: dark) {
  :root {
    --ts-bg-primary: var(--ts-neutral-900);
    --ts-bg-secondary: var(--ts-neutral-800);
    --ts-bg-tertiary: var(--ts-neutral-700);
    --ts-text-primary: var(--ts-neutral-50);
    --ts-text-secondary: var(--ts-neutral-300);
    --ts-text-tertiary: var(--ts-neutral-400);
    --ts-border-color: var(--ts-neutral-700);
  }
}

[data-theme="dark"] {
  --ts-bg-primary: var(--ts-neutral-900);
  --ts-bg-secondary: var(--ts-neutral-800);
  --ts-bg-tertiary: var(--ts-neutral-700);
  --ts-text-primary: var(--ts-neutral-50);
  --ts-text-secondary: var(--ts-neutral-300);
  --ts-text-tertiary: var(--ts-neutral-400);
  --ts-border-color: var(--ts-neutral-700);
}

/* UI Variations */
body.cartoon-mode {
  --ts-radius-base: 1.5rem;
  --ts-radius-md: 2rem;
  --ts-radius-lg: 2.5rem;
  --ts-radius-xl: 3rem;
  --ts-radius-2xl: 4rem;
}

body.cartoon-mode .card,
body.cartoon-mode .service-card-landing,
body.cartoon-mode .project-card-landing {
  border-width: 3px;
  box-shadow: 0 10px 0 var(--ts-border-color);
}

body.cartoon-mode .btn {
  border-bottom-width: 4px;
}

/* Utility Classes */
.flex-between { display: flex; align-items: center; justify-content: space-between; }
.flex-center { display: flex; align-items: center; justify-content: center; }
.text-gradient { background: var(--ts-gradient-primary); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.text-gradient-secondary { background: var(--ts-gradient-secondary); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }

.fas, .fas::before, .fa-solid, .fa-solid::before {
  font-family: "Font Awesome 6 Free" !important;
  font-weight: 900 !important;
}
.far, .far::before, .fa-regular, .fa-regular::before {
  font-family: "Font Awesome 6 Free" !important;
  font-weight: 400 !important;
}
.fab, .fab::before, .fa-brands, .fa-brands::before {
  font-family: "Font Awesome 6 Brands" !important;
  font-weight: 400 !important;
}
.fal, .fal::before, .fa-light, .fa-light::before {
  font-family: "Font Awesome 6 Free" !important;
  font-weight: 300 !important;
}
.fad, .fad::before, .fa-duotone, .fa-duotone::before {
  font-family: "Font Awesome 6 Duotone" !important;
  font-weight: 900 !important;
}
.fa, .fa::before {
  font-family: "Font Awesome 6 Free" !important;
  font-weight: 400 !important;
}
