/* Component Standards & Tokens */
.glass-card {
    background-color: rgba(30, 41, 59, 0.7);
    /* Surface */
    backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

/* Logo Typography Setup */
.logo-text {
    font-weight: 400;
}

.logo-all {
    font-weight: 900;
    background: linear-gradient(135deg, #6366F1 0%, #A855F7 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* Global Minimalist Scrollbar */
.custom-scrollbar::-webkit-scrollbar,
::-webkit-scrollbar {
    width: 8px;
}

.custom-scrollbar::-webkit-scrollbar-track,
::-webkit-scrollbar-track {
    background: transparent;
}

.custom-scrollbar::-webkit-scrollbar-thumb,
::-webkit-scrollbar-thumb {
    background: #1E293B;
    border-radius: 4px;
}

.custom-scrollbar::-webkit-scrollbar-thumb:hover,
::-webkit-scrollbar-thumb:hover {
    background: #334155;
}

/* Hide scrollbar for horizonal carousels */
.hide-scrollbar::-webkit-scrollbar {
    display: none;
}

.hide-scrollbar {
    -ms-overflow-style: none;
    /* IE and Edge */
    scrollbar-width: none;
    /* Firefox */
}

/* Sidebar Bottom Fade-out Overlay Effect */
.sidebar-fade-bottom {
    mask-image: linear-gradient(to top, transparent, black 15%);
    -webkit-mask-image: linear-gradient(to top, transparent, black 15%);
}

/* Accordion Smooth Transitions */
.accordion-content {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.3s ease-in-out;
}

.accordion-content>div {
    overflow: hidden;
}

.accordion-content.expanded {
    grid-template-rows: 1fr;
}
/* Sidebar Collapsed Link Centering */
.sidebar-collapsed a {
    justify-content: center !important;
}

.sidebar-collapsed a svg {
    margin: 0 !important;
}

.sidebar-collapsed .space-x-3 > :not([hidden]) ~ :not([hidden]) {
    margin-left: 0 !important;
}

/* Infinite Marquee Carousel */
.marquee-container {
    display: flex;
    overflow: hidden;
    width: 100%;
    position: relative;
    padding-bottom: 1.5rem;
}

.marquee-content {
    display: flex;
    flex-wrap: nowrap;
    width: max-content;
    animation: marquee 50s linear infinite;
}

.marquee-container:hover .marquee-content {
    animation-play-state: paused;
}

.marquee-item {
    margin-right: 1.5rem;
}

@keyframes marquee {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-50%);
    }
}

html {
    scroll-behavior: smooth;
}

body::before {
    content: '';
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 150vw;
    height: 150vh;
    background: radial-gradient(circle at center, rgba(99, 102, 241, 0.05) 0%, rgba(15, 23, 42, 0) 60%);
    pointer-events: none;
    z-index: -1;
}

.reveal-element {
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.reveal-element.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.sidebar-nav-mask {
    -webkit-mask-image: linear-gradient(to bottom, black 85%, transparent 100%);
    mask-image: linear-gradient(to bottom, black 85%, transparent 100%);
}
