/* Halftone: each tile's halftone is drawn into a canvas laid over it (halftone_controller.js) */

.halftone-tile {
    position: absolute;
    pointer-events: none;
}

[data-controller~="halftone"] [data-halftone-target="tile"] {
    /* Never display: none, so videos keep decoding and images still lazy-load */
    opacity: 0;
}

/* No WebGL2 */
.halftone--fallback [data-halftone-target="tile"] {
    opacity: 1;
    filter: grayscale(1) contrast(1.2);
}
