:root {
    --primary: #d97706; /* Default Amber 600 */
    --font-heading: 'Playfair Display', serif;
    --font-body: ui-sans-serif, system-ui, sans-serif;
}

body { font-family: var(--font-body); scroll-behavior: smooth; }
.font-heading { font-family: var(--font-heading); }

.bg-primary { background-color: var(--primary) !important; }
.text-primary { color: var(--primary) !important; }
.border-primary { border-color: var(--primary) !important; }

.hover-bg-primary:hover {
    background-color: var(--primary) !important;
    filter: brightness(0.9);
}

.hover-text-primary:hover {
    color: var(--primary) !important;
}

.bg-primary-light {
    background-color: color-mix(in srgb, var(--primary) 15%, transparent) !important;
}

/* For use on dark backgrounds — keeps any primary color legible */
.text-primary-on-dark {
    color: color-mix(in srgb, var(--primary) 55%, white) !important;
}
.hover-text-primary-on-dark:hover {
    color: color-mix(in srgb, var(--primary) 55%, white) !important;
}
.bg-primary-on-dark {
    background-color: color-mix(in srgb, var(--primary) 30%, #1c1917) !important;
}

/* Hide scrollbar for tabs */
.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

/* Infinite Marquee Animation */
@keyframes marquee {
    0% { transform: translateX(0); }
    100% { transform: translateX(-33.3333%); }
}
.animate-marquee {
    animation: marquee 30s linear infinite;
    display: flex;
    width: fit-content;
}
.animate-marquee:hover {
    animation-play-state: paused;
}

/* Prevent iOS zoom on input focus */
#config-panel input, #config-panel textarea, #config-panel select {
    font-size: 16px !important;
}

/* Config accordions */
.cfg-accordion-body { display: none; }
.cfg-accordion.open .cfg-accordion-body { display: block; }
.cfg-accordion .cfg-chevron { transition: transform 0.2s; }
.cfg-accordion.open .cfg-chevron { transform: rotate(180deg); }

/* Custom Bounce Slow */
@keyframes bounce-slow {
    0%, 100% { transform: translateY(-10%); animation-timing-function: cubic-bezier(0.8,0,1,1); }
    50% { transform: none; animation-timing-function: cubic-bezier(0,0,0.2,1); }
}
.animate-bounce-slow {
    animation: bounce-slow 3s infinite;
}
