:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,sans-serif;background:#fff0f6;color:#333}.screen{min-height:100vh;padding:24px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}h1{font-size:2rem;margin-bottom:12px}p{font-size:1.1rem;margin-bottom:24px}button{padding:14px 24px;font-size:1rem;border:none;border-radius:12px;background:#ff5fa2;color:#fff;cursor:pointer}.fade-in{margin:5px;animation:fadeIn .8s ease forwards;place-items:center}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.gif{width:220px;max-width:80%;margin-bottom:20px}.text{font-size:1.15rem;margin-bottom:24px;line-height:1.5}.heart-grid{display:grid;grid-template-columns:repeat(7,40px);grid-template-rows:repeat(7,40px);gap:6px;margin:20px 0}.cell{width:38px;height:38px;border-radius:6px;background:#fff;transition:background .2s;text-align:center;font-size:1.2rem;margin:1px;border:1px solid #ccc;display:flex;justify-content:center;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none}.next-btn{padding:12px 24px;font-size:1rem;border:none;border-radius:12px;background:#ff5fa2;color:#fff;cursor:pointer;margin-top:12px}.prev-btn{position:absolute;top:0;left:35px;font-size:1rem;border:none;border-radius:12px;background:#ff5fa2;color:#fff;cursor:pointer;margin-top:5px}.noogram-container{display:flex;flex-direction:column;align-items:flex-start;margin-top:12px}.row-grid{display:flex;flex-direction:column}.row{display:flex;align-items:center}.cell.filled{background:#ff5fa2;color:#fff}.cell.cross{color:#ff5fa2}.row-hint{width:30px;text-align:right;margin-right:6px;font-weight:700}.col-hints{display:flex;margin-left:36px}.col-hint{width:40px;text-align:center;font-weight:700}.sudoku-grid{margin:auto;display:inline-block}.sudoku-row{display:flex;margin:auto}.sudoku-row input{width:40px;height:40px;text-align:center;font-size:1.2rem;margin:2px;border-radius:6px;border:1px solid #ccc}.sudoku-row input.pre-filled{background:#eee;font-weight:700}.cell.pre-filled{background:#eee;font-weight:700;cursor:default}.sudoku-row .cell{border-right:1px solid #999;border-bottom:1px solid #999}.sudoku-row .cell:nth-child(3),.sudoku-row .cell:nth-child(6){border-right:2px solid #333}.sudoku-grid .sudoku-row:nth-child(3) .cell,.sudoku-grid .sudoku-row:nth-child(6) .cell{border-bottom:2px solid #333}.number-toolbar button{width:40px;height:40px;font-size:1.2rem;border-radius:50%;border:1px solid #ccc;cursor:pointer;background:#fff;transition:background .2s}.number-toolbar button.selected{background:#ff5fa2;color:#fff;font-weight:700}.number-toolbar{margin-top:1px;display:flex;gap:6px;justify-content:center}.number-btn{width:33px;height:33px;border:1px solid #ccc;display:flex;justify-content:center;align-items:center;cursor:pointer;font-size:1.1rem;border-radius:6px;background:#fff;-webkit-user-select:none;user-select:none}.number-btn.selected{background:#ff5fa2;color:#fff;font-weight:700}.puzzle-container{position:relative;margin:0 auto;-webkit-user-select:none;user-select:none;touch-action:none}.puzzle-grid{position:relative;border:2px solid #ccc}.puzzle-piece{box-sizing:border-box;border:0px solid #fff;background-repeat:no-repeat;background-position:center;background-size:cover;border-radius:1px}.puzzle-piece.dragging{box-shadow:0 5px 15px #0000004d}
