:root {
    --color-bg-main: #FFFFFF;
    --color-bg-card: #F8FAFC;
    --color-bg-hover: #F1F5F9;
    
    --color-primary: #0C4A6E;
    --color-primary-glow: rgba(12, 74, 110, 0.12);
    --color-primary-soft: rgba(12, 74, 110, 0.06);
    --color-accent: #38BDF8;
    --color-accent-soft: rgba(56, 189, 248, 0.08);
    
    --color-text-primary: #1D1D1F;
    --color-text-secondary: #6E6E73;
    --color-text-muted: #9CA3AF;
    
    --color-border: #E2E8F0;
    --color-border-card: #CBD5E1;
    --color-border-glow: rgba(12, 74, 110, 0.25);
    

    --glass-bg: rgba(255, 255, 255, 0.75);
    --glass-blur: 16px;
    --glass-border: rgba(0, 0, 0, 0.06);
    --glass-highlight: rgba(255, 255, 255, 0.8);
    

    --z-header: 100;
    --z-overlay: 1000;
    --z-modal: 1100;
    

    --radius-sm: 8px;
    --radius-md: 14px;
    --radius-lg: 24px;
    
    --shadow-subtle: 0 1px 3px rgba(0, 0, 0, 0.06);
    --shadow-premium: 0 4px 16px rgba(0, 0, 0, 0.08);
    --shadow-glow: 0 0 20px var(--color-primary-glow);
    

    --transition-fast: 150ms ease;
    --transition-base: 300ms cubic-bezier(0.2, 0.8, 0.2, 1);
    --transition-slow: 500ms cubic-bezier(0.2, 0.8, 0.2, 1);
    

    --container-max-width: 1280px;
    --header-height: 64px;
    --mobile-nav-height: 60px;
    

    --min-touch-target: 48px;
}


[data-theme="dark"] {
    --color-bg-main: #0a0d14;
    --color-bg-card: #111827;
    --color-text-primary: #ededf0;
    --color-text-secondary: #94a3b8;
    --color-border: #1e293b;
}


*, *::before, *::after {
    box-sizing: border-box;
}

body {
    background-color: var(--color-bg-main);
    color: var(--color-text-primary);
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    margin: 0;
    padding: 0;
    line-height: 1.6;
    -webkit-tap-highlight-color: transparent;
}


@keyframes skeleton-loading {
    0% { background-color: #E2E8F0; }
    50% { background-color: #F1F5F9; }
    100% { background-color: #E2E8F0; }
}

.skeleton {
    animation: skeleton-loading 1.5s infinite ease-in-out;
    border-radius: var(--radius-sm);
    display: inline-block;
}