
html_content = """<!DOCTYPE html>
<html lang="vi">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>HACK DỮ LIỆU</title>
    <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" rel="stylesheet">
    <style>
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
        
        body {
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            min-height: 100vh;
            padding: 20px;
        }
        
        .container {
            max-width: 800px;
            margin: 0 auto;
        }
        
        .header {
            text-align: center;
            color: white;
            margin-bottom: 30px;
            padding: 20px;
        }
        
        .header h1 {
            font-size: 2.5rem;
            margin-bottom: 10px;
            text-shadow: 2px 2px 4px rgba(0,0,0,0.2);
        }
        
        .header p {
            font-size: 1.1rem;
            opacity: 0.9;
        }
        
        .search-card {
            background: white;
            border-radius: 20px;
            padding: 40px;
            box-shadow: 0 20px 60px rgba(0,0,0,0.3);
            margin-bottom: 20px;
        }
        
        .input-group {
            position: relative;
            margin-bottom: 20px;
        }
        
        .input-group i {
            position: absolute;
            left: 20px;
            top: 50%;
            transform: translateY(-50%);
            color: #667eea;
            font-size: 1.2rem;
        }
        
        .phone-input {
            width: 100%;
            padding: 18px 20px 18px 55px;
            font-size: 1.3rem;
            border: 2px solid #e0e0e0;
            border-radius: 15px;
            outline: none;
            transition: all 0.3s ease;
            letter-spacing: 1px;
        }
        
        .phone-input:focus {
            border-color: #667eea;
            box-shadow: 0 0 0 4px rgba(102, 126, 234, 0.1);
        }
        
        .phone-input.valid {
            border-color: #4caf50;
            background: #f8fff8;
        }
        
        .phone-input.invalid {
            border-color: #f44336;
            background: #fff8f8;
        }
        
        .btn-search {
            width: 100%;
            padding: 18px;
            font-size: 1.2rem;
            font-weight: 600;
            color: white;
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            border: none;
            border-radius: 15px;
            cursor: pointer;
            transition: all 0.3s ease;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
        }
        
        .btn-search:hover {
            transform: translateY(-2px);
            box-shadow: 0 10px 30px rgba(102, 126, 234, 0.4);
        }
        
        .btn-search:active {
            transform: translateY(0);
        }
        
        .result-card {
            background: white;
            border-radius: 20px;
            padding: 30px;
            box-shadow: 0 10px 40px rgba(0,0,0,0.1);
            margin-top: 20px;
            display: none;
            animation: slideUp 0.5s ease;
        }
        
        .result-card.show {
            display: block;
        }
        
        @keyframes slideUp {
            from {
                opacity: 0;
                transform: translateY(30px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }
        
        .carrier-header {
            display: flex;
            align-items: center;
            gap: 15px;
            margin-bottom: 25px;
            padding-bottom: 20px;
            border-bottom: 2px solid #f0f0f0;
        }
        
        .carrier-logo {
            width: 60px;
            height: 60px;
            border-radius: 15px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.5rem;
            color: white;
        }
        
        .carrier-info h2 {
            color: #333;
            font-size: 1.5rem;
        }
        
        .carrier-info span {
            color: #888;
            font-size: 0.9rem;
        }
        
        .info-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 15px;
            margin-bottom: 20px;
        }
        
        .info-item {
            background: #f8f9fa;
            padding: 15px;
            border-radius: 12px;
            border-left: 4px solid #667eea;
        }
        
        .info-item label {
            display: block;
            color: #888;
            font-size: 0.85rem;
            margin-bottom: 5px;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }
        
        .info-item .value {
            color: #333;
            font-weight: 600;
            font-size: 1.1rem;
            word-break: break-all;
        }
        
        .status-badge {
            display: inline-flex;
            align-items: center;
            gap: 5px;
            padding: 6px 14px;
            border-radius: 20px;
            font-size: 0.85rem;
            font-weight: 600;
        }
        
        .status-valid {
            background: #e8f5e9;
            color: #2e7d32;
        }
        
        .status-invalid {
            background: #ffebee;
            color: #c62828;
        }
        
        .history-card {
            background: white;
            border-radius: 20px;
            padding: 30px;
            box-shadow: 0 10px 40px rgba(0,0,0,0.1);
            margin-top: 20px;
        }
        
        .history-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 20px;
        }
        
        .history-header h3 {
            color: #333;
            font-size: 1.3rem;
            display: flex;
            align-items: center;
            gap: 10px;
        }
        
        .btn-clear {
            background: none;
            border: none;
            color: #f44336;
            cursor: pointer;
            font-size: 0.9rem;
            display: flex;
            align-items: center;
            gap: 5px;
            padding: 5px 10px;
            border-radius: 8px;
            transition: background 0.2s;
        }
        
        .btn-clear:hover {
            background: #ffebee;
        }
        
        .history-list {
            display: flex;
            flex-direction: column;
            gap: 10px;
        }
        
        .history-item {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 15px;
            background: #f8f9fa;
            border-radius: 12px;
            cursor: pointer;
            transition: all 0.2s;
        }
        
        .history-item:hover {
            background: #e8eaf6;
            transform: translateX(5px);
        }
        
        .history-item-info {
            display: flex;
            align-items: center;
            gap: 12px;
        }
        
        .history-item-icon {
            width: 40px;
            height: 40px;
            border-radius: 10px;
            display: flex;
            align-items: center;
            justify-content: center;
            color: white;
            font-size: 1rem;
        }
        
        .history-item-details h4 {
            color: #333;
            font-size: 1rem;
        }
        
        .history-item-details span {
            color: #888;
            font-size: 0.8rem;
        }
        
        .history-item-time {
            color: #aaa;
            font-size: 0.8rem;
        }
        
        .empty-state {
            text-align: center;
            padding: 40px;
            color: #aaa;
        }
        
        .empty-state i {
            font-size: 3rem;
            margin-bottom: 15px;
            opacity: 0.5;
        }
        
        .quick-prefixes {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            margin-top: 15px;
        }
        
        .quick-prefix {
            padding: 8px 14px;
            background: #f0f0f0;
            border: none;
            border-radius: 20px;
            cursor: pointer;
            font-size: 0.85rem;
            color: #555;
            transition: all 0.2s;
        }
        
        .quick-prefix:hover {
            background: #667eea;
            color: white;
        }
        
        .carrier-colors {
            --viettel: #ee0033;
            --vinaphone: #0066b3;
            --mobifone: #00a651;
            --vietnamobile: #f47920;
            --gmobile: #ffd700;
            --itelecom: #00bfff;
            --unknown: #9e9e9e;
        }
        
        .viettel { background: var(--viettel); }
        .vinaphone { background: var(--vinaphone); }
        .mobifone { background: var(--mobifone); }
        .vietnamobile { background: var(--vietnamobile); }
        .gmobile { background: var(--gmobile); color: #333 !important; }
        .itelecom { background: var(--itelecom); }
        .unknown { background: var(--unknown); }
        
        .format-options {
            display: flex;
            gap: 10px;
            margin-top: 15px;
            flex-wrap: wrap;
        }
        
        .format-btn {
            padding: 10px 18px;
            border: 2px solid #e0e0e0;
            background: white;
            border-radius: 10px;
            cursor: pointer;
            font-size: 0.9rem;
            transition: all 0.2s;
            display: flex;
            align-items: center;
            gap: 8px;
        }
        
        .format-btn:hover, .format-btn.active {
            border-color: #667eea;
            color: #667eea;
            background: #f5f7ff;
        }
        
        .format-btn i {
            font-size: 0.8rem;
        }
        
        .copy-toast {
            position: fixed;
            bottom: 30px;
            left: 50%;
            transform: translateX(-50%) translateY(100px);
            background: #333;
            color: white;
            padding: 12px 24px;
            border-radius: 10px;
            font-size: 0.95rem;
            opacity: 0;
            transition: all 0.3s ease;
            z-index: 1000;
        }
        
        .copy-toast.show {
            opacity: 1;
            transform: translateX(-50%) translateY(0);
        }
        
        @media (max-width: 600px) {
            .header h1 {
                font-size: 1.8rem;
            }
            .search-card, .result-card, .history-card {
                padding: 20px;
            }
            .info-grid {
                grid-template-columns: 1fr;
            }
        }
    </style>
</head>
<body>
    <div class="container">
        <div class="header">
            <h1><i class="fas fa-phone-alt"></i> HACK DỮ LIỆU</h1>
            <p>Nhập số điện thoại để xác định nhà mạng, đầu số và thông tin chi tiết</p>
        </div>
        
        <div class="search-card">
            <div class="input-group">
                <i class="fas fa-mobile-alt"></i>
                <input type="tel" class="phone-input" id="phoneInput" placeholder="Nhập số điện thoại (VD: 0912345678)" maxlength="15">
            </div>
            
            <div class="quick-prefixes">
                <span style="color:#888; font-size:0.85rem; margin-right:5px;">Đầu số phổ biến:</span>
                <button class="quick-prefix" onclick="insertPrefix('09')">09x</button>
                <button class="quick-prefix" onclick="insertPrefix('03')">03x</button>
                <button class="quick-prefix" onclick="insertPrefix('07')">07x</button>
                <button class="quick-prefix" onclick="insertPrefix('08')">08x</button>
                <button class="quick-prefix" onclick="insertPrefix('05')">05x</button>
                <button class="quick-prefix" onclick="insertPrefix('086')">086</button>
                <button class="quick-prefix" onclick="insertPrefix('088')">088</button>
                <button class="quick-prefix" onclick="insertPrefix('089')">089</button>
            </div>
            
            <button class="btn-search" onclick="lookupPhone()">
                <i class="fas fa-search"></i>
                Tra cứu ngay
            </button>
        </div>
        
        <div class="result-card" id="resultCard">
            <div class="carrier-header">
                <div class="carrier-logo" id="carrierLogo">
                    <i class="fas fa-signal"></i>
                </div>
                <div class="carrier-info">
                    <h2 id="carrierName">Nhà mạng</h2>
                    <span id="carrierType">Di động</span>
                </div>
            </div>
            
            <div class="info-grid">
                <div class="info-item">
                    <label>Số điện thoại gốc</label>
                    <div class="value" id="originalNumber">-</div>
                </div>
                <div class="info-item">
                    <label>Đầu số</label>
                    <div class="value" id="prefixNumber">-</div>
                </div>
                <div class="info-item">
                    <label>Độ dài</label>
                    <div class="value" id="lengthInfo">-</div>
                </div>
                <div class="info-item">
                    <label>Trạng thái</label>
                    <div class="value" id="statusInfo">-</div>
                </div>
            </div>
            
            <div style="margin-bottom: 15px;">
                <label style="color:#888; font-size:0.85rem; text-transform:uppercase; letter-spacing:0.5px; margin-bottom:8px; display:block;">Định dạng số</label>
                <div class="format-options">
                    <button class="format-btn" id="fmtLocal" onclick="copyFormat('local')">
                        <span id="fmtLocalText">09xx xxx xxx</span>
                        <i class="fas fa-copy"></i>
                    </button>
                    <button class="format-btn" id="fmtIntl" onclick="copyFormat('intl')">
                        <span id="fmtIntlText">+84 9xx xxx xxx</span>
                        <i class="fas fa-copy"></i>
                    </button>
                    <button class="format-btn" id="fmtE164" onclick="copyFormat('e164')">
                        <span id="fmtE164Text">+849xxxxxxxx</span>
                        <i class="fas fa-copy"></i>
                    </button>
                    <button class="format-btn" id="fmtRaw" onclick="copyFormat('raw')">
                        <span id="fmtRawText">84xxxxxxxxxx</span>
                        <i class="fas fa-copy"></i>
                    </button>
                </div>
            </div>
            
            <div class="info-item" style="border-left-color: #4caf50;">
                <label>Mô tả</label>
                <div class="value" id="descriptionInfo" style="font-weight:400; line-height:1.6;">-</div>
            </div>
        </div>
        
        <div class="history-card">
            <div class="history-header">
                <h3><i class="fas fa-history"></i> Lịch sử tra cứu</h3>
                <button class="btn-clear" onclick="clearHistory()">
                    <i class="fas fa-trash-alt"></i> Xóa lịch sử
                </button>
            </div>
            <div class="history-list" id="historyList">
                <div class="empty-state">
                    <i class="fas fa-clock"></i>
                    <p>Chưa có lịch sử tra cứu</p>
                </div>
            </div>
        </div>
    </div>
    
    <div class="copy-toast" id="copyToast">
        <i class="fas fa-check-circle"></i> Đã sao chép!
    </div>

    <script>
        // Cơ sở dữ liệu đầu số nhà mạng Việt Nam
        const carrierData = {
            viettel: {
                name: 'Viettel',
                color: 'viettel',
                icon: 'fa-signal',
                prefixes: ['096','097','098','086','032','033','034','035','036','037','038','039'],
                desc: 'Tập đoàn Công nghiệp - Viễn thông Quân đội. Nhà mạng lớn nhất Việt Nam với hơn 50% thị phần.'
            },
            vinaphone: {
                name: 'Vinaphone',
                color: 'vinaphone',
                icon: 'fa-globe',
                prefixes: ['091','094','088','083','084','085','081','082'],
                desc: 'Mạng di động của Tập đoàn VNPT. Một trong những nhà mạng đầu tiên tại Việt Nam.'
            },
            mobifone: {
                name: 'Mobifone',
                color: 'mobifone',
                icon: 'fa-mobile',
                prefixes: ['090','093','089','070','076','077','078','079'],
                desc: 'Tổng Công ty Viễn thông Mobifone. Nhà mạng tiên phong trong dịch vụ 3G/4G tại Việt Nam.'
            },
            vietnamobile: {
                name: 'Vietnamobile',
                color: 'vietnamobile',
                icon: 'fa-broadcast-tower',
                prefixes: ['092','056','058'],
                desc: 'Mạng di động giá rẻ với nhiều ưu đãi data. Thuộc Công ty Cổ phần Viễn thông Vietnamobile.'
            },
            gmobile: {
                name: 'Gmobile (Beeline)',
                color: 'gmobile',
                icon: 'fa-bee',
                prefixes: ['099','059'],
                desc: 'Công ty Cổ phần Viễn thông Di động Toàn cầu. Trước đây là Beeline Vietnam.'
            },
            itelecom: {
                name: 'iTelecom (Indochina Telecom)',
                color: 'itelecom',
                icon: 'fa-wifi',
                prefixes: ['087'],
                desc: 'Công ty Cổ phần Viễn thông Đông Dương Telecom. Nhà mạng ảo (MVNO) đầu tiên tại Việt Nam.'
            }
        };
        
        let currentPhone = '';
        let currentCarrier = null;
        
        // Khởi tạo
        document.addEventListener('DOMContentLoaded', () => {
            loadHistory();
            document.getElementById('phoneInput').addEventListener('input', handleInput);
            document.getElementById('phoneInput').addEventListener('keypress', (e) => {
                if (e.key === 'Enter') lookupPhone();
            });
        });
        
        function handleInput(e) {
            let val = e.target.value.replace(/\\D/g, '');
            if (val.length > 0) {
                // Tự động phát hiện khi nhập đủ 10-11 số
                if (val.length >= 10) {
                    e.target.classList.add('valid');
                    e.target.classList.remove('invalid');
                } else {
                    e.target.classList.remove('valid');
                    e.target.classList.remove('invalid');
                }
            } else {
                e.target.classList.remove('valid', 'invalid');
            }
        }
        
        function insertPrefix(prefix) {
            const input = document.getElementById('phoneInput');
            input.value = prefix;
            input.focus();
            // Đặt con trỏ ở cuối
            setTimeout(() => {
                input.setSelectionRange(input.value.length, input.value.length);
            }, 0);
        }
        
        function lookupPhone() {
            const input = document.getElementById('phoneInput');
            let phone = input.value.replace(/\\D/g, '');
            
            if (!phone) {
                showToast('Vui lòng nhập số điện thoại', 'error');
                input.focus();
                return;
            }
            
            // Chuẩn hóa: bỏ 84 hoặc +84 ở đầu nếu có
            if (phone.startsWith('84') && phone.length > 10) {
                phone = phone.substring(2);
            }
            
            currentPhone = phone;
            
            // Kiểm tra hợp lệ
            const isValid = /^0[0-9]{9}$/.test(phone);
            const resultCard = document.getElementById('resultCard');
            
            if (!isValid) {
                input.classList.add('invalid');
                input.classList.remove('valid');
                showResultInvalid(phone);
                resultCard.classList.add('show');
                addToHistory(phone, null, false);
                return;
            }
            
            input.classList.add('valid');
            input.classList.remove('invalid');
            
            // Xác định nhà mạng
            const prefix = phone.substring(0, 3);
            let carrier = null;
            
            for (const [key, data] of Object.entries(carrierData)) {
                if (data.prefixes.includes(prefix)) {
                    carrier = { key, ...data };
                    break;
                }
            }
            
            currentCarrier = carrier;
            showResult(phone, carrier, true);
            resultCard.classList.add('show');
            addToHistory(phone, carrier, true);
        }
        
        function showResult(phone, carrier, isValid) {
            const prefix = phone.substring(0, 3);
            const rest = phone.substring(3);
            
            // Cập nhật logo
            const logo = document.getElementById('carrierLogo');
            const name = document.getElementById('carrierName');
            const type = document.getElementById('carrierType');
            
            if (carrier) {
                logo.className = `carrier-logo ${carrier.color}`;
                logo.innerHTML = `<i class="fas ${carrier.icon}"></i>`;
                name.textContent = carrier.name;
                type.textContent = 'Di động - Thuê bao trả trước/trả sau';
                document.getElementById('descriptionInfo').textContent = carrier.desc;
            } else {
                logo.className = 'carrier-logo unknown';
                logo.innerHTML = '<i class="fas fa-question"></i>';
                name.textContent = 'Không xác định';
                type.textContent = 'Không tìm thấy trong danh sách nhà mạng';
                document.getElementById('descriptionInfo').textContent = 'Đầu số này không khớp với bất kỳ nhà mạng nào trong cơ sở dữ liệu. Có thể là số cố định hoặc đầu số mới chưa được cập nhật.';
            }
            
            document.getElementById('originalNumber').textContent = phone;
            document.getElementById('prefixNumber').textContent = prefix;
            document.getElementById('lengthInfo').textContent = `${phone.length} số`;
            
            const statusHtml = `<span class="status-badge status-valid"><i class="fas fa-check-circle"></i> Hợp lệ</span>`;
            document.getElementById('statusInfo').innerHTML = statusHtml;
            
            // Cập nhật các định dạng
            const fmtLocal = `${prefix} ${rest.substring(0,3)} ${rest.substring(3)}`;
            const fmtIntl = `+84 ${phone.substring(1,2)}${phone.substring(2,4)} ${rest.substring(0,3)} ${rest.substring(3)}`;
            const fmtE164 = `+84${phone.substring(1)}`;
            const fmtRaw = `84${phone.substring(1)}`;
            
            document.getElementById('fmtLocalText').textContent = fmtLocal;
            document.getElementById('fmtIntlText').textContent = fmtIntl;
            document.getElementById('fmtE164Text').textContent = fmtE164;
            document.getElementById('fmtRawText').textContent = fmtRaw;
        }
        
        function showResultInvalid(phone) {
            const logo = document.getElementById('carrierLogo');
            logo.className = 'carrier-logo unknown';
            logo.innerHTML = '<i class="fas fa-times"></i>';
            
            document.getElementById('carrierName').textContent = 'Không hợp lệ';
            document.getElementById('carrierType').textContent = 'Số điện thoại không đúng định dạng';
            document.getElementById('originalNumber').textContent = phone || '-';
            document.getElementById('prefixNumber').textContent = phone.length >= 3 ? phone.substring(0,3) : '-';
            document.getElementById('lengthInfo').textContent = `${phone.length} số`;
            document.getElementById('statusInfo').innerHTML = `<span class="status-badge status-invalid"><i class="fas fa-times-circle"></i> Không hợp lệ</span>`;
            document.getElementById('descriptionInfo').textContent = 'Số điện thoại di động Việt Nam phải có 10 số và bắt đầu bằng 0 (ví dụ: 09xxxxxxxx, 03xxxxxxxx).';
            
            document.getElementById('fmtLocalText').textContent = '-';
            document.getElementById('fmtIntlText').textContent = '-';
            document.getElementById('fmtE164Text').textContent = '-';
            document.getElementById('fmtRawText').textContent = '-';
        }
        
        function copyFormat(type) {
            let text = '';
            const phone = currentPhone;
            const prefix = phone.substring(0, 3);
            const rest = phone.substring(3);
            
            switch(type) {
                case 'local':
                    text = `${prefix} ${rest.substring(0,3)} ${rest.substring(3)}`;
                    break;
                case 'intl':
                    text = `+84 ${phone.substring(1,2)}${phone.substring(2,4)} ${rest.substring(0,3)} ${rest.substring(3)}`;
                    break;
                case 'e164':
                    text = `+84${phone.substring(1)}`;
                    break;
                case 'raw':
                    text = `84${phone.substring(1)}`;
                    break;
            }
            
            if (text && text !== '-') {
                navigator.clipboard.writeText(text).then(() => {
                    showToast('Đã sao chép: ' + text);
                }).catch(() => {
                    // Fallback
                    const ta = document.createElement('textarea');
                    ta.value = text;
                    document.body.appendChild(ta);
                    ta.select();
                    document.execCommand('copy');
                    document.body.removeChild(ta);
                    showToast('Đã sao chép: ' + text);
                });
            }
        }
        
        function showToast(message, type = 'success') {
            const toast = document.getElementById('copyToast');
            toast.innerHTML = type === 'error' 
                ? `<i class="fas fa-exclamation-circle"></i> ${message}`
                : `<i class="fas fa-check-circle"></i> ${message}`;
            toast.classList.add('show');
            setTimeout(() => toast.classList.remove('show'), 2500);
        }
        
        // Lịch sử
        let history = JSON.parse(localStorage.getItem('phoneHistory') || '[]');
        
        function addToHistory(phone, carrier, isValid) {
            const item = {
                phone,
                carrier: carrier ? carrier.name : (isValid ? 'Không xác định' : 'Không hợp lệ'),
                color: carrier ? carrier.color : 'unknown',
                icon: carrier ? carrier.icon : (isValid ? 'fa-question' : 'fa-times'),
                time: new Date().toLocaleString('vi-VN'),
                isValid
            };
            
            // Tránh trùng lặp liên tiếp
            if (history.length > 0 && history[0].phone === phone) return;
            
            history.unshift(item);
            if (history.length > 20) history.pop();
            localStorage.setItem('phoneHistory', JSON.stringify(history));
            renderHistory();
        }
        
        function loadHistory() {
            renderHistory();
        }
        
        function renderHistory() {
            const list = document.getElementById('historyList');
            if (history.length === 0) {
                list.innerHTML = `
                    <div class="empty-state">
                        <i class="fas fa-clock"></i>
                        <p>Chưa có lịch sử tra cứu</p>
                    </div>
                `;
                return;
            }
            
            list.innerHTML = history.map((item, idx) => `
                <div class="history-item" onclick="restoreHistory(${idx})">
                    <div class="history-item-info">
                        <div class="history-item-icon ${item.color}">
                            <i class="fas ${item.icon}"></i>
                        </div>
                        <div class="history-item-details">
                            <h4>${item.phone}</h4>
                            <span>${item.carrier}</span>
                        </div>
                    </div>
                    <div class="history-item-time">${item.time}</div>
                </div>
            `).join('');
        }
        
        function restoreHistory(idx) {
            const item = history[idx];
            document.getElementById('phoneInput').value = item.phone;
            lookupPhone();
        }
        
        function clearHistory() {
            if (confirm('Bạn có chắc muốn xóa toàn bộ lịch sử tra cứu?')) {
                history = [];
                localStorage.removeItem('phoneHistory');
                renderHistory();
            }
        }
    </script>
</body>
</html>"""

with open('/mnt/agents/output/tra_cuu_so_dien_thoai.html', 'w', encoding='utf-8') as f:
    f.write(html_content)

print("Đã tạo file thành công!")
