.sudoku-header{margin-bottom:2rem}.sudoku-game{max-width:30rem}.sudoku-meta{color:#52525b;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.875rem;font-size:.75rem;display:flex}.sudoku-badge{color:#0369a1;background:#f0f9ff;border:1px solid #bae6fd;border-radius:99px;margin-left:.5rem;padding:.125rem .5rem;display:inline-block}.sudoku-grid{aspect-ratio:1;background:#fff;border:2px solid #27272a;grid-template-rows:repeat(9,minmax(0,1fr));display:grid}.sudoku-row{grid-template-columns:repeat(9,minmax(0,1fr));min-height:0;display:grid}.sudoku-cell{color:#0369a1;cursor:pointer;touch-action:manipulation;background:#fff;border-bottom:1px solid #d4d4d8;border-right:1px solid #d4d4d8;place-items:center;min-width:0;padding:0;font-size:clamp(1.125rem,5vw,1.75rem);line-height:1;display:grid;position:relative}.sudoku-cell:nth-child(3n){border-right:2px solid #27272a}.sudoku-cell:last-child{border-right:0}.sudoku-row:nth-child(3n) .sudoku-cell{border-bottom:2px solid #27272a}.sudoku-row:last-child .sudoku-cell{border-bottom:0}.sudoku-cell.is-given{color:#18181b;font-weight:600}.sudoku-cell.is-peer{background:#f4f4f5}.sudoku-cell.is-matching{background:#e0f2fe}.sudoku-cell.is-selected{background:#bae6fd;box-shadow:inset 0 0 0 2px #0284c7}.sudoku-cell.is-error{color:#b91c1c;background:#fee2e2;text-decoration:underline wavy}.sudoku-cell:focus-visible{z-index:1;outline-offset:-3px;outline:3px solid #0284c7}.sudoku-notes{color:#52525b;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);font-size:clamp(.5rem,1.8vw,.7rem);display:grid;position:absolute;inset:2px}.sudoku-notes span{place-items:center;display:grid}.sudoku-help,.sudoku-save{color:#71717a;margin-top:1rem;font-size:.75rem;line-height:1.7}.sudoku-keypad{grid-template-columns:repeat(9,minmax(0,1fr));gap:.375rem;margin-top:1.25rem;display:grid}.sudoku-keypad button,.sudoku-tools button,.sudoku-reset button{cursor:pointer;touch-action:manipulation;background:#fff;border:1px solid #d4d4d8;border-radius:.25rem;min-height:44px}.sudoku-keypad button{color:#0369a1;font-size:1.125rem}.sudoku-tools{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.sudoku-tools button,.sudoku-reset button{flex:1;padding:.5rem .625rem;font-size:.75rem}.sudoku-game button:disabled{opacity:.4;cursor:default}.sudoku-game button:focus-visible{outline-offset:2px;outline:2px solid #0284c7}.sudoku-tools [aria-pressed=true]{color:#0369a1;background:#e0f2fe;border-color:#0284c7}.sudoku-message{color:#3f3f46;min-height:3.5rem;margin-top:1rem;font-size:.8125rem;line-height:1.7}.sudoku-message.is-complete{color:#166534;font-weight:600}.sudoku-bottom{justify-content:space-between;gap:1rem;display:flex}.sudoku-text-button{color:#52525b;text-underline-offset:4px;cursor:pointer;min-height:44px;font-size:.75rem;text-decoration:underline}.sudoku-reset{border:1px solid #d4d4d8;margin-top:.75rem;padding:1rem;font-size:.8125rem;line-height:1.6}.sudoku-reset p{margin-bottom:.75rem}.sudoku-reset button{margin-right:.5rem}.sudoku-about{color:#52525b;border-top:1px solid #e4e4e7;max-width:38rem;margin-top:3rem;padding-top:2rem;font-size:.8125rem;line-height:1.9}.sudoku-about h2{color:#18181b;font-size:1rem;font-weight:600}.sudoku-about p{margin-top:1rem}.sudoku-about details{margin-top:1.5rem}.sudoku-about summary{cursor:pointer;text-underline-offset:4px;text-decoration:underline}@media (hover:hover){.sudoku-keypad button:not(:disabled):hover,.sudoku-tools button:not(:disabled):hover{background:#f0f9ff;border-color:#7dd3fc}}@media screen and (width<=540px){.sudoku-game{width:100%;max-width:none}}@media print{.posts-nav,.site-footer,.skip-link,.sudoku-keypad,.sudoku-tools,.sudoku-message,.sudoku-bottom,.sudoku-reset,.sudoku-help,.sudoku-save,.sudoku-about details{display:none!important}.sudoku-header{margin:0 0 1.5rem}.sudoku-game{width:125mm;max-width:100%}.sudoku-grid{break-inside:avoid}.sudoku-cell{color:#000!important;box-shadow:none!important;background:#fff!important;outline:none!important;text-decoration:none!important}.sudoku-cell:not(.is-given) .sudoku-value,.sudoku-notes{visibility:hidden}.sudoku-meta [data-sudoku-progress]{display:none}.sudoku-about{max-width:125mm;margin-top:1.5rem;padding-top:1rem}}
