/* Image compress (/tools/image-compress): upload/work states, sliders and the before/after previews, which the tool kit in article.css can't express. */
#tool [hidden] { display: none !important; }
.tool-drop[hidden] + .im-work { margin-top: 0; }
/* Keep the file input keyboard-reachable while the whole drop zone stays the visible control */
.im-file { position: absolute; width: 1px; height: 1px; opacity: 0; }
.tool-drop:focus-within { border-color: var(--cta-main); color: var(--text-main); outline: 2px solid var(--link); outline-offset: 3px; }
.im-work > * + * { margin-top: var(--space-24); }
.im-range { width: 100%; accent-color: var(--cta-main); }
.im-val { color: var(--link); }
.im-img { max-height: 22rem; margin: 0 auto var(--space-12); border-radius: var(--space-8); }
/* No green token in article.css; same green as the old page */
.im-save { display: block; margin-top: var(--space-8); font-size: 1.4rem; color: #34D399; }
.im-save.is-bigger { color: var(--warn); }
