CINXE.COM

Puzzmo — The (new) place for thoughtful puzzles.

<!doctype html> <html lang="en"> <head> <meta charset="utf-8" /> <meta httpEquiv="X-UA-Compatible" content="IE=edge" /> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1.00001, viewport-fit=cover" /> <title>Puzzmo — The (new) place for thoughtful puzzles.</title> <meta name="description" content="Re-imagined mainstays like the daily Crossword Puzzle, modern classics like Really Bad Chess and SpellTower, and even a few brand new puzzles." /> <link rel="canonical" href="https://puzzmo.com/today" /> <link rel="manifest" href="/manifest.json" /> <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16.png" /> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32.png" /> <link rel="shortcut icon" href="/favicon.ico" /> <script> window.__puzzmoConfig = { __runtimeHTMLSHA: "14dfd1" } </script> <script type="module" crossorigin src="/assets/main.aDaFJUR_.js"></script> <link rel="modulepreload" crossorigin href="/assets/themes.NZE_YWqT.js"> <link rel="modulepreload" crossorigin href="/assets/index.BOcUKGpt.js"> <link rel="stylesheet" crossorigin href="/assets/main.Cn_WGilT.css"> <link rel="stylesheet" href="/assets/stylex.css"> <link rel="manifest" href="/manifest.webmanifest"><script id="vite-plugin-pwa:register-sw" src="/registerSW.js"></script></head> <body> <noscript> <form action="" style="background-color: #fff; position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 9999"> <div style="font-size: 18px; font-family: Helvetica, sans-serif; line-height: 24px; margin: 10%; width: 80%"> <p>Oh no! It looks like JavaScript is not enabled in your browser.</p> <p style="margin: 20px 0"> <button type="submit" style=" background-color: #4630eb; border-radius: 100px; border: none; box-shadow: none; color: #fff; cursor: pointer; font-weight: bold; line-height: 20px; padding: 6px 16px; " > Reload </button> </p> </div> </form> </noscript> <!-- The root element for the React app to work in. --> <div id="root"></div> <script> // When we SEO pre-render, it fills the DOM with stuff that eventually // gets erased by a react reconciler. This is a hack to clear the DOM // before we render the app. const root = document.getElementById("root") while (root.firstChild) { root.removeChild(root.firstChild) } // Hack to ensure the background matches the app if user is using default theme. // Note that this code is implicitly dependent on DynamicThemeChanger - any // changes here should also review this code const isDarkMode = window.matchMedia && window.matchMedia("(prefers-color-scheme: dark)").matches const themeColor = isDarkMode ? "#141620" : "#F2F2F2" const style = document.createElement("style") style.innerHTML = ` :root { --theme-a_bg: ${themeColor}; } ` document.head.appendChild(style) </script> </body> </html>