/* ============================================================
   KLICDEV DESIGN SYSTEM — Colors & Type
   Dark premium with lime (#A9C249) brand accent
   Font: Satoshi (Fontshare)
   ============================================================ */

/* Satoshi — WOFF2 (optimized) */
@font-face {
  font-family: 'Satoshi';
  src: url('fonts/Satoshi-Light.woff2') format('woff2'),
       url('fonts/Satoshi-Light.ttf') format('truetype');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Satoshi';
  src: url('fonts/Satoshi-Regular.woff2') format('woff2'),
       url('fonts/Satoshi-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Satoshi';
  src: url('fonts/Satoshi-Italic.woff2') format('woff2'),
       url('fonts/Satoshi-Italic.ttf') format('truetype');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Satoshi';
  src: url('fonts/Satoshi-Medium.woff2') format('woff2'),
       url('fonts/Satoshi-Medium.ttf') format('truetype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Satoshi';
  src: url('fonts/Satoshi-Bold.woff2') format('woff2'),
       url('fonts/Satoshi-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Satoshi Variable';
  src: url('fonts/Satoshi-Variable.woff2') format('woff2-variations'),
       url('fonts/Satoshi-Variable.ttf') format('truetype-variations');
  font-weight: 300 900;
  font-style: normal;
  font-display: swap;
}

:root {
  /* ── Brand ─────────────────────────────── */
  --color-brand: #A9C249;
  --color-brand-hover: #b8cf5e;
  --color-brand-muted: rgba(169, 194, 73, 0.15);
  --color-brand-subtle: rgba(169, 194, 73, 0.08);

  /* ── Backgrounds ───────────────────────── */
  --color-bg: #000000;
  --color-bg-elevated: #0a0a0a;
  --color-bg-card: #161616;
  --color-bg-card-hover: #1c1c1c;
  --color-bg-input: #1a1a1a;
  --color-bg-sidebar: #0c0c0c;

  /* ── Borders ───────────────────────────── */
  --color-border: #3E3E3E;
  --color-border-subtle: #2a2a2a;
  --color-border-hover: #555555;

  /* ── Text (foreground) ─────────────────── */
  --color-text: #ACACAC;
  --color-text-heading: #FFFFFF;
  --color-text-muted: #6b6b6b;
  --color-text-inverse: #000000;
  --color-white-soft: #FAFAFA;

  /* semantic aliases */
  --fg-1: #FFFFFF;            /* headings */
  --fg-2: #ACACAC;            /* body */
  --fg-3: #6b6b6b;            /* muted / captions */
  --fg-invert: #000000;       /* on-brand text */

  /* ── Status ────────────────────────────── */
  --color-success: #4ade80;
  --color-warning: #fbbf24;
  --color-error: #f87171;
  --color-info: #60a5fa;

  /* ── Effects ───────────────────────────── */
  --glow-brand: rgba(169, 194, 73, 0.15);
  --shadow-card: 0 4px 24px rgba(0, 0, 0, 0.4);
  --shadow-elevated: 0 8px 40px rgba(0, 0, 0, 0.6);
  --shadow-glow: 0 0 30px rgba(169, 194, 73, 0.1);

  /* ── Radius ────────────────────────────── */
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 12px;
  --radius-full: 100px;

  /* ── Typography ────────────────────────── */
  --font-family: 'Satoshi', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-family-sans: var(--font-family);

  --font-size-xs: 0.75rem;    /* 12px */
  --font-size-sm: 0.875rem;   /* 14px */
  --font-size-base: 1rem;     /* 16px */
  --font-size-lg: 1.125rem;   /* 18px */
  --font-size-xl: 1.25rem;    /* 20px */
  --font-size-2xl: 1.5rem;    /* 24px */
  --font-size-3xl: 2rem;      /* 32px */
  --font-size-4xl: 2.5rem;    /* 40px */
  --font-size-hero: 3rem;     /* 48px — hero H1 */

  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;
  --fw-black: 900;

  --lh-tight: 1.2;
  --lh-normal: 1.6;
  --lh-relaxed: 1.7;

  --tracking-tight: -0.8px;
  --tracking-tight-sm: -0.5px;
  --tracking-tight-xs: -0.3px;
  --tracking-wide: 0.5px;
  --tracking-wider: 1px;

  /* ── Spacing ───────────────────────────── */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;

  /* ── Transitions ───────────────────────── */
  --transition-fast: 0.15s ease;
  --transition-base: 0.2s ease;
  --transition-slow: 0.3s ease;

  /* ── Layout ────────────────────────────── */
  --sidebar-width: 260px;
  --sidebar-collapsed: 72px;
  --header-height: 64px;
  --container-max: 1280px;
}

/* ── Base ────────────────────────────────── */
body {
  font-family: var(--font-family);
  font-weight: var(--fw-regular);
  color: var(--color-text);
  background-color: var(--color-bg);
  line-height: var(--lh-normal);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ── Semantic type classes ───────────────── */
.h-hero {
  font-size: var(--font-size-hero);
  font-weight: var(--fw-bold);
  color: var(--fg-1);
  letter-spacing: var(--tracking-tight);
  line-height: var(--lh-tight);
}

.h-section {
  font-size: var(--font-size-4xl);
  font-weight: var(--fw-bold);
  color: var(--fg-1);
  letter-spacing: var(--tracking-tight);
  line-height: var(--lh-tight);
}

.h-sub {
  font-size: var(--font-size-2xl);
  font-weight: var(--fw-medium);
  color: var(--fg-1);
  letter-spacing: -0.4px;
}

.t-body {
  font-size: 1.1rem;
  font-weight: var(--fw-regular);
  color: var(--fg-2);
  line-height: var(--lh-relaxed);
}

.t-small {
  font-size: var(--font-size-sm);
  color: var(--fg-2);
}

.t-caption {
  font-size: var(--font-size-xs);
  color: var(--fg-3);
  letter-spacing: var(--tracking-wide);
  text-transform: uppercase;
  font-weight: var(--fw-semibold);
}

.t-highlight {
  color: var(--color-brand);
}

/* ── Element defaults ────────────────────── */
h1, h2, h3, h4, h5, h6 {
  color: var(--color-text-heading);
  font-weight: var(--fw-bold);
  line-height: var(--lh-tight);
  letter-spacing: var(--tracking-tight-sm);
}
h1 { font-size: var(--font-size-4xl); }
h2 { font-size: var(--font-size-3xl); }
h3 { font-size: var(--font-size-2xl); }
h4 { font-size: var(--font-size-xl); }
h5 { font-size: var(--font-size-lg); }

p { color: var(--color-text); line-height: var(--lh-relaxed); }
small { font-size: var(--font-size-sm); color: var(--color-text-muted); }

a {
  color: var(--color-brand);
  text-decoration: none;
  transition: color var(--transition-base);
}
a:hover { color: var(--color-brand-hover); }

::selection {
  background-color: var(--color-brand);
  color: var(--color-text-inverse);
}
