1<html lang="en"> 2<head> 3<title>Kakuro - 4x4 intermediate online kakuro logic puzzle</title> 4<!--
4<script src="https://js.sentry-cdn.com/138a4fa4103ac57dc408eb64fa4c64c3.min.js" crossorigin="anonymous"></script>
4 --> 5<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 6<!-- 7HTML Code, Javascript, CSS, Images, and Text Copyright (c) 2006-2023 KakuroConquest.com, All Rights Reserved. Copyright infringers will be prosecuted. 8-->
9<script> 10var kcW=window,kcD=document,kcDE=kcD.documentElement,kcB=kcD.getElementsByTagName('body')[0],kcH=kcD.getElementsByTagName('head')[0],kcPWidth=kcW.innerWidth||kcDE.clientWidth||(kcB?kcB.clientWidth:kcW.screen.availWidth),kcPHeight=kcW.innerHeight||kcDE.clientHeight||(kcB?kcB.clientHeight:kcW.screen.availHeight),kcDevice='desktop'; 11var kcGWidth=4,kcGHeight=4,kcBAHeight=0,kcTAHeight=0; 12</script>
vendor: 1 bytes, line 12
12
13<script src="/domLib.js"></script>
vendor: 1 bytes, line 13
13
14<script src="/domTT.js"></script>
vendor: 1 bytes, line 14
14
15<script src="/domTT_drag.js"></script>
vendor: 1 bytes, line 15
15
16<script src="/kakuro.js?v=2"></script>
vendor: 1 bytes, line 16
16
17<script src="/kakuro_await.js?v=5"></script>
17 18<!-- HeyGoodGame Common Integration -->
19<script type="module" src="/dist/kakuro-heygg-CqVJux4i.js"></script>
19 20<meta name="revisit-after" content="30 Days"> 21<meta name="Description" content="Play interactive online kakuro puzzles (size 4x4, intermediate level) with different sizes and difficulties for free at KakuroConquest.com"> 22<meta name="Keywords" content="kakuro, cross sums, kakro, kakuro generator, play kakuro, kakuro online, interactive kakuro, kakuro puzzles, kakuroconquest, puzzles, sudoku, number puzzles, math games"> 23<meta name="google-site-verification" content="zctt7Qg1b83fLxrdTXJ-J5GgZRMc-nUEDj8D_k1Fdc4" /> 24<meta name="viewport" content="width=device-width, initial-scale=1"> 25<link href="/manifest.json" rel="manifest"> 26<link rel="sitemap" type="application/xml" title="Sitemap" href="/sitemap.xml"> 27<link rel="icon" href="/favicon.png" /> 28<link rel="apple-touch-icon" href="/kakuro-icon-512x512.png" /> 29<link rel="stylesheet" type="text/css" href="/dist/kakuro-heygg-C6vfP1QW.css"> 30<!-- heygg-common styles --> 31<link rel="stylesheet" href="/dist/kakuro-heygg-BX4em0VI.css"> 32 33<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="" /> 34<link 35 href="https://fonts.googleapis.com/css2?family=Nunito+Sans:ital,wght@0,400;0,600;0,700;0,800;0,900;1,400;1,700;1,900&display=swap" 36 rel="stylesheet" 37/> 38<style> 39.heygg-body { 40 text-align: left; 41} 42 43body { 44 margin: 0; 45} 46 47.fullWidth { 48 margin: 8px auto; 49} 50 51/* Re-center puzzle form buttons */ 52.heygg-body form[name="puzzle"], 53.heygg-body form:has(.inputbutton) { 54 text-align: center; 55} 56 57@media (max-width: 800px) { 58.heygg-body .container { 59 width: inherit; 60} 61} 62</style> 63
63<script src="https://lngtd.com/kakuroconquest.js"></script>
vendor: 63 bytes, line 63
63<script async src="https://www.googletagmanager.com/gtag/js?id=
63G-06WGEFWDFQ
vendor: 12 bytes, line 63
63"></script>
64<script> 65 window.dataLayer = window.dataLayer || []; 66 function gtag() { 67 dataLayer.push(arguments); 68 } 69 gtag('js', new Date()); 70 // The cross-domain linker keeps the GA session intact across the 71 // play.hey.gg auth redirect - without it GA counts the return leg as a 72 // brand-new session and the original referrer/UTM is lost. 73 gtag('config', 'G-06WGEFWDFQ', { 74 linker: { domains: ['play.hey.gg'] } 75 }); 76</script>
vendor: 1 bytes, line 76
76
77<script defer data-domain="kakuroconquest.com" src="https://plausible.io/js/script.js"></script>
77 78<!-- Facebook Pixel Code -->
79<script>
vendor: 417 bytes, lines 79-88
79 80 !function(f,b,e,v,n,t,s) 81 {if(f.fbq)return;n=f.fbq=function(){n.callMethod? 82 n.callMethod.apply(n,arguments):n.queue.push(arguments)}; 83 if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; 84 n.queue=[];t=b.createElement(e);t.async=!0; 85 t.src=v;s=b.getElementsByTagName(e)[0]; 86 s.parentNode.insertBefore(t,s)}(window, document,'script', 87 'https://connect.facebook.net/en_US/fbevents.js'); 88 fbq('init', '
883707972999320397
vendor: 32 bytes, lines 88-89
88'); 89 fbq('track', 'PageView');
90</script>
90 91<noscript><img height="1" width="1" style="display:none" 92 src="https://www.facebook.com/tr?id=3707972999320397&ev=PageView&noscript=1" 93/></noscript> 94<!-- End Facebook Pixel Code --> 95<link rel="canonical" href="https://www.kakuroconquest.com/4x4/intermediate" hreflang="en" /> 96<link rel="alternate" href="https://ar.kakuroconquest.com/4x4/intermediate" hreflang="ar" /> 97<link rel="alternate" href="https://de.kakuroconquest.com/4x4/intermediate" hreflang="de" /> 98<link rel="alternate" href="https://es.kakuroconquest.com/4x4/intermediate" hreflang="es" /> 99<link rel="alternate" href="https://fa.kakuroconquest.com/4x4/intermediate" hreflang="fa" /> 100<link rel="alternate" href="https://fr.kakuroconquest.com/4x4/intermediate" hreflang="fr" /> 101<link rel="alternate" href="https://hi.kakuroconquest.com/4x4/intermediate" hreflang="hi" /> 102<link rel="alternate" href="https://id.kakuroconquest.com/4x4/intermediate" hreflang="id" /> 103<link rel="alternate" href="https://it.kakuroconquest.com/4x4/intermediate" hreflang="it" /> 104<link rel="alternate" href="https://ja.kakuroconquest.com/4x4/intermediate" hreflang="ja" /> 105<link rel="alternate" href="https://ko.kakuroconquest.com/4x4/intermediate" hreflang="ko" /> 106<link rel="alternate" href="https://ms.kakuroconquest.com/4x4/intermediate" hreflang="ms" /> 107<link rel="alternate" href="https://nl.kakuroconquest.com/4x4/intermediate" hreflang="nl" /> 108<link rel="alternate" href="https://pl.kakuroconquest.com/4x4/intermediate" hreflang="pl" /> 109<link rel="alternate" href="https://pt.kakuroconquest.com/4x4/intermediate" hreflang="pt" /> 110<link rel="alternate" href="https://ru.kakuroconquest.com/4x4/intermediate" hreflang="ru" /> 111<link rel="alternate" href="https://tr.kakuroconquest.com/4x4/intermediate" hreflang="tr" /> 112<link rel="alternate" href="https://cn.kakuroconquest.com/4x4/intermediate" hreflang="zh-Hans" /> 113<link rel="alternate" href="https://zh.kakuroconquest.com/4x4/intermediate" hreflang="zh-Hant" /> 114<link rel="alternate" href="https://www.kakuroconquest.com/4x4/intermediate" hreflang="x-default" /> 115</head> 116<body id="body" class="heygg-body"> 117<div id="main-content"> 118<div style="width: 100%; "> 119<div class="fullWidth"> 120<div class="leftColumn"> 121<div class="text2" style="position:relative;"> 122Language: <a href="#" id="lang-dropdown-link" onclick="langDropdownLink();return false;">English ▼</a> 123<br><br> 124<div id="lang-dropdown"> 125<div> 126<p><a href="https://ar.kakuroconquest.com/4x4/intermediate" title="ÙØ§ÙÙØ±Ù - Ø§ÙØ¹Ø±Ø¨ÙØ© (Arabic)">Ø§ÙØ¹Ø±Ø¨ÙØ© (Arabic)</a></p> 127<p><a href="https://de.kakuroconquest.com/4x4/intermediate" title="kakuro - Deutsch (German)">Deutsch (German)</a></p> 128<p><a href="https://www.kakuroconquest.com/4x4/intermediate?lang_change=1" title="kakuro - English (English)"><b>English</b></a></p> 129<p><a href="https://es.kakuroconquest.com/4x4/intermediate" title="kakuro - Español (Spanish)">Español (Spanish)</a></p> 130<p><a href="https://fa.kakuroconquest.com/4x4/intermediate" title="Ú©Ø§Ú©ÙØ±Ù - ÙØ§Ø±Ø³Û (Persian)">ÙØ§Ø±Ø³Û (Persian)</a></p> 131<p><a href="https://fr.kakuroconquest.com/4x4/intermediate" title="kakuro - Français (French)">Français (French)</a></p> 132<p><a href="https://hi.kakuroconquest.com/4x4/intermediate" title="à¤à¤¾à¤à¥à¤°à¥ - हिà¤à¤¦à¥ (Hindi)">हिà¤à¤¦à¥ (Hindi)</a></p> 133<p><a href="https://id.kakuroconquest.com/4x4/intermediate" title="kakuro - Bahasa Indonesia (Indonesian)">Bahasa Indonesia (Indonesian)</a></p> 134<p><a href="https://it.kakuroconquest.com/4x4/intermediate" title="kakuro - Italiano (Italian)">Italiano (Italian)</a></p> 135<p><a href="https://ja.kakuroconquest.com/4x4/intermediate" title="ã«ãã¯ã - æ¥æ¬èª (Japanese)">æ¥æ¬èª (Japanese)</a></p> 136<p><a href="https://ko.kakuroconquest.com/4x4/intermediate" title="ì¹´ì¿ ë¡ - íêµì´ (Korean)">íêµì´ (Korean)</a></p> 137<p><a href="https://ms.kakuroconquest.com/4x4/intermediate" title="kakuro - Melayu (Malay)">Melayu (Malay)</a></p> 138<p><a href="https://nl.kakuroconquest.com/4x4/intermediate" title="kakuro - Nederlands (Dutch)">Nederlands (Dutch)</a></p> 139<p><a href="https://pl.kakuroconquest.com/4x4/intermediate" title="kakuro - Polski (Polish)">Polski (Polish)</a></p> 140<p><a href="https://pt.kakuroconquest.com/4x4/intermediate" title="kakuro - Português (Portuguese)">Português (Portuguese)</a></p> 141<p><a href="https://ru.kakuroconquest.com/4x4/intermediate" title="какÑÑо - Ð ÑÑÑкий (Russian)">Ð ÑÑÑкий (Russian)</a></p> 142<p><a href="https://tr.kakuroconquest.com/4x4/intermediate" title="Kakuro - Türkçe (Turkish)">Türkçe (Turkish)</a></p> 143<p><a href="https://cn.kakuroconquest.com/4x4/intermediate" title="æ°è°æ¸¸æ - 䏿 (ç®ä½) (Chinese - Simplified)">䏿 (ç®ä½) (Chinese - Simplified)</a></p> 144<p><a href="https://zh.kakuroconquest.com/4x4/intermediate" title="æ¸è¬ - 䏿 (ç¹é«) (Chinese - Traditional)">䏿 (ç¹é«) (Chinese - Traditional)</a></p> 145</div> 146</div> 147</div> 148<div class="text2"> 1494x4: <a href="/4x4/easy" style="white-space:nowrap;">easy</a> <a href="/4x4/intermediate" style="white-space:nowrap;">intermediate</a> <a href="/4x4/hard" style="white-space:nowrap;">hard</a> <a href="/4x4/challenging" style="white-space:nowrap;">challenging</a> <a href="/4x4/expert" style="white-space:nowrap;">expert</a><br> 1506x6: <a href="/6x6/easy" style="white-space:nowrap;">easy</a> <a href="/6x6/intermediate" style="white-space:nowrap;">intermediate</a> <a href="/6x6/hard" style="white-space:nowrap;">hard</a> <a href="/6x6/challenging" style="white-space:nowrap;">challenging</a>
150 <a href="/6x6/expert" style="white-space:nowrap;">expert</a><br> 1518x8: <a href="/8x8/easy" style="white-space:nowrap;">easy</a> <a href="/8x8/intermediate" style="white-space:nowrap;">intermediate</a> <a href="/8x8/hard" style="white-space:nowrap;">hard</a> <a href="/8x8/challenging" style="white-space:nowrap;">challenging</a> <a href="/8x8/expert" style="white-space:nowrap;">expert</a><br> 1529x11: <a href="/9x11/easy" style="white-space:nowrap;">easy</a> <a href="/9x11/intermediate" style="white-space:nowrap;">intermediate</a> <a href="/9x11/hard" style="white-space:nowrap;">hard</a> <a href="/9x11/challenging" style="white-space:nowrap;">challenging</a> <a href="/9x11/expert" style="white-space:nowrap;">expert</a><br> 1539x17: <a href="/9x17/easy" style="white-space:nowrap;">easy</a> <a href="/9x17/intermediate" style="white-space:nowrap;">intermediate</a> <a href="/9x17/hard" style="white-space:nowrap;">hard</a> <a href="/9x17/challenging" style="white-space:nowrap;">challenging</a> <a href="/9x17/expert" style="white-space:nowrap;">expert</a><br><br> 154</div> 155<div class="text2"> 156Kakuro is like a crossword puzzle with numbers. Each "word" must add up to the number provided in the clue above it or to the left. Words can only use the numbers 1 through 9, and a given number can only be used once in a word. Every <a href="/">kakuro puzzle</a> has one and only solution, and can be solved through logic alone.<br><br> 157</div> 158<div class="text2"> 159<a href="https://www.kakuroconquest.com/blog/" target="_blank"><b>Kakuro Blog</b></a><br> 160<a href="/kakuro-rules.php"><b>Kakuro Rules</b></a><br> 161<b>Kakuro Tutorials:</b> <a href="/kakuro-tutorial-basic/" target="_blank">Basic</a> <a href="/kakuro-tutorial-challenge/" target="_blank">Challenging</a><br><br> 162</div> 163<div class="text2">Kakuro Hint: Did you know that you can use the arrow keys on your keyboard to move up and down, left and right?<br><br> 164</div> 165<div class="text2">Optimized for: desktop<br>switch to: <a href="?device=phone"><b>phone</b></a><br><br></div> 166<div class="text2">Also try <a href="https://www.sudokuconquest.com/"><b>sudoku</b></a> and <a href="http://www.hitoriconquest.com/"><b>hitori</b></a></div> 167</div> 168<div class="rightColumn"> 169<div> 170 <div id="kakuroconquest_D_1"></div> 171 <div id="kakuroconquest_D_2" style="margin:20px 0 0;"></div> 172</div></div> 173<div class="middleBoard"> 174<div style="margin:0 auto;"> 175<form name="puzzle" autocomplete="off" method="post" action="/" novalidate> 176<input type="hidden" name="seed_submitted" value="19232">
177<script> 178fbq('track', 'StartTrial', {value: '0.00', currency: 'USD', predicted_ltv: '0.00'}); 179</script>
179 180<table class="board" cellpadding=0 cellspacing=0 id="CurrentKakuroBoard" > 181<tr> 182<td class="cellShaded" nowrap> </td> 183<td class="cellShaded" nowrap> </td> 184<td class="cellShaded" nowrap> </td> 185<td class="cellTotal" nowrap> 186<input type="hidden" name="word_v_0_3_3" value="6"><div class="topNumber"> </div><div class="bottomNumberHelp" onclick="return ttP(this,event,6,3,1,0,0,3,1)">6</div></td> 187<td class="cellTotal" nowrap> 188<input type="hidden" name="word_v_0_4_3" value="19"><div class="topNumber"> </div><div class="bottomNumberHelp" onclick="return ttP(this,event,19,3,-1,0,0,4,1)">19</div></td> 189</tr> 190<tr> 191<td class="cellShaded" nowrap> </td> 192<td class="cellTotal" nowrap> 193<input type="hidden" name="word_v_1_1_3" value="7"><div class="topNumber"> </div><div class="bottomNumberHelp" onclick="return ttP(this,event,7,3,1,0,1,1,1)">7</div></td> 194<td class="cellTotal" nowrap> 195<input type="hidden" name="word_v_1_2_3" value="20"><input type="hidden" name="word_h_1_2_2" value="11"><div class="topNumberHelp" onclick="return ttP(this,event,11,2,1,0,1,2,2)">11</div><div class="bottomNumberHelp" onclick="return ttP(this,event,20,3,1,0,1,2,1)">20</div></td> 196<td class="cellNumber"><input autocomplete="disabled"pattern="[0-9]*" maxlength=9 onkeyup="ku(this)" onkeydown="kd(this,event)" onfocus="kof(this)" class="cellNumberInput1" name="cell_1_3_1791060065" value="" size=1></td> 197<td class="cellNumber"><input autocomplete="disabled"pattern="[0-9]*" maxlength=9 onkeyup="ku(this)" onkeydown="kd(this,event)" onfocus="kof(this)" class="cellNumberInput1" name="cell_1_4_1791060065" value="" size=1></td> 198</tr> 199<tr> 200<td class="cellTotal" nowrap> 201<input type="hidden" name="word_h_2_0_4" value="14"><div class="topNumberHelp" onclick="return ttP(this,event,14,4,1,0,2,0,2)">14</div><div class="bottomNumber"> </div></td> 202<td class="cellNumber"><input autocomplete="disabled"pattern="[0-9]*" maxlength=9 onkeyup="ku(this)" onkeydown="kd(this,event)" onfocus="kof(this)" class="cellNumberInput1" name="cell_2_1_1791060065" value="" size=1></td> 203<td class="cellNumber"><input autocomplete="disabled"pattern="[0-9]*" maxlength=9 onkeyup="ku(this)" onkeydown="kd(this,event)" onfocus="kof(this)" class="cellNumberInput1" name="cell_2_2_1791060065" value="" size=1></td> 204<td class="cellNumber"><input autocomplete="disabled"pattern="[0-9]*" maxlength=9 onkeyup="ku(this)" onkeydown="kd(this,event)" onfocus="kof(this)" class="cellNumberInput1" name="cell_2_3_1791060065" value="" size=1></td> 205<td class="cellNumber"><input autocomplete="disabled"pattern="[0-9]*" maxlength=9 onkeyup="ku(this)" onkeydown="kd(this,event)" onfocus="kof(this)" class="cellNumberInput1" name="cell_2_4_1791060065" value="" size=1></td> 206</tr> 207<tr> 208<td class="cellTotal" nowrap> 209<input type="hidden" name="word_h_3_0_4" value="23"><div class="topNumberHelp" onclick="return ttP(this,event,23,4,1,0,3,0,2)">23</div><div class="bottomNumber"> </div></td> 210<td class="cellNumber"><input autocomplete="disabled"pattern="[0-9]*" maxlength=9 onkeyup="ku(this)" onkeydown="kd(this,event)" onfocus="kof(this)" class="cellNumberInput1" name="cell_3_1_1791060065" value="" size=1></td> 211<td class="cellNumber"><input autocomplete="disabled"pattern="[0-9]*" maxlength=9 onkeyup="ku(this)" onkeydown="kd(this,event)" onfocus="kof(this)" class="cellNumberInput1" name="cell_3_2_1791060065" value="" size=1></td> 212<td class="cellNumber"><input autocomplete="disabled"pattern="[0-9]*" maxlength=9 onkeyup="ku(this)" onkeydown="kd(this,event)" onfocus="kof(this)" class="cellNumberInput1" name="cell_3_3_1791060065" value="" size=1></td> 213<td class="cellNumber"><input autocomplete="disabled"pattern="[0-9]*" maxlength=9 onkeyup="ku(this)" onkeydown="kd(this,event)" onfocus="kof(this)" class="cellNumberInput1" name="cell_3_4_1791060065" value="" size=1></td> 214</tr> 215<tr> 216<td class="cellTotal" nowrap> 217<input type="hidden" name="word_h_4_0_2" value="4"><div class="topNumberHelp" onclick="return ttP(this,event,4,2,1,0,4,0,2)">4</div><div class="bottomNumber"> </div></td> 218<td class="cellNumber"><input autocomplete="disabled"pattern="[0-9]*" maxlength=9 onkeyup="ku(this)" onkeydown="kd(this,event)" onfocus="kof(this)" class="cellNumberInput1" name="cell_4_1_1791060065" value="" size=1></td> 219<td class="cellNumber"><input autocomplete="disabled"pattern="[0-9]*" maxlength=9 onkeyup="ku(this)" onkeydown="kd(this,event)" onfocus="kof(this)" class="cellNumberInput1" name="cell_4_2_1791060065" value="" size=1></td> 220<td class="cellShaded" nowrap> </td> 221<td class="cellShaded" nowrap> </td> 222</tr> 223</table> 224<input type="hidden" name="solution" value="eJyLj4cAI8t4IwtD43gTS2PzeCAdDwBkxwdI"> 225<input type="hidden" name="current_puzzle" value="eJwVTAsKwFAIus+QkX3W4l2lg+z4K0RFQVlqCv8c1HcYIIciYAbkFuEqNCPsXFg8DVZPyIZKk1DUafr4fMBOq8FRMORp32qHP64WFg0="> 226<input type="hidden" name="timevals" value="eJwzNLc0NDAzMDAz1TM2NjSzMgBBAC56BD0="> 227<input type="hidden" name="size" value="4x4"> 228<input type="hidden" name="level" value="2">
229<div class="puzzle-controls"> 230 <button type="submit" class="puzzle-btn" name="check" value="1">Check</button> 231 <button type="submit" class="puzzle-btn puzzle-btn--icon" name="pause" value="1" title="Pause"> 232 <span class="puzzle-btn__pause-icon"><span></span><span></span></span> 233 </button> 234 <div class="puzzle-timer" id="puzzleTimer"> 235 <span class="puzzle-timer__time" id="timerDisplay">00:00</span> 236 <button type="button" class="puzzle-timer__toggle" id="timerToggle" title="Toggle timer visibility"> 237 <svg id="timerEyeOpen" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> 238 <path d="M8 3C4.36364 3 1.25818 5.28067 0 8.5C1.25818 11.7193 4.36364 14 8 14C11.6364 14 14.7418 11.7193 16 8.5C14.7418 5.28067 11.6364 3 8 3ZM8 12.1667C5.98545 12.1667 4.36364 10.5247 4.36364 8.5C4.36364 6.47533 5.98545 4.83333 8 4.83333C10.0145 4.83333 11.6364 6.47533 11.6364 8.5C11.6364 10.5247 10.0145 12.1667 8 12.1667ZM8 6.3C6.8 6.3 5.81818 7.29 5.81818 8.5C5.81818 9.71 6.8 10.7 8 10.7C9.2 10.7 10.1818 9.71 10.1818 8.5C10.1818 7.29 9.2
2386.3 8 6.3Z" fill="currentColor"/> 239 </svg> 240 <svg id="timerEyeClosed" style="display:none" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> 241 <path d="M8 4.83333C10.0145 4.83333 11.6364 6.47533 11.6364 8.5C11.6364 9.02133 11.5273 9.516 11.3382 9.966L13.3673 12.0113C14.5164 11.0607 15.4327 9.858 16 8.5C14.7418 5.28067 11.6364 3 8 3C7.02545 3 6.09455 3.168 5.22182 3.47533L6.70545 4.97133C7.15273 4.78133 7.64 4.83333 8 4.83333ZM0.727273 2.22467L2.29818 3.808L2.61236 4.12433C1.35273 5.10067 0.349091 6.38 0 8.5C1.25818 11.7193 4.36364 14 8 14C9.09091 14 10.1309 13.7947 11.0909 13.4213L11.3818 13.714L13.44 15.7887L14.2545 15L1.54182 1.5L0.727273 2.22467ZM4.77455 6.34333L5.77091 7.34933C5.74182 7.39667 5.72727 7.44867 5.72727 7.5C5.72727 8.71 6.70909 9.7 7.90909 9.7C7.96 9.7 8.01091 9.68533 8.05745 9.67533L9.05382 10.6813C8.71055 10.858 8.32364 10.9667 7.90909 10.9667C6.00727 10.9667 4.45455 9.40333 4.45455 7.5C4.45455 7.08133 4.56218 6.69067 4.73818 6.34333H4.77455ZM7.79273 5.31733L10.2182 7.76333L10.2327 7.65933C10.2327 6.44933 9.25091 5.45933 8.05091 5.45933L7.79273 5.31733Z" fill="currentColor"/> 242 </svg> 243 </button> 244 </div> 245</div>
246<script> 247(function() { 248 var startingTime = 0; 249 var startingClock = Date.now(); 250 var timerHidden = localStorage.getItem('kakuroTimerHidden') === 'true'; 251 var timerPaused = false; 252 var timerInterval = null; 253 var pausedTime = 0; 254 255 function formatTime(totalSecs) { 256 var mins = Math.floor(totalSecs / 60); 257 var secs = totalSecs % 60; 258 return (mins < 10 ? '0' : '') + mins + ':' + (secs < 10 ? '0' : '') + secs; 259 } 260 261 function getCurrentTime() { 262 if (timerPaused) { 263 return pausedTime; 264 } 265 return Math.floor(startingTime + ((Date.now() - startingClock) / 1000)); 266 } 267 268 function updateTimer() { 269 // Query fresh each time in case DOM was replaced 270 var display = document.getElementById('timerDisplay'); 271 if (display) { 272 var newTime = formatTime(getCurrentTime()); 273 display.innerText = newTime; 274 } 275 } 276 277 function pauseTimer() { 278 if (!timerPaused) { 279 timerPaused = true; 280 pausedTime = getCurrentTime(); 281 var container = document.getElementById('puzzleTimer'); 282 if (container) container.classList.add('puzzle-timer--paused'); 283 if (timerInterval) { 284 clearInterval(timerInterval); 285 timerInterval = null; 286 } 287 } 288 } 289 290 function resumeTimer() { 291 if (timerPaused) { 292 timerPaused = false; 293 startingTime = pausedTime; 294 startingClock = Date.now(); 295 var container = document.getElementById('puzzleTimer'); 296 if (container) container.classList.remove('puzzle-timer--paused'); 297 timerInterval = setInterval(updateTimer, 1000); 298 updateTimer(); 299 } 300 } 301 302 function setTimerVisibility(hidden) { 303 timerHidden = hidden; 304 localStorage.setItem('kakuroTimerHidden', hidden); 305 var container = document.getElementById('puzzleTimer'); 306 var openIcon = document.getElementById('timerEyeOpen'); 307 var closedIcon = document.getElementById('timerEyeClosed'); 308 if (container && openIcon && closedIcon) { 309 if (hidden) { 310 container.classList.add('puzzle-timer--hidden'); 311 openIcon.style.display = 'none'; 312 closedIcon.style.display = 'block'; 313 } else { 314 container.classList.remove('puzzle-timer--hidden'); 315 openIcon.style.display = 'block'; 316 closedIcon.style.display = 'none'; 317 } 318 } 319 } 320 321 function initTimer() { 322 // Initialize visibility state 323 setTimerVisibility(timerHidden); 324 325 // Toggle timer visibility - use event delegation since DOM may be replaced 326 // Clicking anywhere on the timer container toggles visibility 327 document.addEventListener('click', function(e) { 328 if (e.target.closest('#puzzleTimer')) { 329 setTimerVisibility(!timerHidden); 330 } 331 }); 332 333 // Stop timer when form is submitted 334 var form = document.querySelector('form[name="puzzle"]'); 335 if (form) { 336 form.addEventListener('submit', function() { 337 pauseTimer(); 338 }); 339 } 340 341 // Start the timer - tick every second 342 updateTimer(); 343 timerInterval = setInterval(updateTimer, 1000); 344 345 // Expose timer controls globally 346 window.kakuroTimer = { 347 pause: pauseTimer, 348 resume: resumeTimer, 349 getTime: getCurrentTime 350 }; 351 } 352 353 // Initialize when DOM is ready 354 if (document.readyState === 'loading') { 355 document.addEventListener('DOMContentLoaded', initTimer); 356 } else { 357 initTimer(); 358 } 359})(); 360</script>
360 361<!--<input type="submit" class="inputbutton" name="clear" value="Clear">--> 362</form> 363<div class="text1">You are playing 4x4 intermediate puzzle 19232<br> 364<br></div> 365<div class="text1">Start over, and play another <a href="/"><b>kakuro</b></a> of this size and difficulty.</div> 366<br> 367<!--<div class="text2"><a href="/feedback.php">Send us your feedback</a><br></div>--> 368</div> 369</div> 370</div> 371<br style="clear:both;"/> 372<div style="height:32px; width:100%;"></div> 373</div><!-- end #main-content --> 374 <div class="game-banner game-footer-banner"> 375 <div class="game-footer-banner"> 376 Love Kakuro Conquest? <a id="action-link" href="https://sumplete.com/">Play Sumplete!</a> 377 </div> 378 </div> 379</div> 380<br style="clear:both;"/> 381<div style="margin:0 auto 0; display: flex; justify-content: center; align-items: center;"> 382</div>
383<script> 384document.getElementsByClassName('middleBoard')[0].style.minHeight=document.getElementsByClassName('leftColumn')[0].offsetHeight+'px'; 385</script>
385 386</body></html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.