/* ==========================================================================
   Rainbow Securities - Global Stylesheet
   Vanilla HTML, CSS & JavaScript
   ========================================================================== */

:root {
    --font-scale: 100%;
}

html {
    scroll-behavior: smooth;
    font-size: var(--font-scale);
}

body {
    font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
    color: #0f172a;
    background-color: #ffffff;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Ticker Animation */
@keyframes marquee {
    0% { transform: translateX(100%); }
    100% { transform: translateX(-100%); }
}

.animate-marquee {
    animation: marquee 40s linear infinite;
    display: inline-block;
    padding-left: 100%;
}

/* Lucide Icon Alignment */
[data-lucide] {
    display: inline-block;
    vertical-align: middle;
}

/* High Contrast Accessibility Theme */
.high-contrast {
    filter: contrast(1.4) brightness(1.05);
}

.high-contrast body {
    background-color: #000000 !important;
    color: #ffffff !important;
}

.high-contrast .bg-white,
.high-contrast .bg-slate-50,
.high-contrast .bg-slate-100,
.high-contrast .bg-slate-900,
.high-contrast .bg-blue-50,
.high-contrast .bg-slate-800 {
    background-color: #000000 !important;
    border-color: #ffffff !important;
}

.high-contrast .text-slate-900,
.high-contrast .text-slate-800,
.high-contrast .text-slate-700,
.high-contrast .text-slate-600,
.high-contrast .text-slate-500,
.high-contrast .text-slate-400 {
    color: #ffffff !important;
}

.high-contrast .text-blue-600,
.high-contrast .text-blue-500,
.high-contrast .text-blue-400 {
    color: #ffff00 !important;
}

.high-contrast .bg-blue-600,
.high-contrast .bg-blue-700 {
    background-color: #ffff00 !important;
    color: #000000 !important;
}

.high-contrast .border-slate-100,
.high-contrast .border-slate-200,
.high-contrast .border-slate-300,
.high-contrast .border-slate-800 {
    border-color: #ffffff !important;
}

.high-contrast input,
.high-contrast select,
.high-contrast textarea {
    background-color: #000000 !important;
    color: #ffffff !important;
    border-color: #ffffff !important;
}

/* Responsive Utilities */
@media (max-width: 768px) {
    .hero-title {
        font-size: 2.25rem !important;
        line-height: 1.2 !important;
    }
    .section-padding {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important;
    }
}

/* Reduced Motion */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}
