MellowTapA LITTLE ROOM TO THINK
A LITTLE SPACE FOR BALANCE

Unruly

Black, white, and a moment of balance.

Opening your local puzzle…

Find a quiet puzzle

Trivial, Easy and Normal are official solver-layer labels, not human-calibrated difficulty. 6 × 6 is an official supported custom size; 8 × 8 uses official presets. Every group has 50 fixed puzzles.

Browsing keeps your current puzzle unchanged. Select a puzzle, then confirm Play to switch.

Balance without three.

  1. Fill every empty square with white ○ or black ●. A dot · is empty, not white.
  2. Every row and column needs equal numbers of white and black: 3 of each on 6 × 6, or 4 of each on 8 × 8.
  3. Never make three adjacent squares of the same color horizontally or vertically. Diagonals do not count.
  4. ◆ and a double border mark fixed clues. They cannot be changed.
  5. Repeated rows and columns ARE allowed. This is official default Unruly, not the extra no-repeat rule found in some Takuzu games.

Tap normally cycles empty → white → black → empty. Or choose White, Black or Clear before tapping. Keyboard: Tab into the board; arrows move focus, Home/End move within a row. W or 0 sets white, B or 1 sets black, Delete/Backspace clears. Enter or Space uses the selected tap action. Focus remains visible; Escape does not change a square.

The last 200 edits are kept for Undo. Restart clears this attempt and Undo, but keeps historical completion and your best result. “Best” is the fewest cell edits, counting clearing and Undo, in a completed attempt. No timer is used.

Completion is recalculated from the current grid after edits, Undo and reload. “Completed before” is history, not a claim that this attempt is solved. No hidden answer is used for feedback.

Trivial, Easy and Normal are official solver-layer labels, not a human difficulty rating. 6 × 6 is a supported official custom size; 8 × 8 uses official presets.

Progress is saved locally with IndexedDB when available. No game account is needed. Saving failures are shown. Explicit tab-only play never reconnects or copies temporary progress back. Refresh/close can lose pending edits; browser warnings and crash durability are not guaranteed.