/* Custom Styles for RegalX */

:root {
    --primary: #D4AF37;
    --primary-dark: #FFD700;
    --dark-bg: #050505;
    --secondary-bg: #111111;
}

html {
    scroll-behavior: smooth;
}

body {
    background-color: var(--dark-bg);
    color: #fff;
    cursor: none; /* For custom magnetic cursor */
}

/* Scrollbar */
::-webkit-scrollbar {
    width: 8px;
}
::-webkit-scrollbar-track {
    background: var(--dark-bg);
}
::-webkit-scrollbar-thumb {
    background: var(--primary);
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: var(--primary-dark);
}

/* Typography Enhancements */
.glow-text {
    text-shadow: 0 0 30px rgba(212, 175, 55, 0.4);
}

/* Glassmorphism */
.glass-effect {
    background: rgba(5, 5, 5, 0.6);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

.glass-card {
    background: rgba(255, 255, 255, 0.03);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.05);
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
}

/* Magnetic Cursor */
.cursor-dot {
    width: 8px;
    height: 8px;
    background-color: var(--primary);
    border-radius: 50%;
    position: fixed;
    top: 0;
    left: 0;
    pointer-events: none;
    z-index: 9999;
    transform: translate(-50%, -50%);
    transition: transform 0.1s ease-out;
}

.cursor-glow {
    width: 40px;
    height: 40px;
    border: 1px solid rgba(212, 175, 55, 0.5);
    border-radius: 50%;
    position: fixed;
    top: 0;
    left: 0;
    pointer-events: none;
    z-index: 9998;
    transform: translate(-50%, -50%);
    transition: width 0.3s, height 0.3s, background-color 0.3s;
}

/* Ticker Animation */
.ticker-wrap {
    width: 100%;
    overflow: hidden;
    box-sizing: border-box;
}

@keyframes ticker {
    0% { transform: translate3d(0, 0, 0); }
    100% { transform: translate3d(-100%, 0, 0); }
}

#ticker {
    display: inline-block;
    white-space: nowrap;
    padding-right: 100%;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
    animation-name: ticker;
    animation-duration: 30s;
}

/* Chart Line Animation */
.chart-line {
    stroke-dasharray: 1000;
    stroke-dashoffset: 1000;
    animation: dash 3s linear forwards infinite alternate;
}

@keyframes dash {
    to {
        stroke-dashoffset: 0;
    }
}

/* Gradient text utility */
.text-gradient {
    background: linear-gradient(135deg, #D4AF37, #FFD700);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
