/* ===== Typography Seoul Theme System ===== */
/* 중앙화된 테마 변수 - 프로젝트 전반에서 일관성 유지 */

:root {
  /* === Color System === */
  /* Primary Colors */
  --ts-color-primary: #FFD700;
  --ts-color-primary-hover: #E0C200;
  --ts-color-primary-light: rgba(255, 215, 0, 0.1);

  /* Neutral Colors */
  --ts-color-black: #000000;
  --ts-color-white: #ffffff;
  --ts-color-gray-50: #fafafa;
  --ts-color-gray-100: #f5f5f5;
  --ts-color-gray-200: #e5e5e5;
  --ts-color-gray-300: #d4d4d4;
  --ts-color-gray-400: #a3a3a3;
  --ts-color-gray-500: #737373;
  --ts-color-gray-600: #525252;
  --ts-color-gray-700: #404040;
  --ts-color-gray-800: #262626;
  --ts-color-gray-900: #171717;

  /* Semantic Colors */
  --ts-color-background: #ffffff;
  --ts-color-surface: #ffffff;
  --ts-color-text: #000000;
  --ts-color-text-secondary: #525252;
  --ts-color-text-muted: #737373;
  --ts-color-border: #e5e5e5;
  --ts-color-border-light: #f5f5f5;

  /* Accent Colors (from WordPress preset) */
  --ts-color-red: #cf2e2e;
  --ts-color-purple: #9b51e0;
  --ts-color-cyan: #abb8c3;
  --ts-color-orange: #ff6900;
  --ts-color-amber: #fcb900;
  --ts-color-blue: #8ed1fc;
  --ts-color-teal: #8ee8e8;
  --ts-color-pink: #f78da7;

  /* === Typography === */
  --ts-font-sans: 'Noto Sans KR', 'Pretendard', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --ts-font-serif: 'Noto Serif KR', Georgia, 'Times New Roman', serif;
  --ts-font-mono: 'SF Mono', 'Monaco', 'Consolas', 'Liberation Mono', monospace;

  /* Font Sizes */
  --ts-text-xs: 12px;
  --ts-text-sm: 13px;
  --ts-text-base: 16px;
  --ts-text-md: 18px;
  --ts-text-lg: 20px;
  --ts-text-xl: 24px;
  --ts-text-2xl: 30px;
  --ts-text-3xl: 36px;
  --ts-text-4xl: 42px;
  --ts-text-5xl: 48px;

  /* Font Weights */
  --ts-font-light: 300;
  --ts-font-normal: 400;
  --ts-font-medium: 500;
  --ts-font-semibold: 600;
  --ts-font-bold: 700;

  /* Line Heights */
  --ts-leading-none: 1;
  --ts-leading-tight: 1.2;
  --ts-leading-snug: 1.4;
  --ts-leading-normal: 1.6;
  --ts-leading-relaxed: 1.8;
  --ts-leading-loose: 2;

  /* Letter Spacing */
  --ts-tracking-tight: -0.02em;
  --ts-tracking-normal: 0;
  --ts-tracking-wide: 0.02em;

  /* === Spacing === */
  --ts-space-0: 0;
  --ts-space-1: 4px;
  --ts-space-2: 8px;
  --ts-space-3: 12px;
  --ts-space-4: 16px;
  --ts-space-5: 20px;
  --ts-space-6: 24px;
  --ts-space-8: 32px;
  --ts-space-10: 40px;
  --ts-space-12: 48px;
  --ts-space-16: 64px;
  --ts-space-20: 80px;
  --ts-space-24: 96px;

  /* === Layout === */
  --ts-max-width: 1200px;
  --ts-content-width: 800px;
  --ts-narrow-width: 600px;
  --ts-container-padding: 20px;
  --ts-header-height: 80px;

  /* Grid */
  --ts-grid-columns: 12;
  --ts-grid-gap: 24px;

  /* === Effects === */
  /* Border Radius */
  --ts-radius-none: 0;
  --ts-radius-sm: 4px;
  --ts-radius-md: 8px;
  --ts-radius-lg: 12px;
  --ts-radius-xl: 16px;
  --ts-radius-full: 9999px;

  /* Shadows */
  --ts-shadow-none: none;
  --ts-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
  --ts-shadow-md: 0 2px 8px rgba(0, 0, 0, 0.08);
  --ts-shadow-lg: 0 4px 16px rgba(0, 0, 0, 0.12);
  --ts-shadow-xl: 0 8px 32px rgba(0, 0, 0, 0.16);
  --ts-shadow-button: 2px 2px 5px rgba(0, 0, 0, 0.2);

  /* Transitions */
  --ts-transition-fast: 0.15s ease;
  --ts-transition-normal: 0.3s ease;
  --ts-transition-slow: 0.5s ease;

  /* === Breakpoints (for reference) === */
  /* --ts-breakpoint-sm: 480px; */
  /* --ts-breakpoint-md: 768px; */
  /* --ts-breakpoint-lg: 1024px; */
  /* --ts-breakpoint-xl: 1200px; */

  /* === Z-Index Scale === */
  --ts-z-dropdown: 100;
  --ts-z-sticky: 200;
  --ts-z-fixed: 300;
  --ts-z-modal-backdrop: 400;
  --ts-z-modal: 500;
  --ts-z-tooltip: 600;
}

/* Dark Mode Support (optional) */
@media (prefers-color-scheme: dark) {
  :root.auto-dark {
    --ts-color-background: #171717;
    --ts-color-surface: #262626;
    --ts-color-text: #ffffff;
    --ts-color-text-secondary: #a3a3a3;
    --ts-color-text-muted: #737373;
    --ts-color-border: #404040;
    --ts-color-border-light: #262626;
  }
}

/* Manual Dark Mode Class */
.dark-mode {
  --ts-color-background: #171717;
  --ts-color-surface: #262626;
  --ts-color-text: #ffffff;
  --ts-color-text-secondary: #a3a3a3;
  --ts-color-text-muted: #737373;
  --ts-color-border: #404040;
  --ts-color-border-light: #262626;
}
