.material-paper,
.material-paint,
.material-ink,
.material-wash {
  isolation: isolate;
  position: relative;
}

.material-paper::before,
.material-paint::before,
.material-ink::before,
.material-wash::before {
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: inherit;
  content: "";
  pointer-events: none;
  background: var(--material-texture);
  background-size: var(--material-size, auto);
  opacity: var(--material-opacity, .14);
  mix-blend-mode: var(--material-blend, multiply);
}

.material-paper::before {
  --material-texture: radial-gradient(circle at 20% 30%, rgb(255 255 255 / .12) 0 1px, transparent 1.5px), linear-gradient(115deg, transparent 0 48%, rgb(255 255 255 / .04) 50%, transparent 53%);
  --material-size: 19px 19px, auto;
  --material-opacity: .16;
  --material-blend: soft-light;
}

.material-paint::before {
  --material-texture: linear-gradient(105deg, transparent 0 35%, rgb(255 255 255 / .2) 48%, transparent 64%), radial-gradient(circle at 80% 20%, rgb(255 255 255 / .2), transparent 35%);
  --material-opacity: .2;
  --material-blend: soft-light;
}

.material-ink::before {
  --material-texture: repeating-linear-gradient(90deg, transparent 0 9px, rgb(255 255 255 / .16) 10px, transparent 12px);
  --material-size: auto;
  --material-opacity: .16;
  --material-blend: screen;
}

.material-wash::before {
  --material-texture: radial-gradient(ellipse at 18% 18%, rgb(201 120 67 / .36), transparent 42%), radial-gradient(ellipse at 86% 80%, rgb(120 146 163 / .26), transparent 48%);
  --material-size: auto;
  --material-opacity: .34;
  --material-blend: multiply;
}

.material-paper > *,
.material-paint > *,
.material-ink > *,
.material-wash > * {
  position: relative;
  z-index: 1;
}
