:root{
--tex-grain:url("../assets/texture-grain.png"); /* @kind other */
--tex-paper:url("../assets/texture-paper.png"); /* @kind other */
--tex-abrasion:url("../assets/texture-abrasion.png"); /* @kind other */
--tex-grain-size:256px 256px; /* @kind other */
--tex-paper-size:512px 512px; /* @kind other */
--tex-abrasion-size:400px 400px; /* @kind other */
--tex-grain-opacity:0.34; /* @kind other */
--tex-paper-opacity:0.85; /* @kind other */
--tex-abrasion-opacity:0.07; /* @kind other */
}
/* Every large flat field carries texture. Applied as an ::after overlay so the
   field keeps its own background-color token. */
.sv-textured{position:relative}
.sv-textured::after{content:"";position:absolute;inset:0;pointer-events:none;background-image:var(--tex-grain),var(--tex-paper);background-size:var(--tex-grain-size),var(--tex-paper-size);opacity:var(--tex-grain-opacity);mix-blend-mode:multiply}
.sv-inked::after{content:"";position:absolute;inset:0;pointer-events:none;background-image:var(--tex-abrasion);background-size:var(--tex-abrasion-size);opacity:var(--tex-abrasion-opacity);mix-blend-mode:screen}
