<!DOCTYPE html>
<html lang="id">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Bocoran Angka Togel - Masuktoto Situs Toto Togel Online Bebas Inves dan Bebas Line</title>
    <meta name="description" content="Bocoran Angka Togel Merupakan Situs Prediksi Togel Online Dari masuktoto Dengan Tingkat Prediksi dan Bocoran Angka Togel Online Yang Jitu dan Akurat.">
    <meta name="keywords" content="bocoran angka togel, prediksi angka, prediksi togel, angka keberuntungan, prediksi jitu, angka akurat, situs prediksi angka">
    <meta name="robots" content="index, follow">
    <meta property="og:title" content="Bocoran Angka Togel - Masuktoto Situs Toto Togel Online Bebas Inves dan Bebas Line">
    <meta property="og:description" content="Bocoran Angka Togel Merupakan Situs Prediksi Togel Online Dari masuktoto Dengan Tingkat Prediksi dan Bocoran Angka Togel Online Yang Jitu dan Akurat.">
    <meta property="og:image" content="/assets/masuk-hongkong.jpg">
    <meta property="og:url" content="https://masuktoto.bocoran-guru.com/">
    <meta property="og:type" content="website">
    <meta name="twitter:card" content="summary_large_image">
    <meta name="twitter:title" content="Bocoran Angka Togel - Masuktoto Situs Toto Togel Online Bebas Inves dan Bebas Line">
    <meta name="twitter:description" content="Bocoran Angka Togel Merupakan Situs Prediksi Togel Online Dari masuktoto Dengan Tingkat Prediksi dan Bocoran Angka Togel Online Yang Jitu dan Akurat.">
    <meta name="twitter:image" content="/assets/masuk-hongkong.jpg">
    <link rel="canonical" href="https://masuktoto.bocoran-guru.com/" />
    <link rel="icon" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigdSyabL68TwSql3Ocnrpi-0ar1HzECg715mcwF66faE5WDCgq2ghT9svOr3GHBeyrpul-uWydftmxagRCl7Q5h7aViv0jcbNgwjisMqxaVvLwr-oTV5yzC-DVYk3DawI2Q706cmhVPTrI0bwg2gZ9_1CoPnmDCVegcAQwEGeQMLctUXI/s1600/favimas.png" type="image/x-icon">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css">    
    <style>
        /* Reset and General Styles */
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

body {
    font-family: 'Arial', sans-serif;
    background-image: url('/assets/gacorbg.jpg'); /* Ganti URL ini dengan gambar Anda */
    background-color: #121212;
    color: #fff;
    overflow-x: hidden;
    transition: background-color 0.3s ease;
    
    /* Menjamin gambar latar belakang menutupi seluruh layar */
    background-size: cover;
    background-position: center center;
    background-attachment: fixed; /* Membuat gambar tetap ketika menggulirkan halaman */
}

/* Untuk perangkat dengan lebar maksimal 768px (biasanya tablet atau ponsel) */
@media (max-width: 768px) {
    body {
        /* Menyesuaikan gambar latar belakang untuk perangkat kecil */
        background-size: cover;
        background-position: center center;
    }
}

/* Untuk perangkat dengan lebar maksimal 480px (ponsel kecil) */
@media (max-width: 480px) {
    body {
        /* Menyesuaikan gambar latar belakang untuk perangkat kecil */
        background-size: cover;
        background-position: center center;
    }
}


        a {
            text-decoration: none;
            color: inherit;
        }

/* Styling untuk Header */
header {
    background-color: #121211;
    color: #fff;
    padding: 2rem;
    text-align: center;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

/* Styling untuk Container Logo */
.logo-container {
    text-align: center; /* Memastikan logo berada di tengah */
    margin-bottom: 10px; /* Menambahkan jarak antara logo dan teks */
}

/* Styling untuk Logo */
.logo {
    max-width: 100%; /* Agar logo tidak melebihi ukuran container */
    height: auto; /* Menjaga rasio aspek logo */
    display: inline-block; /* Menjaga logo dalam satu baris */
    margin: 0 auto; /* Memastikan logo berada di tengah */
}

/* Styling untuk Teks H1 */
h1 {
    font-size: 3rem; /* Ukuran teks yang besar */
    color: #fff; /* Warna teks yang kontras */
    font-family: 'Georgia', serif; /* Font yang elegan */
    font-weight: 900; /* Menebalkan teks */
    text-align: center; /* Menyelaraskan teks ke tengah */
    margin-top: 40px; /* Memberikan jarak atas */
    letter-spacing: 3px; /* Memberikan jarak antar huruf */
    position: relative;
    display: inline-block;
    padding: 20px;
    border-radius: 10px; /* Membuat sudut lebih halus */
    background: linear-gradient(45deg, #D6A77A, #C97D48); /* Warna gradasi kulit */
    background-image: url('https://www.transparenttextures.com/patterns/wood-pattern.png'); /* Gambar tekstur kulit */
    background-size: cover;
    background-blend-mode: overlay; /* Menggabungkan gradasi dengan tekstur */
    box-shadow: inset 0 0 15px rgba(0, 0, 0, 0.1); /* Bayangan dalam untuk efek kedalaman */
}

/* Efek kilauan pada teks */
@keyframes shine {
    0% {
        text-shadow: 0 0 10px #FFD700, 0 0 20px #FFD700, 0 0 30px #FFD700, 0 0 40px #FFD700;
    }
    50% {
        text-shadow: 0 0 20px #FF6347, 0 0 30px #FF6347, 0 0 40px #FF6347, 0 0 50px #FF6347;
    }
    100% {
        text-shadow: 0 0 10px #FFD700, 0 0 20px #FFD700, 0 0 30px #FFD700, 0 0 40px #FFD700;
    }
}

/* Menambahkan animasi kilauan */
h1 {
    animation: shine 3s ease-in-out infinite; /* Animasi kilauan */
}

/* Efek Bayangan pada Teks */
h1::before {
    content: ''; 
    position: absolute; 
    top: 0; 
    left: 0; 
    right: 0; 
    bottom: 0; 
    background: rgba(0, 0, 0, 0.3); /* Bayangan lembut untuk memberi kesan kedalaman */
    border-radius: 10px;
    z-index: -1; /* Bayangan di bawah teks */
}


/* Efek kilauan pada teks */
@keyframes shine {
    0% {
        text-shadow: 0 0 10px #FFD700, 0 0 20px #FFD700, 0 0 30px #FFD700, 0 0 40px #FFD700;
    }
    50% {
        text-shadow: 0 0 20px #FF6347, 0 0 30px #FF6347, 0 0 40px #FF6347, 0 0 50px #FF6347;
    }
    100% {
        text-shadow: 0 0 10px #FFD700, 0 0 20px #FFD700, 0 0 30px #FFD700, 0 0 40px #FFD700;
    }
}

/* Menambahkan animasi kilauan */
h1 {
    animation: shine 3s ease-in-out infinite; /* Animasi kilauan */
}



/* Container untuk tombol */
.header-buttons {
    display: flex;
    justify-content: center;
    gap: 1rem;
    margin-top: 1rem;
    flex-wrap: wrap;
}

/* Styling untuk tombol-tombol */
.header-buttons button {
    background-color: #FFD700; /* Latar belakang kuning kental */
    color: #000; /* Teks hitam */
    padding: 12px 25px; /* Padding agar lebih lebar */
    border: none;
    border-radius: 8px; /* Membuat sudut kotak sedikit membulat */
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px; /* Memberikan jarak antara ikon dan teks */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* Menambahkan bayangan lembut */
    transition: all 0.3s ease-in-out;
    text-transform: uppercase;
    width: 180px; /* Menentukan lebar tombol */
    height: 50px; /* Menentukan tinggi tombol */
}

/* Ikon pada tombol */
.header-buttons button i {
    font-size: 20px; /* Ukuran ikon */
}

/* Efek hover pada tombol */
.header-buttons button:hover {
    background-color: #FFCC00; /* Efek perubahan warna saat hover */
    transform: translateY(-4px); /* Tombol terangkat */
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.3); /* Menambah bayangan */
}

/* Efek aktif saat tombol diklik */
.header-buttons button:active {
    transform: translateY(-2px); /* Sedikit turun saat diklik */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

/* Efek fokus pada tombol */
.header-buttons button:focus {
    outline: none;
    box-shadow: 0 0 10px 2px rgba(255, 99, 71, 0.7); /* Menambahkan highlight pada fokus */
}

/* Kustomisasi tombol LOGIN MASUKTOTO */
.login-btn {
    background-color: #1E90FF;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}
.login-btn:hover {
    background-color: #00BFFF; /* Perubahan warna saat hover */
}

/* Kustomisasi tombol DAFTAR MASUKTOTO */
.register-btn {
    background-color: #FF1493;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}
.register-btn:hover {
    background-color: #FF69B4; /* Perubahan warna saat hover */
}

/* Kustomisasi tombol TELEGRAM */
.telegram-btn {
    background-color: #0088cc;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}
.telegram-btn:hover {
    background-color: #00A9FF; /* Perubahan warna saat hover */
}

/* Kustomisasi tombol LIVECHAT */
.livechat-btn {
    background-color: #32CD32;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}
.livechat-btn:hover {
    background-color: #66FF66; /* Perubahan warna saat hover */
}


/* Style untuk Tanggal dan Waktu */
.datetime {
    font-size: 1.4rem; /* Ukuran teks sedang */
    margin-top: 20px;
    color: #fff; /* Teks berwarna putih */
    background-color: #8a3c00; /* Warna hijau segar untuk latar belakang */
    padding: 12px 25px; /* Memberi ruang padding yang cukup */
    border-radius: 25px; /* Sudut melengkung */
    text-align: center; /* Teks di tengah */
    font-family: 'Arial', sans-serif; /* Font sans-serif yang bersih */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15); /* Bayangan lembut untuk dimensi */
    transition: all 0.3s ease; /* Efek transisi saat hover */
}

/* Efek Hover */
.datetime:hover {
    background-color: #ffae00; /* Warna sedikit lebih gelap saat hover */
    transform: translateY(-5px); /* Sedikit angkat saat dihover */
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2); /* Bayangan lebih dalam */
}

/* Garis bawah elegan */
.datetime::after {
    content: '';
    display: block;
    width: 50%; /* Lebih ramping */
    height: 2px;
    background-color: #fff; /* Garis putih */
    margin: 10px auto 0; /* Posisi garis berada di bawah teks */
    border-radius: 5px; /* Membuat garis lebih lembut */
}

/* Mobile Responsiveness */
@media (max-width: 768px) {
    .datetime {
        font-size: 1.2rem; /* Mengurangi ukuran font pada layar kecil */
        padding: 8px 20px;
    }
}


/* Kontainer untuk kotak pencarian dan teks highlight */
.search-container {
    display: flex;
    align-items: center; /* Menjaga agar teks dan kotak pencarian sejajar */
    justify-content: center;
    margin: 30px 0;
}

/* Kotak highlight dengan tulisan "CARI PASARAN" */
.highlight-box {
    background-color: #d90000; /* Warna latar belakang kotak highlight */
    color: white; /* Warna teks putih */
    padding: 0 20px; /* Padding kiri dan kanan */
    font-size: 18px;
    font-weight: bold;
    border-radius: 12px 0 0 12px; /* Membulatkan sudut kiri */
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    height: 50px; /* Set tinggi yang sama dengan kotak pencarian */
}

/* Kotak pencarian yang menyatu dengan kotak highlight */
.search-box {
    padding: 15px 25px;
    font-size: 18px;
    width: 60%; /* Lebar kotak pencarian */
    max-width: 600px;
    border-radius: 0 12px 12px 0; /* Membulatkan sudut kanan */
    border: 1px solid #ccc;
    background-color: #333;
    color: white;
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3);
    transition: all 0.3s ease;
    height: 50px; /* Set tinggi yang sama dengan kotak highlight */
}

/* Efek saat hover pada kotak pencarian */
.search-box:hover {
    transform: translateY(-8px);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.4);
}

/* Efek saat fokus pada kotak pencarian */
.search-box:focus {
    outline: none;
    transform: translateY(-5px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.5);
    border-color: #ff6347;
}

/* Efek pada placeholder */
.search-box::placeholder {
    color: #bbb;
    transition: color 0.3s ease;
}

/* Mengubah warna placeholder saat fokus */
.search-box:focus::placeholder {
    color: #ff6347;
}



/* Menambahkan animasi saat pertama kali muncul */
.search-box {
    animation: scaleIn 0.5s ease-out;
}

/* Animasi untuk pertama kali muncul */
@keyframes scaleIn {
    0% {
        transform: scale(0.8); /* Mulai dari skala kecil */
        opacity: 0; /* Mulai dari transparan */
    }
    100% {
        transform: scale(1); /* Beralih ke ukuran normal */
        opacity: 1; /* Menjadi sepenuhnya terlihat */
    }
}

        /* Container Styles */
        .container {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 20px;
            padding: 20px;
            animation: fadeIn 1s ease-in;
        }

        /* Pasaran Box Styles */
        .pasaran {
            background-color: #1e1e1e;
            border-radius: 10px;
            padding: 20px;
            width: 300px;
            box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
            text-align: center;
            transition: transform 0.3s ease-in-out;
        }

        .pasaran:hover {
            transform: translateY(-10px);
        }

        .pasaran img {
            width: 100%;
            height: auto;
            border-radius: 10px;
            transition: transform 0.3s ease;
        }

        .pasaran img:hover {
            transform: scale(1.1);
        }

        .pasaran h3 {
            margin-top: 15px;
            font-size: 1.5rem;
            color: #FFD700; /* Gold color for headings */
        }

        .pasaran p {
            margin: 10px 0;
            color: #ddd; /* Light gray for general text */
        }

        .prediksi {
            font-size: 1.2rem;
            font-weight: bold;
            margin-top: 15px;
            color: #FFD700; /* Gold color for predictions */
        }

        .prediksi p {
            color: #FFD700;
            font-size: 1.1rem;
            margin-bottom: 8px;
        }

        /* Responsive Styles */
        @media (max-width: 768px) {
            header h1 {
                font-size: 2rem;
            }

            .header-buttons button {
                font-size: 14px;
                padding: 10px 18px;
            }

            .container {
                flex-direction: column;
                align-items: center;
            }

            .pasaran {
                width: 90%;
            }

            .search-box {
                width: 80%;
            }
        }

        @media (max-width: 480px) {
            .header-buttons {
                flex-direction: column;
                gap: 0.5rem;
            }

            .header-buttons button {
                width: 100%;
            }

            .search-box {
                width: 90%;
            }
        }
/* Container untuk teks dan ikon */
.broadcast-marquee {
    display: flex;
    align-items: center;
    justify-content: flex-start; /* Ikon dan teks di kiri */
    overflow: hidden; /* Menyembunyikan teks yang keluar dari area */
    background-color: #333; /* Latar belakang gelap */
    color: #FFD700; /* Teks berwarna emas */
    padding: 15px;
    font-size: 20px;
    font-weight: bold;
    height: 50px;
    border-radius: 25px; /* Membuat sudut membulat */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* Bayangan lembut */
    margin: 20px 0; /* Memberikan jarak atas dan bawah */
    position: relative; /* Posisi relatif untuk menempatkan ikon secara absolut */
    width: 100%; /* Memastikan container memiliki lebar penuh */
    max-width: 100%; /* Menghindari elemen keluar dari container */
}

/* Kotak khusus untuk ikon */
.broadcast-icon-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px; /* Lebar kotak untuk ikon */
    height: 50px; /* Tinggi kotak yang sama dengan tinggi marquee */
    margin-right: 15px; /* Jarak antara ikon dan teks */
    background-color: #444; /* Latar belakang kotak ikon */
    border-radius: 50%; /* Membuat ikon berbentuk lingkaran */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* Menambahkan bayangan lembut */
}

/* Ikon Broadcast */
.broadcast-icon {
    font-size: 28px; /* Ukuran ikon lebih kecil agar seimbang */
    color: #FFD700; /* Warna ikon yang sama dengan teks */
    animation: pulse 1.5s infinite ease-in-out; /* Menambahkan animasi pulse pada ikon */
}

/* Efek animasi pulse untuk ikon */
@keyframes pulse {
    0% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.1); /* Ikon sedikit membesar */
    }
    100% {
        transform: scale(1);
    }
}

/* Animasi teks berjalan */
.broadcast-marquee span {
    display: inline-block;
    white-space: nowrap; /* Agar teks tidak terpotong */
    animation: marquee 20s cubic-bezier(0.25, 0.8, 0.25, 1) infinite; /* Animasi berjalan dengan kurva cubic-bezier dan durasi lebih lambat */
    padding-left: 10px; /* Menambahkan ruang di kiri teks untuk menghindari tabrakan dengan ikon */
    flex-grow: 1; /* Memberikan ruang bagi teks berjalan agar menyesuaikan sisa ruang */
}

/* Efek animasi untuk teks berjalan */
@keyframes marquee {
    0% {
        transform: translateX(100%); /* Mulai dari kanan */
    }
    100% {
        transform: translateX(-100%); /* Bergerak ke kiri */
    }
}


/* Animasi teks berjalan */
.broadcast-marquee span {
    display: inline-block;
    white-space: nowrap; /* Agar teks tidak terpotong */
    animation: marquee 25s linear infinite; /* Animasi berjalan dengan durasi lebih lambat */
    padding-left: 10px; /* Menambahkan ruang di kiri teks untuk menghindari tabrakan dengan ikon */
    flex-grow: 1; /* Memberikan ruang bagi teks berjalan agar menyesuaikan sisa ruang */
}

/* Efek animasi untuk teks berjalan */
@keyframes marquee {
    0% {
        transform: translateX(100%); /* Mulai dari kanan */
    }
    100% {
        transform: translateX(-100%); /* Bergerak ke kiri */
    }
}




    </style>
</head>
<body>
<header>
    <div class="logo-container">
        <img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjy0l6RoVxkhejJoRjdUFcM8xiKnBe8gbNuixXHpCCEV31DmuYz3cvjuq7MkdwO1CfVZw7SnefFLhzntfkC8ORArkPXoqcmIiUGys0T3I1nH7YB5mvUfT1ulhPUEq-AdSQP0pFmqJOH5LTjDjDcWO9xVd2q1_Ltqzhhwprl2PVk_6TM27w/s1600/logomas.png" alt="Logo" class="logo">
    </div>
<div class="header-buttons">
    <!-- Tombol Home -->
    <a href="https://masuktoto.bocoran-guru.com/">
        <button class="home-btn">
            <i class="fas fa-home"></i> Home
        </button>
    </a>
    
    <a href="/jadwal">
        <button class="jadwal-btn">
            <i class="fas fa-calendar-alt"></i> JADWAL PASARAN
        </button>
    </a>
    <a href="/bbfs">
        <button class="bbfs-btn">
            <i class="fas fa-cogs"></i> BBFS GENERATOR
        </button>
    </a>
    <a href="https://biolinku.co/masuktoto">
        <button class="login-btn">
            <i class="fas fa-sign-in-alt"></i> LOGIN MASUKTOTO
        </button>
    </a>
    <a href="https://biolinku.co/masuktoto">
        <button class="register-btn">
            <i class="fas fa-user-plus"></i> DAFTAR MASUKTOTO
        </button>
    </a>
    <a href="http://t.me/Masukt0t0wangi">
        <button class="telegram-btn">
            <i class="fab fa-telegram-plane"></i> TELEGRAM
        </button>
    </a>
    <a href="https://direct.lc.chat/15397020/">
        <button class="livechat-btn">
            <i class="fas fa-comment-dots"></i> LIVECHAT
        </button>
    </a>
</div>

</header>
<center><h1>PREDIKSI JITU HARIAN MASUKTOTO</h1></center>
<!-- Add Date-Time display here -->
        <div class="datetime" id="datetime"></div>
    <!-- Container untuk teks berjalan dengan ikon broadcast -->
<div class="broadcast-marquee">
    <!-- Kotak untuk ikon -->
    <div class="broadcast-icon-wrapper">
        <i class="fas fa-bullhorn broadcast-icon"></i>
    </div>

    <!-- Teks yang berjalan -->
    <span>BOCORAN ANGKA TOGEL MASUKTOTO - BEBAS INVES TOGEL, BEBAS LINE TOGEL DAN BEBAS IP. BERAPAPUN JACKPOTNYA KAMI BAYAR PENUH.</span>
</div>



    <!-- Search Box -->
    <div class="search-container">
        <div class="highlight-box">
            <span>CARI PASARAN</span>
        </div>
        <input type="text" class="search-box" id="search" placeholder="Masukkan kata kunci...">
    </div>
    <main>
        <div class="container"></div>
    </main>
    <script>
        const pasarans = [
            { name: "SINGAPORE", offline: "17:30", online: "17:45", img: "/assets/masuk-singapore.jpg" },
            { name: "SYDNEY", offline: "13:25", online: "14:00", img: "/assets/masuk-sydney.jpg" },
            { name: "HONGKONG", offline: "22:45", online: "23:00", img: "/assets/masuk-hongkong.jpg" },
		    { name: "KINGKONG POOLS 1", offline: "16:59", online: "17:00", img: "/assets/masuk-kingkong.jpg" },
		    { name: "KINGKONG POOLS 2", offline: "22:59", online: "23:00", img: "/assets/masuk-kingkong.jpg" },
		    { name: "TOTO MACAU 01", offline: "00:01", online: "00:15", img: "/assets/masuk-totomacau.jpg" },
		    { name: "TOTO MACAU 02", offline: "13:00", online: "13:15", img: "/assets/masuk-totomacau.jpg" },
		    { name: "TOTO MACAU 03", offline: "16:00", online: "16:15", img: "/assets/masuk-totomacau.jpg" },
		    { name: "TOTO MACAU 04", offline: "19:00", online: "19:15", img: "/assets/masuk-totomacau.jpg" },
		    { name: "TOTO MACAU 05", offline: "22:00", online: "22:15", img: "/assets/masuk-totomacau.jpg" },
		    { name: "TOTO MACAU 06", offline: "23:00", online: "23:15", img: "/assets/masuk-totomacau.jpg" },
		    { name: "TOTO MACAU 5D", offline: "23:00", online: "23:15", img: "/assets/masuk-totomacau.jpg" },
            { name: "CAMBODIA", offline: "11:35", online: "11:50", img: "/assets/masuk-cambodia.jpg" },
            { name: "CHINA", offline: "15:15", online: "15:30", img: "/assets/masuk-china.jpg" },
            { name: "TOKYO04", offline: "04:15", online: "04:30", img: "/assets/masuk-tokyo04.jpg" },
            { name: "TOKYO11", offline: "11:25", online: "11:40", img: "/assets/masuk-tokyo11.jpg" },
            { name: "TOKYO21", offline: "21:40", online: "21:55", img: "/assets/masuk-tokyo21.jpg" },
            { name: "TOKYO23", offline: "23:40", online: "23:55", img: "/assets/masuk-tokyo23.jpg" },
            { name: "PCSO", offline: "19:50", online: "20:10", img: "/assets/masuk-pcso.jpg" },
            { name: "HELINSKI02", offline: "02:30", online: "02:45", img: "/assets/masuk-helinski02.jpg" },
            { name: "HELINSKI18", offline: "18:30", online: "18:45", img: "/assets/masuk-helinski18.jpg" },
            { name: "MELBOURNE13", offline: "12:45", online: "13:00", img: "/assets/masuk-melbourne13.jpg" },
            { name: "MELBOURNE19", offline: "19:20", online: "19:35", img: "/assets/masuk-melbourne19.jpg" },
            { name: "ULSAN", offline: "00:15", online: "00:45", img: "/assets/masuk-ulsan.jpg" },
            { name: "BUSAN", offline: "01:15", online: "01:30", img: "/assets/masuk-busan.jpg" },
            { name: "JAMAICA", offline: "03:20", online: "03:35", img: "/assets/masuk-jamaica.jpg" },
            { name: "CHICAGO", offline: "05:30", online: "05:45", img: "/assets/masuk-chicago.jpg" },
            { name: "TAIWAN", offline: "20:30", online: "20:45", img: "/assets/masuk-taiwan.jpg" },
            { name: "MACAU", offline: "09:45", online: "10:15", img: "/assets/masuk-macau.jpg" },
            { name: "MOSCOW", offline: "10:45", online: "11:00", img: "/assets/masuk-moscow.jpg" },
            { name: "BEIJING", offline: "14:20", online: "14:35", img: "/assets/masuk-beijing.jpg" },
            { name: "PENANG", offline: "15:00", online: "15:30", img: "/assets/masuk-penang.jpg" },
            { name: "NEWYORK", offline: "16:30", online: "16:45", img: "/assets/masuk-newyork.jpg" },
            { name: "MEXICO", offline: "20:30", online: "21:00", img: "/assets/masuk-mexico.jpg" }
        ];

        // Function to display current time and date in GMT+7 in Bahasa Indonesia
        function displayDateTime() {
            const options = {
                weekday: 'long', // "Senin"
                year: 'numeric', // "2024"
                month: 'long', // "Desember"
                day: 'numeric', // "20"
                hour: '2-digit',
                minute: '2-digit',
                second: '2-digit',
                timeZone: 'Asia/Jakarta',
                hour12: false, // 24-hour format
            };
            const date = new Date().toLocaleString('id-ID', options);
            document.getElementById('datetime').textContent = date;
        }

        // Update Date-Time every second
        setInterval(displayDateTime, 1000);

        // Initial call to display the date-time when the page loads
        displayDateTime();

        // Function to generate predictions
// Function to generate predictions
function generatePrediksi(seed) {
    function random(min, max) {
        return Math.floor(Math.random() * (max - min + 1)) + min;
    }

    function generateUniqueNumbers(length, min, max) {
    const numbers = new Set();
    while (numbers.size < length) {
        let num = random(min, max);
        // Ensure that the number isn't repeated within the set
        while (numbers.has(num)) {
            num = random(min, max);  // Regenerate if the number already exists in the set
        }
        numbers.add(num);
    }
    return Array.from(numbers);
}


    const bbfs = generateUniqueNumbers(7, 0, 9);  // Generate 7 unique numbers from 0 to 10
    const colok = generateUniqueNumbers(3, 0, 9);  // Generate 3 unique numbers from 0 to 9

    // Generate Top 2D pairs
    const top2d = [];
    const pairsSet = new Set();
    while (pairsSet.size < 10) {
        const a = random(0, 9);  // Random number for pair a
        const b = random(0, 9);  // Random number for pair b
        pairsSet.add(`${a}${b}`);
    }
    pairsSet.forEach(pair => top2d.push(pair));
    
    // Generate Top 3D numbers (3 digits each)
    const top3d = [];
    const pairsSet3d = new Set();
    while (pairsSet3d.size < 10) {
        const a = random(0, 9);  // Random digit for the first part of 3D
        const b = random(0, 9);  // Random digit for the second part of 3D
        const c = random(0, 9);  // Random digit for the third part of 3D
        pairsSet3d.add(`${a}${b}${c}`);  // Correct string construction for 3 digits
    }
    pairsSet3d.forEach(pair => top3d.push(pair));

    // Generate Top 4D numbers (4 digits each)
    const top4d = [];
    const pairsSet4d = new Set();
    while (pairsSet4d.size < 10) {
        const a = random(0, 9);  // Random digit for the first part of 4D
        const b = random(0, 9);  // Random digit for the second part of 4D
        const c = random(0, 9);  // Random digit for the third part of 4D
        const d = random(0, 9);  // Random digit for the fourth part of 4D
        pairsSet4d.add(`${a}${b}${c}${d}`);  // Correct string construction for 4 digits
    }
    pairsSet4d.forEach(pair => top4d.push(pair));

    // Array of Chinese Zodiac animals
    const shio = ["Tikus", "Kerbau", "Macan", "Kelinci", "Naga", "Ular", "Kuda", "Kambing", "Monyet", "Ayam", "Anjing", "Babi"];
    const shioResult = shio[random(0, 11)];  // Random index for the shio array

    return {
        bbfs: bbfs.join(' '),  // Convert array to string
        colok: colok.join(' '),  // Convert array to string
        top2d: top2d.join(', '),  // Convert array to string
        top3d: top3d.join(', '),  // Convert array to string
        top4d: top4d.join(', '),  // Convert array to string
        shio: shioResult
    };
}

// Function to get or generate predictions
function getOrGeneratePrediksi(marketName, marketIndex) {
    const today = new Date().toISOString().split('T')[0];  // Get today's date in YYYY-MM-DD format

    // Gunakan kombinasi dari marketName dan today untuk menghasilkan seed yang konsisten
    const seed = parseInt(today.replace(/-/g, '') + marketName, 10);  // Seed berdasarkan kombinasi tanggal dan marketName

    // Check if there is a stored prediction for today and this marketName
    const storedData = localStorage.getItem(`${marketName}-${today}`);
    
    if (storedData) {
        return JSON.parse(storedData);  // If data exists, return it
    } else {
        const prediksi = generatePrediksi(seed);  // Generate new prediction if not found
        localStorage.setItem(`${marketName}-${today}`, JSON.stringify(prediksi));  // Store prediction
        return prediksi;
    }
}

// DOMContentLoaded event listener
document.addEventListener('DOMContentLoaded', () => {
    const container = document.querySelector('.container');
    const today = new Date().toISOString().split('T')[0];  // Get today's date in YYYY-MM-DD format

    pasarans.forEach((pasaran, index) => {
        const currentTime = new Date();
        const offlineTime = new Date(`${today}T${pasaran.offline}:00+07:00`);
        const isOffline = currentTime >= offlineTime;
        const seed = parseInt(today.replace(/-/g, '') + index, 10) + (isOffline ? 1 : 0);

        // Get or generate predictions based on today's date
        const prediksi = getOrGeneratePrediksi(pasaran.name, index);  // Get or generate the prediction

        const div = document.createElement('div');
        div.className = 'pasaran';
        div.innerHTML = `
            <img src="${pasaran.img}" alt="${pasaran.name}">
            <h3>${pasaran.name}</h3>
            <p>Jam Tutup: ${pasaran.offline}</p>
            <p>Jam Result: ${pasaran.online}</p>
            <div class="prediksi">
                <p>BBFS: ${prediksi.bbfs}</p>
                <p>Colok Angka: ${prediksi.colok}</p>
                <p>Top 2D: ${prediksi.top2d}</p>
                <p>Top 3D: ${prediksi.top3d}</p>
                <p>Top 4D: ${prediksi.top4d}</p>
                <p>Shio: ${prediksi.shio}</p>
            </div>
        `;
        container.appendChild(div);
    });

    // Search functionality
    document.getElementById('search').addEventListener('input', (e) => {
        const searchTerm = e.target.value.toLowerCase();
        const pasaranItems = document.querySelectorAll('.pasaran');
        pasaranItems.forEach((item) => {
            const name = item.querySelector('h3').textContent.toLowerCase();
            if (name.includes(searchTerm)) {
                item.style.display = 'block';
            } else {
                item.style.display = 'none';
            }
        });
    });
});

    </script>
    
    <script>
// Disable F12 (Developer Tools)
document.addEventListener('keydown', function(event) {
    if (event.key === 'F12' || (event.ctrlKey && event.key === 'u')) {
        event.preventDefault();
    }
});

// Disable Right-Click
document.addEventListener('contextmenu', function(event) {
    event.preventDefault();  // Disable the right-click menu
});

// Disable F12 and Ctrl+U for good measure
document.addEventListener('keydown', function(event) {
    if (event.key === 'F12' || (event.ctrlKey && event.key === 'u')) {
        event.preventDefault(); // Prevent the default action (open developer tools or view source)
    }
});

// Disable Inspect Element via the mouse (right-click or other triggers)
document.addEventListener('contextmenu', function(event) {
    event.preventDefault();  // Disable the context menu (right-click)
});

// Disable keyboard shortcuts like F12, Ctrl+Shift+I (used for developer tools)
document.addEventListener('keydown', function(event) {
    // Disable F12 and the combination of Ctrl + Shift + I (dev tools)
    if (event.key === 'F12' || (event.ctrlKey && event.shiftKey && event.key === 'I')) {
        event.preventDefault();
    }
});

// Disable right-click context menu
document.addEventListener('contextmenu', function(event) {
    event.preventDefault(); // Disable the right-click menu
});

</script>

</body>
</html>

