Well, not exactly Windows. I’d made this variant in a slightly more restrictive way earlier which made it too easy, so wanted to use it a bit more this time. I wouldn’t call it difficult as such, there’s one tricky Nurikabe bit, and the rest goes smoothly enough.
Rules – Follow Nurikabe rules. Additionally, the 2 regions need to be negatives of each other. If a cell is determined as island part in one, its corresponding cell in the other region needs to be a stream part, and vice versa (rotations or reflections do not need to be considered).