<?php
header('Content-Type: text/html; charset=utf-8');
if (session_status() === PHP_SESSION_NONE) {
    session_start();
}
?>
<!DOCTYPE html>
<html lang="th">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Vicchi Enterprise Portal ✨</title>
    <link rel="icon" type="image/png" href="favicon-32x32.png">
    
    <link rel="preconnect" href="https://fonts.googleapis.com">
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
    <link href="https://fonts.googleapis.com/css2?family=Kanit:wght@300;400;500;600;700&display=swap" rel="stylesheet">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
    
    <!-- นำเข้าไลบรารี Canvas Confetti สำหรับทำพลุฉลอง -->
    <script src="https://cdn.jsdelivr.net/npm/canvas-confetti@1.6.0/dist/confetti.browser.min.js"></script>

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

        body {
            font-family: 'Kanit', sans-serif;
            font-weight: 400;
            background: linear-gradient(135deg, #FFFDF0 0%, #FFFCF4 50%, #FFFFFF 100%);
            min-height: 100vh;
            color: #475569;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: flex-start;
            padding: 2rem 1.5rem 4rem 1.5rem;
            position: relative;
            overflow-x: hidden;
        }

        /* ปุ่มเปิด-ปิดเสียงเอฟเฟกต์มุมจอ */
        .sound-toggle-btn {
            position: fixed;
            top: 20px;
            right: 20px;
            background: rgba(255, 255, 255, 0.9);
            border: 2px solid rgba(254, 224, 71, 0.8);
            color: #d97706;
            width: 42px;
            height: 42px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            z-index: 1000;
            box-shadow: 0 4px 10px rgba(245, 158, 11, 0.15);
            transition: all 0.3s ease;
        }
        .sound-toggle-btn:hover {
            transform: scale(1.1);
            background: #f59e0b;
            color: white;
        }

        /* 📢 แถบประกาศข่าวด่วนด้านบนสุด */
        .announcement-bar {
            width: 100%;
            max-width: 900px;
            background: rgba(254, 243, 199, 0.85);
            border: 1px solid rgba(245, 158, 11, 0.3);
            padding: 8px 16px;
            border-radius: 30px;
            margin-bottom: 2rem;
            display: flex;
            align-items: center;
            box-shadow: 0 2px 8px rgba(245, 158, 11, 0.1);
            backdrop-filter: blur(4px);
            position: relative;
            z-index: 10;
        }
        .announcement-badge {
            background: #f59e0b;
            color: white;
            font-size: 0.75rem;
            font-weight: 600;
            padding: 3px 10px;
            border-radius: 20px;
            margin-right: 10px;
            white-space: nowrap;
        }
        .announcement-text {
            overflow: hidden;
            white-space: nowrap;
            width: 100%;
            font-size: 0.9rem;
            color: #78350f;
        }
        .announcement-text span {
            display: inline-block;
            padding-left: 100%;
            animation: marquee 25s linear infinite;
        }
        @keyframes marquee {
            0% { transform: translate(0, 0); }
            100% { transform: translate(-100%, 0); }
        }

        /* 📡 ลายตารางจางๆ (IT Technical Grid) */
        body::before {
            content: '';
            position: absolute;
            top: 0; left: 0; width: 100%; height: 100%;
            background-image: radial-gradient(rgba(245, 158, 11, 0.04) 1.5px, transparent 1.5px);
            background-size: 24px 24px;
            z-index: 1;
            pointer-events: none;
        }

        /* 🎈 ไอคอนและวัตถุลอยแฟนซีพื้นหลัง */
        .bg-deco {
            position: absolute;
            opacity: 0.18;
            user-select: none;
            pointer-events: none;
            z-index: 2;
            color: #f59e0b;
        }
        .deco-1 { top: 8%; left: 5%; font-size: 3rem; animation: floatY 6s ease-in-out infinite; }
        .deco-2 { bottom: 12%; right: 5%; font-size: 3.5rem; animation: floatY 8s ease-in-out infinite 1s; }
        .deco-3 { top: 30%; right: 8%; font-size: 2.5rem; animation: floatX 7s ease-in-out infinite; }
        .deco-4 { bottom: 25%; left: 6%; font-size: 2.8rem; animation: floatX 9s ease-in-out infinite 0.5s; }
        .deco-5 { top: 60%; left: 10%; font-size: 2.2rem; animation: floatY 7s ease-in-out infinite 2s; }
        .deco-6 { top: 15%; right: 15%; font-size: 2.5rem; animation: floatX 8s ease-in-out infinite 1.5s; }

        .header-container {
            text-align: center;
            margin-bottom: 2rem;
            position: relative;
            z-index: 10;
        }

        .bounce-icon-gold {
            display: inline-block;
            animation: bounce 2s infinite;
            font-size: 3rem;
            color: #fde68a;
            text-shadow: 0 0 10px rgba(251, 191, 36, 0.5);
            margin-bottom: 0.5rem;
        }

        .header-container h2 {
            color: #78350f;
            font-weight: 600;
            font-size: 2.2rem;
            margin-bottom: 0.3rem;
        }

        .header-container p {
            font-size: 1.05rem;
            color: #b45309;
            font-weight: 400;
            background: rgba(254, 243, 199, 0.4);
            padding: 6px 18px;
            border-radius: 30px;
            display: inline-block;
            backdrop-filter: blur(4px);
        }

        /* 🔍 1. ช่องค้นหาด่วน (Instant Search Bar) */
        .search-container {
            width: 100%;
            max-width: 450px;
            margin: 0 auto 2rem auto;
            position: relative;
            z-index: 10;
        }
        .search-input {
            width: 100%;
            padding: 12px 20px 12px 45px;
            border-radius: 30px;
            border: 2px solid rgba(254, 224, 71, 0.8);
            background: rgba(255, 255, 255, 0.9);
            font-family: 'Kanit', sans-serif;
            font-size: 0.95rem;
            color: #78350f;
            outline: none;
            box-shadow: 0 4px 12px rgba(245, 158, 11, 0.08);
            transition: all 0.3s ease;
            backdrop-filter: blur(8px);
        }
        .search-input:focus {
            border-color: #f59e0b;
            background: #ffffff;
            box-shadow: 0 6px 20px rgba(245, 158, 11, 0.2);
        }
        .search-icon {
            position: absolute;
            top: 50%;
            left: 18px;
            transform: translateY(-50%);
            color: #d97706;
            font-size: 1rem;
        }

        /* 📑 2. หมวดหมู่ระบบแบบ Tabs / Filter */
        .filter-container {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
            justify-content: center;
            margin-bottom: 2.5rem;
            position: relative;
            z-index: 10;
        }
        .filter-btn {
            font-family: 'Kanit', sans-serif;
            background: rgba(255, 255, 255, 0.8);
            border: 1px solid rgba(254, 224, 71, 0.8);
            color: #92400e;
            padding: 8px 18px;
            border-radius: 20px;
            font-size: 0.9rem;
            font-weight: 500;
            cursor: pointer;
            transition: all 0.3s ease;
            box-shadow: 0 2px 5px rgba(245, 158, 11, 0.05);
            backdrop-filter: blur(4px);
        }
        .filter-btn:hover, .filter-btn.active {
            background: #f59e0b;
            color: white;
            border-color: #f59e0b;
            box-shadow: 0 4px 12px rgba(245, 158, 11, 0.25);
            transform: translateY(-2px);
        }

        /* Grid แสดงระบบ */
        .grid-container {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(185px, 185px));
            gap: 2.5rem;
            justify-content: center;
            width: 100%;
            max-width: 1300px;
            position: relative;
            z-index: 10;
            margin-bottom: 5rem;
        }

        /* 🔘 Card สไตล์กระจกกลมพรีเมียม */
        .card-circle {
            width: 185px;
            height: 185px;
            border-radius: 50%;
            background: rgba(255, 255, 250, 0.85);
            border: 2px solid rgba(254, 224, 71, 0.7);
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            text-align: center;
            padding: 1.3rem;
            text-decoration: none;
            color: inherit;
            transition: all 0.45s cubic-bezier(0.165, 0.84, 0.44, 1);
            box-shadow: 
                0 4px 6px -1px rgba(245, 158, 11, 0.03), 
                0 0 16px rgba(254, 240, 138, 0.3),
                inset 0 2px 4px rgba(255, 255, 255, 0.9);
            position: relative;
            overflow: hidden;
            backdrop-filter: blur(8px);
        }

        .card-circle::after {
            content: '';
            position: absolute;
            top: -50%; left: -60%; width: 30%; height: 200%;
            background: linear-gradient(to right, transparent, rgba(255,255,255,0.6), transparent);
            transform: rotate(35deg);
            opacity: 0;
            transition: 0s;
        }

        .card-circle:hover::after {
            left: 130%;
            transition: 0.7s ease-in-out;
            opacity: 1;
        }

        .card-circle:hover {
            transform: translateY(-10px) scale(1.03);
            border-color: #f59e0b;
            background: #ffffff;
            box-shadow: 
                0 20px 25px -5px rgba(245, 158, 11, 0.15), 
                0 0 30px rgba(245, 158, 11, 0.4);
        }

        .card-content {
            position: relative;
            z-index: 5;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            width: 100%;
        }

        .card-icon {
            font-size: 2.4rem;
            margin-bottom: 0.6rem;
            color: #d97706;
            transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), color 0.3s;
        }

        .card-circle:hover .card-icon {
            transform: scale(1.2) rotate(6deg);
            color: #ea580c;
        }

        .card-title {
            font-size: 1.05rem;
            font-weight: 600;
            color: #1e293b;
            margin-bottom: 0.25rem;
            line-height: 1.3;
        }

        .card-desc {
            font-size: 0.78rem;
            font-weight: 400;
            color: #64748b;
            line-height: 1.3;
            padding: 0 4px;
        }

        /* 🟢 ไฟสถานะระบบแบบ Real-time */
        .status-dot {
            position: absolute; 
            top: 12px; 
            right: 15px;
            width: 9px; 
            height: 9px; 
            background: #4ade80;
            border-radius: 50%; 
            box-shadow: 0 0 0 rgba(74, 222, 128, 0.4);
            animation: pulse 2s infinite;
            z-index: 10;
        }
        .status-dot.maintenance {
            background: #facc15;
            box-shadow: 0 0 0 rgba(250, 204, 21, 0.4);
        }

        @keyframes pulse {
            0% { box-shadow: 0 0 0 0 rgba(74, 222, 128, 0.7); }
            70% { box-shadow: 0 0 0 6px rgba(74, 222, 128, 0); }
            100% { box-shadow: 0 0 0 0 rgba(74, 222, 128, 0); }
        }

        .footer-text {
            margin-top: auto;
            text-align: center;
            font-size: 0.85rem;
            font-weight: 500;
            color: #92400e;
            background: rgba(254, 243, 199, 0.5);
            padding: 8px 24px;
            border-radius: 20px;
            backdrop-filter: blur(4px);
            position: relative;
            z-index: 10;
            box-shadow: 0 2px 10px rgba(245,158,11,0.05);
        }

        @keyframes floatY {
            0%, 100% { transform: translateY(0); }
            50% { transform: translateY(-12px); }
        }
        @keyframes floatX {
            0%, 100% { transform: translateX(0); }
            50% { transform: translateX(10px); }
        }
        @keyframes bounce {
            0%, 20%, 50%, 80%, 100% {transform: translateY(0);}
            40% {transform: translateY(-20px);}
            60% {transform: translateY(-10px);}
        }
    </style>
</head>
<body>

    <!-- ปุ่มเปิด-ปิดเสียง -->
    <button class="sound-toggle-btn" id="soundToggleBtn" onclick="toggleSound()" title="เปิด/ปิดเสียงเอฟเฟกต์">
        <i class="fa-solid fa-volume-high" id="soundIcon"></i>
    </button>

    <!-- พื้นหลังตกแต่งลอย -->
    <div class="bg-deco deco-1" id="decoIcon1"><i class="fa-solid fa-dice"></i></div>
    <div class="bg-deco deco-2" id="decoIcon2"><i class="fa-solid fa-gift"></i></div>
    <div class="bg-deco deco-3"><i class="fa-solid fa-star"></i></div>
    <div class="bg-deco deco-4"><i class="fa-solid fa-shield-cat"></i></div>
    <div class="bg-deco deco-5"><i class="fa-solid fa-server"></i></div>
    <div class="bg-deco deco-6"><i class="fa-solid fa-network-wired"></i></div>

    <!-- 📢 แถบประกาศแจ้งเตือนองค์กร -->
    <div class="announcement-bar">
        <div class="announcement-badge"><i class="fa-solid fa-bullhorn"></i> ประกาศด่วน</div>
        <div class="announcement-text">
            <span>🎉 ยินดีต้อนรับเข้าสู่ระบบ Vicchi Enterprise Portal ศูนย์รวมบริการและระบบสารสนเทศภายในองค์กร • 🛠️ กำหนดการบำรุงรักษาเซิร์ฟเวอร์ประจำเดือน เสาร์นี้เวลา 22:00 น. เป็นต้นไป</span>
        </div>
    </div>

    <div class="header-container">
        <div class="bounce-icon-gold" id="seasonalEmoji">🎁</div>
        <h2 id="companyTitle">บริษัท วิคกี้ เอนเตอร์ไพรซ์</h2>
        <p>ศูนย์รวมลิงก์ระบบสารสนเทศและบริการเทคโนโลยีภายในองค์กร</p>
    </div>

    <!-- 🔍 1. ช่องค้นหาด่วน -->
    <div class="search-container">
        <i class="fa-solid fa-magnifying-glass search-icon"></i>
        <input type="text" id="quickSearch" class="search-input" placeholder="พิมพ์ชื่อระบบที่ต้องการค้นหาด่วน เช่น WebTime, Payslip, Meeting...">
    </div>

    <!-- 📑 2. หมวดหมู่ระบบแบบ Tabs / Filter -->
    <div class="filter-container">
        <button class="filter-btn active" data-filter="all"><i class="fa-solid fa-border-all"></i> ทั้งหมด</button>
        <button class="filter-btn" data-filter="hr"><i class="fa-solid fa-users"></i> HR & พนักงาน</button>
        <button class="filter-btn" data-filter="comm"><i class="fa-solid fa-envelope"></i> สื่อสาร & เอกสาร</button>
        <button class="filter-btn" data-filter="it"><i class="fa-solid fa-server"></i> ระบบหลังบ้าน IT</button>
    </div>

    <!-- รายการระบบทั้งหมด -->
    <div class="grid-container" id="portalGrid">

        <a class="card-circle" href="https://mobile.vicchienterprise.com" target="_blank" data-category="hr">
            <div class="status-dot"></div>
            <div class="card-content">
                <div class="card-icon"><i class="fa-solid fa-mobile-screen-button"></i></div>
                <div class="card-title">WebTime V.MB</div>
                <div class="card-desc">ระบบลงเวลาทำงาน V. MB</div>
            </div>
        </a>

        <a class="card-circle" href="https://webtime.vicchienterprise.com" target="_blank" data-category="hr">
            <div class="status-dot"></div>
            <div class="card-content">
                <div class="card-icon"><i class="fa-solid fa-display"></i></div>
                <div class="card-title">Webtime V.PC</div>
                <div class="card-desc">ระบบลงเวลาทำงาน V. PC</div>
            </div>
        </a>

        <a class="card-circle" href="https://eslip.vicchienterprise.com" target="_blank" data-category="hr">
            <div class="status-dot"></div>
            <div class="card-content">
                <div class="card-icon"><i class="fa-solid fa-file-invoice-dollar"></i></div>
                <div class="card-title">E-Payslip</div>
                <div class="card-desc">ระบบสลิปเงินเดือน</div>
            </div>
        </a>

        <a class="card-circle" href="https://tigersoft.vicchienterprise.com/" target="_blank" data-category="hr">
            <div class="status-dot"></div>
            <div class="card-content">
                <div class="card-icon"><i class="fa-solid fa-user-gear"></i></div>
                <div class="card-title">TigerSoft Plus</div>
                <div class="card-desc">งานบุคคลและบริหารเวลา</div>
            </div>
        </a>

        <a class="card-circle" href="#" target="_blank" data-category="hr">
            <div class="status-dot maintenance"></div>
            <div class="card-content">
                <div class="card-icon"><i class="fa-solid fa-file-invoice-dollar"></i></div>
                <div class="card-title">Csmile Account</div>
                <div class="card-desc">บริหารงานบัญชีและขาย</div>
            </div>
        </a>

        <a class="card-circle" href="https://meeting.vicchienterprise.com" target="_blank" data-category="hr">
            <div class="status-dot"></div>
            <div class="card-content">
                <div class="card-icon"><i class="fa-solid fa-calendar-check"></i></div>
                <div class="card-title">Meeting Room</div>
                <div class="card-desc">ระบบจองห้องประชุม</div>
            </div>
        </a>

        <a class="card-circle" href="https://gallery.vicchienterprise.com" target="_blank" data-category="hr">
            <div class="status-dot"></div>
            <div class="card-content">
                <div class="card-icon"><i class="fa-solid fa-images"></i></div>
                <div class="card-title">Gallery System</div>
                <div class="card-desc">ระบบคลังภาพกิจกรรม</div>
            </div>
        </a>

        <a class="card-circle" href="https://download.vicchienterprise.com" target="_blank" data-category="comm">
            <div class="status-dot"></div>
            <div class="card-content">
                <div class="card-icon"><i class="fa-solid fa-cloud-arrow-down"></i></div>
                <div class="card-title">Download Upload</div>
                <div class="card-desc">ดาวน์โหลด & อัปโหลด</div>
            </div>
        </a>

        <a class="card-circle" href="https://register.vicchienterprise.com" target="_blank" data-category="hr">
            <div class="status-dot"></div>
            <div class="card-content">
                <div class="card-icon"><i class="fa-solid fa-square-poll-horizontal"></i></div>
                <div class="card-title">Register & Survey</div>
                <div class="card-desc">ลงทะเบียนทำแบบสำรวจ</div>
            </div>
        </a>

       <a class="card-circle" href="https://reminder.vicchienterprise.com" target="_blank" data-category="hr">
            <div class="status-dot"></div>
            <div class="card-content">
                <div class="card-icon"><i class="fa-solid fa-sticky-note"></i></div>
                <div class="card-title">Reminder System</div>
                <div class="card-desc">บันทึกช่วยจำ</div>
            </div>
        </a>

        <a class="card-circle" href="https://video.vicchienterprise.com" target="_blank" data-category="comm">
            <div class="status-dot"></div>
            <div class="card-content">
                <div class="card-icon"><i class="fa-solid fa-video"></i></div>
                <div class="card-title">Video Streaming</div>
                <div class="card-desc">แพลตฟอร์มวิดีโอสตรีมมิ่ง</div>
            </div>
        </a>

	<a class="card-circle" href="https://firewall.vicchienterprise.com/ui/core/dashboard" target="_blank" data-category="it">
            <div class="status-dot"></div>
            <div class="card-content">
                <div class="card-icon"><i class="fa-solid fa-shield-halved"></i></div>
                <div class="card-title">Firewall System</div>
                <div class="card-desc">OPNsense Security</div>
            </div>
        </a>

	<a class="card-circle" href="https://pmg.vicchienterprise.com:8006" target="_blank" data-category="it">
            <div class="status-dot"></div>
            <div class="card-content">
                <div class="card-icon"><i class="fa-solid fa-mail-forward"></i></div>
                <div class="card-title">Mail Gateway</div>
                <div class="card-desc">Proxmox Mail Gateway</div>
            </div>
        </a>

	<a class="card-circle" href="https://mail.vicchienterprise.com:7071" target="_blank" data-category="it">
            <div class="status-dot"></div>
            <div class="card-content">
                <div class="card-icon"><i class="fa-solid fa-user-shield"></i></div>
                <div class="card-title">Zimbra System</div>
                <div class="card-desc">Zimbra Admin Console</div>
            </div>
        </a>

        <a class="card-circle" href="http://mail.vicchienterprise.com:8085" target="_blank" data-category="comm">
            <div class="status-dot"></div>
            <div class="card-content">
                <div class="card-icon"><i class="fa-solid fa-envelope-open-text"></i></div>
                <div class="card-title">Webmail Login</div>
                <div class="card-desc">Roundcube Webmail</div>
            </div>
        </a>

	<a class="card-circle" href="https://iexchange.vicchienterprise.com/ecp" target="_blank" data-category="it">
            <div class="status-dot"></div>
            <div class="card-content">
                <div class="card-icon"><i class="fa-solid fa-sliders"></i></div>
                <div class="card-title">Exchange ECP</div>
                <div class="card-desc">Exchange Panel</div>
            </div>
	</a>

        <a class="card-circle" href="https://exchange.vicchienterprise.com/owa" target="_blank" data-category="comm">
            <div class="status-dot"></div>
            <div class="card-content">
                <div class="card-icon"><i class="fa-solid fa-envelope"></i></div>
                <div class="card-title">Exchange OWA</div>
                <div class="card-desc">Exchange Outlook Web</div>
            </div>
        </a>

        <a class="card-circle" href="https://pbx.vicchienterprise.com" target="_blank" data-category="it">
            <div class="status-dot"></div>
            <div class="card-content">
                <div class="card-icon"><i class="fa-solid fa-laptop-code"></i></div>
                <div class="card-title">FreePBX VoIP</div>
                <div class="card-desc">PBX VoIP Admin</div>
            </div>
        </a>

        <a class="card-circle" href="https://phone.vicchienterprise.com/ucp" target="_blank" data-category="comm">
            <div class="status-dot"></div>
            <div class="card-content">
                <div class="card-icon"><i class="fa-solid fa-phone-volume"></i></div>
                <div class="card-title">Phone UCP</div>
                <div class="card-desc">PBX User Control Panel</div>
            </div>
	</a>

        <a class="card-circle" href="https://cloud.vicchienterprise.com" target="_blank" data-category="comm">
            <div class="status-dot"></div>
            <div class="card-content">
                <div class="card-icon"><i class="fa-solid fa-cloud"></i></div>
                <div class="card-title">Cloud Storage</div>
                <div class="card-desc">คลาวด์และการแชร์ไฟล์</div>
            </div>
        </a>

        <a class="card-circle" href="https://conference.vicchienterprise.com" target="_blank" data-category="comm">
            <div class="status-dot"></div>
            <div class="card-content">
                <div class="card-icon"><i class="fa-solid fa-users-viewfinder"></i></div>
                <div class="card-title">Conference Room </div>
                <div class="card-desc">ระบบประชุมออนไลน์</div>
            </div>
	</a>

        <a class="card-circle" href="#" target="_blank" data-category="it">
            <div class="status-dot maintenance"></div>
            <div class="card-content">
                <div class="card-icon"><i class="fa-solid fa-cart-shopping"></i></div>
                <div class="card-title">ระบบใหม่</div>
                <div class="card-desc">กำลังพัฒนาเร็วๆ นี้</div>
            </div>
        </a>

    </div>

    <div class="footer-text">
        © 2026 Vicchi Enterprise • MIS Infrastructure Platform Team ⭐
    </div>

    <!-- JavaScript รวมลูกเล่นทั้งหมด -->
    <script>
        // 1. ทักทายตามช่วงเวลา
        const hour = new Date().getHours();
        const greeting = hour < 12 ? "สวัสดีตอนเช้า! วันนี้เริ่มงานด้วยพลังเต็มที่นะครับ" : 
                         hour < 18 ? "สวัสดีตอนบ่าย! ใกล้เลิกงานแล้วสู้ๆ นะครับ" : "สวัสดีตอนเย็น! พักผ่อนบ้างนะครับ";
        document.querySelector('.header-container p').innerText = greeting;

        // --- 1. ระบบพลุฉลอง 10 ครั้งซ้าย-ขวา (Fireworks Effect) ---
        function launchFireworks() {
            let count = 0;
            const interval = setInterval(() => {
                if (count >= 10) {
                    clearInterval(interval);
                    return;
                }
                const xPos = count % 2 === 0 ? 0.1 : 0.9;
                confetti({
                    particleCount: 40,
                    angle: count % 2 === 0 ? 60 : 120,
                    spread: 60,
                    origin: { x: xPos, y: 0.7 },
                    colors: ['#f59e0b', '#fbbf24', '#fef08a', '#ea580c']
                });
                count++;
            }, 400);
        }

        window.addEventListener('DOMContentLoaded', () => {
            launchFireworks();
        });

        // --- 2. ระบบเสียงประกอบ ---
        let soundEnabled = true;
        const audioCtx = new (window.AudioContext || window.webkitAudioContext)();

        function playSound(frequency, type, duration) {
            if (!soundEnabled) return;
            if (audioCtx.state === 'suspended') {
                audioCtx.resume();
            }
            const osc = audioCtx.createOscillator();
            const gain = audioCtx.createGain();
            osc.type = type;
            osc.frequency.value = frequency;
            gain.gain.setValueAtTime(0.1, audioCtx.currentTime);
            gain.gain.exponentialRampToValueAtTime(0.001, audioCtx.currentTime + duration);
            osc.connect(gain);
            gain.connect(audioCtx.destination);
            osc.start();
            osc.stop(audioCtx.currentTime + duration);
        }

        function toggleSound() {
            soundEnabled = !soundEnabled;
            const icon = document.getElementById('soundIcon');
            if (soundEnabled) {
                icon.className = "fa-solid fa-volume-high";
                playSound(587.33, 'sine', 0.15);
            } else {
                icon.className = "fa-solid fa-volume-xmark";
            }
        }

        document.querySelectorAll('.card-circle, .filter-btn').forEach(el => {
            el.addEventListener('mouseenter', () => playSound(440, 'sine', 0.05));
            el.addEventListener('click', () => playSound(880, 'triangle', 0.1));
        });

        // --- ระบบกรองหมวดหมู่ ---
        const filterBtns = document.querySelectorAll('.filter-btn');
        const cards = document.querySelectorAll('.card-circle');

        filterBtns.forEach(btn => {
            btn.addEventListener('click', () => {
                filterBtns.forEach(b => b.classList.remove('active'));
                btn.classList.add('active');
                
                const filter = btn.getAttribute('data-filter');

                cards.forEach(card => {
                    const category = card.getAttribute('data-category');
                    if (filter === 'all' || category === filter) {
                        card.style.display = 'flex';
                    } else {
                        card.style.display = 'none';
                    }
                });
            });
        });

        // --- ระบบค้นหาด่วนแบบ Real-time ---
        const searchInput = document.getElementById('quickSearch');
        searchInput.addEventListener('input', (e) => {
            const term = e.target.value.toLowerCase().trim();
            
            cards.forEach(card => {
                const title = card.querySelector('.card-title').innerText.toLowerCase();
                const desc = card.querySelector('.card-desc').innerText.toLowerCase();
                
                if (title.includes(term) || desc.includes(term)) {
                    card.style.display = 'flex';
                } else {
                    card.style.display = 'none';
                }
            });
        });
    </script>

    <!-- Welcome Popup สำหรับต้อนรับและปลดล็อกเสียง -->
    <script>
        function closePopup() {
            document.getElementById('welcomePopup').style.display = 'none';
        }

        window.onload = function() {
            if (localStorage.getItem("hasVisited") === null) {
                document.getElementById('welcomePopup').style.display = 'flex';
                localStorage.setItem("hasVisited", "true");
            } else {
                document.getElementById('welcomePopup').style.display = 'none';
            }
        };
    </script>

    <div id="welcomePopup" style="display:flex; position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.6); z-index:9999; justify-content:center; align-items:center;">
        <div style="background:white; padding:30px; border-radius:20px; text-align:center; max-width:400px; box-shadow:0 10px 25px rgba(0,0,0,0.2);">
            <div style="font-size:50px; color:#fbbf24; margin-bottom:15px;">🎗️</div>
            <h3 style="color:#78350f; margin-bottom: 10px;">ยินดีต้อนรับ</h3>
            <p style="color:#4a3728; line-height: 1.5;">เข้าสู่ระบบศูนย์รวมลิงค์<br>บริษัท วิคกี้เอนเตอร์ไพรซ์ และบริษัทในเครือ</p>
            <button onclick="closePopup()" style="margin-top:20px; padding:10px 30px; background:#fbbf24; border:none; border-radius:10px; color:white; font-weight:bold; cursor:pointer; transition: 0.3s;" onmouseover="this.style.background='#d97706'" onmouseout="this.style.background='#fbbf24'">ตกลง</button>
        </div>
    </div>
</body>
</html>
