/* ═══════════════════════════════════════
   DESIGN TOKENS — Consilium
   ═══════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap');

:root {
  /* ─── Colors ─── */
  --bg-primary:      #0f1115;
  --bg-secondary:    #171a20;
  --bg-tertiary:     #22262e;
  --bg-elevated:     #2b3039;
  --bg-recessed:     #11151b;
  --bg-input:        #293441;

  --border-default:  #38414d;
  --border-hover:    #4d5a6a;
  --border-active:   #14b8a6;

  --accent-primary:  #14b8a6;
  --accent-hover:    #5eead4;
  --accent-glow:     rgba(20, 184, 166, 0.16);
  --accent-secondary:#60a5fa;

  --success:         #22c55e;
  --success-bg:      rgba(34, 197, 94, 0.1);
  --warning:         #f59e0b;
  --warning-bg:      rgba(245, 158, 11, 0.1);
  --error:           #ef4444;
  --error-bg:        rgba(239, 68, 68, 0.1);
  --info:            #38bdf8;
  --info-bg:         rgba(56, 189, 248, 0.1);

  --text-primary:    #f8fafc;
  --text-secondary:  #c0c8d2;
  --text-muted:      #7b8794;
  --text-inverse:    #0a0a0f;

  /* ─── Typography ─── */
  --font-sans:       'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-mono:       'JetBrains Mono', 'Fira Code', monospace;

  --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 */

  --leading-tight:   1.25;
  --leading-normal:  1.5;
  --leading-relaxed: 1.75;

  /* ─── Spacing ─── */
  --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 */

  /* ─── Radius ─── */
  --radius-sm:  0.375rem;  /* 6px  */
  --radius-md:  0.5rem;    /* 8px  */
  --radius-lg:  0.5rem;    /* 8px  */
  --radius-xl:  0.5rem;    /* 8px  */
  --radius-2xl: 1.5rem;    /* 24px */
  --radius-full:9999px;

  /* ─── Shadows ─── */
  --shadow-sm:    0 1px 2px rgba(0,0,0,0.3);
  --shadow-md:    0 4px 12px rgba(0,0,0,0.4);
  --shadow-lg:    0 8px 24px rgba(0,0,0,0.5);
  --shadow-glow:  0 0 20px var(--accent-glow);

  /* ─── Transitions ─── */
  --duration-fast:   150ms;
  --duration-normal: 250ms;
  --duration-slow:   400ms;
  --ease-out:        cubic-bezier(0.16, 1, 0.3, 1);
  --ease-spring:     cubic-bezier(0.34, 1.56, 0.64, 1);

  /* ─── Z-index ─── */
  --z-base:     1;
  --z-dropdown: 10;
  --z-sticky:   20;
  --z-overlay:  30;
  --z-modal:    40;
  --z-toast:    50;
}

/* ─── Reset ─── */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  font-family: var(--font-sans);
  font-size: var(--text-base);
  line-height: var(--leading-normal);
  color: var(--text-primary);
  background: var(--bg-primary);
  min-height: 100vh;
  overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6 {
  line-height: var(--leading-tight);
  font-weight: 600;
}

a { color: var(--accent-hover); text-decoration: none; }
a:hover { text-decoration: underline; }

code, pre { font-family: var(--font-mono); }

::selection {
  background: var(--accent-primary);
  color: white;
}

::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb {
  background: var(--border-default);
  border-radius: var(--radius-full);
}
::-webkit-scrollbar-thumb:hover { background: var(--border-hover); }
