:root {
    /* Fonts */
    --font-sans: 'Inter', system-ui, -apple-system, sans-serif;
    --font-display: 'Outfit', sans-serif;

    /* Spacing & Utilities */
    --radius-sm: 0.5rem;
    --radius-md: 0.75rem;
    --radius-lg: 1rem;
    --radius-xl: 1.5rem;
    --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
    --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
}

/* 1. Light Theme (Gündüz Modu - Yüksek Kontrastlı Lacivert/Beyaz) */
html[data-theme="light"] {
    --color-primary: hsl(220, 85%, 45%);
    --color-primary-hover: hsl(220, 85%, 38%);
    --color-accent: hsl(25, 95%, 50%);
    --color-bg: hsl(210, 25%, 97%);
    --color-surface: hsl(0, 0%, 100%);
    --color-surface-dim: hsl(210, 20%, 92%);
    --color-text: hsl(222, 47%, 11%);
    --color-text-muted: hsl(215, 20%, 35%);
    --color-border: hsl(214, 20%, 82%);
    --glass-bg: rgba(255, 255, 255, 0.88);
    --glass-border: rgba(0, 0, 0, 0.08);
    --color-btn-text: #ffffff;
}

/* 2. Dark Theme (Gece Modu - Canlı Mavi/Lacivert Zemin) */
html[data-theme="dark"] {
    --color-primary: hsl(217, 91%, 60%);
    --color-primary-hover: hsl(217, 91%, 68%);
    --color-accent: hsl(28, 95%, 55%);
    --color-bg: hsl(222, 47%, 6%);
    --color-surface: hsl(222, 47%, 10%);
    --color-surface-dim: hsl(222, 40%, 14%);
    --color-text: hsl(210, 40%, 98%);
    --color-text-muted: hsl(215, 20%, 72%);
    --color-border: hsl(217, 30%, 22%);
    --glass-bg: rgba(15, 23, 42, 0.82);
    --glass-border: rgba(255, 255, 255, 0.12);
    --color-btn-text: #ffffff;
}

/* 3. High Contrast Dark Theme (Kamyoncu Gece Modu - Tam Siyah & Fosfor Yeşil/Sarı) */
html[data-theme="high-contrast"] {
    --color-primary: hsl(142, 76%, 45%);
    --color-primary-hover: hsl(142, 76%, 52%);
    --color-accent: hsl(48, 100%, 50%);
    --color-bg: hsl(0, 0%, 0%);
    --color-surface: hsl(0, 0%, 7%);
    --color-surface-dim: hsl(0, 0%, 12%);
    --color-text: hsl(0, 0%, 100%);
    --color-text-muted: hsl(0, 0%, 88%);
    --color-border: hsl(0, 0%, 35%);
    --glass-bg: rgba(0, 0, 0, 0.92);
    --glass-border: rgba(255, 255, 255, 0.25);
    --color-btn-text: #000000;
}

/* Base Styles & Form Controls */
body {
    background-color: var(--color-bg);
    color: var(--color-text);
    font-family: var(--font-sans);
    transition: background-color 0.3s ease, color 0.3s ease;
}

h1, h2, h3, h4, h5, h6 {
    color: var(--color-text);
}

select option {
    background-color: var(--color-surface);
    color: var(--color-text);
}

input, select, textarea {
    color: var(--color-text);
}

input::placeholder, textarea::placeholder {
    color: var(--color-text-muted);
    opacity: 0.75;
}

/* Utility Classes */
.glass {
    background: var(--glass-bg);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid var(--glass-border);
}

.font-display {
    font-family: var(--font-display);
}

/* Custom Animations */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.animate-fade-in {
    animation: fadeIn 0.5s ease-out forwards;
}