/* PBootCMS Template Custom Styles */
/* These CSS variables power the Tailwind design tokens */
:root {
    --background: 228 6% 8%;
    --foreground: 210 40% 98%;
    --card: 228 6% 11%;
    --card-foreground: 210 40% 98%;
    --popover: 228 6% 11%;
    --popover-foreground: 210 40% 98%;
    --primary: 235 86% 60%;
    --primary-foreground: 0 0% 100%;
    --secondary: 228 6% 15%;
    --secondary-foreground: 210 40% 98%;
    --muted: 228 6% 15%;
    --muted-foreground: 220 9% 60%;
    --accent: 228 6% 15%;
    --accent-foreground: 210 40% 98%;
    --destructive: 0 84.2% 60.2%;
    --destructive-foreground: 210 40% 98%;
    --border: 228 6% 20%;
    --input: 228 6% 20%;
    --ring: 235 86% 60%;
    --radius: 0.5rem;
    --discord-blurple: 235 86% 60%;
    --discord-green: 139 47% 44%;
    --discord-yellow: 38 96% 54%;
    --discord-fuchsia: 300 67% 58%;
    --discord-red: 0 84% 60%;
    --discord-darker: 228 6% 8%;
    --discord-dark: 225 6% 13%;
    --discord-gray-light: 228 6% 33%;
    --discord-gray: 228 6% 20%;
}

* { border-color: hsl(var(--border)); }
body {
    background-color: hsl(var(--background));
    color: hsl(var(--foreground));
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.main-container {
    max-width: 80rem;
    margin-left: auto;
    margin-right: auto;
    padding-left: 1rem;
    padding-right: 1rem;
}
@media (min-width: 640px) { .main-container { padding-left: 1.5rem; padding-right: 1.5rem; } }
@media (min-width: 1024px) { .main-container { padding-left: 2rem; padding-right: 2rem; } }

.article-card {
    background: hsl(228, 6%, 13%);
    border-radius: 0.75rem;
    overflow: hidden;
    transition: all 0.3s;
}
.article-card:hover { background: hsl(228, 6%, 17%); }
.article-card-content { padding: 1.25rem; }

/* FAQ toggle */
.faq-item.open .faq-arrow { transform: rotate(90deg); }
.faq-item.open .faq-answer { display: block !important; }

/* Fade-in on scroll */
.fade-section {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}
.fade-section.visible {
    opacity: 1;
    transform: translateY(0);
}

/* Animations */
@keyframes float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
}
@keyframes bounce-slow {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
}
.animate-float { animation: float 3s ease-in-out infinite; }
.animate-bounce-slow { animation: bounce-slow 2s ease-in-out infinite; }
