#board{display:grid;grid-template-columns:repeat(5,minmax(44px,1fr));gap:2px;width:100%;aspect-ratio:1;max-width:400px;margin:auto}
.nurikabe-tile{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;width:100%;height:100%;font-size:1.6rem;line-height:1;padding:0;border:1px solid var(--line);border-radius:3px;touch-action:manipulation}
.nurikabe-tile.black{background:#0f172a;color:#fff}.nurikabe-tile.white,.nurikabe-tile.fixed{background:#fff;color:#0f172a}.nurikabe-tile.unknown{background:var(--surface);color:var(--muted)}
.clue-number{font-weight:800;font-size:1.4rem}
.nurikabe-tile.selected{outline:1px solid #3b82f6;outline-offset:-4px}.nurikabe-tile.error .clue-number{color:var(--error);text-decoration:underline wavy var(--error)}.nurikabe-tile:disabled{opacity:1}
.mark-controls,.play-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.mark-controls button,.play-actions button{min-height:44px}.mark-controls button{font-size:1.2rem}#save-notice:empty{display:none}
.nurikabe-tile.error{text-decoration:underline wavy #b91c1c;text-underline-offset:3px}.nurikabe-tile.black.error{text-decoration-color:#fca5a5}.nurikabe-tile.error .clue-number{color:#b91c1c;text-decoration:underline wavy #b91c1c}
