Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Template:ESWording/styles.css

Template page
Revision as of 17:46, 23 April 2025 by Gpe (talk | contribs) (// via Wikitext Extension for VSCode)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
@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;
}

.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;
  }
}