| @@ -1802,13 +1802,8 @@ | ||
| 1802 | 1802 | -webkit-user-select: none; |
| 1803 | 1803 | -moz-user-select: none; |
| 1804 | 1804 | user-select: none; |
| 1805 | 1805 | } |
| 1806 | -:is(#chat-assistant-root, #zip-ai-snippets-root) .select-all{ | |
| 1807 | - -webkit-user-select: all; | |
| 1808 | - -moz-user-select: all; | |
| 1809 | - user-select: all; | |
| 1810 | -} | |
| 1811 | 1806 | :is(#chat-assistant-root, #zip-ai-snippets-root) .resize-none{ |
| 1812 | 1807 | resize: none; |
| 1813 | 1808 | } |
| 1814 | 1809 | :is(#chat-assistant-root, #zip-ai-snippets-root) .resize-y{ |
| @@ -4261,17 +4256,8 @@ | ||
| 4261 | 4256 | border-radius: 50%; |
| 4262 | 4257 | animation: spin 0.8s linear infinite; |
| 4263 | 4258 | } |
| 4264 | 4259 | |
| 4265 | -/* WP core's common.css styles `.spinner` too (hidden, floated, margin, gif). */ | |
| 4266 | -:is(#chat-assistant-root, #zip-ai-snippets-root) .spinner { | |
| 4267 | - visibility: visible; | |
| 4268 | - float: none; | |
| 4269 | - margin: 0; | |
| 4270 | - background: none; | |
| 4271 | - opacity: 1; | |
| 4272 | -} | |
| 4273 | - | |
| 4274 | 4260 | /* ── Scoped base styles (inside #chat-assistant-root only) ── */ |
| 4275 | 4261 | .sr-only { |
| 4276 | 4262 | position: absolute; |
| 4277 | 4263 | width: 1px; |
| @@ -4311,14 +4297,12 @@ | ||
| 4311 | 4297 | text-indent: 0; |
| 4312 | 4298 | text-decoration: none; |
| 4313 | 4299 | direction: ltr; |
| 4314 | 4300 | |
| 4315 | - /* Box reset for the elements wp-admin styles by type (`p`, `li`, `h1`, | |
| 4316 | - `input[type="text"]`, `.wp-core-ui select`). `&` is ID-weight (1,0,0) | |
| 4317 | - so it beats those; Tailwind utilities are ID+class and still win. The | |
| 4318 | - snippet editor's CodeMirror subtree keeps this weight too: its look is | |
| 4319 | - tuned against the reset. */ | |
| 4320 | - & :where(p, h1, h2, h3, h4, h5, h6, ul, ol, li, dd, blockquote, figure, hr, code, kbd, img, iframe, fieldset, input, textarea, select, button, .cm-editor, .cm-editor *) { | |
| 4301 | + /* Scoped preflight — replaces @import "tailwindcss/preflight" which leaks globally. | |
| 4302 | + Uses :where() for zero specificity so Tailwind utility classes always win. */ | |
| 4303 | + & :where(*), | |
| 4304 | + & :where(::before, ::after) { | |
| 4321 | 4305 | box-sizing: border-box; |
| 4322 | 4306 | margin: 0; |
| 4323 | 4307 | padding: 0; |
| 4324 | 4308 | border: 0 solid; |
| @@ -4369,20 +4353,8 @@ | ||
| 4369 | 4353 | border-collapse: collapse; |
| 4370 | 4354 | } |
| 4371 | 4355 | } |
| 4372 | 4356 | |
| 4373 | -/* Scoped preflight box reset for every other element — replaces | |
| 4374 | - @import "tailwindcss/preflight" which leaks globally. Zero specificity | |
| 4375 | - (root inside :where) so any class rule wins: .spinner, react-colorful, | |
| 4376 | - CodeMirror. */ | |
| 4377 | -:where(#chat-assistant-root, #zip-ai-snippets-root) :where(*), | |
| 4378 | -:where(#chat-assistant-root, #zip-ai-snippets-root) :where(::before, ::after) { | |
| 4379 | - box-sizing: border-box; | |
| 4380 | - margin: 0; | |
| 4381 | - padding: 0; | |
| 4382 | - border: 0 solid; | |
| 4383 | -} | |
| 4384 | - | |
| 4385 | 4357 | /* Chat iframe takes full viewport. Snippets admin page lives inside |
| 4386 | 4358 | `.wrap` — it must NOT be position:absolute. */ |
| 4387 | 4359 | #chat-assistant-root { |
| 4388 | 4360 | position: absolute; |
| @@ -5160,9 +5132,8 @@ | ||
| 5160 | 5132 | height: 150px; |
| 5161 | 5133 | } |
| 5162 | 5134 | .zip-ai-color-wheel .react-colorful__saturation { |
| 5163 | 5135 | border-radius: 10px 10px 0 0; |
| 5164 | - border-bottom: 0; | |
| 5165 | 5136 | } |
| 5166 | 5137 | .zip-ai-color-wheel .react-colorful__hue { |
| 5167 | 5138 | height: 18px; |
| 5168 | 5139 | border-radius: 0 0 10px 10px; |