/* CSS Design Tokens */
:root {
  /* 色彩系統 */
  --color-bg-primary: #0a0a0f;
  --color-bg-secondary: #12121a;
  --color-bg-card: #1a1a24;
  --color-bg-card-hover: #22222e;
  --color-border: #2a2a3a;
  --color-border-hover: #3a3a4a;

  --color-text-primary: #f0f0f5;
  --color-text-secondary: #8888aa;
  --color-text-muted: #555566;

  --color-accent-cyan: #00ffff;
  --color-accent-orange: #ff6b35;
  --color-accent-purple: #a855f7;
  --color-accent-green: #22c55e;
  --color-accent-red: #ef4444;
  --color-accent-yellow: #eab308;

  /* Snowflake 位元區塊色彩 */
  --color-bit-sign: #6366f1;
  --color-bit-timestamp: #00ffff;
  --color-bit-datacenter: #f59e0b;
  --color-bit-worker: #ec4899;
  --color-bit-sequence: #22c55e;

  /* Leaf-Segment 色彩 */
  --color-buffer-active: #00ffff;
  --color-buffer-standby: #f59e0b;
  --color-buffer-loading: #a855f7;
  --color-buffer-empty: #555566;

  /* 間距系統 */
  --spacing-xs: 4px;
  --spacing-sm: 8px;
  --spacing-md: 16px;
  --spacing-lg: 24px;
  --spacing-xl: 48px;
  --spacing-2xl: 80px;

  /* 字體 */
  --font-display: 'Outfit', 'Space Grotesk', sans-serif;
  --font-body: 'Noto Sans TC', 'Noto Sans SC', sans-serif;
  --font-mono: 'JetBrains Mono', 'Fira Code', monospace;

  /* 字體大小 */
  --font-size-xs: 0.75rem;
  --font-size-sm: 0.875rem;
  --font-size-base: 1rem;
  --font-size-lg: 1.125rem;
  --font-size-xl: 1.25rem;
  --font-size-2xl: 1.5rem;
  --font-size-3xl: 2rem;
  --font-size-4xl: 2.5rem;
  --font-size-5xl: 3.5rem;

  /* 行高 */
  --line-height-tight: 1.2;
  --line-height-normal: 1.5;
  --line-height-relaxed: 1.75;

  /* 圓角 */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  --radius-full: 9999px;

  /* 陰影 */
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3);
  --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.4);
  --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.5);
  --shadow-glow-cyan: 0 0 20px rgba(0, 255, 255, 0.3);
  --shadow-glow-orange: 0 0 20px rgba(255, 107, 53, 0.3);
  --shadow-glow-purple: 0 0 20px rgba(168, 85, 247, 0.3);
  --shadow-glow-green: 0 0 20px rgba(34, 197, 94, 0.3);

  /* 過渡 */
  --transition-fast: 150ms ease;
  --transition-normal: 300ms ease;
  --transition-slow: 500ms ease;

  /* Z-index 層級 */
  --z-base: 0;
  --z-dropdown: 100;
  --z-sticky: 200;
  --z-fixed: 300;
  --z-modal: 400;
  --z-tooltip: 500;

  /* 容器寬度 */
  --container-max-width: 1200px;
  --container-padding: var(--spacing-lg);
}

/* 暗色主題特效 */
@media (prefers-reduced-motion: no-preference) {
  :root {
    --transition-normal: 300ms ease;
  }
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --transition-fast: 0ms;
    --transition-normal: 0ms;
    --transition-slow: 0ms;
  }
}
