/* ============================================
 * CSS変数定義
 * アプリ全体で使用するカラー、フォント、サイズ等
 * ============================================ */

:root {
  /* === カラーパレット（ダークモード基調） === */
  --color-bg-primary: #0f1117;
  --color-bg-secondary: #1a1d28;
  --color-bg-tertiary: #242836;
  --color-bg-elevated: rgba(36, 40, 54, 0.8);

  /* グラスモーフィズム用 */
  --color-glass-bg: rgba(255, 255, 255, 0.05);
  --color-glass-border: rgba(255, 255, 255, 0.1);
  --color-glass-shadow: rgba(0, 0, 0, 0.3);

  /* テキスト */
  --color-text-primary: #e8eaf0;
  --color-text-secondary: #9da3b4;
  --color-text-muted: #5c6378;
  --color-text-inverse: #0f1117;

  /* アクセント */
  --color-accent-primary: #6c8aff;
  --color-accent-primary-hover: #8ba3ff;
  --color-accent-secondary: #38bdf8;
  --color-accent-gradient: linear-gradient(135deg, #6c8aff, #38bdf8);

  /* ステータス */
  --color-error: #f87171;
  --color-error-bg: rgba(248, 113, 113, 0.12);
  --color-error-border: rgba(248, 113, 113, 0.3);
  --color-warning: #fbbf24;
  --color-warning-bg: rgba(251, 191, 36, 0.12);
  --color-warning-border: rgba(251, 191, 36, 0.3);
  --color-success: #34d399;
  --color-success-bg: rgba(52, 211, 153, 0.12);
  --color-info: #60a5fa;

  /* === フォント === */
  --font-family: 'Inter', 'Noto Sans JP', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-mono: 'JetBrains Mono', 'Consolas', monospace;

  /* フォントサイズ */
  --font-size-xs: 0.7rem;
  --font-size-sm: 0.8rem;
  --font-size-base: 0.9rem;
  --font-size-lg: 1.1rem;
  --font-size-xl: 1.4rem;
  --font-size-2xl: 1.8rem;

  /* === スペーシング === */
  --spacing-xs: 4px;
  --spacing-sm: 8px;
  --spacing-md: 16px;
  --spacing-lg: 24px;
  --spacing-xl: 32px;

  /* === ボーダー === */
  --border-radius-sm: 6px;
  --border-radius-md: 10px;
  --border-radius-lg: 16px;
  --border-width: 1px;

  /* === トランジション === */
  --transition-fast: 150ms ease;
  --transition-base: 250ms ease;
  --transition-slow: 400ms ease;

  /* === シャドウ === */
  --shadow-sm: 0 1px 3px 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);

  /* === テーブル固有 === */
  --table-header-bg: #1e2235;
  --table-row-bg: transparent;
  --table-row-hover: rgba(108, 138, 255, 0.06);
  --table-row-alt: rgba(255, 255, 255, 0.02);
  --table-cell-padding: 4px 8px;
  --table-border-color: rgba(255, 255, 255, 0.06);
}

/* === ライトモード用オーバーライド === */
.light-mode {
  --color-bg-primary: #f8fafc;
  --color-bg-secondary: #ffffff;
  --color-bg-tertiary: #f1f5f9;
  --color-bg-elevated: rgba(255, 255, 255, 0.9);

  --color-glass-bg: rgba(0, 0, 0, 0.03);
  --color-glass-border: rgba(0, 0, 0, 0.08);
  --color-glass-shadow: rgba(0, 0, 0, 0.1);

  --color-text-primary: #1e293b;
  --color-text-secondary: #475569;
  --color-text-muted: #94a3b8;
  --color-text-inverse: #f8fafc;

  --color-accent-primary: #3b82f6;
  --color-accent-primary-hover: #2563eb;
  
  --table-header-bg: #e2e8f0;
  --table-row-bg: #ffffff;
  --table-row-hover: rgba(59, 130, 246, 0.05);
  --table-row-alt: rgba(0, 0, 0, 0.01);
  --table-border-color: rgba(0, 0, 0, 0.08);

  /* 文字が見づらい黄色系統を赤系統に変更 */
  --color-warning: #dc2626;
  --color-warning-bg: rgba(220, 38, 38, 0.08);
  --color-warning-border: rgba(220, 38, 38, 0.3);
}
