/* ── SDPal — Design Tokens ── */

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

:root {
  /* Surfaces */
  --bg-base: #060609;
  --bg-1: #0b0b11;
  --bg-2: #101018;
  --bg-3: #16161f;
  --bg-4: #1c1c27;
  --bg-elevated: #1c1c27;
  --bg-secondary: #0b0b11;
  --bg-tertiary: #101018;
  --bg-card: rgba(255,255,255,0.028);
  --bg-card-hover: rgba(255,255,255,0.055);
  --bg-input: rgba(255,255,255,0.04);
  --bg-input-focus: rgba(255,255,255,0.07);

  /* Glass */
  --glass: rgba(10,10,16,0.78);
  --glass-border: rgba(255,255,255,0.06);
  --glass-blur: 16px;
  --glass-card: rgba(255,255,255,0.03);
  --glass-card-border: rgba(255,255,255,0.07);
  --glass-card-hover: rgba(255,255,255,0.06);

  /* Borders */
  --border: rgba(255,255,255,0.07);
  --border-hover: rgba(255,255,255,0.14);
  --border-focus: rgba(34,197,94,0.45);
  --border-subtle: rgba(255,255,255,0.035);

  /* Text */
  --text-1: #f0f2f5;
  --text-2: rgba(255,255,255,0.50);
  --text-3: rgba(255,255,255,0.28);
  --text-inv: #060609;

  /* Accent — green energy */
  --accent: #22c55e;
  --accent-hover: #16a34a;
  --accent-dim: rgba(34,197,94,0.08);
  --accent-mid: rgba(34,197,94,0.18);
  --accent-bright: #4ade80;
  --accent-glow: 0 0 20px rgba(34,197,94,0.15), 0 0 60px rgba(34,197,94,0.04);
  --accent-glow-sm: 0 0 12px rgba(34,197,94,0.10);
  --accent-glow-btn: 0 0 16px rgba(34,197,94,0.20), 0 2px 8px rgba(0,0,0,0.4);

  /* Semantic */
  --danger: #f43f5e;
  --danger-dim: rgba(244,63,94,0.10);
  --danger-border: rgba(244,63,94,0.25);
  --warning: #fbbf24;
  --warning-dim: rgba(251,191,36,0.10);
  --info: #3b82f6;
  --info-dim: rgba(59,130,246,0.10);
  --purple: #a78bfa;
  --purple-dim: rgba(167,139,250,0.08);
  --purple-border: rgba(167,139,250,0.20);
  --cyan: #22d3ee;
  --cyan-dim: rgba(34,211,238,0.08);
  --pink: #f472b6;
  --pink-dim: rgba(244,114,182,0.08);
  --amber: #fbbf24;
  --amber-dim: rgba(251,191,36,0.08);

  /* Shadows */
  --shadow-sm: 0 1px 2px rgba(0,0,0,0.4);
  --shadow-md: 0 4px 16px rgba(0,0,0,0.3), 0 1px 4px rgba(0,0,0,0.2);
  --shadow-lg: 0 12px 40px rgba(0,0,0,0.4), 0 4px 12px rgba(0,0,0,0.25);
  --shadow-xl: 0 24px 60px rgba(0,0,0,0.5);

  /* Radii */
  --r-xs: 6px;
  --r-sm: 8px;
  --r-md: 12px;
  --r-lg: 16px;
  --r-xl: 20px;
  --r-2xl: 24px;
  --r-full: 9999px;

  /* Type */
  --font: 'Outfit', -apple-system, 'Segoe UI', sans-serif;
  --font-mono: 'JetBrains Mono', 'Fira Code', monospace;

  /* Easing */
  --ease: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --t: 0.2s var(--ease-in-out);
  --t-slow: 0.35s var(--ease);
  --t-spring: 0.4s var(--ease-spring);

  /* Layout — responsive, set by breakpoint */
  --nav-h: 48px;
  --bnav-h: 56px;
  --side-w: 64px;
  --content-w: 100%;
  --max-w: 720px;
  --page-px: 16px;
  --page-gap: 12px;
}

/* ── Light Mode ── */
[data-theme="light"] {
  --bg-base: #ffffff;
  --bg-1: #f8f9fa;
  --bg-2: #f1f3f5;
  --bg-3: #e9ecef;
  --bg-4: #dee2e6;
  --bg-elevated: #ffffff;
  --bg-secondary: #f8f9fa;
  --bg-tertiary: #f1f3f5;
  --bg-card: rgba(0,0,0,0.025);
  --bg-card-hover: rgba(0,0,0,0.045);
  --bg-input: rgba(0,0,0,0.03);
  --bg-input-focus: rgba(0,0,0,0.05);

  --glass: rgba(255,255,255,0.85);
  --glass-border: rgba(0,0,0,0.08);
  --glass-card: rgba(0,0,0,0.02);
  --glass-card-border: rgba(0,0,0,0.06);
  --glass-card-hover: rgba(0,0,0,0.04);

  --border: rgba(0,0,0,0.1);
  --border-hover: rgba(0,0,0,0.2);
  --border-focus: rgba(34,197,94,0.5);
  --border-subtle: rgba(0,0,0,0.06);

  --text-1: #1a1a2e;
  --text-2: rgba(0,0,0,0.55);
  --text-3: rgba(0,0,0,0.35);
  --text-inv: #ffffff;

  --accent-dim: rgba(34,197,94,0.08);
  --accent-mid: rgba(34,197,94,0.20);
  --accent-glow: 0 0 20px rgba(34,197,94,0.10), 0 0 60px rgba(34,197,94,0.03);
  --accent-glow-sm: 0 0 12px rgba(34,197,94,0.08);
  --accent-glow-btn: 0 0 16px rgba(34,197,94,0.15), 0 2px 8px rgba(0,0,0,0.1);

  --danger-dim: rgba(244,63,94,0.08);
  --danger-border: rgba(244,63,94,0.20);
  --warning-dim: rgba(251,191,36,0.08);
  --info-dim: rgba(59,130,246,0.08);
  --purple-dim: rgba(167,139,250,0.08);
  --purple-border: rgba(167,139,250,0.15);
  --cyan-dim: rgba(34,211,238,0.08);
  --pink-dim: rgba(244,114,182,0.08);
  --amber-dim: rgba(251,191,36,0.08);

  --shadow-sm: 0 1px 2px rgba(0,0,0,0.06);
  --shadow-md: 0 4px 16px rgba(0,0,0,0.08), 0 1px 4px rgba(0,0,0,0.04);
  --shadow-lg: 0 12px 40px rgba(0,0,0,0.1), 0 4px 12px rgba(0,0,0,0.06);
  --shadow-xl: 0 24px 60px rgba(0,0,0,0.12);
}
[data-theme="light"] body { color-scheme: light; }
[data-theme="light"] ::selection { background: rgba(34,197,94,0.2); color: #000; }

/* ── Tablet ── */
@media (min-width: 768px) {
  :root {
    --nav-h: 48px;
    --page-px: 24px;
    --page-gap: 14px;
  }
}

/* ── Desktop ── */
@media (min-width: 1080px) {
  :root {
    --nav-h: 50px;
    --page-px: 28px;
    --page-gap: 16px;
  }
}
