/*
 * Croplod Theme System
 * OS-level dark mode detection + smooth transitions
 */

/* OS-level dark mode when user hasn't chosen light */
@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) {
        --bg-primary: #000000;
        --bg-secondary: #000000;
        --bg-tertiary: #1a1a1a;
        --bg-card: #1a1a1a;
        --bg-elevated: #242424;
        --bg-input: #1a1a1a;
        --bg-hover: rgba(255, 255, 255, 0.08);
        --bg-pressed: rgba(255, 255, 255, 0.12);
        --bg-active: rgba(255, 255, 255, 0.08);
        --bg-sidebar: #000000;

        --text-primary: #e8eaed;
        --text-secondary: #9aa0a6;
        --text-tertiary: #5f6368;
        --text-disabled: #3c4043;
        --text-inverse: #202124;

        --border-primary: #2c2c2c;
        --border-secondary: #3c4043;
        --border-focus: var(--color-primary-400);
        --border-subtle: rgba(255, 255, 255, 0.06);

        --overlay: rgba(0, 0, 0, 0.6);

        --sidebar-bg-active: rgba(138, 180, 248, 0.12);
        --sidebar-text-active: #8ab4f8;
        --sidebar-icon-active: #8ab4f8;

        --btn-primary-shadow: rgba(99, 102, 241, 0.2);
        --btn-primary-shadow-hover: rgba(99, 102, 241, 0.3);
        --btn-danger-shadow: rgba(239, 68, 68, 0.2);
        --btn-danger-shadow-hover: rgba(239, 68, 68, 0.3);

        --focus-ring: rgba(129, 140, 248, 0.24);

        --card-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.4), 0 1px 2px -1px rgba(0, 0, 0, 0.3);
        --card-shadow-hover: 0 4px 6px -1px rgba(0, 0, 0, 0.5), 0 2px 4px -2px rgba(0, 0, 0, 0.4);
        --card-shadow-elevated: 0 8px 24px rgba(0, 0, 0, 0.6);

        --surface-1: #0a0a0a;
        --surface-2: #1a1a1a;
        --surface-3: #242424;

        --search-shadow-focus: 0 1px 6px rgba(0, 0, 0, 0.5);

        --icon-bg-blue: rgba(138, 180, 248, 0.16);
        --icon-bg-green: rgba(129, 201, 149, 0.16);
        --icon-bg-orange: rgba(252, 173, 112, 0.16);
        --icon-bg-purple: rgba(197, 138, 249, 0.16);
        --icon-bg-primary: rgba(129, 140, 248, 0.16);
        --icon-bg-success: rgba(34, 197, 94, 0.16);
        --icon-bg-error: rgba(239, 68, 68, 0.16);
        --icon-bg-warning: rgba(245, 158, 11, 0.16);

        --avatar-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);

        --scrollbar-track: transparent;
        --scrollbar-thumb: #3c4043;
    }
}

/* Smooth theme transitions - exclude transform-heavy elements */
body {
    transition: background-color var(--transition-normal),
                color var(--transition-normal);
}

/* Don't animate sidebar/modal transforms during theme switch */
.account-sidebar,
.profile-modal,
.croplod-confirm-modal,
.profile-modal-overlay,
.croplod-confirm-overlay {
    transition: none;
}

/* Re-enable transitions after initial load */
body.loaded .account-sidebar,
body.loaded .profile-modal,
body.loaded .croplod-confirm-modal {
    transition: transform 280ms cubic-bezier(0.2, 0, 0, 1),
                opacity 0.2s ease;
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
    body,
    body *,
    body *::before,
    body *::after {
        transition-duration: 0ms !important;
        animation-duration: 0ms !important;
    }
}
