:root { --neon-blue: #00f3ff; --neon-pink: #ff00ff; --dark-bg: #0a0a0f; --card-bg: #161625; --text-color: #ffffff; } * { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Pyidaungsu', sans-serif; } body { background-color: var(--dark-bg); color: var(--text-color); line-height: 1.6; overflow-x: hidden; } /* Header & Join Button */ header { padding: 2rem 1rem; text-align: center; background: linear-gradient(to bottom, #1a1a2e, var(--dark-bg)); border-bottom: 1px solid rgba(0, 243, 255, 0.2); } h1 { font-size: 1.8rem; font-weight: 700; text-transform: uppercase; letter-spacing: 2px; color: var(--neon-blue); text-shadow: 0 0 10px var(--neon-blue), 0 0 20px var(--neon-blue); margin-bottom: 1.5rem; } .join-btn { display: inline-block; padding: 12px 30px; background: transparent; color: var(--neon-pink); border: 2px solid var(--neon-pink); border-radius: 50px; text-decoration: none; font-weight: bold; text-transform: uppercase; transition: all 0.3s ease; box-shadow: 0 0 10px var(--neon-pink); margin-bottom: 1rem; } .join-btn:hover { background: var(--neon-pink); color: white; box-shadow: 0 0 20px var(--neon-pink), 0 0 40px var(--neon-pink); } /* Categories */ .categories-container { padding: 1rem; display: flex; overflow-x: auto; gap: 10px; white-space: nowrap; scrollbar-width: none; -ms-overflow-style: none; position: sticky; top: 0; background: var(--dark-bg); z-index: 100; border-bottom: 1px solid rgba(255, 255, 255, 0.1); } .categories-container::-webkit-scrollbar { display: none; } .cat-btn { padding: 8px 20px; background: var(--card-bg); border: 1px solid var(--neon-blue); color: var(--neon-blue); border-radius: 20px; cursor: pointer; font-weight: bold; transition: 0.3s; } .cat-btn.active { background: var(--neon-blue); color: var(--dark-bg); box-shadow: 0 0 15px var(--neon-blue); } /* Grid Layout */ .channel-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 15px; padding: 1.5rem; } .channel-card { background: var(--card-bg); border-radius: 15px; overflow: hidden; border: 1px solid rgba(255, 255, 255, 0.05); transition: transform 0.3s ease, box-shadow 0.3s ease; position: relative; } .channel-card:hover { transform: translateY(-5px); box-shadow: 0 10px 20px rgba(0, 0, 0, 0.5), 0 0 10px rgba(0, 243, 255, 0.2); border-color: var(--neon-blue); } .thumbnail { width: 100%; height: 100px; background: linear-gradient(45deg, #1a1a2e, #16213e); display: flex; align-items: center; justify-content: center; font-size: 2rem; color: rgba(255, 255, 255, 0.1); } .card-content { padding: 12px; } .channel-name { font-size: 0.9rem; font-weight: 700; margin-bottom: 8px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; height: 2.6rem; } .channel-cat { font-size: 0.7rem; color: var(--neon-blue); text-transform: uppercase; margin-bottom: 10px; display: block; } .btn-group { display: flex; gap: 8px; } .action-btn { flex: 1; padding: 6px; border-radius: 5px; text-align: center; text-decoration: none; font-size: 0.7rem; font-weight: bold; transition: 0.3s; } .yt-btn { background: #ff0000; color: white; } .fb-btn { background: #1877f2; color: white; } /* Loading Spinner */ #loader { text-align: center; padding: 3rem; color: var(--neon-blue); font-weight: bold; } /* Footer */ footer { text-align: center; padding: 2rem; font-size: 0.8rem; color: rgba(255, 255, 255, 0.5); } @media (max-width: 480px) { h1 { font-size: 1.4rem; } .channel-grid { grid-template-columns: repeat(2, 1fr); padding: 10px; } } ဖုန်းဖြင့်ဖန်တီးသော youtube channelများ (VVIP CLASS) သင်တန်းဝင်တက်ရန် All Data များရယူနေပါသည်... © 2026 Creator Class VVIP. All Rights Reserved. const sheetUrl = 'https://docs.google.com/spreadsheets/d/1kUAH2RgJSXhWr_piJmnXifGGhovDQN_56D5a_ZkJ25Y/export?format=csv&gid=150149793'; let allChannels = []; async function init() { try { const response = await fetch(sheetUrl); const data = await response.text(); const rows = data.split('\n').slice(1); allChannels = rows.map(row => { // Simple CSV parser handling potential commas in quotes const cols = row.match(/(".*?"|[^",\s]+)(?=\s*,|\s*$)/g) || []; if (cols.length < 4) return null; const rawName = cols[1].replace(/"/g, ''); const rawCat = cols[2].replace(/"/g, ''); const fbLink = cols[3].replace(/"/g, ''); let category = rawCat; if (category.includes('သတင်း') || category.toLowerCase().includes('news')) { category = 'သတင်း'; } else if (category.includes('တရား') || category.toLowerCase().includes('dhamma')) { category = 'တရားတော်'; } else if (category.toLowerCase().includes('horror') || category.includes('သရဲ')) { category = 'Horror'; } else if (category.toLowerCase().includes('kid') || category.toLowerCase().includes('story')) { category = 'ကလေးနှင့်ပုံပြင်'; } else if (category.toLowerCase().includes('music') || category.toLowerCase().includes('relax')) { category = 'ဂီတနှင့်အပန်းဖြေ'; } else { category = 'အခြား'; } // Extract YT link if present in name or use search let ytLink = '#'; if (rawName.includes('@')) { const match = rawName.match(/@[\w.]+/); if (match) ytLink = `https://youtube.com/${match[0]}`; } else { ytLink = `https://www.youtube.com/results?search_query=${encodeURIComponent(rawName)}`; } return { name: rawName, category: category, fbLink: fbLink, ytLink: ytLink }; }).filter(c => c !== null); renderCategories(); renderChannels(allChannels); document.getElementById('loader').style.display = 'none'; } catch (error) { console.error('Error fetching data:', error); document.getElementById('loader').innerText = 'Data ရယူရာတွင် အမှားအယွင်းရှိနေပါသည်။'; } } function renderCategories() { const cats = ['All', ...new Set(allChannels.map(c => c.category))]; const container = document.getElementById('categories'); container.innerHTML = cats.map(cat => `` ).join(''); } function renderChannels(channels) { const grid = document.getElementById('channelGrid'); grid.innerHTML = channels.map(c => `
▶️
${c.category}
${c.name}
`).join(''); } function filterCategory(cat, btn) { // Update active button document.querySelectorAll('.cat-btn').forEach(b => b.classList.remove('active')); if (btn) btn.classList.add('active'); else document.querySelector('.cat-btn').classList.add('active'); if (cat === 'All') { renderChannels(allChannels); } else { const filtered = allChannels.filter(c => c.category === cat); renderChannels(filtered); } } init();