body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    visibility: hidden; /* Use with autoAlpha in GSAP for performance */
    transition: opacity 0.6s ease-in-out, visibility 0.6s ease-in-out; /* Fallback if JS fails */
    background-color: transparent; /* Slides themselves are transparent, content pane has color */
}

.slide.active { /* Fallback class if needed, but GSAP handles this */
    opacity: 1;
    visibility: visible;
}

.slide-content {
    width: 90%;
    max-width: 1200px; /* Max width for content area */
    height: auto; /* Auto height based on content */
    max-height: 90vh; /* Ensure content fits viewport */
    background-color: rgba(30, 41, 59, 0.8); /* bg-slate-800 with alpha */
    backdrop-filter: blur(8px);
    border-radius: 1.5rem; /* rounded-3xl */
    padding: 2rem; /* p-8 */
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25); /* shadow-2xl */
    overflow-y: auto; /* scroll if content overflows, but ideally designed not to */
}

/* Specific styling for title slide content to take full height */
.slide[data-slide-index="0"] .slide-content,
.slide[data-slide-index="10"] .slide-content {
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    border-radius: 0;
    backdrop-filter: none; /* Remove blur if it's a full bg image */
}
.slide[data-slide-index="0"] .slide-content {
     background-color: transparent; /* Allow BG image to show */
}


/* Custom scrollbar for slide content if it overflows */
.slide-content::-webkit-scrollbar {
    width: 8px;
}

.slide-content::-webkit-scrollbar-track {
    background: rgba(71, 85, 105, 0.5); /* slate-600 with alpha */
    border-radius: 10px;
}

.slide-content::-webkit-scrollbar-thumb {
    background: rgba(14, 165, 233, 0.7); /* sky-500 with alpha */
    border-radius: 10px;
}

.slide-content::-webkit-scrollbar-thumb:hover {
    background: rgba(14, 165, 233, 1); /* sky-500 */
}


/* Ensure Lucide icons are sized correctly if not specified by Tailwind */
i[data-lucide] {
    display: inline-block; /* Or flex, for alignment */
    width: 1em; /* Default size, can be overridden by Tailwind */
    height: 1em;
    stroke-width: 2; /* Default stroke */
}

#prev-slide, #next-slide {
    opacity: 0; /* Initially hidden, JS controls visibility */
}

#presentation-container:hover #prev-slide,
#presentation-container:hover #next-slide {
    opacity: 0.7; /* Show on container hover */
}

#prev-slide:hover, #next-slide:hover {
    opacity: 1 !important; /* Full opacity on direct hover */
    background-color: rgba(51, 65, 85, 0.9); /* Slightly darker slate on hover */
}


