/* Static equivalent of Paper Shaders' injected style element.
 *
 * CSP FIX (Apollo P1). ShaderMount injects this CSS at runtime via
 * `styleElement.innerHTML = defaultStyle`, which a strict Content-Security-
 * Policy blocks unless 'unsafe-inline' is allowed. Weakening CSP to make a
 * decorative shader run is the wrong trade.
 *
 * The mount guards its injection with:
 *     if (!ownerDocument.querySelector("style[data-paper-shader]")) { ...inject }
 *
 * So shipping the same rules ourselves, in a linked stylesheet, with a marker
 * element carrying `data-paper-shader`, means the guard is already satisfied and
 * NO inline injection ever happens. No CSP exception, and the vendored Apache-2.0
 * code stays byte-for-byte unmodified — which matters because we redistribute it.
 *
 * Rules below are reproduced from @paper-design/shaders 0.0.80 shader-mount.js
 * `defaultStyle`, under Apache-2.0. Keep in sync when the pinned version changes.
 */
@layer paper-shaders {
  :where([data-paper-shader]) {
    isolation: isolate;
    position: relative;

    & canvas {
      contain: strict;
      display: block;
      position: absolute;
      inset: 0;
      z-index: -1;
      width: 100%;
      height: 100%;
      border-radius: inherit;
      corner-shape: inherit;
    }
  }
}
