:root {
    --color-primary-dark: #1E1B4B; /* Deep Indigo */
    --color-secondary-accent: #EC4899; /* Pink */
    --color-cta: #F59E0B; /* Amber/Gold */
}
html { scroll-behavior: smooth; }
body {
    font-family: 'Inter', sans-serif;
    background-color: var(--color-primary-dark);
    color: #D1D5DB; /* Gray 300 */
    overflow-x: hidden;
}
.container { max-width: 1100px; }
.hero-bg { background: transparent; }

/* Animated Stars Background */
@keyframes move-stars {
    from { transform: translateY(0px); }
    to   { transform: translateY(-2000px); }
}
#stars-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 2000px; /* Taller than viewport to allow for scrolling effect */
    background-image: radial-gradient(2px 2px at 20px 30px, #eee, rgba(0,0,0,0)),
                      radial-gradient(2px 2px at 40px 70px, #fff, rgba(0,0,0,0)),
                      radial-gradient(2px 2px at 50px 160px, #ddd, rgba(0,0,0,0)),
                      radial-gradient(2px 2px at 90px 40px, #fff, rgba(0,0,0,0)),
                      radial-gradient(2px 2px at 130px 80px, #fff, rgba(0,0,0,0)),
                      radial-gradient(2px 2px at 160px 120px, #ddd, rgba(0,0,0,0));
    background-repeat: repeat;
    background-size: 200px 200px;
    animation: move-stars 200s linear infinite;
    z-index: 0;
}

.cta-button {
    transition: all 0.3s ease;
    background-color: var(--color-cta);
    box-shadow: 0 4px 14px 0 rgba(245, 158, 11, 0.3);
}
.cta-button:hover {
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 6px 20px 0 rgba(245, 158, 11, 0.4);
}
.modal { transition: opacity 0.3s ease; }

@keyframes bubble-pulse { 0%, 100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(236, 72, 153, 0.7); } 50% { transform: scale(1.05); box-shadow: 0 0 0 10px rgba(236, 72, 153, 0); } }
.chat-bubble {
    animation: bubble-pulse 2s infinite;
}
.chat-container::-webkit-scrollbar { display: none; }
.chat-container { -ms-overflow-style: none; scrollbar-width: none; }

/* Cookie Toggle Switch Styles */
.cookie-toggle {
    position: relative;
    display: inline-block;
    width: 50px;
    height: 28px;
}
.cookie-toggle input {
    opacity: 0;
    width: 0;
    height: 0;
}
.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #374151;
    transition: .4s;
    border-radius: 28px;
}
.slider:before {
    position: absolute;
    content: "";
    height: 20px;
    width: 20px;
    left: 4px;
    bottom: 4px;
    background-color: white;
    transition: .4s;
    border-radius: 50%;
}
input:checked + .slider {
    background-color: var(--color-secondary-accent);
}
input:checked:disabled + .slider {
    background-color: #4B5563;
}
input:focus + .slider {
    box-shadow: 0 0 1px var(--color-secondary-accent);
}
input:checked + .slider:before {
    transform: translateX(22px);
}

