La Proporción Perfecta
8 métodos reales del libro «Al Grano». Ajusta café y agua con los sliders y obtén la receta exacta para tu preparación.
Pasos — libro Al Grano
El V60 brilla con cafés de alta acidez. Pre-infusiona con 60g durante 30 segundos para liberar los gases y resaltar los aromas florales.
Se guarda en esta sesión de navegador
Mi Bitácora de Preparaciones
‘;});
$s(‘cp-steps’,h);
trk(‘cp-c’,c,10,80);trk(‘cp-w’,w,30,1000);
max=Math.round(m.s/mult);
$t(‘cp-td’,max>0?fmt(max):’10-20h’);
if(!running)arc(0);
}
window.cpUpd=render;
window.cpWm=function(){var w=parseInt((document.getElementById(‘cp-w’)||{value:400}).value),c=parseInt((document.getElementById(‘cp-c’)||{value:25}).value);document.getElementById(‘cp-wv’).innerHTML=w+’ ml‘;var r=w/c;document.getElementById(‘cp-ratio’).textContent=’1:’+Math.round(r);document.getElementById(‘cp-dec’).textContent=»;trk(‘cp-w’,w,30,1000);};
window.cpSel=function(btn){document.querySelectorAll(‘.cp-mbtn’).forEach(function(b){b.classList.remove(‘on’);});btn.classList.add(‘on’);cpM=btn.dataset.m;clearInterval(ival);running=false;secs=0;var b=document.getElementById(‘cp-tbtn’);if(b){b.textContent=’▶ INICIAR’;b.classList.remove(‘go’);}render();};
window.cpStr=function(m2,btn){mult=m2;document.querySelectorAll(‘.cp-badge’).forEach(function(b){b.classList.remove(‘on’);});btn.classList.add(‘on’);render();};
window.cpTog=function(){if(max===0)return;var btn=document.getElementById(‘cp-tbtn’);if(running){clearInterval(ival);running=false;btn.textContent=’▶ CONTINUAR’;btn.classList.remove(‘go’);}else{running=true;btn.textContent=’⏸ PAUSAR’;btn.classList.add(‘go’);ival=setInterval(function(){secs++;if(secs>=max){clearInterval(ival);running=false;var b=document.getElementById(‘cp-tbtn’);if(b){b.textContent=’✓ LISTO’;b.classList.remove(‘go’);}secs=max;}document.getElementById(‘cp-td’).textContent=fmt(max-secs);arc(secs/max);},1000);}};
window.cpRst=function(){clearInterval(ival);running=false;secs=0;var btn=document.getElementById(‘cp-tbtn’);if(btn){btn.textContent=’▶ INICIAR’;btn.classList.remove(‘go’);}max=Math.round(M[cpM].s/mult);document.getElementById(‘cp-td’).textContent=max>0?fmt(max):’10-20h’;arc(0);};
window.cpSave=function(){var c=(document.getElementById(‘cp-c’)||{value:25}).value,w=(document.getElementById(‘cp-w’)||{value:400}).value,m=M[cpM];log.push({id:Date.now(),m:m.n,i:m.i,c:c+’g’,w:w+’ml’,r:’1:’+(w/c).toFixed(1),g:m.g,d:new Date().toLocaleDateString(‘es-CO’)});cpRlog();var sb=document.getElementById(‘cp-sbtn’);if(sb){sb.textContent=’✓ GUARDADO’;setTimeout(function(){sb.textContent=’📓 GUARDAR EN BITÁCORA’;},2000);}};
window.cpDel=function(id){log=log.filter(function(e){return e.id!==id;});cpRlog();};
window.cpRlog=function(){var g=document.getElementById(‘cp-lg’),e=document.getElementById(‘cp-le’);if(!g)return;g.querySelectorAll(‘.cp-logcard’).forEach(function(c){c.remove();});if(log.length===0){if(e)e.style.display=’block’;return;}if(e)e.style.display=’none’;log.slice().reverse().forEach(function(en){var card=document.createElement(‘div’);card.className=’cp-logcard’;card.innerHTML=’
Ratio ‘+en.r+’ · ‘+en.g+’
‘+en.d+’
‘;g.appendChild(card);});};
render();
})();