@theme {
  /* Colors */
  --color-primary: #3b82f6;
  --color-primary-hover: #2563eb;
  --color-secondary: #64748b;
  --color-success: #22c55e;
  --color-warning: #f59e0b;
  --color-danger: #ef4444;

  /* Canvas colors */
  --color-canvas-bg: #f8fafc;
  --color-canvas-grid: #e2e8f0;
  --color-canvas-guide: #3b82f6;
  --color-canvas-selection: #3b82f6;

  /* Element colors */
  --color-element-hover: rgba(59, 130, 246, 0.1);
  --color-element-selected: rgba(59, 130, 246, 0.2);
  --color-element-border: #3b82f6;

  /* UI colors */
  --color-surface: #ffffff;
  --color-surface-secondary: #f1f5f9;
  --color-border: #e2e8f0;
  --color-text: #0f172a;
  --color-text-muted: #64748b;

  /* Spacing */
  --spacing-canvas: 24px;
  --spacing-panel: 16px;
  --spacing-toolbar: 12px;

  /* Sizing */
  --size-toolbar-height: 56px;
  --size-sidebar-width: 320px;
  --size-tree-width: 340px;

  /* Radii */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-full: 9999px;

  /* Shadows */
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
  --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
  --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
  --shadow-popover: 0 10px 40px rgba(0, 0, 0, 0.15);

  /* Transitions */
  --transition-fast: 150ms;
  --transition-normal: 200ms;
  --transition-slow: 300ms;

  /* Z-index */
  --z-canvas: 1;
  --z-guides: 10;
  --z-toolbar: 20;
  --z-sidebar: 20;
  --z-popover: 30;
  --z-modal: 40;
  --z-tooltip: 50;
  --z-toast: 60;
}

/* Base styles */
@layer base {
  * {
    box-sizing: border-box;
  }

  body {
    @apply font-sans antialiased;
  }
}