* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

:root {
  --bg-primary: #0f0f23;
  --bg-secondary: #1a1a2e;
  --bg-tertiary: #252540;
  --bg-hover: #2d2d4a;
  --accent-primary: #6366f1;
  --accent-secondary: #8b5cf6;
  --accent-tertiary: #14b8a6;
  --accent-hover: #7c3aed;
  --text-primary: #e8e8f2;
  --text-secondary: #a0a0c0;
  --text-muted: #6b6b8d;
  --border-color: #3a3a5a;
  --success: #10b981;
  --warning: #f59e0b;
  --error: #ef4444;
  --shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.3);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.4);
  --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.5);

  /* Theme-overridable font families */
  --font-topbar: inherit;
  --font-panels: inherit;
  --font-tree-items: inherit;
  --font-context-menus: inherit;

  /* Theme-overridable font size scale factors (1 = default) */
  --scale-topbar: 1;
  --scale-panels: 1;
  --scale-tree-items: 1;
  --scale-context-menus: 1;

  /* Theme-overridable font weights */
  --weight-topbar: 400;
  --weight-panels: 400;
  --weight-tree-items: 400;
  --weight-context-menus: 400;

  /* Theme-overridable panel surfaces */
  --panel-bg: var(--bg-secondary);
  --panel-button-bg: var(--bg-tertiary);
  --panel-button-border: var(--border-color);
}

body {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
    'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
    sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background: linear-gradient(135deg, var(--bg-primary) 0%, var(--bg-secondary) 100%);
  color: var(--text-primary);
  min-height: 100vh;
}

#root {
  width: 100%;
  min-height: 100vh;
}

code {
  font-family: 'Courier New', monospace;
}

