/* Theme Definitions - PieFed Client */

/* Dark Theme (Default) */
[data-theme="dark"], :root {
    --bg-primary: #1a1a2e;
    --bg-secondary: #16162a;
    --bg-tertiary: #232342;
    --bg-card: #1f1f3a;
    --bg-navbar: rgba(26, 26, 46, 0.95);
    --bg-sidebar: #16162a;
    --bg-hover: rgba(255, 255, 255, 0.08);
    --bg-input: #232342;
    --bg-search: rgba(255, 255, 255, 0.05);
    
    --text-primary: #ffffff;
    --text-secondary: #a8a8b8;
    --text-tertiary: #6c6c7c;
    
    --border-color: rgba(255, 255, 255, 0.1);
    
    --accent-color: #6366f1;
    --accent-hover: #818cf8;
    --accent-transparent: rgba(99, 102, 241, 0.15);
    
    --success-color: #10b981;
    --success-hover: #34d399;
    --success-transparent: rgba(16, 185, 129, 0.15);
    
    --warning-color: #f59e0b;
    --warning-hover: #fbbf24;
    --warning-transparent: rgba(245, 158, 11, 0.15);
    
    --danger-color: #ef4444;
    --danger-hover: #f87171;
    --danger-transparent: rgba(239, 68, 68, 0.15);
    
    --upvote-color: #f97316;
    --downvote-color: #8b5cf6;
    
    --nsfw-blur: 20px;
}

/* Light Theme */
[data-theme="light"] {
    --bg-primary: #f5f5f7;
    --bg-secondary: #ffffff;
    --bg-tertiary: #e5e5ea;
    --bg-card: #ffffff;
    --bg-navbar: rgba(255, 255, 255, 0.95);
    --bg-sidebar: #ffffff;
    --bg-hover: rgba(0, 0, 0, 0.05);
    --bg-input: #f5f5f7;
    --bg-search: rgba(0, 0, 0, 0.05);
    
    --text-primary: #1c1c1e;
    --text-secondary: #636366;
    --text-tertiary: #8e8e93;
    
    --border-color: rgba(0, 0, 0, 0.1);
    
    --accent-color: #5856d6;
    --accent-hover: #6866e6;
    --accent-transparent: rgba(88, 86, 214, 0.12);
    
    --success-color: #30d158;
    --success-hover: #40e168;
    --success-transparent: rgba(48, 209, 88, 0.12);
    
    --warning-color: #ff9f0a;
    --warning-hover: #ffaf1a;
    --warning-transparent: rgba(255, 159, 10, 0.12);
    
    --danger-color: #ff3b30;
    --danger-hover: #ff4b40;
    --danger-transparent: rgba(255, 59, 48, 0.12);
    
    --upvote-color: #ff6b35;
    --downvote-color: #8b5cf6;
    
    --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.08);
    --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1);
    --shadow-lg: 0 10px 25px rgba(0, 0, 0, 0.12);
    --shadow-xl: 0 20px 40px rgba(0, 0, 0, 0.15);
}

/* OLED Black Theme */
[data-theme="oled"] {
    --bg-primary: #000000;
    --bg-secondary: #0a0a0a;
    --bg-tertiary: #141414;
    --bg-card: #0a0a0a;
    --bg-navbar: rgba(0, 0, 0, 0.98);
    --bg-sidebar: #000000;
    --bg-hover: rgba(255, 255, 255, 0.08);
    --bg-input: #141414;
    --bg-search: rgba(255, 255, 255, 0.05);
    
    --text-primary: #ffffff;
    --text-secondary: #9ca3af;
    --text-tertiary: #6b7280;
    
    --border-color: rgba(255, 255, 255, 0.08);
    
    --accent-color: #3b82f6;
    --accent-hover: #60a5fa;
    --accent-transparent: rgba(59, 130, 246, 0.15);
    
    --success-color: #22c55e;
    --success-hover: #4ade80;
    --success-transparent: rgba(34, 197, 94, 0.15);
    
    --warning-color: #eab308;
    --warning-hover: #facc15;
    --warning-transparent: rgba(234, 179, 8, 0.15);
    
    --danger-color: #ef4444;
    --danger-hover: #f87171;
    --danger-transparent: rgba(239, 68, 68, 0.15);
    
    --upvote-color: #f97316;
    --downvote-color: #a855f7;
}

/* Reddit Theme */
[data-theme="reddit"] {
    --bg-primary: #030303;
    --bg-secondary: #1a1a1b;
    --bg-tertiary: #272729;
    --bg-card: #1a1a1b;
    --bg-navbar: rgba(26, 26, 27, 0.98);
    --bg-sidebar: #1a1a1b;
    --bg-hover: rgba(255, 255, 255, 0.08);
    --bg-input: #272729;
    --bg-search: rgba(255, 255, 255, 0.08);
    
    --text-primary: #d7dadc;
    --text-secondary: #818384;
    --text-tertiary: #6a6a6b;
    
    --border-color: #343536;
    
    --accent-color: #ff4500;
    --accent-hover: #ff5722;
    --accent-transparent: rgba(255, 69, 0, 0.15);
    
    --success-color: #46d160;
    --success-hover: #56e170;
    --success-transparent: rgba(70, 209, 96, 0.15);
    
    --warning-color: #ffd635;
    --warning-hover: #ffe645;
    --warning-transparent: rgba(255, 214, 53, 0.15);
    
    --danger-color: #ea0027;
    --danger-hover: #fa1037;
    --danger-transparent: rgba(234, 0, 39, 0.15);
    
    --upvote-color: #ff4500;
    --downvote-color: #7193ff;
}

/* Voyager Theme */
[data-theme="voyager"] {
    --bg-primary: #16161a;
    --bg-secondary: #0f0f12;
    --bg-tertiary: #242629;
    --bg-card: #1c1c21;
    --bg-navbar: rgba(22, 22, 26, 0.98);
    --bg-sidebar: #0f0f12;
    --bg-hover: rgba(127, 90, 240, 0.1);
    --bg-input: #242629;
    --bg-search: rgba(255, 255, 255, 0.05);
    
    --text-primary: #fffffe;
    --text-secondary: #94a1b2;
    --text-tertiary: #72757e;
    
    --border-color: rgba(148, 161, 178, 0.15);
    
    --accent-color: #7f5af0;
    --accent-hover: #9171f8;
    --accent-transparent: rgba(127, 90, 240, 0.15);
    
    --success-color: #2cb67d;
    --success-hover: #3cc68d;
    --success-transparent: rgba(44, 182, 125, 0.15);
    
    --warning-color: #ff8906;
    --warning-hover: #ff9916;
    --warning-transparent: rgba(255, 137, 6, 0.15);
    
    --danger-color: #e53170;
    --danger-hover: #f54180;
    --danger-transparent: rgba(229, 49, 112, 0.15);
    
    --upvote-color: #ff8906;
    --downvote-color: #7f5af0;
}

/* System preference detection */
@media (prefers-color-scheme: light) {
    :root:not([data-theme]) {
        --bg-primary: #f5f5f7;
        --bg-secondary: #ffffff;
        --bg-tertiary: #e5e5ea;
        --bg-card: #ffffff;
        --bg-navbar: rgba(255, 255, 255, 0.95);
        --bg-sidebar: #ffffff;
        --bg-hover: rgba(0, 0, 0, 0.05);
        --bg-input: #f5f5f7;
        --bg-search: rgba(0, 0, 0, 0.05);
        
        --text-primary: #1c1c1e;
        --text-secondary: #636366;
        --text-tertiary: #8e8e93;
        
        --border-color: rgba(0, 0, 0, 0.1);
        
        --accent-color: #5856d6;
        --accent-hover: #6866e6;
        --accent-transparent: rgba(88, 86, 214, 0.12);
        
        --success-color: #30d158;
        --success-hover: #40e168;
        --success-transparent: rgba(48, 209, 88, 0.12);
        
        --warning-color: #ff9f0a;
        --warning-hover: #ffaf1a;
        --warning-transparent: rgba(255, 159, 10, 0.12);
        
        --danger-color: #ff3b30;
        --danger-hover: #ff4b40;
        --danger-transparent: rgba(255, 59, 48, 0.12);
        
        --upvote-color: #ff6b35;
        --downvote-color: #8b5cf6;
    }
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    :root {
        --border-color: currentColor;
    }
    
    [data-theme="dark"],
    [data-theme="oled"],
    [data-theme="reddit"],
    [data-theme="voyager"] {
        --text-primary: #ffffff;
        --text-secondary: #cccccc;
        --border-color: #555555;
    }
    
    [data-theme="light"] {
        --text-primary: #000000;
        --text-secondary: #333333;
        --border-color: #666666;
    }
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}
