/* ===========================
   Theme Variables (CSS Custom Properties)
   =========================== */

:root {
    /* Light Theme (default) */
    --color-bg-primary: #f8f9fa;
    --color-bg-secondary: #ffffff;
    --color-bg-tertiary: #e9ecef;
    --color-surface: #ffffff;
    --color-surface-hover: #f1f3f5;
    
    --color-text-primary: #212529;
    --color-text-secondary: #495057;
    --color-text-muted: #868e96;
    
    --color-accent: #4ecca3;
    --color-accent-hover: #3db892;
    --color-accent-light: rgba(78, 204, 163, 0.1);
    
    --color-border: #dee2e6;
    --color-border-light: #e9ecef;
    
    --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 -1px rgba(0, 0, 0, 0.06);
    --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    
    --hero-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    --hero-overlay: rgba(255, 255, 255, 0.9);
    
    --transition-fast: 0.15s ease;
    --transition-normal: 0.3s ease;
    --transition-slow: 0.5s ease;
    
    --radius-sm: 4px;
    --radius-md: 8px;
    --radius-lg: 12px;
    --radius-xl: 16px;
    --radius-full: 9999px;
    
    --font-sans: 'Inter', 'Noto Sans JP', -apple-system, BlinkMacSystemFont, sans-serif;
    
    --navbar-bg: rgba(255, 255, 255, 0.95);
    --navbar-blur: blur(10px);
}

/* Dark Theme */
[data-theme="dark"] {
    --color-bg-primary: #0d0d0d;
    --color-bg-secondary: #1a1a2e;
    --color-bg-tertiary: #16213e;
    --color-surface: #1a1a2e;
    --color-surface-hover: #252550;
    
    --color-text-primary: #e8e8e8;
    --color-text-secondary: #b8b8b8;
    --color-text-muted: #888888;
    
    --color-accent: #4ecca3;
    --color-accent-hover: #6ee7b7;
    --color-accent-light: rgba(78, 204, 163, 0.15);
    
    --color-border: #2d2d44;
    --color-border-light: #252540;
    
    --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3);
    --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.4), 0 2px 4px -1px rgba(0, 0, 0, 0.3);
    --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.4), 0 4px 6px -2px rgba(0, 0, 0, 0.3);
    --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.5), 0 10px 10px -5px rgba(0, 0, 0, 0.4);
    
    --hero-gradient: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
    --hero-overlay: rgba(13, 13, 13, 0.85);
    
    --navbar-bg: rgba(13, 13, 13, 0.95);
}

/* Theme transition */
body,
body * {
    transition: background-color var(--transition-normal),
                border-color var(--transition-normal),
                color var(--transition-normal),
                box-shadow var(--transition-normal);
}
