/* ══════════════════════════════════════════════════════════
   theme.css — Kavi Website Design Tokens
   Dark is default. Light overrides via [data-theme="light"].
   ══════════════════════════════════════════════════════════ */

:root {
  /* ── Core ── */
  --kv-bg:            #0F172A;
  --kv-bg-deep:       #020617;
  --kv-surface:       #1E293B;
  --kv-surface-alpha: rgba(30,41,59,0.6);
  --kv-primary:       #34D399;
  --kv-primary-dark:  #10B981;
  --kv-accent:        #818CF8;
  --kv-accent-solid:  #6366F1;

  /* ── Text ── */
  --kv-text:          #F9FAFB;
  --kv-text-sub:      #9CA3AF;
  --kv-text-dim:      #6B7280;

  /* ── Borders ── */
  --kv-border:        rgba(255,255,255,0.07);
  --kv-border-subtle: rgba(255,255,255,0.05);
  --kv-border-mid:    rgba(255,255,255,0.1);
  --kv-border-strong: rgba(255,255,255,0.15);

  /* ── Semantic ── */
  --kv-error:         #F87171;
  --kv-error-solid:   #EF4444;
  --kv-warning:       #FBBF24;
  --kv-success:       #34D399;

  /* ── Glass / surfaces ── */
  --kv-nav-bg:        rgba(15,23,42,0.85);
  --kv-nav-bg-solid:  rgba(15,23,42,0.97);
  --kv-glass-bg:      rgba(30,41,59,0.6);
  --kv-glass-bg-deep: rgba(30,41,59,0.4);
  --kv-glass-bg-strong: rgba(30,41,59,0.8);
  --kv-glass-bg-solid: rgba(30,41,59,0.95);
  --kv-glass-border:  rgba(255,255,255,0.07);
  --kv-overlay-bg:    rgba(0,0,0,0.7);
  --kv-input-bg:      rgba(15,23,42,0.6);

  /* ── Buttons ── */
  --kv-btn-text:      #0F172A;
  --kv-btn-ghost-bg:  rgba(255,255,255,0.05);
  --kv-btn-ghost-hover: rgba(255,255,255,0.1);

  /* ── Hover / interaction ── */
  --kv-hover-tint:    rgba(255,255,255,0.08);
  --kv-hover-subtle:  rgba(255,255,255,0.04);

  /* ── Shadow ── */
  --kv-shadow:        rgba(0,0,0,0.3);
  --kv-shadow-lg:     rgba(0,0,0,0.4);

  /* ── Compare table ── */
  --kv-compare-head:  rgba(30,41,59,0.8);
  --kv-compare-kavi:  rgba(16,185,129,0.06);
  --kv-compare-row-hover: rgba(16,185,129,0.04);

  /* ── Misc ── */
  --kv-divider:       rgba(255,255,255,0.06);
  --kv-usage-bar-bg:  rgba(255,255,255,0.06);
  --kv-grid-line:     rgba(255,255,255,0.1);
  --kv-mode-card-bg:  rgba(255,255,255,0.04);
  --kv-mode-card-hover: rgba(255,255,255,0.07);
  --kv-dashed-border: rgba(255,255,255,0.15);
  --kv-toast-bg:      rgba(15,23,42,0.95);
  --kv-sheet-handle:  rgba(255,255,255,0.2);
  --kv-sheet-option-hover: rgba(255,255,255,0.04);
  --kv-sheet-cancel:  rgba(255,255,255,0.06);
}

/* ── Light theme overrides ── */
[data-theme="light"] {
  /* Core */
  --kv-bg:            #FFFFFF;
  --kv-bg-deep:       #F8FAF9;
  --kv-surface:       #F1F5F4;
  --kv-surface-alpha: rgba(241,245,244,0.8);
  --kv-primary:       #10B981;
  --kv-primary-dark:  #059669;
  --kv-accent:        #6366F1;
  --kv-accent-solid:  #4F46E5;

  /* Text */
  --kv-text:          #111827;
  --kv-text-sub:      #6B7280;
  --kv-text-dim:      #9CA3AF;

  /* Borders */
  --kv-border:        rgba(0,0,0,0.08);
  --kv-border-subtle: rgba(0,0,0,0.04);
  --kv-border-mid:    rgba(0,0,0,0.1);
  --kv-border-strong: rgba(0,0,0,0.15);

  /* Semantic */
  --kv-error:         #EF4444;
  --kv-error-solid:   #DC2626;
  --kv-warning:       #F59E0B;
  --kv-success:       #10B981;

  /* Glass / surfaces */
  --kv-nav-bg:        rgba(255,255,255,0.85);
  --kv-nav-bg-solid:  rgba(255,255,255,0.97);
  --kv-glass-bg:      rgba(255,255,255,0.7);
  --kv-glass-bg-deep: rgba(255,255,255,0.5);
  --kv-glass-bg-strong: rgba(255,255,255,0.9);
  --kv-glass-bg-solid: rgba(255,255,255,0.95);
  --kv-glass-border:  rgba(0,0,0,0.08);
  --kv-overlay-bg:    rgba(0,0,0,0.4);
  --kv-input-bg:      rgba(243,244,246,0.8);

  /* Buttons */
  --kv-btn-text:      #FFFFFF;
  --kv-btn-ghost-bg:  rgba(0,0,0,0.04);
  --kv-btn-ghost-hover: rgba(0,0,0,0.08);

  /* Hover / interaction */
  --kv-hover-tint:    rgba(0,0,0,0.04);
  --kv-hover-subtle:  rgba(0,0,0,0.02);

  /* Shadow */
  --kv-shadow:        rgba(0,0,0,0.08);
  --kv-shadow-lg:     rgba(0,0,0,0.12);

  /* Compare table */
  --kv-compare-head:  rgba(243,244,246,0.9);
  --kv-compare-kavi:  rgba(16,185,129,0.06);
  --kv-compare-row-hover: rgba(16,185,129,0.04);

  /* Misc */
  --kv-divider:       rgba(0,0,0,0.06);
  --kv-usage-bar-bg:  rgba(0,0,0,0.06);
  --kv-grid-line:     rgba(0,0,0,0.06);
  --kv-mode-card-bg:  rgba(0,0,0,0.03);
  --kv-mode-card-hover: rgba(0,0,0,0.06);
  --kv-dashed-border: rgba(0,0,0,0.15);
  --kv-toast-bg:      rgba(255,255,255,0.95);
  --kv-sheet-handle:  rgba(0,0,0,0.15);
  --kv-sheet-option-hover: rgba(0,0,0,0.04);
  --kv-sheet-cancel:  rgba(0,0,0,0.06);
}

/* ── Light mode: reduce orb intensity ── */
[data-theme="light"] .orb,
[data-theme="light"] .glow-orb {
  opacity: 0.12;
}

/* ── Light mode: adjust glass card shadows ── */
[data-theme="light"] .glass-card {
  box-shadow: 0 1px 3px var(--kv-shadow);
}
[data-theme="light"] .glass-card:hover {
  box-shadow: 0 12px 32px var(--kv-shadow);
}
