:root {
  /* Typography */
  --scale-font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --scale-font-size-xs: 0.75rem;
  --scale-font-size-sm: 0.875rem;
  --scale-font-size-base: 1rem;
  --scale-font-size-lg: 1.125rem;
  --scale-font-size-xl: 1.25rem;
  --scale-font-size-2xl: 1.5rem;

  /* Spacing */
  --scale-space-1: 0.25rem;
  --scale-space-2: 0.5rem;
  --scale-space-3: 1rem;
  --scale-space-4: 1.5rem;
  --scale-space-5: 3rem;

  /* Border radius */
  --scale-radius-sm: 0.25rem;
  --scale-radius-base: 0.375rem;
  --scale-radius-lg: 0.5rem;

  /* Shadows */
  --scale-shadow-sm: 0 1px 2px rgba(0,0,0,0.05);
  --scale-shadow-base: 0 1px 3px rgba(0,0,0,0.1);
  --scale-shadow-lg: 0 4px 12px rgba(0,0,0,0.15);

  /* Light theme colors */
  --scale-bg-primary: #ffffff;
  --scale-bg-secondary: #f8f9fa;
  --scale-bg-tertiary: #e9ecef;
  --scale-text-primary: #212529;
  --scale-text-secondary: #6c757d;
  --scale-text-muted: #adb5bd;
  --scale-border-color: #dee2e6;
  --scale-border-color-light: #e9ecef;
  --scale-hover-bg: #f8f9fa;
  --scale-hover-border: #dee2e6;

  /* Semantic colors */
  --scale-success: #198754;
  --scale-danger: #dc3545;
  --scale-warning: #ffc107;
  --scale-info: #0dcaf0;
  --scale-primary: #0d6efd;

  /* Transitions */
  --scale-transition-fast: 0.15s ease;
  --scale-transition-base: 0.2s ease;
}

[data-bs-theme="dark"] {
  --scale-bg-primary: #212529;
  --scale-bg-secondary: #2b3035;
  --scale-bg-tertiary: #343a40;
  --scale-text-primary: #f8f9fa;
  --scale-text-secondary: #adb5bd;
  --scale-text-muted: #6c757d;
  --scale-border-color: #495057;
  --scale-border-color-light: #343a40;
  --scale-hover-bg: #2b3035;
  --scale-hover-border: #495057;
}

/* Prevent navbar flicker: hide feature-gated items until loaded */
.navbar [data-feature-gate] {
  visibility: hidden;
}
.navbar.features-loaded [data-feature-gate] {
  visibility: visible;
  transition: visibility 0s;
}
