@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600&family=Crimson+Text:ital,wght@0,400;1,400&display=swap');

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        body {
            font-family: 'Crimson Text', serif;
            overflow-x: hidden;
            transition: background 1.5s ease, color 1s ease;
            position: relative;
        }

        .background-overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: -1;
            background-size: cover;
            background-position: center;
            background-repeat: no-repeat;
            opacity: 0;
            transform: scale(1.1);
            transition: opacity 1.5s ease, transform 1.5s ease;
        }

        .background-overlay.active {
            opacity: 1;
            transform: scale(1);
        }

        .section {
            min-height: 100vh;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            padding: 80px 40px;
            position: relative;
        }

        .content-box {
            max-width: 900px;
            padding: 60px;
            border: 3px dotted;
            background: rgba(0, 0, 0, 0.75);
            backdrop-filter: blur(10px);
            transition: all 0.8s ease;
        }

        h1 {
            font-family: 'Cinzel', serif;
            font-size: 3.5rem;
            margin-bottom: 20px;
            text-align: left;
            transition: all 0.5s ease;
            letter-spacing: 2px;
        }

        .subtitle {
            font-size: 1.4rem;
            margin-bottom: 50px;
            font-style: italic;
            opacity: 0.9;
        }

        .quote {
            font-size: 1.5rem;
            font-style: italic;
            text-align: center;
            margin: 40px 0;
            opacity: 0.95;
        }

        p {
            font-size: 1.3rem;
            line-height: 2;
            text-align: justify;
            margin-bottom: 30px;
            font-style: italic;
        }

        b {
            font-size: 1.3rem;
            line-height: 2;
            text-align: justify;
            margin-bottom: 30px;
            font-style: italic;
        }

        a {
            font-size: 1.3rem;
            line-height: 2;
            text-align: justify;
            margin-bottom: 30px;
            font-style: italic;
        }

        /* Tema Começo */
        body.start {
            background: #000;
        }

        body.start .background-overlay {
            background: radial-gradient(circle at 30% 40%, rgba(138, 43, 226, 0.15), transparent 50%),
                        radial-gradient(circle at 70% 60%, rgba(0, 191, 255, 0.1), transparent 50%),
                        #000;
        }

        body.start .content-box {
            border-color: #696969;
            color: #ffffff;
        }

        body.start h1 {
            color: #d4af37;
            text-shadow: 0 0 20px rgba(212, 175, 55, 0.5);
        }

        body.start .subtitle {
            color: #c41e3a;
        }

        /* Tema Prisão */
        body.prison {
            background: #000;
        }

        body.prison .background-overlay {
            background-image: url('img/prisão.jpg');
            background-blend-mode: overlay;
        }

        body.prison .background-overlay::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: radial-gradient(circle at 30% 40%, rgba(138, 43, 226, 0.15), transparent 50%),
                        radial-gradient(circle at 70% 60%, rgba(0, 191, 255, 0.1), transparent 50%);
        }

        body.prison .content-box {
            border-color: #f1f1f1;
            color: #f5e6d3;
            background: rgba(58, 58, 58, 0.75);
            backdrop-filter: blur(10px);
        }

        body.prison h1 {
            color: #0e0e0e;
            text-shadow: 0 0 20px rgba(199, 199, 199, 0.5);
            font-size: 2.3rem;
        }

        body.prison .subtitle {
            color: #808080;
        }

        body.prison p {
            color: #dadada;
        }

        /* Tema Cinema */
        body.cinema {
            background: #000;
        }

        body.cinema .background-overlay {
            background: radial-gradient(circle at 30% 40%, rgba(138, 43, 226, 0.15), transparent 50%),
                        radial-gradient(circle at 70% 60%, rgba(0, 191, 255, 0.1), transparent 50%),
                        #000;
            background-image: url('img/cinema.jpg');
            background-size: cover;
            background-position: center;
            background-repeat: no-repeat;
        }

        body.cinema .content-box {
            border-color: #ff7b00;
            color: #f5efd3;
            background: rgba(99, 42, 42, 0.75);
            backdrop-filter: blur(10px);
        }

        body.cinema h1 {
            color: #fcc100;
            text-shadow: 0 0 20px rgba(199, 199, 199, 0.5);
            font-size: 2.3rem;
        }

        body.cinema .subtitle {
            color: #808080;
        }

        body.cinema p {
            color: #fcc100;
        }

        /* Tema Espaço */
        body.space {
            background: #000;
        }

        body.space .background-overlay {
            background: radial-gradient(circle at 30% 40%, rgba(138, 43, 226, 0.15), transparent 50%),
                        radial-gradient(circle at 70% 60%, rgba(0, 191, 255, 0.1), transparent 50%),
                        #000;
        }

        body.space .content-box {
            border-color: #cca8e9;
            color: #f5e6d3;
        }

        body.space h1 {
            color: #b26eff;
            text-shadow: 0 0 20px rgba(0, 12, 180, 0.5);
        }

        body.space .subtitle {
            color: #c41e3a;
        }

        body.space p {
            color: #c4baff;
        }

        body.space .stars {
            position: fixed;
            width: 100%;
            height: 100%;
            top: 0;
            left: 0;
            pointer-events: none;
            z-index: -1;
        }

        body.space .star {
            position: absolute;
            width: 2px;
            height: 2px;
            background: white;
            border-radius: 50%;
            animation: twinkle 4s infinite;
        }

        @keyframes twinkle {
            0%, 100% { opacity: 0.2; }
            50% { opacity: 1; }
        }

        /* Tema Parque de Diversões */
        body.carnival {
            background: #1a0a2e;
        }

        body.carnival .background-overlay {
            background: 
                radial-gradient(circle at 20% 30%, rgba(255, 0, 128, 0.2), transparent 40%),
                radial-gradient(circle at 80% 70%, rgba(0, 255, 255, 0.15), transparent 40%),
                radial-gradient(circle at 50% 50%, rgba(255, 255, 0, 0.1), transparent 50%),
                linear-gradient(135deg, #1a0a2e 0%, #2d1b4e 50%, #1a0a2e 100%);
            background-image: url('img/parquedediversões.jpg');
            background-size: cover;
            background-position: center;
            background-repeat: no-repeat;
        }

        body.carnival .content-box {
            border-color: #ff69b4;
            color: #ffe4f0;
            animation: borderPulse 3s infinite;
        }

        @keyframes borderPulse {
            0%, 100% { border-color: #ff69b4; }
            33% { border-color: #ffed4e; }
            66% { border-color: #00d4ff; }
        }

        body.carnival h1 {
            color: #ff1493;
            text-shadow: 2px 2px 0 #ffed4e, 4px 4px 0 #00d4ff;
        }

        body.carnival .subtitle {
            color: #ffa500;
        }

        body.carnival .confetti {
            position: fixed;
            width: 10px;
            height: 10px;
            animation: fall 8s linear infinite;
        }

        @keyframes fall {
            0% { 
                top: -10%;
                transform: translateX(0) rotate(0deg);
                opacity: 1;
            }
            100% { 
                top: 110%;
                transform: translateX(100px) rotate(360deg);
                opacity: 0;
            }
        }

        /* Tema Show de Horrores */
        body.horror {
            background: #0d0000;
        }

        body.horror .background-overlay {
            background: 
                radial-gradient(circle at 50% 50%, rgba(139, 0, 0, 0.3), transparent 50%),
                radial-gradient(circle at 80% 20%, rgba(80, 0, 0, 0.2), transparent 40%),
                #0d0000;
            background-image: url('img/eventodehorror.jpg');
            background-size: cover;
            background-position: center;
            background-repeat: no-repeat;
        }

        body.horror .content-box {
            border-color: #8b0000;
            color: #ffcccc;
            animation: flicker 3s infinite;
        }

        @keyframes flicker {
            0%, 100% { opacity: 1; border-color: #8b0000; }
            25% { opacity: 0.85; border-color: #ff0000; }
            50% { opacity: 1; border-color: #660000; }
            75% { opacity: 0.9; border-color: #8b0000; }
        }

        body.horror h1 {
            color: #ff0000;
            text-shadow: 0 0 20px #ff0000, 0 0 40px #8b0000;
        }

        body.horror .subtitle {
            color: #ff4444;
        }

        body.horror p {
            color: #ff0000;
        }

        body.horror .fog {
            position: fixed;
            bottom: 0;
            width: 100%;
            height: 300px;
            background: linear-gradient(to top, rgba(139, 0, 0, 0.3), transparent);
            pointer-events: none;
            animation: fogMove 10s infinite ease-in-out;
        }

        @keyframes fogMove {
            0%, 100% { transform: translateX(0); opacity: 0.3; }
            50% { transform: translateX(100px); opacity: 0.5; }
        }

        /* Tema Velho Oeste */
        body.western {
            background: #3e2723;
        }

        body.western .background-overlay {
            background: 
                radial-gradient(circle at 50% 0%, rgba(212, 165, 116, 0.2), transparent 60%),
                linear-gradient(to bottom, #3e2723 0%, #5d4037 50%, #3e2723 100%);
            background-image: url('img/velhooestechuvoso.gif');
            background-size: cover;
            background-position: center;
            background-repeat: no-repeat;
        }

        body.western .content-box {
            border-color: #8b7355;
            color: #f5deb3;
            border-width: 4px;
        }

        body.western h1 {
            color: #d4a574;
            text-shadow: 3px 3px 0 #3e2723;
            font-family: 'Courier New', monospace;
        }

        body.western .subtitle {
            color: #cd853f;
        }

        body.western .dust {
            position: fixed;
            width: 100%;
            height: 100%;
            top: 0;
            left: 0;
            pointer-events: none;
            opacity: 0.1;
            animation: dustMove 20s linear infinite;
        }

        @keyframes dustMove {
            0% { transform: translateX(0); }
            100% { transform: translateX(100px); }
        }

        /* Suavização de transições */
        .fade-in {
            animation: fadeIn 1s ease-in;
        }

        @keyframes fadeIn {
            from { opacity: 0; transform: translateY(20px); }
            to { opacity: 1; transform: translateY(0); }
        }