{"id":247538,"date":"2025-07-03T11:22:24","date_gmt":"2025-07-03T09:22:24","guid":{"rendered":"https:\/\/contigocorte.com\/?page_id=247538"},"modified":"2025-07-03T11:22:24","modified_gmt":"2025-07-03T09:22:24","slug":"pomodoro","status":"publish","type":"page","link":"https:\/\/contigocorte.com\/index.php\/pomodoro\/","title":{"rendered":"Pomodoro"},"content":{"rendered":"<p>[et_pb_section fb_built=\u00bb1&#8243; theme_builder_area=\u00bbpost_content\u00bb _builder_version=\u00bb4.23.1&#8243; _module_preset=\u00bbdefault\u00bb][et_pb_row _builder_version=\u00bb4.23.1&#8243; _module_preset=\u00bbdefault\u00bb theme_builder_area=\u00bbpost_content\u00bb][et_pb_column _builder_version=\u00bb4.23.1&#8243; _module_preset=\u00bbdefault\u00bb type=\u00bb4_4&#8243; theme_builder_area=\u00bbpost_content\u00bb][et_pb_code _builder_version=\u00bb4.23.1&#8243; _module_preset=\u00bbdefault\u00bb theme_builder_area=\u00bbpost_content\u00bb hover_enabled=\u00bb0&#8243; sticky_enabled=\u00bb0&#8243;]<!-- Dependencias Externas (Estilos, Fuentes, Iconos y Sonido) --><!-- [et_pb_line_break_holder] --><script src=\"https:\/\/cdn.tailwindcss.com\"><\/script><!-- [et_pb_line_break_holder] --><link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\"><!-- [et_pb_line_break_holder] --><link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin><!-- [et_pb_line_break_holder] --><link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;700;900&#038;display=swap\" rel=\"stylesheet\"><!-- [et_pb_line_break_holder] --><script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/tone\/14.8.49\/Tone.js\"><\/script><!-- [et_pb_line_break_holder] --><script src=\"https:\/\/unpkg.com\/@phosphor-icons\/web\"><\/script><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- Estilos CSS de la Aplicaci\u00f3n --><!-- [et_pb_line_break_holder] --><\/p>\n<style><!-- [et_pb_line_break_holder] -->    \/* Contenedor principal para evitar conflictos con Divi *\/<!-- [et_pb_line_break_holder] -->    #pomodoro-app-container {<!-- [et_pb_line_break_holder] -->        font-family: 'Inter', sans-serif;<!-- [et_pb_line_break_holder] -->        transition: background-color 0.5s ease;<!-- [et_pb_line_break_holder] -->        width: 100%;<!-- [et_pb_line_break_holder] -->        min-height: 90vh; \/* Altura ajustable *\/<!-- [et_pb_line_break_holder] -->        display: flex;<!-- [et_pb_line_break_holder] -->        align-items: center;<!-- [et_pb_line_break_holder] -->        justify-content: center;<!-- [et_pb_line_break_holder] -->        padding: 20px 0;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/* Colores del tema *\/<!-- [et_pb_line_break_holder] -->    #pomodoro-app-container.theme-pomodoro { background-color: #DB524D; }<!-- [et_pb_line_break_holder] -->    #pomodoro-app-container.theme-short-break { background-color: #4C9195; }<!-- [et_pb_line_break_holder] -->    #pomodoro-app-container.theme-long-break { background-color: #457CA3; }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/* Estilos de los botones de modo *\/<!-- [et_pb_line_break_holder] -->    #pomodoro-app-container .mode-button {<!-- [et_pb_line_break_holder] -->        background-color: rgba(255, 255, 255, 0.1);<!-- [et_pb_line_break_holder] -->        transition: background-color 0.3s ease, transform 0.2s ease;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    #pomodoro-app-container .mode-button:hover { background-color: rgba(255, 255, 255, 0.2); }<!-- [et_pb_line_break_holder] -->    #pomodoro-app-container .mode-button.active {<!-- [et_pb_line_break_holder] -->        background-color: rgba(0, 0, 0, 0.15);<!-- [et_pb_line_break_holder] -->        font-weight: bold;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/* Bot\u00f3n principal de Iniciar\/Pausar *\/<!-- [et_pb_line_break_holder] -->    #pomodoro-app-container #start-stop-button {<!-- [et_pb_line_break_holder] -->        box-shadow: 0 6px 0 #A53F3B;<!-- [et_pb_line_break_holder] -->        transition: background-color 0.3s ease, transform 0.1s ease, box-shadow 0.1s ease;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    #pomodoro-app-container #start-stop-button:active {<!-- [et_pb_line_break_holder] -->        transform: translateY(4px);<!-- [et_pb_line_break_holder] -->        box-shadow: 0 2px 0 #A53F3B;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    #pomodoro-app-container.theme-short-break #start-stop-button { box-shadow: 0 6px 0 #3A6E71; }<!-- [et_pb_line_break_holder] -->    #pomodoro-app-container.theme-short-break #start-stop-button:active { box-shadow: 0 2px 0 #3A6E71; }<!-- [et_pb_line_break_holder] -->    #pomodoro-app-container.theme-long-break #start-stop-button { box-shadow: 0 6px 0 #345C7A; }<!-- [et_pb_line_break_holder] -->    #pomodoro-app-container.theme-long-break #start-stop-button:active { box-shadow: 0 2px 0 #345C7A; }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/* Lista de tareas *\/<!-- [et_pb_line_break_holder] -->    #pomodoro-app-container .task-item {<!-- [et_pb_line_break_holder] -->        border-left: 4px solid transparent;<!-- [et_pb_line_break_holder] -->        transition: background-color 0.3s ease, border-left-color 0.3s ease;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    #pomodoro-app-container .task-item.active {<!-- [et_pb_line_break_holder] -->        border-left-color: white;<!-- [et_pb_line_break_holder] -->        background-color: rgba(0, 0, 0, 0.1);<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    #pomodoro-app-container .task-item.completed .task-text {<!-- [et_pb_line_break_holder] -->        text-decoration: line-through;<!-- [et_pb_line_break_holder] -->        opacity: 0.7;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/* --- Overrides para Divi --- *\/<!-- [et_pb_line_break_holder] -->    \/* Forzamos los tama\u00f1os de fuente para evitar que el tema de Divi los reduzca *\/<!-- [et_pb_line_break_holder] -->    #pomodoro-app-container #time-display {<!-- [et_pb_line_break_holder] -->        font-size: 5rem !important; \/* Tama\u00f1o base para m\u00f3vil *\/<!-- [et_pb_line_break_holder] -->        line-height: 1 !important;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    #pomodoro-app-container #start-stop-button {<!-- [et_pb_line_break_holder] -->        font-size: 1.5rem !important; \/* 24px *\/<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    #pomodoro-app-container #current-task-display,<!-- [et_pb_line_break_holder] -->    #pomodoro-app-container h2 {<!-- [et_pb_line_break_holder] -->        font-size: 1.25rem !important; \/* 20px *\/<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    #pomodoro-app-container .task-text,<!-- [et_pb_line_break_holder] -->    #pomodoro-app-container #task-input,<!-- [et_pb_line_break_holder] -->    #pomodoro-app-container .mode-button {<!-- [et_pb_line_break_holder] -->        font-size: 1rem !important; \/* 16px *\/<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/* Tama\u00f1os de fuente para pantallas m\u00e1s grandes (responsive) *\/<!-- [et_pb_line_break_holder] -->    @media (min-width: 640px) {<!-- [et_pb_line_break_holder] -->        #pomodoro-app-container #time-display {<!-- [et_pb_line_break_holder] -->            font-size: 6rem !important;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    @media (min-width: 768px) {<!-- [et_pb_line_break_holder] -->        #pomodoro-app-container #time-display {<!-- [et_pb_line_break_holder] -->            font-size: 7.5rem !important;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><\/style>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- Estructura HTML de la Aplicaci\u00f3n --><!-- [et_pb_line_break_holder] --><\/p>\n<div id=\"pomodoro-app-container\" class=\"theme-pomodoro\"><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"max-w-2xl w-full flex flex-col items-center justify-start p-4 text-white\"><!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"bg-white\/10 rounded-lg p-6 sm:p-8 w-full max-w-md text-center backdrop-blur-sm\"><!-- [et_pb_line_break_holder] -->            <!-- [et_pb_line_break_holder] -->            <\/p>\n<div class=\"flex justify-center space-x-2 mb-6\"><!-- [et_pb_line_break_holder] -->                <button id=\"pomodoro-button\" class=\"mode-button active px-4 py-2 rounded-md\">Pomodoro<\/button><!-- [et_pb_line_break_holder] -->                <button id=\"short-break-button\" class=\"mode-button px-4 py-2 rounded-md\">Descanso Corto<\/button><!-- [et_pb_line_break_holder] -->                <button id=\"long-break-button\" class=\"mode-button px-4 py-2 rounded-md\">Descanso Largo<\/button><!-- [et_pb_line_break_holder] -->            <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            <\/p>\n<div id=\"time-display\" class=\"font-bold tracking-tighter mb-6\">25:00<\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            <\/p>\n<div class=\"flex flex-col items-center space-y-4\"><!-- [et_pb_line_break_holder] -->                <button id=\"start-stop-button\" class=\"bg-white text-gray-800 w-48 h-16 rounded-lg font-bold uppercase tracking-wider\">INICIAR<\/button><!-- [et_pb_line_break_holder] -->                <button id=\"reset-button\" class=\"text-white\/70 hover:text-white transition-colors\"><i class=\"ph ph-arrow-counter-clockwise text-2xl\"><\/i><\/button><!-- [et_pb_line_break_holder] -->            <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"mt-8 text-center w-full max-w-md\"><!-- [et_pb_line_break_holder] -->            <pee id=\"cycle-display\" class=\"text-white\/80 mb-2\">Ciclo: 1<\/pee><!-- [et_pb_line_break_holder] -->            <pee id=\"current-task-display\" class=\"font-bold truncate\">#1: Enf\u00f3cate<\/pee><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"mt-8 w-full max-w-md\"><!-- [et_pb_line_break_holder] -->            <\/p>\n<div class=\"flex justify-between items-center border-b-2 border-white\/20 pb-2\"><!-- [et_pb_line_break_holder] -->                <\/p>\n<h2 class=\"font-bold\">Tareas<\/h2>\n<p><!-- [et_pb_line_break_holder] -->            <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            <\/p>\n<form id=\"task-form\" class=\"mt-4\"><!-- [et_pb_line_break_holder] -->                <input type=\"text\" id=\"task-input\" class=\"w-full bg-white\/20 rounded-md p-3 text-white placeholder-white\/70 focus:outline-none focus:ring-2 focus:ring-white\/50\" placeholder=\"A\u00f1adir una nueva tarea...\"><!-- [et_pb_line_break_holder] -->            <\/form>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            <\/p>\n<ul id=\"task-list\" class=\"mt-4 space-y-2\"><!-- [et_pb_line_break_holder] -->            <\/ul>\n<p><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] --><\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- L\u00f3gica JavaScript de la Aplicaci\u00f3n --><!-- [et_pb_line_break_holder] --><script><!-- [et_pb_line_break_holder] -->    (function() {<!-- [et_pb_line_break_holder] -->        const appContainer = document.getElementById('pomodoro-app-container');<!-- [et_pb_line_break_holder] -->        if (!appContainer) return;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        const timeDisplay = appContainer.querySelector('#time-display');<!-- [et_pb_line_break_holder] -->        const startStopButton = appContainer.querySelector('#start-stop-button');<!-- [et_pb_line_break_holder] -->        const resetButton = appContainer.querySelector('#reset-button');<!-- [et_pb_line_break_holder] -->        const pomodoroButton = appContainer.querySelector('#pomodoro-button');<!-- [et_pb_line_break_holder] -->        const shortBreakButton = appContainer.querySelector('#short-break-button');<!-- [et_pb_line_break_holder] -->        const longBreakButton = appContainer.querySelector('#long-break-button');<!-- [et_pb_line_break_holder] -->        const cycleDisplay = appContainer.querySelector('#cycle-display');<!-- [et_pb_line_break_holder] -->        const currentTaskDisplay = appContainer.querySelector('#current-task-display');<!-- [et_pb_line_break_holder] -->        const taskForm = appContainer.querySelector('#task-form');<!-- [et_pb_line_break_holder] -->        const taskInput = appContainer.querySelector('#task-input');<!-- [et_pb_line_break_holder] -->        const taskList = appContainer.querySelector('#task-list');<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        const timers = { pomodoro: 25, shortBreak: 5, longBreak: 15 };<!-- [et_pb_line_break_holder] -->        let currentMode = 'pomodoro';<!-- [et_pb_line_break_holder] -->        let timeInSeconds = timers.pomodoro * 60;<!-- [et_pb_line_break_holder] -->        let timerInterval = null;<!-- [et_pb_line_break_holder] -->        let isRunning = false;<!-- [et_pb_line_break_holder] -->        let pomodoroCycle = 1;<!-- [et_pb_line_break_holder] -->        const pomodorosBeforeLongBreak = 4;<!-- [et_pb_line_break_holder] -->        let tasks = [];<!-- [et_pb_line_break_holder] -->        let activeTaskId = null;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        function saveState() {<!-- [et_pb_line_break_holder] -->            localStorage.setItem('pomodoroTasks', JSON.stringify(tasks));<!-- [et_pb_line_break_holder] -->            localStorage.setItem('pomodoroCycle', pomodoroCycle);<!-- [et_pb_line_break_holder] -->            if (activeTaskId) {<!-- [et_pb_line_break_holder] -->                localStorage.setItem('pomodoroActiveTaskId', activeTaskId);<!-- [et_pb_line_break_holder] -->            } else {<!-- [et_pb_line_break_holder] -->                localStorage.removeItem('pomodoroActiveTaskId');<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        function loadState() {<!-- [et_pb_line_break_holder] -->            const storedTasks = localStorage.getItem('pomodoroTasks');<!-- [et_pb_line_break_holder] -->            if (storedTasks) tasks = JSON.parse(storedTasks);<!-- [et_pb_line_break_holder] -->            const storedCycle = localStorage.getItem('pomodoroCycle');<!-- [et_pb_line_break_holder] -->            if (storedCycle) pomodoroCycle = parseInt(storedCycle, 10);<!-- [et_pb_line_break_holder] -->            const storedActiveTask = localStorage.getItem('pomodoroActiveTaskId');<!-- [et_pb_line_break_holder] -->            if (storedActiveTask && tasks.find(t => t.id === parseInt(storedActiveTask, 10))) {<!-- [et_pb_line_break_holder] -->                activeTaskId = parseInt(storedActiveTask, 10);<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        function updateDisplay() {<!-- [et_pb_line_break_holder] -->            const minutes = Math.floor(timeInSeconds \/ 60);<!-- [et_pb_line_break_holder] -->            const seconds = timeInSeconds % 60;<!-- [et_pb_line_break_holder] -->            const formattedTime = `${String(minutes).padStart(2, '0')}:${String(seconds).padStart(2, '0')}`;<!-- [et_pb_line_break_holder] -->            timeDisplay.textContent = formattedTime;<!-- [et_pb_line_break_holder] -->            document.title = `${formattedTime} - Pomodoro`;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        function startTimer() {<!-- [et_pb_line_break_holder] -->            if (isRunning) return;<!-- [et_pb_line_break_holder] -->            isRunning = true;<!-- [et_pb_line_break_holder] -->            startStopButton.textContent = 'PAUSA';<!-- [et_pb_line_break_holder] -->            const synth = new Tone.Synth().toDestination();<!-- [et_pb_line_break_holder] -->            timerInterval = setInterval(() => {<!-- [et_pb_line_break_holder] -->                timeInSeconds--;<!-- [et_pb_line_break_holder] -->                updateDisplay();<!-- [et_pb_line_break_holder] -->                if (timeInSeconds <= 0) {<!-- [et_pb_line_break_holder] -->                    clearInterval(timerInterval);<!-- [et_pb_line_break_holder] -->                    synth.triggerAttackRelease(\"C5\", \"0.5\");<!-- [et_pb_line_break_holder] -->                    if (currentMode === 'pomodoro') {<!-- [et_pb_line_break_holder] -->                        if (activeTaskId) {<!-- [et_pb_line_break_holder] -->                            const taskIndex = tasks.findIndex(t => t.id === activeTaskId);<!-- [et_pb_line_break_holder] -->                            if (taskIndex > -1) tasks[taskIndex].completed = true;<!-- [et_pb_line_break_holder] -->                        }<!-- [et_pb_line_break_holder] -->                        pomodoroCycle++;<!-- [et_pb_line_break_holder] -->                        if ((pomodoroCycle - 1) % pomodorosBeforeLongBreak === 0) {<!-- [et_pb_line_break_holder] -->                            switchMode('longBreak');<!-- [et_pb_line_break_holder] -->                        } else {<!-- [et_pb_line_break_holder] -->                            switchMode('shortBreak');<!-- [et_pb_line_break_holder] -->                        }<!-- [et_pb_line_break_holder] -->                    } else {<!-- [et_pb_line_break_holder] -->                        switchMode('pomodoro');<!-- [et_pb_line_break_holder] -->                    }<!-- [et_pb_line_break_holder] -->                    saveState();<!-- [et_pb_line_break_holder] -->                    updateCycleDisplay();<!-- [et_pb_line_break_holder] -->                    renderTasks();<!-- [et_pb_line_break_holder] -->                    startTimer();<!-- [et_pb_line_break_holder] -->                }<!-- [et_pb_line_break_holder] -->            }, 1000);<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        function pauseTimer() {<!-- [et_pb_line_break_holder] -->            if (!isRunning) return;<!-- [et_pb_line_break_holder] -->            isRunning = false;<!-- [et_pb_line_break_holder] -->            startStopButton.textContent = 'INICIAR';<!-- [et_pb_line_break_holder] -->            clearInterval(timerInterval);<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        function resetTimer() {<!-- [et_pb_line_break_holder] -->            pauseTimer();<!-- [et_pb_line_break_holder] -->            timeInSeconds = timers[currentMode] * 60;<!-- [et_pb_line_break_holder] -->            updateDisplay();<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        function switchMode(mode) {<!-- [et_pb_line_break_holder] -->            currentMode = mode;<!-- [et_pb_line_break_holder] -->            pauseTimer();<!-- [et_pb_line_break_holder] -->            timeInSeconds = timers[mode] * 60;<!-- [et_pb_line_break_holder] -->            const kebabCaseMode = mode.replace(\/([A-Z])\/g, \"-$1\").toLowerCase();<!-- [et_pb_line_break_holder] -->            appContainer.querySelectorAll('.mode-button').forEach(button => button.classList.remove('active'));<!-- [et_pb_line_break_holder] -->            const modeButton = appContainer.querySelector(`#${kebabCaseMode}-button`);<!-- [et_pb_line_break_holder] -->            if (modeButton) modeButton.classList.add('active');<!-- [et_pb_line_break_holder] -->            appContainer.className = 'theme-pomodoro'; \/\/ Reset class<!-- [et_pb_line_break_holder] -->            appContainer.classList.add(`theme-${kebabCaseMode}`);<!-- [et_pb_line_break_holder] -->            updateDisplay();<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        function updateCycleDisplay() {<!-- [et_pb_line_break_holder] -->            cycleDisplay.textContent = `Ciclo: ${pomodoroCycle}`;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        function renderTasks() {<!-- [et_pb_line_break_holder] -->            taskList.innerHTML = '';<!-- [et_pb_line_break_holder] -->            let activeTaskFound = false;<!-- [et_pb_line_break_holder] -->            if (tasks.length === 0) {<!-- [et_pb_line_break_holder] -->                currentTaskDisplay.textContent = \"A\u00f1ade una tarea para empezar\";<!-- [et_pb_line_break_holder] -->                activeTaskId = null;<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] -->            tasks.forEach(task => {<!-- [et_pb_line_break_holder] -->                const li = document.createElement('li');<!-- [et_pb_line_break_holder] -->                li.className = 'task-item bg-white\/10 rounded-md p-3 flex items-center justify-between cursor-pointer';<!-- [et_pb_line_break_holder] -->                li.dataset.id = task.id;<!-- [et_pb_line_break_holder] -->                if (task.completed) li.classList.add('completed');<!-- [et_pb_line_break_holder] -->                if (task.id === activeTaskId) {<!-- [et_pb_line_break_holder] -->                    li.classList.add('active');<!-- [et_pb_line_break_holder] -->                    currentTaskDisplay.textContent = `#${pomodoroCycle}: ${task.text}`;<!-- [et_pb_line_break_holder] -->                    activeTaskFound = true;<!-- [et_pb_line_break_holder] -->                }<!-- [et_pb_line_break_holder] -->                const checkbox = document.createElement('i');<!-- [et_pb_line_break_holder] -->                checkbox.className = `ph-bold ph-check-circle text-2xl mr-3 ${task.completed ? 'text-green-400' : 'text-white\/30'}`;<!-- [et_pb_line_break_holder] -->                checkbox.addEventListener('click', (e) => { e.stopPropagation(); toggleTask(task.id); });<!-- [et_pb_line_break_holder] -->                const text = document.createElement('span');<!-- [et_pb_line_break_holder] -->                text.className = 'task-text flex-grow';<!-- [et_pb_line_break_holder] -->                text.textContent = task.text;<!-- [et_pb_line_break_holder] -->                const deleteBtn = document.createElement('button');<!-- [et_pb_line_break_holder] -->                deleteBtn.className = 'text-white\/50 hover:text-white';<!-- [et_pb_line_break_holder] -->                deleteBtn.innerHTML = '<i class=\"ph ph-trash\"><\/i>';<!-- [et_pb_line_break_holder] -->                deleteBtn.addEventListener('click', (e) => { e.stopPropagation(); deleteTask(task.id); });<!-- [et_pb_line_break_holder] -->                li.appendChild(checkbox);<!-- [et_pb_line_break_holder] -->                li.appendChild(text);<!-- [et_pb_line_break_holder] -->                li.appendChild(deleteBtn);<!-- [et_pb_line_break_holder] -->                li.addEventListener('click', () => { setActiveTask(task.id); });<!-- [et_pb_line_break_holder] -->                taskList.appendChild(li);<!-- [et_pb_line_break_holder] -->            });<!-- [et_pb_line_break_holder] -->            if (!activeTaskFound && tasks.length > 0) {<!-- [et_pb_line_break_holder] -->                const firstUncompleted = tasks.find(t => !t.completed);<!-- [et_pb_line_break_holder] -->                if (firstUncompleted) {<!-- [et_pb_line_break_holder] -->                    setActiveTask(firstUncompleted.id);<!-- [et_pb_line_break_holder] -->                } else {<!-- [et_pb_line_break_holder] -->                    currentTaskDisplay.textContent = \"\u00a1Todas las tareas completadas!\";<!-- [et_pb_line_break_holder] -->                    activeTaskId = null;<!-- [et_pb_line_break_holder] -->                }<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] -->            saveState();<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        function addTask(e) {<!-- [et_pb_line_break_holder] -->            e.preventDefault();<!-- [et_pb_line_break_holder] -->            const text = taskInput.value.trim();<!-- [et_pb_line_break_holder] -->            if (text === '') return;<!-- [et_pb_line_break_holder] -->            const newTask = { id: Date.now(), text: text, completed: false };<!-- [et_pb_line_break_holder] -->            tasks.push(newTask);<!-- [et_pb_line_break_holder] -->            taskInput.value = '';<!-- [et_pb_line_break_holder] -->            if (!activeTaskId) setActiveTask(newTask.id);<!-- [et_pb_line_break_holder] -->            renderTasks();<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        function toggleTask(id) {<!-- [et_pb_line_break_holder] -->            const taskIndex = tasks.findIndex(t => t.id === id);<!-- [et_pb_line_break_holder] -->            if (taskIndex > -1) {<!-- [et_pb_line_break_holder] -->                tasks[taskIndex].completed = !tasks[taskIndex].completed;<!-- [et_pb_line_break_holder] -->                renderTasks();<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        function deleteTask(id) {<!-- [et_pb_line_break_holder] -->            tasks = tasks.filter(t => t.id !== id);<!-- [et_pb_line_break_holder] -->            if (activeTaskId === id) activeTaskId = null;<!-- [et_pb_line_break_holder] -->            renderTasks();<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        function setActiveTask(id) {<!-- [et_pb_line_break_holder] -->            activeTaskId = id;<!-- [et_pb_line_break_holder] -->            renderTasks();<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        startStopButton.addEventListener('click', () => {<!-- [et_pb_line_break_holder] -->            if (typeof Tone !== 'undefined' && Tone.context.state !== 'running') Tone.start();<!-- [et_pb_line_break_holder] -->            isRunning ? pauseTimer() : startTimer();<!-- [et_pb_line_break_holder] -->        });<!-- [et_pb_line_break_holder] -->        resetButton.addEventListener('click', resetTimer);<!-- [et_pb_line_break_holder] -->        pomodoroButton.addEventListener('click', () => switchMode('pomodoro'));<!-- [et_pb_line_break_holder] -->        shortBreakButton.addEventListener('click', () => switchMode('shortBreak'));<!-- [et_pb_line_break_holder] -->        longBreakButton.addEventListener('click', () => switchMode('longBreak'));<!-- [et_pb_line_break_holder] -->        taskForm.addEventListener('submit', addTask);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        \/\/ --- INICIALIZACI\u00d3N ---<!-- [et_pb_line_break_holder] -->        loadState();<!-- [et_pb_line_break_holder] -->        updateDisplay();<!-- [et_pb_line_break_holder] -->        updateCycleDisplay();<!-- [et_pb_line_break_holder] -->        renderTasks();<!-- [et_pb_line_break_holder] -->    })();<!-- [et_pb_line_break_holder] --><\/script><!-- [et_pb_line_break_holder] -->[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"footnotes":""},"class_list":["post-247538","page","type-page","status-publish","hentry"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"Pomodoro Descanso Corto Descanso Largo 25:00 INICIAR Ciclo: 1 #1: Enf\u00f3cate Tareas\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/contigocorte.com\/index.php\/pomodoro\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"es_ES\" \/>\n\t\t<meta property=\"og:site_name\" content=\"contigocorte.com -\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Pomodoro - contigocorte.com\" \/>\n\t\t<meta property=\"og:description\" content=\"Pomodoro Descanso Corto Descanso Largo 25:00 INICIAR Ciclo: 1 #1: Enf\u00f3cate Tareas\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/contigocorte.com\/index.php\/pomodoro\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2025-07-03T09:22:24+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2025-07-03T09:22:24+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Pomodoro - contigocorte.com\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Pomodoro Descanso Corto Descanso Largo 25:00 INICIAR Ciclo: 1 #1: Enf\u00f3cate Tareas\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/contigocorte.com\\\/index.php\\\/pomodoro\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/contigocorte.com#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/contigocorte.com\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/contigocorte.com\\\/index.php\\\/pomodoro\\\/#listItem\",\"name\":\"Pomodoro\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/contigocorte.com\\\/index.php\\\/pomodoro\\\/#listItem\",\"position\":2,\"name\":\"Pomodoro\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/contigocorte.com#listItem\",\"name\":\"Home\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/contigocorte.com\\\/#organization\",\"name\":\"contigocorte.com\",\"url\":\"https:\\\/\\\/contigocorte.com\\\/\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/contigocorte.com\\\/index.php\\\/pomodoro\\\/#webpage\",\"url\":\"https:\\\/\\\/contigocorte.com\\\/index.php\\\/pomodoro\\\/\",\"name\":\"Pomodoro - contigocorte.com\",\"description\":\"Pomodoro Descanso Corto Descanso Largo 25:00 INICIAR Ciclo: 1 #1: Enf\\u00f3cate Tareas\",\"inLanguage\":\"es-ES\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/contigocorte.com\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/contigocorte.com\\\/index.php\\\/pomodoro\\\/#breadcrumblist\"},\"datePublished\":\"2025-07-03T11:22:24+02:00\",\"dateModified\":\"2025-07-03T11:22:24+02:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/contigocorte.com\\\/#website\",\"url\":\"https:\\\/\\\/contigocorte.com\\\/\",\"name\":\"contigocorte.com\",\"inLanguage\":\"es-ES\",\"publisher\":{\"@id\":\"https:\\\/\\\/contigocorte.com\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Pomodoro - contigocorte.com","description":"Pomodoro Descanso Corto Descanso Largo 25:00 INICIAR Ciclo: 1 #1: Enf\u00f3cate Tareas","canonical_url":"https:\/\/contigocorte.com\/index.php\/pomodoro\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BreadcrumbList","@id":"https:\/\/contigocorte.com\/index.php\/pomodoro\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/contigocorte.com#listItem","position":1,"name":"Home","item":"https:\/\/contigocorte.com","nextItem":{"@type":"ListItem","@id":"https:\/\/contigocorte.com\/index.php\/pomodoro\/#listItem","name":"Pomodoro"}},{"@type":"ListItem","@id":"https:\/\/contigocorte.com\/index.php\/pomodoro\/#listItem","position":2,"name":"Pomodoro","previousItem":{"@type":"ListItem","@id":"https:\/\/contigocorte.com#listItem","name":"Home"}}]},{"@type":"Organization","@id":"https:\/\/contigocorte.com\/#organization","name":"contigocorte.com","url":"https:\/\/contigocorte.com\/"},{"@type":"WebPage","@id":"https:\/\/contigocorte.com\/index.php\/pomodoro\/#webpage","url":"https:\/\/contigocorte.com\/index.php\/pomodoro\/","name":"Pomodoro - contigocorte.com","description":"Pomodoro Descanso Corto Descanso Largo 25:00 INICIAR Ciclo: 1 #1: Enf\u00f3cate Tareas","inLanguage":"es-ES","isPartOf":{"@id":"https:\/\/contigocorte.com\/#website"},"breadcrumb":{"@id":"https:\/\/contigocorte.com\/index.php\/pomodoro\/#breadcrumblist"},"datePublished":"2025-07-03T11:22:24+02:00","dateModified":"2025-07-03T11:22:24+02:00"},{"@type":"WebSite","@id":"https:\/\/contigocorte.com\/#website","url":"https:\/\/contigocorte.com\/","name":"contigocorte.com","inLanguage":"es-ES","publisher":{"@id":"https:\/\/contigocorte.com\/#organization"}}]},"og:locale":"es_ES","og:site_name":"contigocorte.com -","og:type":"article","og:title":"Pomodoro - contigocorte.com","og:description":"Pomodoro Descanso Corto Descanso Largo 25:00 INICIAR Ciclo: 1 #1: Enf\u00f3cate Tareas","og:url":"https:\/\/contigocorte.com\/index.php\/pomodoro\/","article:published_time":"2025-07-03T09:22:24+00:00","article:modified_time":"2025-07-03T09:22:24+00:00","twitter:card":"summary_large_image","twitter:title":"Pomodoro - contigocorte.com","twitter:description":"Pomodoro Descanso Corto Descanso Largo 25:00 INICIAR Ciclo: 1 #1: Enf\u00f3cate Tareas"},"aioseo_meta_data":{"post_id":"247538","title":null,"description":null,"keywords":[],"keyphrases":{"focus":{"keyphrase":"","score":0,"analysis":{"keyphraseInTitle":{"score":0,"maxScore":9,"error":1}}},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":[],"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"WebPage","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2025-07-03 09:08:21","updated":"2025-09-06 07:15:42","seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/contigocorte.com\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tPomodoro\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/contigocorte.com"},{"label":"Pomodoro","link":"https:\/\/contigocorte.com\/index.php\/pomodoro\/"}],"_links":{"self":[{"href":"https:\/\/contigocorte.com\/index.php\/wp-json\/wp\/v2\/pages\/247538","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/contigocorte.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/contigocorte.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/contigocorte.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/contigocorte.com\/index.php\/wp-json\/wp\/v2\/comments?post=247538"}],"version-history":[{"count":2,"href":"https:\/\/contigocorte.com\/index.php\/wp-json\/wp\/v2\/pages\/247538\/revisions"}],"predecessor-version":[{"id":247540,"href":"https:\/\/contigocorte.com\/index.php\/wp-json\/wp\/v2\/pages\/247538\/revisions\/247540"}],"wp:attachment":[{"href":"https:\/\/contigocorte.com\/index.php\/wp-json\/wp\/v2\/media?parent=247538"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}