:root {
    --color-bg: #ffffff;
    --color-text: #111827;
    --color-accent: #f97316;
    --color-accent-hover: #ea580c;
    --color-nav-bg: rgba(255, 255, 255, 0.8);
    --color-nav-border: #e5e7eb;
    --color-marquee-bg: #fff7ed;
    --color-marquee-border: #fed7aa;
    --color-card-bg: #ffffff;
    --color-card-border: #f3f4f6;
}

body.dark {
    --color-bg: #111827;
    --color-text: #f3f4f6;
    --color-accent: #f97316;
    --color-accent-hover: #fb923c;
    --color-nav-bg: rgba(17, 24, 39, 0.8);
    --color-nav-border: #374151;
    --color-marquee-bg: #1f2937;
    --color-marquee-border: #374151;
    --color-card-bg: #1f2937;
    --color-card-border: #374151;
    
    ::-webkit-scrollbar-thumb {
        background: #4b5563;
        border: 2px solid var(--color-bg);
    }
    ::-webkit-scrollbar-track {
        background: #374151;
    }
}

body {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

::-webkit-scrollbar {
    width: 10px;
}
::-webkit-scrollbar-track {
    background: #f1f1f1; 
}
::-webkit-scrollbar-thumb {
    background: #cbd5e1; 
    border-radius: 5px;
    border: 2px solid #f1f1f1;
}
::-webkit-scrollbar-thumb:hover {
    background: var(--color-accent); 
}

.animate-marquee { animation: marquee 25s linear infinite; }
@keyframes marquee { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }

.reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s ease-out;
}
.reveal.active {
    opacity: 1;
    transform: translateY(0);
}
.animation-delay-2000 { animation-delay: 2s; }
.animation-delay-4000 { animation-delay: 4s; }