        /* Slideshow Specific Styles */
        body, html {
            margin: 0;
            padding: 0;
            height: 100%;
            overflow: hidden;
        }

        .slideshow-container {
            position: relative;
            width: 100%;
            height: 100%;
            display: flex;
            align-items: center;
            justify-content: center;
            /* Ensure background themes from styles.css work but are dimmed */
        }

        /* Overlay to dim the busy backgrounds for better text readability */
        .theme-overlay {
            position: absolute;
            top: 0; left: 0; right: 0; bottom: 0;
            background: rgba(255, 255, 255, 0.4);
            backdrop-filter: blur(8px);
            -webkit-backdrop-filter: blur(8px);
            z-index: 1;
        }

        /* Dark mode overlay for dark themes */
        .landing-container.theme-starry .theme-overlay,
        .landing-container.theme-fireworks .theme-overlay {
            background: rgba(0, 0, 0, 0.6);
        }

        #slideContent {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: 5;
        }

        .slide-wrapper {
            position: absolute;
            top: 0;
            left: 0;
            z-index: 10;
            width: 100%;
            height: 100%;
            padding: 40px;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
        }

        /* --- Literature Quote Style (Text Only) --- */
        .quote-card {
            text-align: center;
            color: #1d1d1f;
            max-width: 800px;
        }

        .quote-symbol {
            font-family: "Georgia", serif;
            font-size: 6rem;
            line-height: 0.5;
            color: var(--primary);
            opacity: 0.3;
            display: block;
            margin-bottom: 20px;
        }

        .quote-text {
            font-family: "Georgia", "Times New Roman", serif;
            font-size: 2.5rem;
            line-height: 1.4;
            font-style: italic;
            margin-bottom: 40px;
            text-shadow: 0 2px 10px rgba(255,255,255,0.5);
        }

        /* --- Photomaton Style (Image + Text) --- */
        .photomaton-card {
            background: white;
            padding: 20px 20px 60px 20px; /* Extra bottom padding for caption look */
            box-shadow: 0 20px 50px rgba(0,0,0,0.15);
            transform: rotate(-2deg);
            max-width: 600px;
            width: 100%;
            text-align: center;
            transition: transform 0.3s ease;
        }
        
        .photomaton-card:hover {
            transform: rotate(0deg) scale(1.02);
        }

        .photomaton-image {
            width: 100%;
            height: auto;
            max-height: 60vh;
            object-fit: cover;
            border: 1px solid #eee;
            display: block;
        }

        .photomaton-caption {
            font-family: "Brush Script MT", "Comic Sans MS", cursive;
            font-size: 1.8rem;
            color: #333;
            margin-top: 20px;
            line-height: 1.3;
        }

        /* Author Styling (Common) */
        .author-signature {
            font-family: -apple-system, BlinkMacSystemFont, sans-serif;
            font-size: 1.1rem;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 2px;
            color: var(--text-secondary);
            margin-top: 30px;
            position: relative;
            display: inline-block;
            z-index: 10; /* Ensure it stays above animations if needed */
        }
        
        .author-signature::before {
            content: '— ';
            margin-right: 5px;
        }

        /* Dark theme adjustments */
        .landing-container.theme-starry .quote-text,
        .landing-container.theme-fireworks .quote-text {
            color: white;
            text-shadow: 0 2px 4px rgba(0,0,0,0.8);
        }
        .landing-container.theme-starry .quote-card,
        .landing-container.theme-fireworks .quote-card {
            color: white;
        }
        .landing-container.theme-starry .author-signature,
        .landing-container.theme-fireworks .author-signature {
            color: rgba(255,255,255,0.7);
        }

        /* Navigation Controls */
        .nav-btn {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            background: rgba(255, 255, 255, 0.2);
            border: 1px solid rgba(255, 255, 255, 0.4);
            color: var(--text-primary);
            width: 60px;
            height: 60px;
            border-radius: 50%;
            font-size: 2rem;
            cursor: pointer;
            z-index: 20;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: all 0.2s ease;
            backdrop-filter: blur(4px);
        }

        .nav-btn:hover {
            background: rgba(255, 255, 255, 0.8);
            transform: translateY(-50%) scale(1.1);
        }

        .nav-prev { left: 40px; }
        .nav-next { right: 40px; }

        .close-btn {
            position: absolute;
            top: 30px;
            right: 30px;
            z-index: 30;
            text-decoration: none;
            background: rgba(255, 255, 255, 0.9);
            padding: 10px 20px;
            border-radius: 30px;
            font-weight: 600;
            color: #333;
            box-shadow: 0 4px 12px rgba(0,0,0,0.1);
            transition: transform 0.2s;
        }
        .close-btn:hover { transform: translateY(-2px); }

        /* Progress Bar */
        .progress-container {
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            height: 6px;
            background: rgba(0,0,0,0.1);
            z-index: 20;
        }
        .progress-bar {
            height: 100%;
            background: var(--primary);
            width: 0%;
            transition: width 0.3s ease;
        }

        /* Responsive */
        @media (max-width: 768px) {
            .quote-text { font-size: 1.8rem; }
            .nav-btn { width: 40px; height: 40px; font-size: 1.5rem; top: auto; bottom: 20px; transform: none; }
            .nav-btn:hover { transform: scale(1.1); }
            .nav-prev { left: 10px; }
            .nav-next { right: 10px; }
            /* Room for the Exit button above and the arrows below */
            .slide-wrapper { padding: 76px 20px 72px; }
            .photomaton-card { padding: 14px 14px 28px; }
        }

        /* Timer Animation */
        .timer-indicator {
            position: absolute;
            top: 30px;
            left: 30px;
            width: 40px;
            height: 40px;
            z-index: 30;
            pointer-events: none;
        }
        .timer-circle circle {
            fill: none;
            stroke: var(--primary);
            stroke-width: 3;
            stroke-dasharray: 113;
            stroke-dashoffset: 113;
            transform: rotate(-90deg);
            transform-origin: 50% 50%;
            opacity: 0.8;
        }
        .timer-circle.animate circle {
            animation: timer-countdown 15s linear forwards;
        }
        @keyframes timer-countdown {
            to { stroke-dashoffset: 0; }
        }
