#board{display:grid;grid-template-columns:repeat(4,minmax(44px,1fr));gap:2px;width:100%;aspect-ratio:1;max-width:400px;margin:auto}
.tapa-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}
.tapa-tile.black{background:#0f172a;color:#fff}.tapa-tile.white,.tapa-tile.fixed{background:#fff;color:#0f172a}.tapa-tile.unknown{background:var(--surface);color:var(--muted)}
.clue-number{display:grid;grid-template-columns:repeat(2,1fr);gap:5px;font-weight:800;font-size:1.05rem;pointer-events:none}.clue-number[data-count="1"]{grid-template-columns:1fr;font-size:1.4rem}
.tapa-tile.selected{box-shadow:none;outline:1px solid #3b82f6;outline-offset:-4px}.tapa-tile:disabled{opacity:1}.tapa-tile.error{text-decoration:underline wavy #b91c1c;text-underline-offset:3px}.tapa-tile.black.error{text-decoration-color:#fca5a5}.tapa-tile.error .clue-number{color:#b91c1c;text-decoration:underline wavy #b91c1c}
.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}
