@keyframes spin {
to { transform: translate(-50%, -50%) rotate(360deg); }
}
.es-container {
border: 1px solid var(--border-color-base);
border-radius: var(--border-radius--large);
padding: 1em;
overflow: hidden;
position: relative;
display: block;
}
.es-container::after {
position: absolute;
content: "";
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: -1;
opacity: 0.25;
background-image: url("https://raw.githubusercontent.com/foundryvtt/dnd5e/refs/heads/4.4.x/ui/texture-gray1.webp");
background-repeat: no-repeat;
background-size: cover;
/* will-change: transform; */
/* transform: translateZ(0); */
}
.es-mask-rotator {
position: absolute;
top: calc(100% - 4em);
left: calc(100% - 4em);
width: 150%;
height: 150%;
transform: translate(-50%, -50%);
opacity: 0.2;
display: block;
/* Use the SVG directly as background */
background-image: url("https://548916280-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FpaqFHtSBIvRvOg8Wfmx5%2Fuploads%2FWEViu7j32vfudpdSmvEG%2FSpell%20Circle.svg?alt=media&token=e1e66eeb-da0d-47fa-b71b-d823fbfe3cd7");
background-size: contain;
background-repeat: no-repeat;
background-position: center;
background-color: transparent;
/* Force-recolor the SVG using filters */
filter: brightness(0) saturate(100%); /* Default to black */
pointer-events: none;
z-index: 0;
transform-origin: center;
/* will-change: transform; */
/* backface-visibility: hidden; */
animation: spin 300s linear infinite;
}
.es-wording-container {
position: relative;
z-index: 1;
display: block;
}
.es-wording-container,
.es-effect-container {
color: unset;
}
.es-intro {
font-family: "Mea Culpa", cursive;
font-weight: 400;
font-style: normal;
display: block;
font-size: 2em;
user-select: none;
margin-bottom: 0.25em;
}
.es-intro a {
color: unset;
}
.es-wording {
display: block;
margin-left: 1em;
margin-right: 1em;
font-family: "Quintessential", serif;
font-weight: 400;
font-style: normal;
}
/* Light mode colors */
@media (prefers-color-scheme: light) {
.es-life .es-mask-rotator {
filter: brightness(0) saturate(100%) sepia(100%) saturate(10000%) hue-rotate(20deg) brightness(1);
}
.es-storm .es-mask-rotator {
filter: brightness(0) saturate(100%) sepia(100%) saturate(10000%) hue-rotate(190deg) brightness(1);
}
.es-necro .es-mask-rotator {
filter: brightness(0) saturate(100%); /* Already black */
}
.es-flame .es-mask-rotator {
filter: brightness(0) saturate(100%) sepia(100%) saturate(10000%) hue-rotate(330deg) brightness(1.2);
}
.es-nature .es-mask-rotator {
filter: brightness(0) saturate(100%) sepia(100%) saturate(10000%) hue-rotate(100deg) brightness(0.8);
}
.es-multi .es-mask-rotator {
filter: brightness(0) saturate(100%) sepia(100%) saturate(10000%) hue-rotate(270deg) brightness(0.8);
}
.es-life {
color: #3d340b;
background-color: #e5a50a0d;
}
.es-storm {
color: #0d2139;
background-color: #1a5fb40d;
}
.es-necro {
color: #000000;
background-color: #0000000d;
}
.es-flame {
color: #380609;
background-color: #a51d2d0d;
}
.es-nature {
color: #0c341e;
background-color: #26a2690d;
}
.es-multi {
color: #24102b;
background-color: #6135830d;
}
}
/* Dark mode colors */
@media (prefers-color-scheme: dark) {
.es-life .es-mask-rotator {
filter: brightness(0) saturate(100%) sepia(100%) saturate(10000%) hue-rotate(40deg) invert(1);
}
.es-storm .es-mask-rotator {
filter: brightness(0) saturate(100%) sepia(100%) saturate(10000%) hue-rotate(200deg) invert(1);
}
.es-necro .es-mask-rotator {
filter: brightness(0) saturate(100%) invert(1); /* Grey */
}
.es-flame .es-mask-rotator {
filter: brightness(0) saturate(100%) sepia(100%) saturate(10000%) hue-rotate(320deg) invert(1);
}
.es-nature .es-mask-rotator {
filter: brightness(0) saturate(100%) sepia(100%) saturate(10000%) hue-rotate(110deg) invert(1);
}
.es-multi .es-mask-rotator {
filter: brightness(0) saturate(100%) sepia(100%) saturate(10000%) hue-rotate(280deg) invert(1);
}
.es-life {
color: #faf7d0;
background-color: #e5a50a0d;
}
.es-storm {
color: #e4effc;
background-color: #1a5fb40d;
}
.es-necro {
color: #a9a8aa;
background-color: #0000000d;
}
.es-flame {
color: #f5d4d1;
background-color: #a51d2d0d;
}
.es-nature {
color: #dbf4e0;
background-color: #26a2690d;
}
.es-multi {
color: #e4d2e4;
background-color: #6135830d;
}
}