/**
 * Casul official brand color tokens (CAS-7).
 * Source: logo SVGs — orange #DE962C, purple #6E4892, dark #333333.
 */
:root {
    --casul-orange: #DE962C;
    --casul-orange-hover: #C88525;
    --casul-orange-light: #E8A84A;
    --casul-orange-muted: rgba(222, 150, 44, 0.15);
    --casul-orange-glow: rgba(222, 150, 44, 0.5);

    --casul-purple: #6E4892;
    --casul-purple-hover: #5F3F82;
    --casul-purple-light: #8B6BAF;
    --casul-purple-muted: rgba(110, 72, 146, 0.15);
    --casul-purple-glow: rgba(110, 72, 146, 0.4);

    --casul-dark: #333333;
    --casul-white: #FFFFFF;

    --casul-enterprise-bg: #0B0F19;
    --casul-game-bg: #05080f;
    --casul-gaming-void: #0a0a16;
    --casul-gaming-border: #282839;

    --casul-scrollbar-thumb: rgba(222, 150, 44, 0.5);
    --casul-scrollbar-thumb-hover: rgba(222, 150, 44, 0.85);
    --casul-scrollbar-thumb-active: rgba(200, 133, 37, 0.95);
}

html:has(#mode-gaming:checked) {
    --casul-scrollbar-thumb: rgba(110, 72, 146, 0.5);
    --casul-scrollbar-thumb-hover: rgba(110, 72, 146, 0.85);
    --casul-scrollbar-thumb-active: rgba(95, 63, 130, 0.95);
}

/* Glow / grid utilities — keep hex out of HTML (CAS-7 DoD) */
.glow-primary-sm {
    box-shadow: 0 0 10px var(--casul-orange-glow);
}

.glow-primary-md {
    box-shadow: 0 0 15px var(--casul-orange-muted);
}

.glow-primary-lg {
    box-shadow: 0 0 30px rgba(222, 150, 44, 0.6);
}

.glow-primary-btn {
    box-shadow: 0 0 15px rgba(222, 150, 44, 0.3);
}

.glow-primary-btn:hover {
    box-shadow: 0 0 25px var(--casul-orange-glow);
}

.glow-purple-xs {
    box-shadow: 0 0 10px var(--casul-purple);
}

.glow-purple-sm {
    box-shadow: 0 0 15px var(--casul-purple-muted);
}

.glow-purple-md {
    box-shadow: 0 0 20px var(--casul-purple-glow);
}

.glow-purple-lg {
    box-shadow: 0 0 50px rgba(110, 72, 146, 0.1);
}

.glow-purple-bar {
    box-shadow: 0 0 15px rgba(110, 72, 146, 0.6);
}

.glow-status-green {
    box-shadow: 0 0 8px var(--casul-status-green, #22c55e);
}

.glow-kofi-sm {
    box-shadow: 0 0 10px rgba(255, 94, 91, 0.2);
}

.glow-patreon-sm {
    box-shadow: 0 0 10px rgba(249, 104, 84, 0.2);
}

.hover\:glow-purple-md:hover {
    box-shadow: 0 0 20px var(--casul-purple-glow);
}

.hover\:glow-purple-sm:hover {
    box-shadow: 0 0 15px var(--casul-purple-muted);
}

.hover\:glow-primary-lg:hover {
    box-shadow: 0 0 30px rgba(222, 150, 44, 0.6);
}

.hover\:glow-kofi-sm:hover {
    box-shadow: 0 0 10px rgba(255, 94, 91, 0.2);
}

.hover\:glow-patreon-sm:hover {
    box-shadow: 0 0 10px rgba(249, 104, 84, 0.2);
}

.group:hover .group-hover\:glow-purple-md {
    box-shadow: 0 0 20px var(--casul-purple-glow);
}

.group:hover .group-hover\:glow-purple-sm {
    box-shadow: 0 0 15px var(--casul-purple-muted);
}

.drop-glow-purple {
    filter: drop-shadow(0 0 10px rgba(110, 72, 146, 0.4));
}

.bg-grid-purple-faint {
    background-image: linear-gradient(rgba(110, 72, 146, 0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(110, 72, 146, 0.03) 1px, transparent 1px);
    background-size: 40px 40px;
}

.bg-grid-purple-fine {
    background-image: linear-gradient(rgba(110, 72, 146, 0.02) 1px, transparent 1px),
        linear-gradient(90deg, rgba(110, 72, 146, 0.02) 1px, transparent 1px);
    background-size: 20px 20px;
}
