/* MAIN */
@import url('https://fonts.googleapis.com/css2?family=Germania+One&family=Pirata+One&display=swap');

body {
  background-color: #15100c;
  color: white;
}
.intro img {
  margin-inline: auto;
}
.intro p {
  font-size: 1.5em;
  text-align: center;
  max-width: 50ch;
  text-wrap: pretty;
  margin-inline: auto;
  line-height: 1.5;
}
@supports (-moz-appearance: none) {
  .intro p:first-child:first-letter {
    padding-block-start: 0.16em;
  }
}

h2 {
  margin-block: 1em;
  font-size: 2em;
}
h3 {
  font-weight: normal;
}
.germania-one-regular {
  font-family: "Germania One", system-ui;
  font-weight: 400;
  font-style: normal;
  text-align: center;
}
#page {
  background-color: #15100c;
  isolation: isolate;
  position: relative;
  overflow: clip;
}
#page > * {
  z-index: 1;
}
#page::before {
  content: "";
  position: absolute;
  width: 200px;
  height: 200px;
  background: radial-gradient(circle, color-mix(in srgb, red, transparent 50%) 0%, color-mix(in srgb, #15100c, transparent 100%) 70%);
  border-radius: 50%;
  pointer-events: none;
  mix-blend-mode: screen;
  left: var(--light-x);
  top: var(--light-y);
  z-index: 0;
  transition-property: left, top;
  transition-duration: 300ms;
  transition-timing-function: cubic-bezier(.46,1.24,.89,1.14);
}
#page::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  inset: 0;
  background-image: url("../images/divider.webp"), url("../images/tiled-bg.webp");
  background-position: center top;
  background-size: auto;
  background-repeat: no-repeat, repeat;
  z-index: 0;
}
#ender {
  height: 100px;
  background-image: url("../images/ender.webp");
  background-position: center;
  background-size: auto;
  background-repeat: no-repeat;
}
@media (width > 1920px) {
  #page {
    height: auto;
    background-size: 100%;
  }
  #ender {
    aspect-ratio: 1920/100;
    height: auto;
    background-size: 100%;
  }
}




/* INTERFACE */
#interface {
  margin-block-end: 120px;
}
#interface .timer {
  font-size: 2.5rem;
}
@media (width < 50rem) {
  #interface .timer {
    font-size: 1.875rem;
  }
}
#interface .timer::before {
  content: "Sale ends in:";
  font-size: 0.3em;
  letter-spacing: 0.2em;
  opacity: 0.6;
}
#interface button {
  --color1: #6b0b13;
  --color2: #3a0303;
  --color3: #fecb02;

  color: white;
  border-radius: 0.25rem;
  background-color: var(--color3);
  background-image: linear-gradient(
    var(--color3) 0%,
    color-mix(in srgb, var(--color3), var(--color1) 20%) 20%,
    color-mix(in srgb, var(--color3), var(--color1) 60%) 50%,
    color-mix(in srgb, var(--color3), var(--color1) 20%) 80%,
    var(--color3) 100%
  );
  font-size: 1.5rem;
  filter: drop-shadow(0 2px 5px black);
  overflow: clip;
}

#interface button::before {
  border-radius: 0.0625rem;
  background-color: var(--color3);
  background-image: url('../images/button-bg.webp'), linear-gradient(
    color-mix(in srgb, var(--color1), black 80%) 0%, 
    color-mix(in srgb, var(--color2), black 40%) 30%,
    color-mix(in srgb, var(--color1), red 70%) 100%
  );
  background-position: center top;
  background-size: 100%;
  filter: drop-shadow(0 0 2px red);
}
@media (hover: hover) {
  #interface button:hover::after {
    background-color: var(--color3);
    background-image: url('../images/button-bg.webp'), linear-gradient(
      color-mix(in srgb, var(--color1), black 80%) 0%, 
      color-mix(in srgb, var(--color2), black 20%) 10%,
      color-mix(in srgb, var(--color1), red 70%) 100%
    );
    background-position: center top;
    background-size: 100%;
  }
  #interface button:hover {
    filter: brightness(140%);
    /* text-shadow: rgb(90, 87, 255) 0 0 25px; */
  }
}

/* ATTRIBUTES */
@media (width < 100rem) {
  .column-grid.col-5 {
    --grid-column-count: 5;
  }
}
@media (width < 80rem) {
  .column-grid.col-5 {
    --grid-column-count: 5;
  }
}
@media (width < 50rem) {
  .column-grid.col-5 {
    --grid-column-count: 4;
  }
}
@media (width <= 37.5rem) {
  .column-grid.col-5 {
    --grid-column-count: 3;
    gap: 1.25rem;
  }
}
.attributes button.tooltip {
  background-image: url("../images/icon-bg.webp");
  background-size: cover;
  background-repeat: no-repeat;
}
.attributes [popover]:popover-open {
  padding: 1rem 1.25rem;
  background-color: #360909;
  color: white;
  border-radius: 0.1875rem;
}
.attributes [popover]:popover-open p span {
  color: orange;
}
.attributes [popover]:popover-open::before {
  border-radius: 2px;
  background-color: #1f0d0d;
  inset: 3px;
  background-image: linear-gradient(#1f0d0d 0%, rgb(26, 0, 3) 100%);
  filter: drop-shadow(0px 1px 4px rgb(185, 0, 0));
}
.attributes [popover] h3 {
  text-align: left;
}

.attributes {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 1.25rem;
  max-width: 56.25rem;
}
@media (width < 37.5rem) {
  .attributes {
    gap: 1rem;
  }
}

.kit-attributes figcaption {
  text-align: center;
  font-size: 1.5em;
  color: #a08c73;
}


/* EXTRAS */
.extra figure img {
  max-width: 25rem;
  background-image: url("../images/extras-bg.webp");
  background-position: center;
  background-size: cover;
}

/* REWARDS */
.reward {
  padding-block-end: 120px;
}
.reward figure img {
  max-width: 25rem;
}

/* HEADINGS */
.headings {
  margin-block: 4rem 1rem;
}
.headings::after, .headings::before {
  scale: 80%;
}
.headings::after {
  rotate: 0;
  transform: scaleY(-1);
}


/* MODALS */
.modal_close {
  color: white;
}

footer {
  background-color: black;
}