﻿/* ============================================
   DESIGN SYSTEM - TechBlog 2.0
   Light + Dark Theme - WCAG AA compliant
   ============================================ */

:root {
    --accent: #2563eb;
    --accent-hover: #1d4ed8;
    --accent-subtle: rgba(37, 99, 235, 0.08);
    --accent-border: rgba(37, 99, 235, 0.25);

    --bg-primary: #ffffff;
    --bg-secondary: #f8fafc;
    --bg-tertiary: #f1f5f9;
    --bg-card: #ffffff;
    --bg-code: #1e293b;
    --bg-navbar: rgba(255,255,255,0.85);

    --text-primary: #0f172a;
    --text-secondary: #475569;
    --text-muted: #94a3b8;
    --text-inverse: #ffffff;
    --text-link: #2563eb;

    --border: #e2e8f0;
    --border-light: #f1f5f9;
    --border-hover: #cbd5e1;

    --hover-bg: rgba(0, 0, 0, 0.03);

    --shadow-xs: 0 1px 2px rgba(0,0,0,0.04);
    --shadow-sm: 0 1px 3px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04);
    --shadow-md: 0 4px 6px -1px rgba(0,0,0,0.07), 0 2px 4px -2px rgba(0,0,0,0.05);
    --shadow-lg: 0 10px 15px -3px rgba(0,0,0,0.08), 0 4px 6px -4px rgba(0,0,0,0.04);
    --shadow-xl: 0 20px 25px -5px rgba(0,0,0,0.08), 0 8px 10px -6px rgba(0,0,0,0.04);

    --success: #16a34a;
    --warning: #d97706;
    --error: #dc2626;

    --font-sans: 'Inter', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --font-mono: 'JetBrains Mono', ui-monospace, 'Cascadia Code', 'Consolas', monospace;

    --text-xs: 0.75rem;
    --text-sm: 0.875rem;
    --text-base: 1.0625rem;
    --text-lg: 1.125rem;
    --text-xl: 1.25rem;

    --heading-1: clamp(2rem, 4vw, 2.5rem);
    --heading-2: clamp(1.5rem, 3vw, 1.75rem);
    --heading-3: clamp(1.25rem, 2.5vw, 1.375rem);
    --heading-4: 1.125rem;

    --leading-tight: 1.3;
    --leading-normal: 1.6;
    --leading-relaxed: 1.8;
    --tracking-tight: -0.02em;

    --space-1: 0.25rem;
    --space-2: 0.5rem;
    --space-3: 0.75rem;
    --space-4: 1rem;
    --space-5: 1.25rem;
    --space-6: 1.5rem;
    --space-8: 2rem;
    --space-10: 2.5rem;
    --space-12: 3rem;
    --space-16: 4rem;
    --space-20: 5rem;
    --space-24: 6rem;

    --radius-sm: 6px;
    --radius-md: 10px;
    --radius-lg: 14px;
    --radius-xl: 20px;
    --radius-full: 9999px;

    --container-max: 1200px;
    --content-max: 720px;
    --container-padding: 1.5rem;

    --transition-fast: 150ms cubic-bezier(0.4,0,0.2,1);
    --transition-base: 250ms cubic-bezier(0.4,0,0.2,1);
    --transition-slow: 400ms cubic-bezier(0.4,0,0.2,1);

    --z-sticky: 100;
    --z-overlay: 300;
    --z-modal: 400;
    --z-progress: 500;
}

[data-theme="dark"] {
    --accent: #60a5fa;
    --accent-hover: #93bbfd;
    --accent-subtle: rgba(96, 165, 250, 0.1);
    --accent-border: rgba(96, 165, 250, 0.25);

    --bg-primary: #0f172a;
    --bg-secondary: #1e293b;
    --bg-tertiary: #334155;
    --bg-card: #1e293b;
    --bg-code: #0c1222;
    --bg-navbar: rgba(15,23,42,0.88);

    --text-primary: #f1f5f9;
    --text-secondary: #cbd5e1;
    --text-muted: #64748b;
    --text-inverse: #0f172a;
    --text-link: #60a5fa;

    --border: #334155;
    --border-light: #1e293b;
    --border-hover: #475569;

    --hover-bg: rgba(255, 255, 255, 0.04);

    --shadow-xs: 0 1px 2px rgba(0,0,0,0.2);
    --shadow-sm: 0 1px 3px rgba(0,0,0,0.3), 0 1px 2px rgba(0,0,0,0.2);
    --shadow-md: 0 4px 6px -1px rgba(0,0,0,0.3), 0 2px 4px -2px rgba(0,0,0,0.2);
    --shadow-lg: 0 10px 15px -3px rgba(0,0,0,0.35), 0 4px 6px -4px rgba(0,0,0,0.2);
    --shadow-xl: 0 20px 25px -5px rgba(0,0,0,0.4), 0 8px 10px -6px rgba(0,0,0,0.2);
}
