Teste home 5 Cruising Bar

<!DOCTYPE html>
<html lang="pt-br">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Seven Cruising Bar - Programação Carnaval 2026</title>
    <script src="https://cdn.tailwindcss.com"></script>
    <link href="https://fonts.googleapis.com/css2?family=Teko:wght@300;400;600;700&display=swap" rel="stylesheet">
    
    <!-- Import map for Gemini API -->
    <script type="importmap">
      {
        "imports": {
          "@google/generative-ai": "https://esm.run/@google/generative-ai"
        }
      }
    </script>

    <style>
        :root {
            --neon-red: #ff003c;
            --neon-blue: #00f3ff;
            --dark-bg: #050505;
        }

        body {
            background-color: var(--dark-bg);
            color: white;
            font-family: 'Teko', sans-serif;
            overflow-x: hidden;
            background-image: 
                radial-gradient(circle at 50% 50%, rgba(20, 0, 0, 0.8), transparent 70%),
                linear-gradient(0deg, rgba(0,0,0,1) 0%, rgba(20,20,20,1) 100%);
        }

        /* Age Gate Overlay */
        #age-gate {
            position: fixed;
            inset: 0;
            background: black;
            z-index: 100;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            text-align: center;
            padding: 2rem;
        }

        /* Glitch Effect for Title */
        .glitch-wrapper {
            position: relative;
            display: inline-block;
        }
        
        .glitch {
            position: relative;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.05em;
            text-shadow: 2px 2px var(--neon-red), -2px -2px var(--neon-blue);
            animation: glitch-anim 1s infinite linear alternate-reverse;
        }

        @keyframes glitch-anim {
            0% { text-shadow: 2px 2px var(--neon-red), -2px -2px var(--neon-blue); transform: translate(0); }
            20% { text-shadow: -2px 2px var(--neon-blue), 2px -2px var(--neon-red); transform: translate(-2px, 2px); }
            40% { text-shadow: 2px -2px var(--neon-red), -2px 2px var(--neon-blue); transform: translate(2px, -2px); }
            60% { text-shadow: 0px 0px var(--neon-red), 0px 0px var(--neon-blue); transform: translate(0); }
            80% { text-shadow: 3px 0px var(--neon-blue), -3px 0px var(--neon-red); transform: translate(-1px, 1px); }
            100% { text-shadow: 2px 2px var(--neon-red), -2px -2px var(--neon-blue); transform: translate(0); }
        }

        /* Age Gate Button */
        .enter-btn {
            background: transparent;
            border: 2px solid var(--neon-red);
            color: var(--neon-red);
            padding: 1rem 2rem;
            font-size: 2rem;
            font-weight: bold;
            text-transform: uppercase;
            cursor: pointer;
            transition: all 0.3s;
            box-shadow: 0 0 10px var(--neon-red);
            margin-top: 2rem;
            letter-spacing: 0.1em;
        }

        .enter-btn:hover {
            background: var(--neon-red);
            color: black;
            box-shadow: 0 0 30px var(--neon-red);
            transform: scale(1.05);
        }

        /* Neon Pulse Border for cards */
        .neon-box {
            background: rgba(255, 255, 255, 0.03);
            border: 1px solid rgba(255, 255, 255, 0.1);
            backdrop-filter: blur(10px);
            transition: all 0.3s ease;
            position: relative;
            overflow: hidden;
        }

        .neon-box:hover {
            border-color: var(--neon-red);
            box-shadow: 0 0 15px var(--neon-red), inset 0 0 10px rgba(255,0,60,0.2);
            transform: scale(1.02);
        }

        /* Marquee Animation */
        .marquee-container {
            overflow: hidden;
            white-space: nowrap;
            position: absolute;
            opacity: 0.3;
            font-size: 8rem;
            font-weight: 700;
            color: transparent;
            -webkit-text-stroke: 1px rgba(255,255,255,0.2);
            z-index: 0;
            top: 5%;
            pointer-events: none;
        }

        .marquee-content {
            display: inline-block;
            animation: scroll-left 40s linear infinite;
        }

        @keyframes scroll-left {
            from { transform: translateX(0); }
            to { transform: translateX(-50%); }
        }

        /* Section Dividers */
        .section-divider {
            display: flex;
            align-items: center;
            text-align: center;
            color: var(--neon-blue);
            font-size: 1.5rem;
            font-weight: bold;
            margin: 2rem 0 1rem 0;
            text-transform: uppercase;
            letter-spacing: 0.2em;
        }
        .section-divider::before, .section-divider::after {
            content: '';
            flex: 1;
            border-bottom: 1px solid var(--neon-blue);
            margin: 0 10px;
            opacity: 0.5;
        }

        /* Oracle Button Style */
        .oracle-btn {
            position: fixed;
            bottom: 30px;
            right: 30px;
            z-index: 50;
            width: 80px;
            height: 80px;
            background: #000;
            border: 2px solid var(--neon-blue);
            border-radius: 50%;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            box-shadow: 0 0 15px var(--neon-blue), inset 0 0 10px rgba(0, 243, 255, 0.3);
            transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
            animation: pulse-border 2s infinite;
        }

        @keyframes pulse-border {
            0% { box-shadow: 0 0 10px var(--neon-blue), inset 0 0 5px rgba(0, 243, 255, 0.3); }
            50% { box-shadow: 0 0 25px var(--neon-blue), inset 0 0 15px rgba(0, 243, 255, 0.5); }
            100% { box-shadow: 0 0 10px var(--neon-blue), inset 0 0 5px rgba(0, 243, 255, 0.3); }
        }

        .oracle-btn:hover {
            transform: scale(1.1) rotate(10deg);
            border-color: var(--neon-red);
            box-shadow: 0 0 30px var(--neon-red), inset 0 0 20px rgba(255, 0, 60, 0.5);
        }

        .oracle-btn svg { width: 40px; height: 40px; fill: var(--neon-blue); }
        .oracle-btn:hover svg { fill: var(--neon-red); }

        /* Oracle Chat UI */
        #oracle-modal {
            transition: opacity 0.3s ease, transform 0.3s ease;
            backdrop-filter: blur(15px);
            background: rgba(5, 5, 5, 0.95);
            border: 2px solid var(--neon-blue);
            border-radius: 8px;
        }
        .chat-msg {
            margin-bottom: 8px; padding: 10px 14px; border-radius: 4px; font-size: 1.1rem; max-width: 85%; line-height: 1.2;
        }
        .chat-msg.user { background: rgba(255, 0, 60, 0.2); border-right: 3px solid var(--neon-red); align-self: flex-end; }
        .chat-msg.ai { background: rgba(0, 243, 255, 0.1); border-left: 3px solid var(--neon-blue); align-self: flex-start; }

        .typing-dot { animation: typing 1.4s infinite ease-in-out both; }
        @keyframes typing { 0%, 80%, 100% { transform: scale(0); } 40% { transform: scale(1); } }
    </style>
</head>
<body class="min-h-screen flex flex-col items-center justify-start p-4 md:p-8 relative">

    <!-- Age Gate -->
    <div id="age-gate">
        <div class="glitch-wrapper mb-6">
            <h1 class="glitch text-7xl md:text-9xl text-white">SEVEN</h1>
        </div>
        <p class="text-2xl md:text-4xl text-gray-400 mb-4 tracking-widest uppercase">Cruising Bar & Club</p>
        <p class="text-white text-xl md:text-2xl">Este site contém conteúdo adulto.</p>
        <button onclick="confirmAge()" class="enter-btn">
            Você quer se divertir?<br>
            <span class="text-sm">(Sou maior de 18 anos)</span>
        </button>
    </div>

    <!-- Background Marquee Text -->
    <div class="marquee-container w-full">
        <div class="marquee-content">
            CARNAVAL RIO 2026 /// SEVEN CRUISING BAR /// CARNAVAL RIO 2026 /// SEVEN CRUISING BAR ///
        </div>
    </div>
    
    <!-- Header Section -->
    <header class="z-10 text-center mb-8 mt-4 relative w-full max-w-2xl">
        <div class="border-b-2 border-red-600 pb-4 mb-4">
            <h2 class="text-xl md:text-2xl tracking-[0.3em] text-gray-400 mb-2 uppercase">Rio de Janeiro</h2>
            <div class="glitch-wrapper">
                <h1 class="glitch text-7xl md:text-9xl leading-none text-white">SEVEN</h1>
            </div>
            <p class="text-2xl md:text-3xl text-red-500 font-bold tracking-widest mt-2 uppercase">Cruising Festival</p>
            <div class="bg-white text-black px-2 py-1 inline-block mt-2 font-bold text-lg transform -rotate-2">
                CARNAVAL 2026
            </div>
        </div>
        <p class="text-gray-400 text-lg uppercase tracking-wider">05 FEV - 22 FEV</p>
    </header>

    <!-- Main Schedule Grid -->
    <main id="schedule-content" class="z-10 w-full max-w-2xl space-y-3 mb-12">
        <div class="section-divider">Pré-Carnaval</div>
        
        <div class="neon-box p-3 rounded-sm flex flex-col group border-l-2 border-l-gray-600">
            <div class="text-red-500 text-lg font-bold leading-none">05/02 • QUI</div>
            <div class="text-2xl text-white font-bold uppercase">Lado B Projeto!</div>
            <div class="text-sm text-gray-400">Entrada: R$ 40 • Traje: Livre</div>
        </div>

        <div class="neon-box p-3 rounded-sm flex flex-col group border-l-2 border-l-red-600">
            <div class="text-red-500 text-lg font-bold leading-none">06/02 • SEX</div>
            <div class="text-3xl text-white font-bold uppercase glitch">RedRoom</div>
            <div class="text-sm text-gray-300">Show Interativo +18 • PornStars</div>
        </div>

        <div class="section-divider glitch">Cruising Festival 2026</div>

        <div class="neon-box p-3 rounded-sm flex flex-col group border-l-4 border-l-cyan-400">
            <div class="text-cyan-400 text-lg font-bold leading-none">08/02 • DOM • GRITO DE CARNAVAL</div>
            <div class="text-2xl text-white font-bold uppercase">Baile "Não Me Prende"</div>
            <div class="text-sm text-gray-300">DJ Nu Math3w • Show Interativo • Traje: Nu</div>
        </div>

        <div class="neon-box p-4 rounded-sm flex flex-col justify-center items-center group border-2 border-red-600 bg-red-900/20 text-center">
            <div class="text-white text-xl font-bold leading-none mb-1">13/02 • SEXTA DE CARNAVAL</div>
            <div class="text-4xl text-white font-bold uppercase glitch">Baile "Não Me Prende"</div>
            <div class="text-sm text-gray-300 uppercase tracking-widest mt-2">Gang... Edition 😈</div>
        </div>
    </main>

    <!-- Oracle Toggle Button -->
    <button id="oracle-toggle" onclick="toggleOracle()" class="oracle-btn group" aria-label="Consultar Oráculo">
        <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
            <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm-1-13h2v6h-2zm0 8h2v2h-2z"/>
        </svg>
    </button>

    <!-- Oracle Chat Modal -->
    <div id="oracle-modal" class="fixed bottom-28 right-6 w-80 md:w-96 h-[450px] z-40 flex flex-col hidden overflow-hidden">
        <div class="bg-black p-4 border-b border-cyan-500/30 flex justify-between items-center">
            <div class="flex items-center gap-2">
                <div class="w-3 h-3 bg-cyan-400 rounded-full animate-pulse"></div>
                <h3 class="text-cyan-400 font-bold text-xl tracking-widest uppercase">Oráculo Seven</h3>
            </div>
            <button onclick="toggleOracle()" class="text-gray-500 hover:text-white text-2xl">&times;</button>
        </div>
        <div id="chat-messages" class="flex-1 overflow-y-auto p-4 flex flex-col space-y-4 text-sm text-gray-200">
            <div class="chat-msg ai">As sombras do Seven dão-te as boas-vindas. O que queres saber? 😈</div>
        </div>
        <div class="p-4 bg-black border-t border-cyan-500/30">
            <div class="relative flex gap-2">
                <input type="text" id="user-input" placeholder="Sussurra aqui..." class="flex-1 bg-gray-900 border border-gray-800 text-white px-4 py-3 rounded text-sm outline-none" onkeypress="handleKeyPress(event)">
                <button onclick="sendMessage()" class="bg-cyan-900/30 text-cyan-400 border border-cyan-400 px-4 py-2 rounded">ENVIAR</button>
            </div>
        </div>
    </div>

    <footer class="z-10 mt-auto text-center border-t border-gray-800 pt-6 w-full max-w-lg pb-8">
        <p class="text-gray-500 text-lg uppercase">Praça da República, 141 - Centro - Rio de Janeiro</p>
    </footer>

    <script type="module">
        import { GoogleGenerativeAI } from "@google/generative-ai";
        const apiKey = ""; 
        const genAI = new GoogleGenerativeAI(apiKey);
        const model = genAI.getGenerativeModel({ model: "gemini-2.5-flash-preview-09-2025" });
        const scheduleContent = document.getElementById('schedule-content').innerText;

        window.sendMessage = async function() {
            const inputField = document.getElementById('user-input');
            const userText = inputField.value.trim();
            if (!userText) return;
            addMessage(userText, 'user');
            inputField.value = '';
            const loadingId = addLoading();
            try {
                const result = await model.generateContent({
                    contents: [{ role: "user", parts: [{ text: `Persona: Oráculo Seven. Bar Cruising Rio. Sombrio. Dados: ${scheduleContent}. Pergunta: ${userText}` }] }]
                });
                removeLoading(loadingId);
                addMessage(result.response.text(), 'ai');
            } catch (e) { removeLoading(loadingId); addMessage("Erro nas sombras.", 'ai'); }
        }
        window.handleKeyPress = (e) => e.key === 'Enter' && sendMessage();
        function addMessage(t, s) { 
            const c = document.getElementById('chat-messages');
            const d = document.createElement('div');
            d.className = `chat-msg ${s}`; d.innerText = t;
            c.appendChild(d); c.scrollTop = c.scrollHeight;
        }
        function addLoading() {
            const c = document.getElementById('chat-messages');
            const d = document.createElement('div');
            d.className = `chat-msg ai`; d.innerHTML = '...';
            c.appendChild(d); return d;
        }
        function removeLoading(e) { if(e) e.remove(); }
    </script>

    <script>
        function confirmAge() {
            const gate = document.getElementById('age-gate');
            gate.style.opacity = '0';
            setTimeout(() => gate.style.display = 'none', 500);
        }
        function toggleOracle() {
            const m = document.getElementById('oracle-modal');
            m.classList.toggle('hidden');
        }
    </script>
</body>
</html>