| @@ -1,11 +1,16 @@ | ||
| 1 | 1 | @import "tailwindcss" source(none) important; |
| 2 | 2 | @import "../tailwind.css" source(none); |
| 3 | 3 | @source "."; |
| 4 | 4 | |
| 5 | +:root { | |
| 6 | + color-scheme: only light; | |
| 7 | +} | |
| 8 | + | |
| 5 | 9 | @layer components { |
| 10 | + /* Theme variations like hong-kong and tokyo uppercase every heading. */ | |
| 6 | 11 | .extendify-agent-markdown :is(h1, h2, h3, h4) { |
| 7 | - @apply font-sans! text-gray-900!; | |
| 12 | + @apply font-sans! normal-case! tracking-normal! text-gray-900!; | |
| 8 | 13 | } |
| 9 | 14 | .extendify-agent-markdown h1 { |
| 10 | 15 | @apply mb-2! mt-0! text-2xl! font-bold!; |
| 11 | 16 | } |
| @@ -70,27 +75,64 @@ | ||
| 70 | 75 | background-position: 0% 50%; |
| 71 | 76 | } |
| 72 | 77 | } |
| 73 | 78 | |
| 79 | +/* animation-delay only spaces the first pass, so the hold is in the keyframes. */ | |
| 74 | 80 | .status-animation { |
| 81 | + /* On a full-width block the band sweeps mostly past the centered text. */ | |
| 82 | + display: inline-block; | |
| 75 | 83 | background-image: linear-gradient( |
| 76 | 84 | to right, |
| 77 | - #1e1e1e 0% 40%, | |
| 78 | - #cccccc 55%, | |
| 79 | - #1e1e1e 60% 100% | |
| 85 | + var(--color-gray-900) 0% 40%, | |
| 86 | + var(--color-gray-600) 50%, | |
| 87 | + var(--color-gray-900) 60% 100% | |
| 80 | 88 | ); |
| 81 | - background-size: 200% 100%; | |
| 89 | + background-size: 250% 100%; | |
| 82 | 90 | color: transparent; |
| 83 | 91 | background-clip: text; |
| 84 | 92 | -webkit-background-clip: text; |
| 85 | - animation: extendify-status-animation 2.5s linear infinite; | |
| 93 | + animation: extendify-status-animation 2s linear 1s infinite; | |
| 86 | 94 | } |
| 95 | +::highlight(key) { | |
| 96 | + color: #953800; | |
| 97 | +} | |
| 98 | +::highlight(string) { | |
| 99 | + color: #116329; | |
| 100 | +} | |
| 101 | +::highlight(numeric), | |
| 102 | +::highlight(boolean), | |
| 103 | +::highlight(constant) { | |
| 104 | + color: #0550ae; | |
| 105 | +} | |
| 106 | +.status-scribble { | |
| 107 | + stroke-dasharray: 1; | |
| 108 | + stroke-dashoffset: 1; | |
| 109 | + animation: extendify-status-scribble 2.4s ease-in-out infinite; | |
| 110 | +} | |
| 111 | +@keyframes extendify-status-scribble { | |
| 112 | + 0% { | |
| 113 | + stroke-dashoffset: 1; | |
| 114 | + } | |
| 115 | + 50% { | |
| 116 | + stroke-dashoffset: 0; | |
| 117 | + } | |
| 118 | + 100% { | |
| 119 | + stroke-dashoffset: -1; | |
| 120 | + } | |
| 121 | +} | |
| 122 | +@media (prefers-reduced-motion: reduce) { | |
| 123 | + .status-scribble { | |
| 124 | + animation: none; | |
| 125 | + stroke-dashoffset: 0; | |
| 126 | + } | |
| 127 | +} | |
| 87 | 128 | @keyframes extendify-status-animation { |
| 88 | 129 | 0% { |
| 89 | 130 | background-position: 100% 50%; |
| 90 | 131 | } |
| 132 | + 50%, | |
| 91 | 133 | 100% { |
| 92 | - background-position: 00% 50%; | |
| 134 | + background-position: 0% 50%; | |
| 93 | 135 | } |
| 94 | 136 | } |
| 95 | 137 | |
| 96 | 138 | body.extendify-agent-mobile-btn-open #site-editor { |
| @@ -124,8 +166,14 @@ | ||
| 124 | 166 | /* no-prefix */ |
| 125 | 167 | .extendify-agent-highlighter-mode.extendify-agent-busy { |
| 126 | 168 | cursor: not-allowed !important; |
| 127 | 169 | } |
| 170 | +/* The `*` is load-bearing: crosshair sits on the blocks, not on this root. */ | |
| 171 | +/* no-prefix */ | |
| 172 | +.extendify-agent-working, | |
| 173 | +.extendify-agent-working * { | |
| 174 | + cursor: wait !important; | |
| 175 | +} | |
| 128 | 176 | /* Ignore button block if inside buttons and only one button */ |
| 129 | 177 | /* no-prefix */ |
| 130 | 178 | .extendify-agent-highlighter-mode .wp-block-buttons:has(> .wp-block-button):not( |
| 131 | 179 | :has(> .wp-block-button:nth-of-type(2)) |
| @@ -144,5 +192,42 @@ | ||
| 144 | 192 | * (anchors navigate, form controls focus). */ |
| 145 | 193 | /* no-prefix */ |
| 146 | 194 | .extendify-agent-highlighter-mode .wp-lightbox-container img { |
| 147 | 195 | pointer-events: none !important; |
| 196 | +} | |
| 197 | +/* no-prefix */ | |
| 198 | +body.extendify-agent-canvas-blurred { | |
| 199 | + --extendify-canvas-blur: 3px; | |
| 200 | +} | |
| 201 | +/* Blurring the wp-block-* descendants instead would compound at every level. */ | |
| 202 | +/* no-prefix */ | |
| 203 | +.extendify-agent-canvas-open .wp-site-blocks > header, | |
| 204 | +.extendify-agent-canvas-open .wp-site-blocks > main, | |
| 205 | +.extendify-agent-canvas-open .wp-site-blocks > footer, | |
| 206 | +/* Leaves only: a filter re-anchors fixed children — the bar, the menu backdrop. */ | |
| 207 | +.extendify-agent-canvas-open #adminmenuback, | |
| 208 | +.extendify-agent-canvas-open #adminmenuwrap, | |
| 209 | +.extendify-agent-canvas-open #wpbody, | |
| 210 | +.extendify-agent-canvas-open #wpfooter, | |
| 211 | +.extendify-agent-canvas-open #wpadminbar, | |
| 212 | +.extendify-agent-canvas-open [data-extendify-agent-emptied], | |
| 213 | +.extendify-agent-canvas-open #extendify-toolbar { | |
| 214 | + filter: blur(var(--extendify-canvas-blur, 0px)); | |
| 215 | + transition: filter 300ms ease-in-out; | |
| 216 | +} | |
| 217 | + | |
| 218 | +/* no-prefix */ | |
| 219 | +.extendify-agent-canvas-dims-agent [data-extendify-agent-panel] { | |
| 220 | + filter: blur(var(--extendify-canvas-blur, 0px)); | |
| 221 | + transition: filter 300ms ease-in-out; | |
| 222 | +} | |
| 223 | + | |
| 224 | +/* Below 783px the sidebar unmounts, and an offset left behind strands the bar. */ | |
| 225 | +/* 384 and 8 mirror Skeleton::printStyles; drift shows up as a jump on mount. */ | |
| 226 | +@media (min-width: 783px) { | |
| 227 | + /* no-prefix */ | |
| 228 | + html.extendify-agent-docked #wpadminbar { | |
| 229 | + margin: 8px 8px 0 384px; | |
| 230 | + max-width: calc(100% - 392px); | |
| 231 | + border-radius: 8px 8px 0 0; | |
| 232 | + } | |
| 148 | 233 | } |