{"id":8662,"date":"2026-01-19T11:27:08","date_gmt":"2026-01-19T16:27:08","guid":{"rendered":"https:\/\/www.ezcalculatoronline.com\/?page_id=8662"},"modified":"2026-05-10T00:06:14","modified_gmt":"2026-05-10T05:06:14","slug":"card-game-score-calculator","status":"publish","type":"page","link":"https:\/\/www.ezcalculatoronline.com\/games\/card-game-score-calculator\/","title":{"rendered":"Card Game Score Calculator"},"content":{"rendered":"<div id=\"tdi_1\" class=\"tdc-zone\"><div class=\"tdc_zone tdi_2  wpb_row td-pb-row\"  >\n<style scoped>\n\n\/* custom css *\/\n.tdi_2{\r\n                    min-height: 0;\r\n                }\n<\/style><div id=\"tdi_3\" class=\"tdc-row\"><div class=\"vc_row tdi_4  wpb_row td-pb-row\" >\n<style scoped>\n\n\/* custom css *\/\n.tdi_4,\r\n                .tdi_4 .tdc-columns{\r\n                    min-height: 0;\r\n                }.tdi_4,\r\n\t\t\t\t.tdi_4 .tdc-columns{\r\n\t\t\t\t    display: block;\r\n\t\t\t\t}.tdi_4 .tdc-columns{\r\n\t\t\t\t    width: 100%;\r\n\t\t\t\t}\n<\/style><div class=\"vc_column tdi_6  wpb_column vc_column_container tdc-column td-pb-span8\">\n<style scoped>\n\n\/* custom css *\/\n.tdi_6{\r\n                    vertical-align: baseline;\r\n                }.tdi_6 > .wpb_wrapper,\r\n\t\t\t\t.tdi_6 > .wpb_wrapper > .tdc-elements{\r\n\t\t\t\t    display: block;\r\n\t\t\t\t}.tdi_6 > .wpb_wrapper > .tdc-elements{\r\n\t\t\t\t    width: 100%;\r\n\t\t\t\t}.tdi_6 > .wpb_wrapper > .vc_row_inner{\r\n\t\t\t\t    width: auto;\r\n\t\t\t\t}.tdi_6 > .wpb_wrapper{\r\n\t\t\t\t    width: auto;\r\n\t\t\t\t    height: auto;\r\n\t\t\t\t}\n<\/style><div class=\"wpb_wrapper\" ><div class=\"wpb_wrapper wpb_text_column td_block_wrap td_block_wrap vc_column_text tdi_7  tagdiv-type td-pb-border-top td_block_template_1\"  data-td-block-uid=\"tdi_7\" ><div class=\"td-block-title-wrap\"><\/div><div class=\"td-fix-index\"><style type=\"text\/css\">:root {\r\n        --primary: #4f46e5;\r\n        --primary-light: #818cf8;\r\n        --success: #10b981;\r\n        --danger: #ef4444;\r\n        --warning: #f59e0b;\r\n        --bg: #f8fafc;\r\n        --card-bg: #ffffff;\r\n        --text: #1e293b;\r\n    }\r\n\r\n    * { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }\r\n    \r\n    body {\r\n        margin: 0;\r\n        background: var(--bg);\r\n        color: var(--text);\r\n        font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif;\r\n    }\r\n\r\n    .container { max-width: 500px; margin: auto; padding: 16px; }\r\n\r\n    h1 {\r\n        text-align: center; margin: 10px 0 20px;\r\n        font-size: 1.5rem; font-weight: 800; color: var(--primary);\r\n    }\r\n\r\n    \/* Common Card Style *\/\r\n    .card {\r\n        background: var(--card-bg); border-radius: 20px; padding: 20px;\r\n        box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.05); margin-bottom: 20px;\r\n        border: 1px solid #f1f5f9;\r\n    }\r\n\r\n    \/* INPUTS *\/\r\n    .input-group { display: flex; gap: 8px; margin-bottom: 12px; }\r\n    input {\r\n        width: 100%; padding: 12px 16px; border: 2px solid #e2e8f0;\r\n        border-radius: 12px; font-size: 16px; outline: none; transition: 0.2s; font-weight: 500;\r\n    }\r\n    input:focus { border-color: var(--primary); background: #fff; }\r\n    \r\n    .btn {\r\n        width: 100%; padding: 14px; border: none; border-radius: 14px;\r\n        font-size: 16px; font-weight: 700; cursor: pointer;\r\n        display: flex; align-items: center; justify-content: center; gap: 8px;\r\n    }\r\n    .btn-primary { background: var(--primary); color: white; box-shadow: 0 4px 6px -1px rgba(79, 70, 229, 0.3); }\r\n    .btn-secondary { background: white; color: #475569; border: 2px solid #e2e8f0; }\r\n    .btn-danger { background: #fee2e2; color: var(--danger); }\r\n    .btn-remove { width: 48px; background: #fee2e2; color: var(--danger); border-radius: 12px; font-size: 20px; border: none; }\r\n    \r\n    .btn-reset-top {\r\n        background: #fff; border: 1px solid #fee2e2; color: var(--danger);\r\n        padding: 8px 16px; font-size: 14px; border-radius: 8px; width: auto;\r\n        margin-left: auto; cursor: pointer;\r\n    }\r\n\r\n    \/* RESUME BLOCK *\/\r\n    .resume-block { margin-top: 20px; padding-top: 15px; border-top: 2px dashed #e2e8f0; display: none; }\r\n    .resume-info { background: #ecfdf5; border: 1px solid #10b981; border-radius: 12px; padding: 12px; margin-bottom: 10px; color: #065f46; font-size: 0.9rem; }\r\n\r\n    \/* PLAYER ROWS *\/\r\n    .player-row {\r\n        background: white; padding: 16px; border-radius: 16px;\r\n        margin-bottom: 12px; box-shadow: 0 2px 4px rgba(0,0,0,0.02);\r\n        border: 1px solid #e2e8f0; display: flex; flex-direction: column; gap: 12px;\r\n    }\r\n    .p-header { display: flex; justify-content: space-between; align-items: center; font-weight: 700; }\r\n    .p-badge { background: #e0e7ff; color: var(--primary); padding: 4px 10px; border-radius: 20px; font-size: 0.9rem; }\r\n    .control-row { display: flex; gap: 8px; }\r\n    .toggle-switch { display: flex; background: #f1f5f9; padding: 4px; border-radius: 10px; cursor: pointer; }\r\n    .t-opt { padding: 10px 14px; border-radius: 8px; font-weight: 600; font-size: 14px; transition: 0.2s; }\r\n    .is-loss .opt-loss { background: white; color: var(--danger); box-shadow: 0 2px 4px rgba(0,0,0,0.05); }\r\n    .is-loss .opt-win { color: #94a3b8; }\r\n    .is-win .opt-win { background: var(--success); color: white; box-shadow: 0 2px 4px rgba(0,0,0,0.1); }\r\n    .is-win .opt-loss { color: #94a3b8; }\r\n\r\n    \/* Rankings & History *\/\r\n    .ranking-list { display: flex; flex-direction: column; gap: 10px; margin-top: 15px; }\r\n    .rank-item { display: flex; align-items: center; padding: 12px 16px; background: white; border-radius: 14px; border: 1px solid #f1f5f9; justify-content: space-between; }\r\n    .rank-1 { background: linear-gradient(135deg, #fffbeb 0%, #fff 100%); border-color: #fcd34d; }\r\n    .section-title { font-size: 1.2rem; font-weight: 800; color: #334155; margin-top: 30px; display: flex; align-items: center; gap: 8px; }\r\n    .history-timeline { position: relative; margin-top: 20px; padding-left: 20px; }\r\n    .history-timeline::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 2px; background: #e2e8f0; }\r\n    .history-card { background: white; border-radius: 14px; padding: 14px; margin-bottom: 16px; position: relative; border: 1px solid #f1f5f9; }\r\n    .history-dot { position: absolute; left: -25px; top: 18px; width: 12px; height: 12px; background: var(--primary); border-radius: 50%; border: 2px solid white; box-shadow: 0 0 0 2px #e0e7ff; }\r\n    .h-badge { font-size: 13px; font-weight: 600; padding: 4px 10px; border-radius: 8px; display: inline-flex; margin-right: 5px; margin-bottom: 5px; }\r\n    .h-pos { background: #d1fae5; color: #059669; }\r\n    .h-neg { background: #fee2e2; color: #dc2626; }\r\n    .hidden { display: none !important; }\r\n    .game-top-bar { display: flex; justify-content: flex-end; margin-bottom: 10px; }\r\n\r\n    \/* --- NEW: CUSTOM TOAST & MODAL STYLES --- *\/\r\n    \r\n    \/* TOAST (Th\u00f4ng b\u00e1o nh\u1ecf) *\/\r\n    #toast-container { position: fixed; top: 20px; left: 50%; transform: translateX(-50%); z-index: 9999; display: flex; flex-direction: column; gap: 10px; width: 90%; max-width: 400px; pointer-events: none; }\r\n    .toast-msg { \r\n        background: #333; color: #fff; padding: 12px 20px; border-radius: 12px; \r\n        box-shadow: 0 10px 25px rgba(0,0,0,0.15); display: flex; align-items: center; gap: 10px; \r\n        font-weight: 500; font-size: 0.95rem; opacity: 0; transform: translateY(-20px); \r\n        transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);\r\n    }\r\n    .toast-visible { opacity: 1; transform: translateY(0); }\r\n    .toast-success { background: #10b981; }\r\n    .toast-error { background: #ef4444; }\r\n    .toast-warning { background: #f59e0b; color: #fff; }\r\n\r\n    \/* MODAL (H\u1ed9p tho\u1ea1i x\u00e1c nh\u1eadn) *\/\r\n    .modal-overlay { \r\n        position: fixed; top: 0; left: 0; width: 100%; height: 100%; \r\n        background: rgba(0,0,0,0.4); backdrop-filter: blur(4px);\r\n        z-index: 10000; display: flex; align-items: center; justify-content: center;\r\n        opacity: 0; visibility: hidden; transition: 0.2s;\r\n    }\r\n    .modal-visible { opacity: 1; visibility: visible; }\r\n    \r\n    .modal-box { \r\n        background: white; width: 85%; max-width: 320px; border-radius: 20px; padding: 24px;\r\n        text-align: center; transform: scale(0.9); transition: 0.2s; box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);\r\n    }\r\n    .modal-visible .modal-box { transform: scale(1); }\r\n    \r\n    .modal-title { font-size: 1.2rem; font-weight: 800; margin-bottom: 8px; color: var(--text); }\r\n    .modal-desc { color: #64748b; margin-bottom: 24px; font-size: 0.95rem; line-height: 1.5; }\r\n    .modal-actions { display: flex; gap: 10px; }\r\n    .modal-btn { flex: 1; padding: 12px; border-radius: 12px; border: none; font-weight: 700; cursor: pointer; font-size: 1rem; }\r\n    .btn-cancel { background: #f1f5f9; color: #475569; }\r\n    .btn-confirm { background: var(--primary); color: white; }\r\n    .btn-confirm-danger { background: var(--danger); color: white; }<\/style><div class=\"ez-tool-wrapper ez-card-game-score\"><div class=\"container\">\r\n    <h1>\ud83c\udfc6 Card Game Score<\/h1>\r\n\r\n    <div id=\"setupPhase\" class=\"card\">\r\n        <h3 style=\"margin-top:0\">New Game<\/h3>\r\n        <div id=\"nameInputs\"><\/div>\r\n        <button class=\"btn btn-secondary\" onclick=\"addNameField()\">+ Add Player<\/button>\r\n        <div style=\"margin-top: 20px;\">\r\n            <button class=\"btn btn-primary\" onclick=\"startGame()\">\ud83d\ude80 Start New Game<\/button>\r\n        <\/div>\r\n        <div id=\"resumeBlock\" class=\"resume-block\">\r\n            <h4 style=\"margin: 0 0 10px 0; color: #334155;\">Previous Game Found<\/h4>\r\n            <div id=\"resumeInfo\" class=\"resume-info\">Loading info...<\/div>\r\n            <button class=\"btn btn-success\" onclick=\"loadGame()\" style=\"background: #10b981; color: white;\">\ud83d\udcc2 Resume Previous Game<\/button>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <div id=\"gamePhase\" class=\"hidden\">\r\n        <div class=\"game-top-bar\">\r\n             <button class=\"btn btn-reset-top\" onclick=\"handleReset()\">\ud83d\uddd1\ufe0f Reset<\/button>\r\n        <\/div>\r\n        <div id=\"playersList\"><\/div>\r\n        <div style=\"display:flex; gap:10px; margin-top:15px;\">\r\n            <button class=\"btn btn-secondary\" onclick=\"resetInputs()\" style=\"flex:1\">Clear<\/button>\r\n            <button class=\"btn btn-primary\" onclick=\"endRound()\" style=\"flex:2\">\u2705 End Round<\/button>\r\n        <\/div>\r\n        <div class=\"section-title\">\ud83d\udcca Leaderboard<\/div>\r\n        <div id=\"rankingArea\" class=\"ranking-list\"><\/div>\r\n        <div class=\"section-title\">\ud83d\udcdc Timeline<\/div>\r\n        <div id=\"historyArea\" class=\"history-timeline\"><\/div>\r\n    <\/div>\r\n<\/div>\r\n\r\n<div id=\"toast-container\"><\/div>\r\n\r\n<div id=\"modal-overlay\" class=\"modal-overlay\">\r\n    <div class=\"modal-box\">\r\n        <div class=\"modal-title\" id=\"modal-title\">Title<\/div>\r\n        <div class=\"modal-desc\" id=\"modal-desc\">Description<\/div>\r\n        <div class=\"modal-actions\">\r\n            <button class=\"modal-btn btn-cancel\" id=\"modal-cancel\">Cancel<\/button>\r\n            <button class=\"modal-btn btn-confirm\" id=\"modal-confirm\">Confirm<\/button>\r\n        <\/div>\r\n    <\/div>\r\n<\/div><\/div><script type=\"text\/javascript\">let players = [];\r\nlet historyLog = [];\r\nlet round = 0;\r\n\r\n\/\/ === CUSTOM UI HELPERS ===\r\n\r\nfunction showToast(msg, type = 'success') {\r\n    const container = document.getElementById('toast-container');\r\n    const el = document.createElement('div');\r\n    el.className = `toast-msg toast-${type}`;\r\n    \r\n    let icon = '\u2705';\r\n    if(type === 'error') icon = '\u26d4';\r\n    if(type === 'warning') icon = '\u26a0\ufe0f';\r\n\r\n    el.innerHTML = `<span>${icon}<\/span> ${msg}`;\r\n    container.appendChild(el);\r\n\r\n    \/\/ Animation in\r\n    requestAnimationFrame(() => el.classList.add('toast-visible'));\r\n\r\n    \/\/ Remove after 3s\r\n    setTimeout(() => {\r\n        el.classList.remove('toast-visible');\r\n        setTimeout(() => el.remove(), 300);\r\n    }, 3000);\r\n}\r\n\r\n\/\/ H\u00e0m n\u00e0y tr\u1ea3 v\u1ec1 Promise, cho ph\u00e9p d\u00f9ng await \u0111\u1ec3 ch\u1edd ng\u01b0\u1eddi d\u00f9ng b\u1ea5m\r\nfunction showConfirm(title, desc, confirmText = \"Yes\", isDanger = false) {\r\n    return new Promise((resolve) => {\r\n        const overlay = document.getElementById('modal-overlay');\r\n        const mTitle = document.getElementById('modal-title');\r\n        const mDesc = document.getElementById('modal-desc');\r\n        const btnConfirm = document.getElementById('modal-confirm');\r\n        const btnCancel = document.getElementById('modal-cancel');\r\n\r\n        mTitle.innerText = title;\r\n        mDesc.innerText = desc;\r\n        btnConfirm.innerText = confirmText;\r\n        \r\n        \/\/ Style danger button\r\n        if(isDanger) {\r\n            btnConfirm.className = \"modal-btn btn-confirm-danger\";\r\n        } else {\r\n            btnConfirm.className = \"modal-btn btn-confirm\";\r\n        }\r\n\r\n        overlay.classList.add('modal-visible');\r\n\r\n        const cleanup = () => {\r\n            overlay.classList.remove('modal-visible');\r\n            btnConfirm.onclick = null;\r\n            btnCancel.onclick = null;\r\n        };\r\n\r\n        btnConfirm.onclick = () => {\r\n            cleanup();\r\n            resolve(true);\r\n        };\r\n\r\n        btnCancel.onclick = () => {\r\n            cleanup();\r\n            resolve(false);\r\n        };\r\n    });\r\n}\r\n\r\n\/\/ === APP LOGIC ===\r\n\r\nwindow.onload = function() {\r\n    const drafts = JSON.parse(localStorage.getItem('draftNames'));\r\n    if (drafts && drafts.length > 0) {\r\n        drafts.forEach(name => addNameField(name));\r\n    } else {\r\n        \/\/ M\u1eb7c \u0111\u1ecbnh\r\n        [1,2,3,4].forEach(() => addNameField(\"\"));\r\n    }\r\n\r\n    const savedGame = JSON.parse(localStorage.getItem('scoreGameData'));\r\n    if (savedGame) {\r\n        const block = document.getElementById('resumeBlock');\r\n        const info = document.getElementById('resumeInfo');\r\n        const leader = savedGame.players.sort((a,b) => b.total - a.total)[0];\r\n        info.innerHTML = `\r\n            <strong>Round:<\/strong> ${savedGame.round} <br>\r\n            <strong>Players:<\/strong> ${savedGame.players.length} <br>\r\n            <strong>Leading:<\/strong> ${leader.name} (${leader.total} pts)\r\n        `;\r\n        block.style.display = \"block\";\r\n    }\r\n};\r\n\r\nfunction saveDrafts() {\r\n    const inputs = document.querySelectorAll('#nameInputs input');\r\n    const names = Array.from(inputs).map(i => i.value);\r\n    localStorage.setItem('draftNames', JSON.stringify(names));\r\n}\r\n\r\nfunction addNameField(def = \"\") {\r\n    const div = document.createElement('div');\r\n    div.className = 'input-group';\r\n    div.innerHTML = `<input type=\"text\" placeholder=\"Name\" value=\"${def}\" oninput=\"saveDrafts()\">\r\n                     <button class=\"btn-remove\" onclick=\"removeField(this)\">\u00d7<\/button>`;\r\n    document.getElementById('nameInputs').appendChild(div);\r\n}\r\n\r\nfunction removeField(btn) {\r\n    btn.parentElement.remove();\r\n    saveDrafts();\r\n}\r\n\r\nasync function startGame() {\r\n    const inputs = document.querySelectorAll('#nameInputs input');\r\n    players = [];\r\n    inputs.forEach(inp => {\r\n        if(inp.value.trim()) players.push({ name: inp.value.trim(), total: 0 });\r\n    });\r\n\r\n    if(players.length < 2) {\r\n        showToast(\"Min 2 players required to start!\", \"error\");\r\n        return;\r\n    }\r\n\r\n    \/\/ N\u1ebfu \u0111\u00e3 c\u00f3 game c\u0169, h\u1ecfi x\u00e1c nh\u1eadn\r\n    if(localStorage.getItem('scoreGameData')) {\r\n        const confirm = await showConfirm(\r\n            \"Overwrite Save?\", \r\n            \"A previous game exists. Starting a new one will delete it.\", \r\n            \"Start New\", \r\n            true\r\n        );\r\n        if(!confirm) return;\r\n    }\r\n\r\n    historyLog = [];\r\n    round = 0;\r\n    saveGame();\r\n    uiSwitch();\r\n    showToast(\"Game Started! Good luck!\", \"success\");\r\n}\r\n\r\nfunction loadGame() {\r\n    const data = JSON.parse(localStorage.getItem('scoreGameData'));\r\n    if(data) {\r\n        players = data.players;\r\n        historyLog = data.history;\r\n        round = data.round;\r\n        uiSwitch();\r\n        showToast(\"Welcome back!\", \"success\");\r\n    }\r\n}\r\n\r\nfunction uiSwitch() {\r\n    document.getElementById('setupPhase').classList.add('hidden');\r\n    document.getElementById('gamePhase').classList.remove('hidden');\r\n    renderInputs();\r\n    renderStats();\r\n}\r\n\r\nfunction renderInputs() {\r\n    const div = document.getElementById(\"playersList\");\r\n    div.innerHTML = \"\";\r\n    players.forEach((p, i) => {\r\n        div.innerHTML += `\r\n            <div class=\"player-row\">\r\n                <div class=\"p-header\">\r\n                    <span>${p.name}<\/span>\r\n                    <span class=\"p-badge\" id=\"disp-total-${i}\">${p.total}<\/span>\r\n                <\/div>\r\n                <div class=\"control-row\">\r\n                    <div class=\"toggle-switch is-loss\" id=\"toggle-${i}\" onclick=\"switchType(${i})\">\r\n                        <div class=\"t-opt opt-win\">Win<\/div>\r\n                        <div class=\"t-opt opt-loss\">Loss<\/div>\r\n                    <\/div>\r\n                    <input type=\"number\" id=\"inp-${i}\" placeholder=\"0\" inputmode=\"numeric\" onfocus=\"this.select()\">\r\n                <\/div>\r\n            <\/div>`;\r\n    });\r\n}\r\n\r\nfunction switchType(i) {\r\n    const el = document.getElementById(`toggle-${i}`);\r\n    if(el.classList.contains('is-loss')) {\r\n        el.classList.remove('is-loss'); el.classList.add('is-win');\r\n    } else {\r\n        el.classList.remove('is-win'); el.classList.add('is-loss');\r\n    }\r\n}\r\n\r\nfunction endRound() {\r\n    let hasData = false;\r\n    let details = [];\r\n\r\n    players.forEach((p, i) => {\r\n        const inp = document.getElementById(`inp-${i}`);\r\n        const toggle = document.getElementById(`toggle-${i}`);\r\n        let val = parseInt(inp.value) || 0;\r\n        \r\n        if(val !== 0) hasData = true;\r\n\r\n        const isWin = toggle.classList.contains('is-win');\r\n        const score = isWin ? Math.abs(val) : -Math.abs(val);\r\n\r\n        p.total += score;\r\n        if(score !== 0) details.push({ name: p.name, score: score });\r\n\r\n        inp.value = \"\";\r\n        toggle.className = \"toggle-switch is-loss\";\r\n    });\r\n\r\n    if(!hasData) {\r\n        showToast(\"Please enter scores first!\", \"warning\");\r\n        return;\r\n    }\r\n\r\n    round++;\r\n    historyLog.unshift({ r: round, d: details });\r\n    saveGame();\r\n    renderStats();\r\n    showToast(`Round ${round} saved!`, \"success\");\r\n}\r\n\r\nfunction renderStats() {\r\n    players.forEach((p, i) => document.getElementById(`disp-total-${i}`).innerText = p.total);\r\n\r\n    const sorted = [...players].sort((a,b) => b.total - a.total);\r\n    document.getElementById(\"rankingArea\").innerHTML = sorted.map((p, i) => {\r\n        let rankClass = i===0 ? \"rank-1\" : \"\";\r\n        let icon = i===0 ? \"\ud83e\udd47\" : (i===1 ? \"\ud83e\udd48\" : (i===2 ? \"\ud83e\udd49\" : i+1));\r\n        return `<div class=\"rank-item ${rankClass}\">\r\n                    <div style=\"display:flex; gap:10px; align-items:center;\">\r\n                        <b style=\"color:#64748b\">${icon}<\/b> <span>${p.name}<\/span>\r\n                    <\/div>\r\n                    <b>${p.total}<\/b>\r\n                <\/div>`;\r\n    }).join(\"\");\r\n\r\n    const histDiv = document.getElementById(\"historyArea\");\r\n    if(historyLog.length === 0) histDiv.innerHTML = \"<div style='color:#ccc; padding:10px'>No rounds yet...<\/div>\";\r\n    else {\r\n        histDiv.innerHTML = historyLog.map(h => {\r\n            const badges = h.d.map(item => {\r\n                const typeClass = item.score > 0 ? \"h-pos\" : \"h-neg\";\r\n                return `<span class=\"h-badge ${typeClass}\">${item.name}: ${item.score>0?'+':''}${item.score}<\/span>`;\r\n            }).join(\"\");\r\n            return `<div class=\"history-card\">\r\n                        <div class=\"history-dot\"><\/div>\r\n                        <div class=\"h-header\">Round ${h.r}<\/div>\r\n                        <div>${badges}<\/div>\r\n                    <\/div>`;\r\n        }).join(\"\");\r\n    }\r\n}\r\n\r\nfunction resetInputs() {\r\n    players.forEach((_, i) => document.getElementById(`inp-${i}`).value = \"\");\r\n    showToast(\"Inputs cleared\", \"success\");\r\n}\r\n\r\nasync function handleReset() {\r\n    const confirm = await showConfirm(\r\n        \"Reset Game?\", \r\n        \"This will delete all current progress and return to setup.\", \r\n        \"Reset Everything\", \r\n        true\r\n    );\r\n\r\n    if(confirm) {\r\n        localStorage.removeItem('scoreGameData');\r\n        location.reload();\r\n    }\r\n}\r\n\r\nfunction saveGame() {\r\n    localStorage.setItem('scoreGameData', JSON.stringify({ players, history: historyLog, round }));\r\n}<\/script>\n                <style>\n                    .ez-recommend-wrapper { margin-top: 50px; padding: 25px; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 12px; box-shadow: 0 4px 15px rgba(0,0,0,0.03); font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif; }\n                    .ez-recommend-title { margin: 0 0 20px 0 !important; font-size: 1.25rem !important; font-weight: 600 !important; color: #1e293b !important; display: flex; align-items: center; gap: 8px; }\n                    .ez-recommend-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 15px; margin-bottom: 20px; }\n                    \n                    .ez-recommend-item { display: none; align-items: center; padding: 14px 18px; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 8px; text-decoration: none !important; color: #475569 !important; font-weight: 500; font-size: 15px; transition: all 0.3s ease; box-shadow: 0 2px 4px rgba(0,0,0,0.02); }\n                    .ez-recommend-item:hover { border-color: #3b82f6; background: #eff6ff; color: #1d4ed8 !important; transform: translateY(-3px); box-shadow: 0 6px 12px rgba(59, 130, 246, 0.15); }\n                    .ez-recommend-icon { width: 18px; height: 18px; margin-right: 12px; fill: currentColor; flex-shrink: 0; }\n                    \n                    \/* M\u1eb6C \u0110\u1ecaNH: Hi\u1ec7n 2 th\u1ebb *\/\n                    .ez-recommend-item:nth-child(1), .ez-recommend-item:nth-child(2) { display: flex; }\n                    \n                    \/* DESKTOP: Hi\u1ec7n 4 th\u1ebb *\/\n                    @media (min-width: 768px) {\n                        .ez-recommend-item:nth-child(3), .ez-recommend-item:nth-child(4) { display: flex; }\n                    }\n\n                    \/* SAU KHI M\u1ede R\u1ed8NG (TOGGLE) *\/\n                    .ez-recommend-grid.ez-expanded .ez-recommend-item:nth-child(3),\n                    .ez-recommend-grid.ez-expanded .ez-recommend-item:nth-child(4) { display: flex; }\n                    \n                    @media (min-width: 768px) {\n                        .ez-recommend-grid.ez-expanded .ez-recommend-item:nth-child(5),\n                        .ez-recommend-grid.ez-expanded .ez-recommend-item:nth-child(6) { display: flex; }\n                    }\n                    @media (max-width: 767px) {\n                        .ez-recommend-item:nth-child(5), .ez-recommend-item:nth-child(6) { display: none !important; }\n                    }\n\n                    .ez-btn-wrapper { text-align: center; }\n                    .ez-show-more-btn { display: inline-flex; align-items: center; gap: 6px; background: transparent; border: 1px solid #cbd5e1; padding: 8px 20px; border-radius: 20px; color: #64748b; font-size: 14px; font-weight: 500; cursor: pointer; transition: all 0.2s; }\n                    .ez-show-more-btn:hover { background: #f1f5f9; color: #0f172a; border-color: #94a3b8; }\n                <\/style>\n                <div class=\"ez-recommend-wrapper\"><h4 class=\"ez-recommend-title\"><span style=\"font-size: 1.4rem;\">\u2728<\/span> You Might Also Like<\/h4><div id=\"ez-grid-6aca0749c6b27\" class=\"ez-recommend-grid\"><a href=\"https:\/\/www.ezcalculatoronline.com\/bingo-card-generator\/\" class=\"ez-recommend-item\"><svg class=\"ez-recommend-icon\" viewBox=\"0 0 24 24\"><path d=\"M19 19H5V5h7V3H5a2 2 0 00-2 2v14a2 2 0 002 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z\"\/><\/svg>Bingo Card Generator<\/a><a href=\"https:\/\/www.ezcalculatoronline.com\/arrow-puzzle\/\" class=\"ez-recommend-item\"><svg class=\"ez-recommend-icon\" viewBox=\"0 0 24 24\"><path d=\"M19 19H5V5h7V3H5a2 2 0 00-2 2v14a2 2 0 002 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z\"\/><\/svg>Arrow Puzzle<\/a><a href=\"https:\/\/www.ezcalculatoronline.com\/tug-of-war\/\" class=\"ez-recommend-item\"><svg class=\"ez-recommend-icon\" viewBox=\"0 0 24 24\"><path d=\"M19 19H5V5h7V3H5a2 2 0 00-2 2v14a2 2 0 002 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z\"\/><\/svg>Tug of War<\/a><a href=\"https:\/\/www.ezcalculatoronline.com\/number-wars\/\" class=\"ez-recommend-item\"><svg class=\"ez-recommend-icon\" viewBox=\"0 0 24 24\"><path d=\"M19 19H5V5h7V3H5a2 2 0 00-2 2v14a2 2 0 002 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z\"\/><\/svg>Number Wars<\/a><a href=\"https:\/\/www.ezcalculatoronline.com\/random-bingo-caller-online\/\" class=\"ez-recommend-item\"><svg class=\"ez-recommend-icon\" viewBox=\"0 0 24 24\"><path d=\"M19 19H5V5h7V3H5a2 2 0 00-2 2v14a2 2 0 002 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z\"\/><\/svg>Bingo Number Generator<\/a><a href=\"https:\/\/www.ezcalculatoronline.com\/math-practice\/\" class=\"ez-recommend-item\"><svg class=\"ez-recommend-icon\" viewBox=\"0 0 24 24\"><path d=\"M19 19H5V5h7V3H5a2 2 0 00-2 2v14a2 2 0 002 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z\"\/><\/svg>Math Practice<\/a><\/div><div class=\"ez-btn-wrapper\"><button id=\"ez-btn-6aca0749c6b28\" class=\"ez-show-more-btn\">View More <svg style=\"width:16px; height:16px; fill:currentColor\" viewBox=\"0 0 24 24\"><path d=\"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z\"\/><\/svg><\/button><\/div>\n                <script>\n                document.addEventListener(\"DOMContentLoaded\", function() {\n                    var totalItems = 6;\n                    var btn = document.getElementById(\"ez-btn-6aca0749c6b28\");\n                    var grid = document.getElementById(\"ez-grid-6aca0749c6b27\");\n                    var isExpanded = false;\n                    \n                    var downArrow = '<svg style=\"width:16px; height:16px; fill:currentColor\" viewBox=\"0 0 24 24\"><path d=\"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z\"\/><\/svg>';\n                    var upArrow = '<svg style=\"width:16px; height:16px; fill:currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 8l-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z\"\/><\/svg>';\n\n                    if(btn && grid) {\n                        function updateButtonVisibility() {\n                            var isDesktop = window.innerWidth >= 768;\n                            if ((isDesktop && totalItems <= 4) || (!isDesktop && totalItems <= 2)) {\n                                btn.style.display = \"none\";\n                            } else {\n                                btn.style.display = \"inline-flex\";\n                            }\n                        }\n                        \n                        updateButtonVisibility();\n                        window.addEventListener(\"resize\", updateButtonVisibility);\n\n                        btn.addEventListener(\"click\", function() {\n                            isExpanded = !isExpanded;\n                            if(isExpanded) {\n                                grid.classList.add(\"ez-expanded\");\n                                btn.innerHTML = \"Show Less \" + upArrow;\n                            } else {\n                                grid.classList.remove(\"ez-expanded\");\n                                btn.innerHTML = \"View More \" + downArrow;\n                            }\n                        });\n                    }\n                });\n                <\/script>\n                <\/div>\n<\/div><\/div><div class=\"wpb_wrapper wpb_text_column td_block_wrap td_block_wrap vc_column_text tdi_8  tagdiv-type td-pb-border-top td_block_template_1\"  data-td-block-uid=\"tdi_8\" ><div class=\"td-block-title-wrap\"><\/div><div class=\"td-fix-index\"><h1 style=\"text-align: left;\" data-path-to-node=\"2\">\ud83c\udccf <b data-path-to-node=\"2\" data-index-in-node=\"3\">Card Game Score Calculator \u2013 Track Every Game Like a Pro!<\/b><\/h1>\n<p data-path-to-node=\"3\">Are you tired of searching for a pen and paper in the middle of a game? Worried about math errors ruining the fun?<\/p>\n<p data-path-to-node=\"4\"><b data-path-to-node=\"4\" data-index-in-node=\"0\">Card Game Score Calculator<\/b> is the ultimate digital scoresheet designed to replace traditional notebooks. Whether you are playing cards, board games, or any competitive game, this tool ensures fast, accurate, and professional scorekeeping right on your device.<\/p>\n<h2 data-path-to-node=\"5\">\ud83c\udf1f <b data-path-to-node=\"5\" data-index-in-node=\"3\">Key Features:<\/b><\/h2>\n<ul data-path-to-node=\"6\">\n<li>\n<p data-path-to-node=\"6,0,0\"><b data-path-to-node=\"6,0,0\" data-index-in-node=\"0\">Unlimited Players:<\/b> Add 2, 4, 6, or even 10+ players. No limits!\n<\/li>\n<li>\n<p data-path-to-node=\"6,1,0\"><b data-path-to-node=\"6,1,0\" data-index-in-node=\"0\">Custom Names:<\/b> Personalize each player&#8217;s name for a better experience.\n<\/li>\n<li>\n<p data-path-to-node=\"6,2,0\"><b data-path-to-node=\"6,2,0\" data-index-in-node=\"0\">Smart Scoring:<\/b> Handles both Wins (Points added) and Losses (Points deducted) with precision.\n<\/li>\n<li>\n<p data-path-to-node=\"6,3,0\"><b data-path-to-node=\"6,3,0\" data-index-in-node=\"0\">Live Leaderboard:<\/b> Automatically ranks players from highest to lowest after every round.\n<\/li>\n<li>\n<p data-path-to-node=\"6,4,0\"><b data-path-to-node=\"6,4,0\" data-index-in-node=\"0\">Detailed History:<\/b> Records every round so you can review the match progress anytime.\n<\/li>\n<\/ul>\n<h2 data-path-to-node=\"8\">\ud83d\udcd6 <b data-path-to-node=\"8\" data-index-in-node=\"3\">User Manual:<\/b><\/h2>\n<h4 data-path-to-node=\"9\"><b data-path-to-node=\"9\" data-index-in-node=\"0\">Step 1: Game Setup<\/b><\/h4>\n<ol start=\"1\" data-path-to-node=\"10\">\n<li>\n<p data-path-to-node=\"10,0,0\">When you open the app, start at the <b data-path-to-node=\"10,0,0\" data-index-in-node=\"36\">&#8220;Setup&#8221;<\/b> section.\n<\/li>\n<li>\n<p data-path-to-node=\"10,1,0\">By default, there are 2 player slots. Click the <b data-path-to-node=\"10,1,0\" data-index-in-node=\"48\">&#8220;+ Add Player&#8221;<\/b> button to add more friends to the game.\n<\/li>\n<li>\n<p data-path-to-node=\"10,2,0\">Enter the names of the players. If you add too many, simply click the red <b data-path-to-node=\"10,2,0\" data-index-in-node=\"74\">\u2715<\/b> button to remove them.\n<\/li>\n<li>\n<p data-path-to-node=\"10,3,0\">Once the list is ready, click <b data-path-to-node=\"10,3,0\" data-index-in-node=\"30\">&#8220;Start Game&#8221;<\/b>.\n<\/li>\n<\/ol>\n<h4 data-path-to-node=\"11\"><b data-path-to-node=\"11\" data-index-in-node=\"0\">Step 2: Recording Scores<\/b><\/h4>\n<ol start=\"1\" data-path-to-node=\"12\">\n<li>\n<p data-path-to-node=\"12,0,0\">At the end of each round, enter the points in the <b data-path-to-node=\"12,0,0\" data-index-in-node=\"50\">&#8220;Points&#8221;<\/b> box for each player.\n<\/li>\n<li>\n<p data-path-to-node=\"12,1,0\">Select the status for each score:<\/p>\n<ul data-path-to-node=\"12,1,1\">\n<li>\n<p data-path-to-node=\"12,1,1,0,0\"><b data-path-to-node=\"12,1,1,0,0\" data-index-in-node=\"0\">Loss (-)<\/b>: If the player lost points (Default setting).\n<\/li>\n<li>\n<p data-path-to-node=\"12,1,1,1,0\"><b data-path-to-node=\"12,1,1,1,0\" data-index-in-node=\"0\">Win (+)<\/b>: If the player won points.\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p data-path-to-node=\"12,2,0\">After entering the scores for the round, click the <b data-path-to-node=\"12,2,0\" data-index-in-node=\"51\">&#8220;End Round&#8221;<\/b> button.\n<\/li>\n<\/ol>\n<h4 data-path-to-node=\"13\"><b data-path-to-node=\"13\" data-index-in-node=\"0\">Step 3: Track &#038; Review<\/b><\/h4>\n<ul data-path-to-node=\"14\">\n<li>\n<p data-path-to-node=\"14,0,0\"><b data-path-to-node=\"14,0,0\" data-index-in-node=\"0\">Current Score:<\/b> Each player&#8217;s total score is updated instantly on their individual card.\n<\/li>\n<li>\n<p data-path-to-node=\"14,1,0\"><b data-path-to-node=\"14,1,0\" data-index-in-node=\"0\">Leaderboard:<\/b> Scroll down to the <b data-path-to-node=\"14,1,0\" data-index-in-node=\"32\">Ranking<\/b> section to see who is currently in the lead.\n<\/li>\n<li>\n<p data-path-to-node=\"14,2,0\"><b data-path-to-node=\"14,2,0\" data-index-in-node=\"0\">Match History:<\/b> Check the <b data-path-to-node=\"14,2,0\" data-index-in-node=\"25\">History<\/b> section to review previous rounds and settle any disputes.\n<\/li>\n<li>\n<p data-path-to-node=\"14,3,0\"><b data-path-to-node=\"14,3,0\" data-index-in-node=\"0\">Reset Game:<\/b> To start a brand new session with a new player list, click <b data-path-to-node=\"14,3,0\" data-index-in-node=\"71\">&#8220;Reset Game&#8221;<\/b>.\n<\/li>\n<\/ul>\n<h2 data-path-to-node=\"16\">\ud83d\udca1 <b data-path-to-node=\"16\" data-index-in-node=\"3\">Pro Tips:<\/b><\/h2>\n<ul data-path-to-node=\"17\">\n<li>\n<p data-path-to-node=\"17,0,0\">You don&#8217;t need to enter &#8220;0&#8221; for players who didn&#8217;t gain or lose points; the system will skip them automatically.\n<\/li>\n<li>\n<p data-path-to-node=\"17,1,0\">The app is designed to trigger the numeric keypad on mobile devices for faster data entry.\n<\/li>\n<li>\n<p data-path-to-node=\"17,2,0\">Perfect for games like <b data-path-to-node=\"17,2,0\" data-index-in-node=\"23\">Poker, Rummy, Bridge, Hearts, Spades,<\/b> or any local card games!\n<\/li>\n<\/ul>\n<p data-path-to-node=\"18\"><b data-path-to-node=\"18\" data-index-in-node=\"0\">Let Card Game Score Calculator handle the math while you focus on the win!<\/b> \ud83d\ude80<\/p>\n<\/div><\/div><\/div><\/div><div class=\"vc_column tdi_10  wpb_column vc_column_container tdc-column td-pb-span4 td-is-sticky\">\n<style scoped>\n\n\/* custom css *\/\n.tdi_10{\r\n                    vertical-align: baseline;\r\n                }.tdi_10 > .wpb_wrapper,\r\n\t\t\t\t.tdi_10 > .wpb_wrapper > .tdc-elements{\r\n\t\t\t\t    display: block;\r\n\t\t\t\t}.tdi_10 > .wpb_wrapper > .tdc-elements{\r\n\t\t\t\t    width: 100%;\r\n\t\t\t\t}.tdi_10 > .wpb_wrapper > .vc_row_inner{\r\n\t\t\t\t    width: auto;\r\n\t\t\t\t}.tdi_10 > .wpb_wrapper{\r\n\t\t\t\t    width: auto;\r\n\t\t\t\t    height: auto;\r\n\t\t\t\t}\n<\/style><div class=\"wpb_wrapper\" data-sticky-offset=\"20\"><div class=\"td_block_wrap td_block_list_menu tdi_11 td-blm-display-vertical td-pb-border-top td_block_template_1 widget\"  data-td-block-uid=\"tdi_11\" >\n<style>\n\n\/* inline tdc_css att *\/\n\n.tdi_11{\npadding-top:20px !important;\n}\n\n<\/style>\n<style>\n\/* custom css *\/\n.td_block_list_menu ul{\r\n                  flex-wrap: wrap;\r\n                  margin-left: 12px;\r\n                }.td_block_list_menu ul li{\r\n\t\t\t\t\tmargin-left: 0;\r\n\t\t\t\t}.td_block_list_menu ul li a{\r\n\t\t\t\t\tdisplay: flex;\r\n                  \tmargin-left: 0;\r\n                }.td_block_list_menu .td-blm-menu-item-txt{\r\n\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\talign-items: center;\r\n\t\t\t\t\tflex-grow: 1;\r\n\t\t\t\t}.td_block_list_menu .sub-menu{\r\n                  padding-left: 22px;\r\n                }.td_block_list_menu .sub-menu li{\r\n                  font-size: 13px;\r\n                }.td_block_list_menu li.current-menu-item > a,\r\n\t\t\t\t.td_block_list_menu li.current-menu-ancestor > a,\r\n\t\t\t\t.td_block_list_menu li.current-category-ancestor > a{\r\n\t\t\t\t    color: #4db2ec;\r\n\t\t\t\t}.td_block_list_menu .td-blm-sub-icon{\r\n\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\talign-items: center;\r\n\t\t\t\t\tjustify-content: center;\r\n\t\t\t\t\tmargin-left: .6em;\r\n\t\t\t\t\tpadding: 0 .6em;\r\n\t\t\t\t\ttransition: transform .2s ease-in-out;\r\n\t\t\t\t}.td_block_list_menu .td-blm-sub-icon svg{\r\n\t\t\t\t\tdisplay: block;\r\n\t\t\t\t\twidth: 1em;\r\n\t\t\t\t\theight: auto;\r\n\t\t\t\t}.td_block_list_menu .td-blm-sub-icon svg,\r\n\t\t\t\t.td_block_list_menu .td-blm-sub-icon svg *{\r\n\t\t\t\t\tfill: currentColor;\r\n\t\t\t\t}.td_block_list_menu.td-blm-display-accordion .menu-item-has-children ul{\r\n\t\t\t\t\tdisplay: none;\r\n\t\t\t\t}.td_block_list_menu.td-blm-display-accordion .menu-item-has-children-open > a > .td-blm-sub-icon{\r\n\t\t\t\t\ttransform: rotate(180deg);\r\n\t\t\t\t}.td_block_list_menu.td-blm-display-horizontal ul{\r\n\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t}body .tdi_11 ul{\r\n\t\t\t\t\ttext-align: left;\r\n\t\t\t\t\tjustify-content: flex-start;\r\n\t\t\t\t}body .tdi_11 ul li a{\r\n\t\t\t\t\tjustify-content: flex-start;\r\n\t\t\t\t}body .tdi_11 .td-blm-menu-item-txt{\r\n\t\t\t\t\tflex-grow: 1;\r\n\t\t\t\t}\n<\/style><div class=\"td-block-title-wrap\"><h4 class=\"block-title td-block-title\"><span class=\"td-pulldown-size\">Other Calculators<\/span><\/h4><\/div><div id=tdi_11 class=\"td_block_inner td-fix-index\"><div class=\"menu-other-calculators-container\"><ul id=\"menu-other-calculators\" class=\"menu\"><li id=\"menu-item-2618\" class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-2618\"><a href=\"https:\/\/www.ezcalculatoronline.com\/construction-calculators\/board-foot-calculator\/\"><span class=\"td-blm-menu-item-txt\">Board Foot Calculator<\/span><\/a><\/li>\n<li id=\"menu-item-2619\" class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-2619\"><a href=\"https:\/\/www.ezcalculatoronline.com\/construction-calculators\/paint-calculator\/\"><span class=\"td-blm-menu-item-txt\">Paint Calculator<\/span><\/a><\/li>\n<li id=\"menu-item-2620\" class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-2620\"><a href=\"https:\/\/www.ezcalculatoronline.com\/math\/average-percentage-calculator\/\"><span class=\"td-blm-menu-item-txt\">Average Percentage Calculator<\/span><\/a><\/li>\n<li id=\"menu-item-2621\" class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-2621\"><a href=\"https:\/\/www.ezcalculatoronline.com\/math\/fraction-to-percent-calculator\/\"><span class=\"td-blm-menu-item-txt\">Fraction to Percent Calculator<\/span><\/a><\/li>\n<li id=\"menu-item-2622\" class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-2622\"><a href=\"https:\/\/www.ezcalculatoronline.com\/physics-calculators\/velocity-calculator\/\"><span class=\"td-blm-menu-item-txt\">Velocity Calculator<\/span><\/a><\/li>\n<li id=\"menu-item-2623\" class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-2623\"><a href=\"https:\/\/www.ezcalculatoronline.com\/games\/pokemon-go-candy\/\"><span class=\"td-blm-menu-item-txt\">Pok\u00e9mon Go Candy Calculator<\/span><\/a><\/li>\n<li id=\"menu-item-2624\" class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-2624\"><a href=\"https:\/\/www.ezcalculatoronline.com\/games\/pokemon-search\/\"><span class=\"td-blm-menu-item-txt\">Pok\u00e9mon Search<\/span><\/a><\/li>\n<li id=\"menu-item-2625\" class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-2625\"><a href=\"https:\/\/www.ezcalculatoronline.com\/games\/lottery-numbers-tool\/\"><span class=\"td-blm-menu-item-txt\">Lottery Numbers Tool<\/span><\/a><\/li>\n<li id=\"menu-item-2626\" class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-2626\"><a href=\"https:\/\/www.ezcalculatoronline.com\/pets-calculators\/pet-age-calculator\/\"><span class=\"td-blm-menu-item-txt\">Pet Age Calculator<\/span><\/a><\/li>\n<li id=\"menu-item-2627\" class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-2627\"><a href=\"https:\/\/www.ezcalculatoronline.com\/pets-calculators\/dog-pregnancy-calculator\/\"><span class=\"td-blm-menu-item-txt\">Dog Pregnancy Calculator<\/span><\/a><\/li>\n<li id=\"menu-item-2628\" class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-2628\"><a href=\"https:\/\/www.ezcalculatoronline.com\/online-tools\/website-to-ip-lookup\/\"><span class=\"td-blm-menu-item-txt\">Website to IP lookup<\/span><\/a><\/li>\n<li id=\"menu-item-2629\" class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-2629\"><a href=\"https:\/\/www.ezcalculatoronline.com\/online-tools\/search-ip-address\/\"><span class=\"td-blm-menu-item-txt\">Search IP Address<\/span><\/a><\/li>\n<li id=\"menu-item-2630\" class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-2630\"><a href=\"https:\/\/www.ezcalculatoronline.com\/online-tools\/wheel-of-names\/\"><span class=\"td-blm-menu-item-txt\">Wheel of Names<\/span><\/a><\/li>\n<li id=\"menu-item-2631\" class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-2631\"><a href=\"https:\/\/www.ezcalculatoronline.com\/education-calculators\/test-grade-calculator\/\"><span class=\"td-blm-menu-item-txt\">Test Grade Calculator<\/span><\/a><\/li>\n<li id=\"menu-item-2632\" class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-2632\"><a href=\"https:\/\/www.ezcalculatoronline.com\/online-tools\/hex-color-picker\/\"><span class=\"td-blm-menu-item-txt\">Color Picker<\/span><\/a><\/li>\n<\/ul><\/div><\/div><\/div><div class=\"wpb_wrapper td_block_wrap vc_raw_html tdi_13 \"><div class=\"td-fix-index\"><script async src=\"https:\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js?client=ca-pub-7396755811986582\"\n     crossorigin=\"anonymous\"><\/script>\n<!-- ads 300 x 250 -->\n<ins class=\"adsbygoogle\"\n     style=\"display:inline-block;width:300px;height:250px\"\n     data-ad-client=\"ca-pub-7396755811986582\"\n     data-ad-slot=\"2517371721\"><\/ins>\n<script>\n     (adsbygoogle = window.adsbygoogle || []).push({});\n<\/script><\/div><\/div><div class=\"wpb_wrapper td_block_wrap vc_raw_html tdi_15 \"><div class=\"td-fix-index\"><script async src=\"https:\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js?client=ca-pub-7396755811986582\"\n     crossorigin=\"anonymous\"><\/script>\n<!-- Ads KNS 300 x 600 -->\n<ins class=\"adsbygoogle\"\n     style=\"display:inline-block;width:300px;height:600px\"\n     data-ad-client=\"ca-pub-7396755811986582\"\n     data-ad-slot=\"4956265638\"><\/ins>\n<script>\n     (adsbygoogle = window.adsbygoogle || []).push({});\n<\/script><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div>","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":8677,"parent":3814,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-8662","page","type-page","status-publish","has-post-thumbnail"],"rankMath":{"parentDomain":"ezcalculatoronline.com","noFollowDomains":[],"noFollowExcludeDomains":[],"noFollowExternalLinks":false,"featuredImageNotice":"The featured image should be at least 200 by 200 pixels to be picked up by Facebook and other social media sites.","pluginReviewed":false,"postSettings":{"linkSuggestions":true,"useFocusKeyword":false},"frontEndScore":false,"postName":"card-game-score-calculator","permalinkFormat":"https:\/\/www.ezcalculatoronline.com\/%pagename%\/","showLockModifiedDate":true,"assessor":{"focusKeywordLink":"https:\/\/www.ezcalculatoronline.com\/wp-admin\/edit.php?focus_keyword=%focus_keyword%&post_type=%post_type%","hasTOCPlugin":false,"primaryTaxonomy":false,"serpData":{"title":"Card Game Score Calculator | Multiplayer Tracker","description":"Easily track scores for any card game. Add unlimited players, record wins\/losses, and view live leaderboards. Replace pen and paper for free!","focusKeywords":"Card Game Score Calculator","pillarContent":false,"canonicalUrl":"","breadcrumbTitle":"","advancedRobots":{"max-snippet":"-1","max-video-preview":"-1","max-image-preview":"large"},"facebookTitle":"","facebookDescription":"","facebookImage":"","facebookImageID":"","facebookHasOverlay":false,"facebookImageOverlay":"","facebookAuthor":"","twitterCardType":"","twitterUseFacebook":true,"twitterTitle":"","twitterDescription":"","twitterImage":"","twitterImageID":"","twitterHasOverlay":false,"twitterImageOverlay":"","twitterPlayerUrl":"","twitterPlayerSize":"","twitterPlayerStream":"","twitterPlayerStreamCtype":"","twitterAppDescription":"","twitterAppIphoneName":"","twitterAppIphoneID":"","twitterAppIphoneUrl":"","twitterAppIpadName":"","twitterAppIpadID":"","twitterAppIpadUrl":"","twitterAppGoogleplayName":"","twitterAppGoogleplayID":"","twitterAppGoogleplayUrl":"","twitterAppCountry":"","robots":{"index":true},"twitterAuthor":"username","primaryTerm":0,"authorName":"Thien Nguyen","titleTemplate":"%title% %sep% %sitename%","descriptionTemplate":"%excerpt%","showScoreFrontend":true,"lockModifiedDate":false},"powerWords":["a cut above","absolute","absolutely","absolutely lowest","absurd","abuse","accurate","accuse","achieve","actionable","adaptable","adequate","admit","adorable","advantage","advice","affordable","aggravate","aggressive","agitated","agonizing","agony","alarmed","alarming","alienated","aligned","alive","all-inclusive","alluring","always","amazing","amp","animated","annihilate","announcing","anonymous","antagonistic","anxious","apocalypse","appalled","approved","approving","argumentative","armageddon","arrogant","ass kicking","assault","assured","astonishing","astounded","astounding","at ease","atrocious","attack","attractive","audacity","authentic","authoritative","authority","avoid","aware","awe-inspiring","awesome","awkward","backbone","backdoor","backed","backlash","backstabbing","badass","balanced","banned","bargain","barrage","basic","battle","beaming","beat down","beating","beautiful","beauty","begging","behind the scenes","belief","belong","best","best-selling","better","beware","big","billion","black market","blacklisted","blast","blessed","blinded","blissful","blood","bloodbath","bloodcurdling","bloody","blunder","blushing","bold","bomb","bona","bona fide","bonanza","bonus","bootleg","bottom line","bountiful","brave","bravery","brazen","break","breaking","breakthrough","breathtaking","bright","brilliant","broke","brutal","budget","buffoon","bullshit","bully","bumbling","buy","cadaver","calm","cancel anytime","capable","captivate","captivating","carefree","case study","cash","cataclysmic","catapult","catastrophe","caution","censored","centered","certain","certainly","certified","challenge","charming","cheap","cheat","cheat-sheet","cheer","cheerful","child-like","clarity","classified","clear","clueless","collapse","colorful","colossal","comfortable","compare","competitive","complete","completely","completeness","comprehensive","compromise","compulsive","concealed","conclusive","condemning","condescending","confess","confession","confessions","confident","confidential","conquer","conscientious","constructive","content","contrary","controlling","controversial","convenient","convert","cool","cooperative","copy","corpse","corrupt","corrupting","courage","courageous","cover-up","covert","coward","cowardly","crammed","crave","crazy","create","creative","cringeworthy","cripple","crisis","critical","crooked","crush","crushing","damaging","danger","dangerous","daring","dazzling","dead","deadline","deadly","death","decadent","deceived","deceptive","deep","defiance","definitely","definitive","defying","dejected","delicious","delight","delighted","delightful","delirious","delivered","demoralizing","deplorable","depraved","desire","desperate","despicable","destiny","destroy","detailed","devastating","devoted","diagnosed","direct","dirty","disadvantages","disastrous","discount","discover","disdainful","disempowered","disgusted","disgusting","dishonest","disillusioned","disoriented","distracted","distraught","distressed","distrustful","divulge","document","dollar","dominate","doomed","double","doubtful","download","dreadful","dreamy","drive","drowning","dumb","dynamic","eager","earnest","easily","easy","economical","ecstatic","edge","effective","efficient","effortless","elated","eliminate","elite","embarrass","embarrassed","embarrassing","emergency","emerging","emphasize","empowered","enchant","encouraged","endorsed","energetic","energy","enormous","enraged","enthusiastic","envy","epic","epidemic","essential","ethical","euphoric","evil","exactly","exasperated","excellent","excited","excitement","exciting","exclusive","exclusivity","excruciating","exhilarated","expensive","expert","explode","exploit","explosive","exposed","exquisite","extra","extraordinary","extremely","exuberant","eye-opening","fail","fail-proof","failure","faith","famous","fantasy","fascinating","fatigued","faux","faux pas","fearless","feast","feeble","festive","fide","fierce","fight","final","fine","fired","first","first ever","flirt","fluid","focus","focused","fool","fooled","foolish","forbidden","force-fed","forever","forgiving","forgotten","formula","fortune","foul","frantic","free","freebie","freedom","frenzied","frenzy","frightening","frisky","frugal","frustrated","fulfill","fulfilled","full","fully","fun","fun-loving","fundamentals","funniest","funny","furious","gambling","gargantuan","genius","genuine","gift","gigantic","giveaway","glamorous","gleeful","glorious","glowing","goddamn","gorgeous","graceful","grateful","gratified","gravity","great","greatest","greatness","greed","greedy","gripping","grit","grounded","growth","guaranteed","guilt","guilt-free","gullible","guts","hack","happiness","happy","harmful","harsh","hate","have you heard","havoc","hazardous","healthy","heart","heartbreaking","heartwarming","heavenly","hell","helpful","helplessness","hero","hesitant","hidden","high tech","highest","highly effective","hilarious","hoak","hoax","honest","honored","hope","hopeful","horribly","horrific","horrifying","horror","hostile","how to","huge","humility","humor","hurricane","hurry","hypnotic","idiot","ignite","illegal","illusive","imagination","immediately","imminently","impatience","impatient","impenetrable","important","impressive","improved","in the zone","incapable","incapacitated","incompetent","inconsiderate","increase","incredible","indecisive","indulgence","indulgent","inexpensive","inferior","informative","infuriated","ingredients","innocent","innovative","insane","insecure","insider","insidious","inspired","inspiring","instant savings","instantly","instructive","insult","intel","intelligent","intense","interesting","intriguing","introducing","invasion","investment","iron-clad","ironclad","irresistible","irs","is here","jackpot","jail","jaw-dropping","jealous","jeopardy","jittery","jovial","joyous","jubilant","judgmental","jumpstart","just arrived","keen","kickass","kickstart","kill","killed","killing","kills","know it all","lame","largest","lascivious","last","last chance","last minute","latest","laugh","laughing","launch","launching","lavishly","lawsuit","lazy","left behind","legendary","legitimate","liberal","liberated","lick","lies","life-changing","lifetime","light","lighthearted","likely","limited","literally","little-known","loathsome","lonely","looming","loser","lost","love","lucrative","lunatic","lurking","lust","luxurious","luxury","lying","magic","magical","magnificent","mainstream","malicious","mammoth","manipulative","marked down","massive","master","masterclass","maul","mediocre","meditative","meltdown","memorability","memorable","menacing","mesmerizing","meticulous","mind-blowing","minimalist","miracle","mired","mischievous","misgiving","missing out","mistake","monetize","money","moneyback","moneygrubbing","monumental","most important","motivated","mouth-watering","murder","mystery","nail","naked","natural","naughty","nazi","nest egg","never","new","nightmare","no good","no obligation","no one talks about","no questions asked","no risk","no strings attached","non-controlling","noted","novelty","now","obnoxious","obsessed","obsession","obvious","odd","off-kilter","off-limits","off-the record","offensive","official","okay","on-demand","open-minded","opportunities","optimistic","ordeal","outlawed","outrageousness","outstanding","overcome","overjoyed","overnight","overwhelmed","packed","painful","painless","painstaking","pale","panic","panicked","paralyzed","pas","passionate","pathetic","pay zero","payback","perfect","peril","perplexed","perspective","pessimistic","pioneering","piranha","pitfall","pitiful","placid","plague","played","playful","pleased","pluck","plummet","plunge","poison","poisonous","polarizing","poor","popular","portfolio","pound","powerful","powerless","practical","preposterous","prestige","price","priceless","pride","prison","privacy","private","privileged","prize","problem","productive","professional","profit","profitable","profound","promiscuous","promising","promote","protect","protected","proven","provocative","provoke","psychological","pummel","punch","punish","pus","quadruple","quality","quarrelsome","quick","quick-start","quickly","quiet","radiant","rare","ravenous","rebellious","recession-proof","reckoning","recognized","recommend","recreate","reduced","reflective","refugee","refund","refundable","reject","relaxed","release","relentless","reliable","remarkable","replicate","report","reprimanding","repulsed","repulsive","research","resentful","resourceful","responsible","responsive","rested","restricted","results","retaliating","reveal","revealing","revenge","revengeful","revisited","revolting","revolutionary","reward","rich","ridiculous","risky","riveting","rookie","rowdy","ruin","rules","ruthless","sabotaging","sacred","sadistic","sadly","sadness","safe","safety","sale","sampler","sarcastic","satisfied","savage","savagery","save","savings","savvy","scam","scandal","scandalous","scarce","scared","scary","scornful","scream","searing","secret","secret agenda","secret plot","secrets","secure","security","seductive","seething","seize","selected","self-hating","self-sufficient","sensational","senseless","sensual","serene","seriously","severe","sex","sexy","shaking","shameful","shameless","shaming","shatter","shellacking","shocking","should","shrewd","sick and tired","signs","silly","simple","simplicity","simplified","simplistic","sincere","sinful","sins","six-figure","sizable","sizzle","sizzled","sizzles","sizzling","sizzlingly","skill","skyrocket","slaughter","slave","sleazy","sleeping","sly","smash","smiling","smug","smuggle","smuggled","sneak-peek","sneaky","sniveling","snob","snooty","snotty","soar","soaring","solid","solution","spank","special","spectacular","speedy","spell-binding","spine","spirit","spirited","spiteful","spoiler","spontaneous","spotlight","spunky","squirming","stable","staggering","startling","steady","steal","stealthy","steamy","step-by-step","still","stoic","stop","strange","strangle","strategy","stressed","strong","strongly suggest","struggle","stuck up","studies","stunning","stupid","stupid-simple","sturdy","sublime","succeed","success","successful","suck","suddenly","suffer","sunny","super","super-human","superb","supercharge","superior","supported","supportive","sure","sure fire","surefire","surge","surging","surprise","surprised","surprising","survival","survive","suspicious","sweaty","swoon","swoon-worthy","tailspin","tank","tantalizing","targeted","tawdry","tease","technology","teetering","tempting","tenacious","tense","terrible","terrific","terrified","terrifying","terror","terrorist","tested","thankful","the truth","threaten","threatened","thrilled","thrilling","thug","ticked off","tickled","timely","today","torture","toxic","track record","trade secret","tragedy","tragic","transform","transparency","trap","trapped","trauma","traumatized","treacherous","treasure","tremendous","trend","tricks","triggers","triple","triumph","truly","trusting","trustworthy","truth","truthful","turbo-charge","turbocharges","tweaks","twitching","ultimate","unadulterated","unassuming","unauthorized","unbelievable","unburdened","uncaring","uncensored","uncertain","uncomfortable","unconditional","uncontrollable","unconventional","uncovered","undeniable","under priced","undercover","underground","underhanded","underused","unexpected","unforgettable","unheard of","unhurried","uninterested","unique","unjustified","unknowingly","unleashed","unlimited","unlock","unparalleled","unpopular","unreliable","unresponsive","unseen","unstable","unstoppable","unsure","unsurpassed","untapped","unusual","up-sell","upbeat","uplifted","uplifting","urge","urgent","useful","useless","validate","valor","valuable","value","vanquish","vaporize","venomous","verify","vibrant","vicious","victim","victory","vigorous","vilified","vindictive","violated","violent","volatile","vulnerable","waiting","wanted","wanton","warning","waste","weak","wealth","weird","what no one tells you","whip","whopping","wicked","wild","willpower","withheld","wonderful","wondrous","woozy","world","worry","worst","worthwhile","wounded","wreaking","youthful","zen","zinger"],"diacritics":{"A":"[\\u0041\\u24B6\\uFF21\\u00C0\\u00C1\\u00C2\\u1EA6\\u1EA4\\u1EAA\\u1EA8\\u00C3\\u0100\\u0102\\u1EB0\\u1EAE\\u1EB4\\u1EB2\\u0226\\u01E0\\u00C4\\u01DE\\u1EA2\\u00C5\\u01FA\\u01CD\\u0200\\u0202\\u1EA0\\u1EAC\\u1EB6\\u1E00\\u0104\\u023A\\u2C6F]","AA":"[\\uA732]","AE":"[\\u00C6\\u01FC\\u01E2]","AO":"[\\uA734]","AU":"[\\uA736]","AV":"[\\uA738\\uA73A]","AY":"[\\uA73C]","B":"[\\u0042\\u24B7\\uFF22\\u1E02\\u1E04\\u1E06\\u0243\\u0182\\u0181]","C":"[\\u0043\\u24B8\\uFF23\\u0106\\u0108\\u010A\\u010C\\u00C7\\u1E08\\u0187\\u023B\\uA73E]","D":"[\\u0044\\u24B9\\uFF24\\u1E0A\\u010E\\u1E0C\\u1E10\\u1E12\\u1E0E\\u0110\\u018B\\u018A\\u0189\\uA779]","DZ":"[\\u01F1\\u01C4]","Dz":"[\\u01F2\\u01C5]","E":"[\\u0045\\u24BA\\uFF25\\u00C8\\u00C9\\u00CA\\u1EC0\\u1EBE\\u1EC4\\u1EC2\\u1EBC\\u0112\\u1E14\\u1E16\\u0114\\u0116\\u00CB\\u1EBA\\u011A\\u0204\\u0206\\u1EB8\\u1EC6\\u0228\\u1E1C\\u0118\\u1E18\\u1E1A\\u0190\\u018E]","F":"[\\u0046\\u24BB\\uFF26\\u1E1E\\u0191\\uA77B]","G":"[\\u0047\\u24BC\\uFF27\\u01F4\\u011C\\u1E20\\u011E\\u0120\\u01E6\\u0122\\u01E4\\u0193\\uA7A0\\uA77D\\uA77E]","H":"[\\u0048\\u24BD\\uFF28\\u0124\\u1E22\\u1E26\\u021E\\u1E24\\u1E28\\u1E2A\\u0126\\u2C67\\u2C75\\uA78D]","I":"[\\u0049\\u24BE\\uFF29\\u00CC\\u00CD\\u00CE\\u0128\\u012A\\u012C\\u0130\\u00CF\\u1E2E\\u1EC8\\u01CF\\u0208\\u020A\\u1ECA\\u012E\\u1E2C\\u0197]","J":"[\\u004A\\u24BF\\uFF2A\\u0134\\u0248]","K":"[\\u004B\\u24C0\\uFF2B\\u1E30\\u01E8\\u1E32\\u0136\\u1E34\\u0198\\u2C69\\uA740\\uA742\\uA744\\uA7A2]","L":"[\\u004C\\u24C1\\uFF2C\\u013F\\u0139\\u013D\\u1E36\\u1E38\\u013B\\u1E3C\\u1E3A\\u0141\\u023D\\u2C62\\u2C60\\uA748\\uA746\\uA780]","LJ":"[\\u01C7]","Lj":"[\\u01C8]","M":"[\\u004D\\u24C2\\uFF2D\\u1E3E\\u1E40\\u1E42\\u2C6E\\u019C]","N":"[\\u004E\\u24C3\\uFF2E\\u01F8\\u0143\\u00D1\\u1E44\\u0147\\u1E46\\u0145\\u1E4A\\u1E48\\u0220\\u019D\\uA790\\uA7A4]","NJ":"[\\u01CA]","Nj":"[\\u01CB]","O":"[\\u004F\\u24C4\\uFF2F\\u00D2\\u00D3\\u00D4\\u1ED2\\u1ED0\\u1ED6\\u1ED4\\u00D5\\u1E4C\\u022C\\u1E4E\\u014C\\u1E50\\u1E52\\u014E\\u022E\\u0230\\u00D6\\u022A\\u1ECE\\u0150\\u01D1\\u020C\\u020E\\u01A0\\u1EDC\\u1EDA\\u1EE0\\u1EDE\\u1EE2\\u1ECC\\u1ED8\\u01EA\\u01EC\\u00D8\\u01FE\\u0186\\u019F\\uA74A\\uA74C]","OI":"[\\u01A2]","OO":"[\\uA74E]","OU":"[\\u0222]","P":"[\\u0050\\u24C5\\uFF30\\u1E54\\u1E56\\u01A4\\u2C63\\uA750\\uA752\\uA754]","Q":"[\\u0051\\u24C6\\uFF31\\uA756\\uA758\\u024A]","R":"[\\u0052\\u24C7\\uFF32\\u0154\\u1E58\\u0158\\u0210\\u0212\\u1E5A\\u1E5C\\u0156\\u1E5E\\u024C\\u2C64\\uA75A\\uA7A6\\uA782]","S":"[\\u0053\\u24C8\\uFF33\\u1E9E\\u015A\\u1E64\\u015C\\u1E60\\u0160\\u1E66\\u1E62\\u1E68\\u0218\\u015E\\u2C7E\\uA7A8\\uA784]","T":"[\\u0054\\u24C9\\uFF34\\u1E6A\\u0164\\u1E6C\\u021A\\u0162\\u1E70\\u1E6E\\u0166\\u01AC\\u01AE\\u023E\\uA786]","TZ":"[\\uA728]","U":"[\\u0055\\u24CA\\uFF35\\u00D9\\u00DA\\u00DB\\u0168\\u1E78\\u016A\\u1E7A\\u016C\\u00DC\\u01DB\\u01D7\\u01D5\\u01D9\\u1EE6\\u016E\\u0170\\u01D3\\u0214\\u0216\\u01AF\\u1EEA\\u1EE8\\u1EEE\\u1EEC\\u1EF0\\u1EE4\\u1E72\\u0172\\u1E76\\u1E74\\u0244]","V":"[\\u0056\\u24CB\\uFF36\\u1E7C\\u1E7E\\u01B2\\uA75E\\u0245]","VY":"[\\uA760]","W":"[\\u0057\\u24CC\\uFF37\\u1E80\\u1E82\\u0174\\u1E86\\u1E84\\u1E88\\u2C72]","X":"[\\u0058\\u24CD\\uFF38\\u1E8A\\u1E8C]","Y":"[\\u0059\\u24CE\\uFF39\\u1EF2\\u00DD\\u0176\\u1EF8\\u0232\\u1E8E\\u0178\\u1EF6\\u1EF4\\u01B3\\u024E\\u1EFE]","Z":"[\\u005A\\u24CF\\uFF3A\\u0179\\u1E90\\u017B\\u017D\\u1E92\\u1E94\\u01B5\\u0224\\u2C7F\\u2C6B\\uA762]","a":"[\\u0061\\u24D0\\uFF41\\u1E9A\\u00E0\\u00E1\\u00E2\\u1EA7\\u1EA5\\u1EAB\\u1EA9\\u00E3\\u0101\\u0103\\u1EB1\\u1EAF\\u1EB5\\u1EB3\\u0227\\u01E1\\u00E4\\u01DF\\u1EA3\\u00E5\\u01FB\\u01CE\\u0201\\u0203\\u1EA1\\u1EAD\\u1EB7\\u1E01\\u0105\\u2C65\\u0250]","aa":"[\\uA733]","ae":"[\\u00E6\\u01FD\\u01E3]","ao":"[\\uA735]","au":"[\\uA737]","av":"[\\uA739\\uA73B]","ay":"[\\uA73D]","b":"[\\u0062\\u24D1\\uFF42\\u1E03\\u1E05\\u1E07\\u0180\\u0183\\u0253]","c":"[\\u0063\\u24D2\\uFF43\\u0107\\u0109\\u010B\\u010D\\u00E7\\u1E09\\u0188\\u023C\\uA73F\\u2184]","d":"[\\u0064\\u24D3\\uFF44\\u1E0B\\u010F\\u1E0D\\u1E11\\u1E13\\u1E0F\\u0111\\u018C\\u0256\\u0257\\uA77A]","dz":"[\\u01F3\\u01C6]","e":"[\\u0065\\u24D4\\uFF45\\u00E8\\u00E9\\u00EA\\u1EC1\\u1EBF\\u1EC5\\u1EC3\\u1EBD\\u0113\\u1E15\\u1E17\\u0115\\u0117\\u00EB\\u1EBB\\u011B\\u0205\\u0207\\u1EB9\\u1EC7\\u0229\\u1E1D\\u0119\\u1E19\\u1E1B\\u0247\\u025B\\u01DD]","f":"[\\u0066\\u24D5\\uFF46\\u1E1F\\u0192\\uA77C]","g":"[\\u0067\\u24D6\\uFF47\\u01F5\\u011D\\u1E21\\u011F\\u0121\\u01E7\\u0123\\u01E5\\u0260\\uA7A1\\u1D79\\uA77F]","h":"[\\u0068\\u24D7\\uFF48\\u0125\\u1E23\\u1E27\\u021F\\u1E25\\u1E29\\u1E2B\\u1E96\\u0127\\u2C68\\u2C76\\u0265]","hv":"[\\u0195]","i":"[\\u0069\\u24D8\\uFF49\\u00EC\\u00ED\\u00EE\\u0129\\u012B\\u012D\\u00EF\\u1E2F\\u1EC9\\u01D0\\u0209\\u020B\\u1ECB\\u012F\\u1E2D\\u0268\\u0131]","j":"[\\u006A\\u24D9\\uFF4A\\u0135\\u01F0\\u0249]","k":"[\\u006B\\u24DA\\uFF4B\\u1E31\\u01E9\\u1E33\\u0137\\u1E35\\u0199\\u2C6A\\uA741\\uA743\\uA745\\uA7A3]","l":"[\\u006C\\u24DB\\uFF4C\\u0140\\u013A\\u013E\\u1E37\\u1E39\\u013C\\u1E3D\\u1E3B\\u017F\\u0142\\u019A\\u026B\\u2C61\\uA749\\uA781\\uA747]","lj":"[\\u01C9]","m":"[\\u006D\\u24DC\\uFF4D\\u1E3F\\u1E41\\u1E43\\u0271\\u026F]","n":"[\\u006E\\u24DD\\uFF4E\\u01F9\\u0144\\u00F1\\u1E45\\u0148\\u1E47\\u0146\\u1E4B\\u1E49\\u019E\\u0272\\u0149\\uA791\\uA7A5]","nj":"[\\u01CC]","o":"[\\u006F\\u24DE\\uFF4F\\u00F2\\u00F3\\u00F4\\u1ED3\\u1ED1\\u1ED7\\u1ED5\\u00F5\\u1E4D\\u022D\\u1E4F\\u014D\\u1E51\\u1E53\\u014F\\u022F\\u0231\\u00F6\\u022B\\u1ECF\\u0151\\u01D2\\u020D\\u020F\\u01A1\\u1EDD\\u1EDB\\u1EE1\\u1EDF\\u1EE3\\u1ECD\\u1ED9\\u01EB\\u01ED\\u00F8\\u01FF\\u0254\\uA74B\\uA74D\\u0275]","oi":"[\\u01A3]","ou":"[\\u0223]","oo":"[\\uA74F]","p":"[\\u0070\\u24DF\\uFF50\\u1E55\\u1E57\\u01A5\\u1D7D\\uA751\\uA753\\uA755]","q":"[\\u0071\\u24E0\\uFF51\\u024B\\uA757\\uA759]","r":"[\\u0072\\u24E1\\uFF52\\u0155\\u1E59\\u0159\\u0211\\u0213\\u1E5B\\u1E5D\\u0157\\u1E5F\\u024D\\u027D\\uA75B\\uA7A7\\uA783]","s":"[\\u0073\\u24E2\\uFF53\\u015B\\u1E65\\u015D\\u1E61\\u0161\\u1E67\\u1E63\\u1E69\\u0219\\u015F\\u023F\\uA7A9\\uA785\\u1E9B]","ss":"[\\u00DF]","t":"[\\u0074\\u24E3\\uFF54\\u1E6B\\u1E97\\u0165\\u1E6D\\u021B\\u0163\\u1E71\\u1E6F\\u0167\\u01AD\\u0288\\u2C66\\uA787]","tz":"[\\uA729]","u":"[\\u0075\\u24E4\\uFF55\\u00F9\\u00FA\\u00FB\\u0169\\u1E79\\u016B\\u1E7B\\u016D\\u00FC\\u01DC\\u01D8\\u01D6\\u01DA\\u1EE7\\u016F\\u0171\\u01D4\\u0215\\u0217\\u01B0\\u1EEB\\u1EE9\\u1EEF\\u1EED\\u1EF1\\u1EE5\\u1E73\\u0173\\u1E77\\u1E75\\u0289]","v":"[\\u0076\\u24E5\\uFF56\\u1E7D\\u1E7F\\u028B\\uA75F\\u028C]","vy":"[\\uA761]","w":"[\\u0077\\u24E6\\uFF57\\u1E81\\u1E83\\u0175\\u1E87\\u1E85\\u1E98\\u1E89\\u2C73]","x":"[\\u0078\\u24E7\\uFF58\\u1E8B\\u1E8D]","y":"[\\u0079\\u24E8\\uFF59\\u1EF3\\u00FD\\u0177\\u1EF9\\u0233\\u1E8F\\u00FF\\u1EF7\\u1E99\\u1EF5\\u01B4\\u024F\\u1EFF]","z":"[\\u007A\\u24E9\\uFF5A\\u017A\\u1E91\\u017C\\u017E\\u1E93\\u1E95\\u01B6\\u0225\\u0240\\u2C6C\\uA763]"},"researchesTests":["contentHasTOC","contentHasShortParagraphs","contentHasAssets","keywordInTitle","keywordInMetaDescription","keywordInPermalink","keywordIn10Percent","keywordInContent","keywordInSubheadings","keywordInImageAlt","keywordDensity","keywordNotUsed","lengthContent","lengthPermalink","linksHasInternal","linksHasExternals","linksNotAllExternals","titleStartWithKeyword","titleSentiment","titleHasPowerWords","titleHasNumber","hasContentAI"],"hasRedirection":true,"hasBreadcrumb":true},"homeUrl":"https:\/\/www.ezcalculatoronline.com","objectID":8662,"objectType":"post","locale":"en","localeFull":"en_US","overlayImages":{"play":{"name":"Play icon","url":"https:\/\/www.ezcalculatoronline.com\/wp-content\/plugins\/seo-by-rank-math\/assets\/admin\/img\/icon-play.png","path":"\/home\/dh_7btfqe\/ezcalculatoronline.com\/wp-content\/plugins\/seo-by-rank-math\/assets\/admin\/img\/icon-play.png","position":"middle_center"},"gif":{"name":"GIF icon","url":"https:\/\/www.ezcalculatoronline.com\/wp-content\/plugins\/seo-by-rank-math\/assets\/admin\/img\/icon-gif.png","path":"\/home\/dh_7btfqe\/ezcalculatoronline.com\/wp-content\/plugins\/seo-by-rank-math\/assets\/admin\/img\/icon-gif.png","position":"middle_center"}},"defautOgImage":"https:\/\/www.ezcalculatoronline.com\/wp-content\/uploads\/2025\/11\/EZCALCULATORONLINE-LOGO-2.png","customPermalinks":true,"isUserRegistered":false,"autoSuggestKeywords":false,"connectSiteUrl":"https:\/\/rankmath.com\/auth?site=https%3A%2F%2Fwww.ezcalculatoronline.com&r=https%3A%2F%2Fwww.ezcalculatoronline.com%2Fsr%2Fwp-json%2Fwp%2Fv2%2Fpages%2F8662%3Fnonce%3D2077e951d7","maxTags":5,"trendsIcon":"<svg viewBox=\"0 0 610 610\"><path d=\"M18.85,446,174.32,290.48l58.08,58.08L76.93,504a14.54,14.54,0,0,1-20.55,0L18.83,466.48a14.54,14.54,0,0,1,0-20.55Z\" style=\"fill:#4285f4\"\/><path d=\"M242.65,242.66,377.59,377.6l-47.75,47.75a14.54,14.54,0,0,1-20.55,0L174.37,290.43l47.75-47.75A14.52,14.52,0,0,1,242.65,242.66Z\" style=\"fill:#ea4335\"\/><polygon points=\"319.53 319.53 479.26 159.8 537.34 217.88 377.61 377.62 319.53 319.53\" style=\"fill:#fabb05\"\/><path d=\"M594.26,262.73V118.61h0a16.94,16.94,0,0,0-16.94-16.94H433.2a16.94,16.94,0,0,0-12,28.92L565.34,274.71h0a16.94,16.94,0,0,0,28.92-12Z\" style=\"fill:#34a853\"\/><rect width=\"610\" height=\"610\" style=\"fill:none\"\/><\/svg>","showScore":true,"siteFavIcon":"https:\/\/www.ezcalculatoronline.com\/wp-content\/uploads\/2025\/05\/cropped-ezcaculator-32x32.webp","canUser":{"general":false,"advanced":false,"snippet":false,"social":false,"analysis":false,"analytics":false,"content_ai":false},"showKeywordIntent":true,"isPro":false,"is_front_page":false,"trendsUpgradeLink":"https:\/\/rankmath.com\/pricing\/?utm_source=Plugin&utm_medium=CE%20General%20Tab%20Trends&utm_campaign=WP","trendsUpgradeLabel":"Upgrade","trendsPreviewImage":"https:\/\/www.ezcalculatoronline.com\/wp-content\/plugins\/seo-by-rank-math\/assets\/admin\/img\/trends-preview.jpg","currentEditor":false,"homepageData":{"assessor":{"powerWords":["a cut above","absolute","absolutely","absolutely lowest","absurd","abuse","accurate","accuse","achieve","actionable","adaptable","adequate","admit","adorable","advantage","advice","affordable","aggravate","aggressive","agitated","agonizing","agony","alarmed","alarming","alienated","aligned","alive","all-inclusive","alluring","always","amazing","amp","animated","annihilate","announcing","anonymous","antagonistic","anxious","apocalypse","appalled","approved","approving","argumentative","armageddon","arrogant","ass kicking","assault","assured","astonishing","astounded","astounding","at ease","atrocious","attack","attractive","audacity","authentic","authoritative","authority","avoid","aware","awe-inspiring","awesome","awkward","backbone","backdoor","backed","backlash","backstabbing","badass","balanced","banned","bargain","barrage","basic","battle","beaming","beat down","beating","beautiful","beauty","begging","behind the scenes","belief","belong","best","best-selling","better","beware","big","billion","black market","blacklisted","blast","blessed","blinded","blissful","blood","bloodbath","bloodcurdling","bloody","blunder","blushing","bold","bomb","bona","bona fide","bonanza","bonus","bootleg","bottom line","bountiful","brave","bravery","brazen","break","breaking","breakthrough","breathtaking","bright","brilliant","broke","brutal","budget","buffoon","bullshit","bully","bumbling","buy","cadaver","calm","cancel anytime","capable","captivate","captivating","carefree","case study","cash","cataclysmic","catapult","catastrophe","caution","censored","centered","certain","certainly","certified","challenge","charming","cheap","cheat","cheat-sheet","cheer","cheerful","child-like","clarity","classified","clear","clueless","collapse","colorful","colossal","comfortable","compare","competitive","complete","completely","completeness","comprehensive","compromise","compulsive","concealed","conclusive","condemning","condescending","confess","confession","confessions","confident","confidential","conquer","conscientious","constructive","content","contrary","controlling","controversial","convenient","convert","cool","cooperative","copy","corpse","corrupt","corrupting","courage","courageous","cover-up","covert","coward","cowardly","crammed","crave","crazy","create","creative","cringeworthy","cripple","crisis","critical","crooked","crush","crushing","damaging","danger","dangerous","daring","dazzling","dead","deadline","deadly","death","decadent","deceived","deceptive","deep","defiance","definitely","definitive","defying","dejected","delicious","delight","delighted","delightful","delirious","delivered","demoralizing","deplorable","depraved","desire","desperate","despicable","destiny","destroy","detailed","devastating","devoted","diagnosed","direct","dirty","disadvantages","disastrous","discount","discover","disdainful","disempowered","disgusted","disgusting","dishonest","disillusioned","disoriented","distracted","distraught","distressed","distrustful","divulge","document","dollar","dominate","doomed","double","doubtful","download","dreadful","dreamy","drive","drowning","dumb","dynamic","eager","earnest","easily","easy","economical","ecstatic","edge","effective","efficient","effortless","elated","eliminate","elite","embarrass","embarrassed","embarrassing","emergency","emerging","emphasize","empowered","enchant","encouraged","endorsed","energetic","energy","enormous","enraged","enthusiastic","envy","epic","epidemic","essential","ethical","euphoric","evil","exactly","exasperated","excellent","excited","excitement","exciting","exclusive","exclusivity","excruciating","exhilarated","expensive","expert","explode","exploit","explosive","exposed","exquisite","extra","extraordinary","extremely","exuberant","eye-opening","fail","fail-proof","failure","faith","famous","fantasy","fascinating","fatigued","faux","faux pas","fearless","feast","feeble","festive","fide","fierce","fight","final","fine","fired","first","first ever","flirt","fluid","focus","focused","fool","fooled","foolish","forbidden","force-fed","forever","forgiving","forgotten","formula","fortune","foul","frantic","free","freebie","freedom","frenzied","frenzy","frightening","frisky","frugal","frustrated","fulfill","fulfilled","full","fully","fun","fun-loving","fundamentals","funniest","funny","furious","gambling","gargantuan","genius","genuine","gift","gigantic","giveaway","glamorous","gleeful","glorious","glowing","goddamn","gorgeous","graceful","grateful","gratified","gravity","great","greatest","greatness","greed","greedy","gripping","grit","grounded","growth","guaranteed","guilt","guilt-free","gullible","guts","hack","happiness","happy","harmful","harsh","hate","have you heard","havoc","hazardous","healthy","heart","heartbreaking","heartwarming","heavenly","hell","helpful","helplessness","hero","hesitant","hidden","high tech","highest","highly effective","hilarious","hoak","hoax","honest","honored","hope","hopeful","horribly","horrific","horrifying","horror","hostile","how to","huge","humility","humor","hurricane","hurry","hypnotic","idiot","ignite","illegal","illusive","imagination","immediately","imminently","impatience","impatient","impenetrable","important","impressive","improved","in the zone","incapable","incapacitated","incompetent","inconsiderate","increase","incredible","indecisive","indulgence","indulgent","inexpensive","inferior","informative","infuriated","ingredients","innocent","innovative","insane","insecure","insider","insidious","inspired","inspiring","instant savings","instantly","instructive","insult","intel","intelligent","intense","interesting","intriguing","introducing","invasion","investment","iron-clad","ironclad","irresistible","irs","is here","jackpot","jail","jaw-dropping","jealous","jeopardy","jittery","jovial","joyous","jubilant","judgmental","jumpstart","just arrived","keen","kickass","kickstart","kill","killed","killing","kills","know it all","lame","largest","lascivious","last","last chance","last minute","latest","laugh","laughing","launch","launching","lavishly","lawsuit","lazy","left behind","legendary","legitimate","liberal","liberated","lick","lies","life-changing","lifetime","light","lighthearted","likely","limited","literally","little-known","loathsome","lonely","looming","loser","lost","love","lucrative","lunatic","lurking","lust","luxurious","luxury","lying","magic","magical","magnificent","mainstream","malicious","mammoth","manipulative","marked down","massive","master","masterclass","maul","mediocre","meditative","meltdown","memorability","memorable","menacing","mesmerizing","meticulous","mind-blowing","minimalist","miracle","mired","mischievous","misgiving","missing out","mistake","monetize","money","moneyback","moneygrubbing","monumental","most important","motivated","mouth-watering","murder","mystery","nail","naked","natural","naughty","nazi","nest egg","never","new","nightmare","no good","no obligation","no one talks about","no questions asked","no risk","no strings attached","non-controlling","noted","novelty","now","obnoxious","obsessed","obsession","obvious","odd","off-kilter","off-limits","off-the record","offensive","official","okay","on-demand","open-minded","opportunities","optimistic","ordeal","outlawed","outrageousness","outstanding","overcome","overjoyed","overnight","overwhelmed","packed","painful","painless","painstaking","pale","panic","panicked","paralyzed","pas","passionate","pathetic","pay zero","payback","perfect","peril","perplexed","perspective","pessimistic","pioneering","piranha","pitfall","pitiful","placid","plague","played","playful","pleased","pluck","plummet","plunge","poison","poisonous","polarizing","poor","popular","portfolio","pound","powerful","powerless","practical","preposterous","prestige","price","priceless","pride","prison","privacy","private","privileged","prize","problem","productive","professional","profit","profitable","profound","promiscuous","promising","promote","protect","protected","proven","provocative","provoke","psychological","pummel","punch","punish","pus","quadruple","quality","quarrelsome","quick","quick-start","quickly","quiet","radiant","rare","ravenous","rebellious","recession-proof","reckoning","recognized","recommend","recreate","reduced","reflective","refugee","refund","refundable","reject","relaxed","release","relentless","reliable","remarkable","replicate","report","reprimanding","repulsed","repulsive","research","resentful","resourceful","responsible","responsive","rested","restricted","results","retaliating","reveal","revealing","revenge","revengeful","revisited","revolting","revolutionary","reward","rich","ridiculous","risky","riveting","rookie","rowdy","ruin","rules","ruthless","sabotaging","sacred","sadistic","sadly","sadness","safe","safety","sale","sampler","sarcastic","satisfied","savage","savagery","save","savings","savvy","scam","scandal","scandalous","scarce","scared","scary","scornful","scream","searing","secret","secret agenda","secret plot","secrets","secure","security","seductive","seething","seize","selected","self-hating","self-sufficient","sensational","senseless","sensual","serene","seriously","severe","sex","sexy","shaking","shameful","shameless","shaming","shatter","shellacking","shocking","should","shrewd","sick and tired","signs","silly","simple","simplicity","simplified","simplistic","sincere","sinful","sins","six-figure","sizable","sizzle","sizzled","sizzles","sizzling","sizzlingly","skill","skyrocket","slaughter","slave","sleazy","sleeping","sly","smash","smiling","smug","smuggle","smuggled","sneak-peek","sneaky","sniveling","snob","snooty","snotty","soar","soaring","solid","solution","spank","special","spectacular","speedy","spell-binding","spine","spirit","spirited","spiteful","spoiler","spontaneous","spotlight","spunky","squirming","stable","staggering","startling","steady","steal","stealthy","steamy","step-by-step","still","stoic","stop","strange","strangle","strategy","stressed","strong","strongly suggest","struggle","stuck up","studies","stunning","stupid","stupid-simple","sturdy","sublime","succeed","success","successful","suck","suddenly","suffer","sunny","super","super-human","superb","supercharge","superior","supported","supportive","sure","sure fire","surefire","surge","surging","surprise","surprised","surprising","survival","survive","suspicious","sweaty","swoon","swoon-worthy","tailspin","tank","tantalizing","targeted","tawdry","tease","technology","teetering","tempting","tenacious","tense","terrible","terrific","terrified","terrifying","terror","terrorist","tested","thankful","the truth","threaten","threatened","thrilled","thrilling","thug","ticked off","tickled","timely","today","torture","toxic","track record","trade secret","tragedy","tragic","transform","transparency","trap","trapped","trauma","traumatized","treacherous","treasure","tremendous","trend","tricks","triggers","triple","triumph","truly","trusting","trustworthy","truth","truthful","turbo-charge","turbocharges","tweaks","twitching","ultimate","unadulterated","unassuming","unauthorized","unbelievable","unburdened","uncaring","uncensored","uncertain","uncomfortable","unconditional","uncontrollable","unconventional","uncovered","undeniable","under priced","undercover","underground","underhanded","underused","unexpected","unforgettable","unheard of","unhurried","uninterested","unique","unjustified","unknowingly","unleashed","unlimited","unlock","unparalleled","unpopular","unreliable","unresponsive","unseen","unstable","unstoppable","unsure","unsurpassed","untapped","unusual","up-sell","upbeat","uplifted","uplifting","urge","urgent","useful","useless","validate","valor","valuable","value","vanquish","vaporize","venomous","verify","vibrant","vicious","victim","victory","vigorous","vilified","vindictive","violated","violent","volatile","vulnerable","waiting","wanted","wanton","warning","waste","weak","wealth","weird","what no one tells you","whip","whopping","wicked","wild","willpower","withheld","wonderful","wondrous","woozy","world","worry","worst","worthwhile","wounded","wreaking","youthful","zen","zinger"],"diacritics":true,"researchesTests":["contentHasTOC","contentHasShortParagraphs","contentHasAssets","keywordInTitle","keywordInMetaDescription","keywordInPermalink","keywordIn10Percent","keywordInContent","keywordInSubheadings","keywordInImageAlt","keywordDensity","keywordNotUsed","lengthContent","lengthPermalink","linksHasInternal","linksHasExternals","linksNotAllExternals","titleStartWithKeyword","titleSentiment","titleHasPowerWords","titleHasNumber","hasContentAI"],"hasBreadcrumb":true,"serpData":{"title":"%sitename% %sep% %sitedesc%","description":"%sitedesc%","titleTemplate":"%sitename% %page% %sep% %sitedesc%","descriptionTemplate":"","focusKeywords":"","breadcrumbTitle":"Home","robots":{"index":true},"advancedRobots":{"max-snippet":"-1","max-video-preview":"-1","max-image-preview":"large"},"facebookTitle":"","facebookDescription":"","facebookImage":"","facebookImageID":""}}},"tocTitle":"Table of Contents","tocExcludeHeadings":[],"listStyle":"ul"},"_links":{"self":[{"href":"https:\/\/www.ezcalculatoronline.com\/wp-json\/wp\/v2\/pages\/8662","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ezcalculatoronline.com\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.ezcalculatoronline.com\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.ezcalculatoronline.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ezcalculatoronline.com\/wp-json\/wp\/v2\/comments?post=8662"}],"version-history":[{"count":11,"href":"https:\/\/www.ezcalculatoronline.com\/wp-json\/wp\/v2\/pages\/8662\/revisions"}],"predecessor-version":[{"id":9884,"href":"https:\/\/www.ezcalculatoronline.com\/wp-json\/wp\/v2\/pages\/8662\/revisions\/9884"}],"up":[{"embeddable":true,"href":"https:\/\/www.ezcalculatoronline.com\/wp-json\/wp\/v2\/pages\/3814"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ezcalculatoronline.com\/wp-json\/wp\/v2\/media\/8677"}],"wp:attachment":[{"href":"https:\/\/www.ezcalculatoronline.com\/wp-json\/wp\/v2\/media?parent=8662"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}