From 5e177cc3698ed4a0b469f4a827bcb779a502debc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=A0=95=EC=8B=9C=EC=9B=90?= Date: Wed, 15 Jul 2026 17:36:41 +0900 Subject: [PATCH] Stop drag-selecting the game board The table is a control surface, but the browser treats it as a document, so dragging across it painted card numbers and labels blue and popped a copy menu on a mobile long-press. Selection is now off across .app-shell and turned back on only for input/textarea -- in practice the seed field, the one place you would actually want to select and copy text. user-select touches neither click nor focus, so every button and card still responds. Verified in a browser: dragging across the hand and the score plaque selects nothing, while the seed field still selects and copies. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01XBQKgvBbxbheiTF1AVy1Sh --- web/src/styles.css | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/web/src/styles.css b/web/src/styles.css index 12e043a..a98642b 100644 --- a/web/src/styles.css +++ b/web/src/styles.css @@ -18,6 +18,23 @@ } * { box-sizing: border-box; } + +/* The table is a control surface, not a document. Dragging across it should never + paint a card's number blue or pop a long-press copy menu on mobile. Selection is + off everywhere and turned back on only for text you would actually want to copy + or edit -- in practice the seed field. user-select does not touch click or focus, + so every button still works. */ +.app-shell { + user-select: none; + -webkit-user-select: none; + -webkit-touch-callout: none; +} + +.app-shell input, +.app-shell textarea { + user-select: text; + -webkit-user-select: text; +} html, body, #root { min-width: 1024px; min-height: 100%; margin: 0; } /* Below the supported minimum width/height the board no longer shrinks (app-shell keeps a 1024x720 floor), so allow scrolling instead of clipping