/* =========================================================================
   LicensePow Design System — Tokens
   CSS Custom Properties: Renkler, Tipografi, Spacing, Radius, Shadow, Z-index
   ========================================================================= */

/* ---------- Google Fonts ---------- */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;600&display=swap');

/* =========================================================================
   LIGHT THEME (varsayılan)
   ========================================================================= */
:root {
  /* ----- Surface / Background ----- */
  --color-bg:           #ffffff;
  --color-bg-alt:       #f7f8fc;
  --color-bg-card:      #ffffff;
  --color-bg-muted:     #eef1f8;
  --color-bg-skeleton:  #eef0f5;
  --color-bg-overlay:   rgba(15, 21, 35, 0.55);
  --color-bg-code:      #f4f6fb;

  /* ----- Border ----- */
  --color-border:        #e5e8f0;
  --color-border-strong: #d3d8e3;
  --color-border-focus:  #3b6fe0;

  /* ----- Text ----- */
  --color-text-primary: #0f1523;
  --color-text-muted:   #5c6a86;
  --color-text-hint:    #9aa3b8;
  --color-text-inverse: #ffffff;
  --color-text-link:    #3b6fe0;

  /* ----- Brand (her iki temada sabit) ----- */
  --color-accent:        #3b6fe0;
  --color-accent-hover:  #2954c4;
  --color-accent-soft:   rgba(59, 111, 224, 0.10);
  --color-accent-strong: #1e3a8a;

  --color-success:       #22c55e;
  --color-success-soft:  rgba(34, 197, 94, 0.12);
  --color-success-text:  #15803d;

  --color-warning:       #f97316;
  --color-warning-soft:  rgba(249, 115, 22, 0.12);
  --color-warning-text:  #c2410c;

  --color-danger:        #ef4444;
  --color-danger-soft:   rgba(239, 68, 68, 0.12);
  --color-danger-text:   #b91c1c;

  --color-info:          #0ea5e9;
  --color-info-soft:     rgba(14, 165, 233, 0.12);
  --color-info-text:     #0369a1;

  --color-purple:        #8b5cf6;
  --color-purple-soft:   rgba(139, 92, 246, 0.12);
  --color-purple-text:   #6d28d9;

  --color-cyan:          #06b6d4;
  --color-cyan-soft:     rgba(6, 182, 212, 0.12);
  --color-cyan-text:     #0e7490;

  /* ----- Tipografi ----- */
  --font-sans: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-mono: 'JetBrains Mono', 'Courier New', monospace;

  --fs-xs:   12px;
  --fs-sm:   13px;
  --fs-base: 15px;
  --fs-md:   16px;
  --fs-lg:   18px;
  --fs-xl:   20px;
  --fs-2xl:  24px;
  --fs-3xl:  30px;
  --fs-4xl:  36px;
  --fs-5xl:  48px;

  --fw-regular:  400;
  --fw-medium:   500;
  --fw-semibold: 600;
  --fw-bold:     700;
  --fw-extra:    800;

  --lh-tight:   1.25;
  --lh-snug:    1.4;
  --lh-normal:  1.6;
  --lh-relaxed: 1.7;

  --tracking-tight:  -0.02em;
  --tracking-tighter: -0.03em;
  --tracking-normal: 0;
  --tracking-wide:   0.025em;

  /* ----- Spacing scale ----- */
  --space-xs:  8px;
  --space-sm:  16px;
  --space-md:  24px;
  --space-lg:  40px;
  --space-xl:  64px;
  --space-2xl: 96px;
  --space-3xl: 128px;

  /* Daha ince ayar */
  --space-1:  4px;
  --space-2:  8px;
  --space-3:  12px;
  --space-4:  16px;
  --space-5:  20px;
  --space-6:  24px;
  --space-7:  28px;
  --space-8:  32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;
  --space-20: 80px;
  --space-24: 96px;

  /* ----- Radius ----- */
  --radius-sm:   6px;
  --radius-md:   10px;
  --radius-lg:   14px;
  --radius-xl:   20px;
  --radius-2xl:  28px;
  --radius-pill: 999px;

  /* ----- Shadow ----- */
  --shadow-xs:    0 1px 2px rgba(15, 21, 35, 0.04);
  --shadow-card:  0 1px 3px rgba(15, 21, 35, 0.06), 0 4px 12px rgba(15, 21, 35, 0.04);
  --shadow-md:    0 4px 12px rgba(15, 21, 35, 0.08);
  --shadow-hover: 0 4px 20px rgba(59, 111, 224, 0.12);
  --shadow-lg:    0 10px 30px rgba(15, 21, 35, 0.10);
  --shadow-xl:    0 20px 50px rgba(15, 21, 35, 0.16);
  --shadow-popover: 0 8px 24px rgba(15, 21, 35, 0.12);
  --shadow-focus:  0 0 0 3px rgba(59, 111, 224, 0.25);

  /* ----- Z-index ----- */
  --z-base:           1;
  --z-dropdown:       1000;
  --z-sticky:         1020;
  --z-fixed:          1030;
  --z-modal-backdrop: 1040;
  --z-modal:          1050;
  --z-popover:        1060;
  --z-tooltip:        1070;
  --z-toast:          1080;

  /* ----- Transitions ----- */
  --transition-fast:  150ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-base:  200ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-slow:  300ms cubic-bezier(0.4, 0, 0.2, 1);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);

  /* ----- Container ----- */
  --container-sm:  640px;
  --container-md:  768px;
  --container-lg:  1024px;
  --container-xl:  1280px;
  --container-2xl: 1440px;

  /* ----- Breakpoints (sadece referans, JS için) ----- */
  --bp-sm:  480px;
  --bp-md:  768px;
  --bp-lg:  1024px;
  --bp-xl:  1280px;
  --bp-2xl: 1536px;

  /* ----- Component spesifik ----- */
  --header-height: 72px;
  --sidebar-width: 280px;
  --demo-sidebar-width: 260px;
}

/* =========================================================================
   DARK THEME
   ========================================================================= */
[data-theme="dark"] {
  --color-bg:           #07080f;
  --color-bg-alt:       #0d1120;
  --color-bg-card:      #111827;
  --color-bg-muted:     #1a2236;
  --color-bg-skeleton:  #1a2236;
  --color-bg-overlay:   rgba(0, 0, 0, 0.7);
  --color-bg-code:      #0d1120;

  --color-border:        rgba(255, 255, 255, 0.08);
  --color-border-strong: rgba(255, 255, 255, 0.16);
  --color-border-focus:  #3b6fe0;

  --color-text-primary: #dde6ff;
  --color-text-muted:   #7a90b8;
  --color-text-hint:    #4d5d7a;
  --color-text-inverse: #0f1523;
  --color-text-link:    #6892ec;

  --color-accent-soft:   rgba(59, 111, 224, 0.18);
  --color-success-soft:  rgba(34, 197, 94, 0.18);
  --color-success-text:  #4ade80;
  --color-warning-soft:  rgba(249, 115, 22, 0.18);
  --color-warning-text:  #fb923c;
  --color-danger-soft:   rgba(239, 68, 68, 0.18);
  --color-danger-text:   #f87171;
  --color-info-soft:     rgba(14, 165, 233, 0.18);
  --color-info-text:     #38bdf8;
  --color-purple-soft:   rgba(139, 92, 246, 0.18);
  --color-purple-text:   #a78bfa;
  --color-cyan-soft:     rgba(6, 182, 212, 0.18);
  --color-cyan-text:     #22d3ee;

  /* Karanlık temada gölge yerine border */
  --shadow-card:  0 1px 0 rgba(255, 255, 255, 0.04), 0 0 0 1px rgba(255, 255, 255, 0.04);
  --shadow-md:    0 4px 16px rgba(0, 0, 0, 0.4);
  --shadow-hover: 0 4px 20px rgba(59, 111, 224, 0.25);
  --shadow-lg:    0 10px 30px rgba(0, 0, 0, 0.5);
  --shadow-popover: 0 8px 24px rgba(0, 0, 0, 0.5);
}

/* =========================================================================
   PREFERS-COLOR-SCHEME — sistem tercihi (manuel toggle önceliklidir)
   ========================================================================= */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) {
    /* Sistem dark ise ve kullanıcı override etmediyse */
  }
}

/* =========================================================================
   REDUCED MOTION
   ========================================================================= */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
