@font-face {
  font-family: "Quadrant Text Mono";
  src: url("fonts/QuadrantTextMono-RegularItalic.woff2") format("woff2"), url("fonts/QuadrantTextMono-RegularItalic.woff") format("woff");
  font-weight: normal;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Quadrant Text Mono";
  src: url("fonts/QuadrantTextMono-Regular.woff2") format("woff2"), url("fonts/QuadrantTextMono-Regular.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
:root {
  --serif: "Quadrant Text Mono", serif;
  --text-size: 1.5rem;
}

* {
  box-sizing: border-box;
  user-select: none;
}

body {
  overflow: hidden;
}

#decor, .decor {
  z-index: 200;
}

#tint {
  z-index: 100;
}

#text {
  z-index: 250;
}

#aboveground {
  z-index: 3;
}

#foreground {
  z-index: 1;
}

#background {
  z-index: -9;
}

#text {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 1rem;
  font-size: var(--text-size);
}

#instructions {
  color: #fff;
  mix-blend-mode: difference;
  font-size: 1rem;
  text-align: center;
  padding: 1rem;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 1220;
}

#instructions:before {
  content: "( ";
}

#instructions:after {
  content: " )";
}

body {
  font-family: var(--serif);
}

html, body {
  height: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
}

body {
  position: relative;
  overflow: hidden;
  background: var(--bg);
  color: var(--text);
  font-weight: normal;
}

#guide {
  position: fixed;
  z-index: 100;
  left: 50%;
  transform: translateX(-50%);
  bottom: 10%;
  font-size: 3rem;
  display: none;
}

#dream {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: all !important;
  cursor: pointer;
  background-size: cover;
  background-repeat: no-repeat;
}

#debug {
  z-index: 999;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  padding: 0 1rem;
}

#decor, .decor {
  z-index: 200;
}

#tint {
  z-index: 100;
}

#text {
  z-index: 250;
}

#aboveground {
  z-index: 3;
}

#foreground {
  z-index: 1;
}

#background {
  z-index: -9;
}

#text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0.5rem;
  color: var(--text);
  font-size: 1.25rem;
  line-height: 120%;
  text-align: center;
}
#text .wrapper {
  text-align: center;
  padding: 0.25rem;
}
#text[pre] .wrapper {
  white-space: pre-wrap;
}
#text[s*=talk] {
  justify-content: center;
  text-shadow: none;
}
#text[s*=shadow] {
  text-shadow: 0 0 15px #fff;
}
#text[s*=posStart] {
  justify-content: flex-start;
}
#text[s*=posEnd] {
  justify-content: flex-end;
}
#text[s*=xs] {
  font-size: 0.5rem;
}
#text[s*=s] {
  font-size: 0.75rem;
}
#text[s*=m] {
  font-size: 1.25rem;
}
#text[s*=ml] {
  font-size: 1.5rem;
}
#text[s*=large] {
  font-size: 2rem;
}
#text[s*=xlarge] {
  font-size: 2.5em;
}
#text[s*=script] {
  font-family: var(--scriptFont);
  font-size: 1.5rem;
}
#text[s*=shout] {
  font-size: 1.25rem;
  color: #fff;
  text-transform: uppercase;
  text-shadow: none;
  justify-content: center;
}
#text[s*=shout] {
  justify-content: center;
}
#text.invert svg {
  filter: invert(1);
}

.img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  background-size: cover;
  object-fit: cover;
}
.img[s=cover] img {
  object-fit: cover;
  width: 100%;
}
.img[s=fit] img {
  object-fit: fit;
  width: 100%;
}

img[src=""] {
  display: none;
}

#background {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#background img {
  opacity: 1;
  width: 100%;
  height: 100%;
  background-size: cover;
  object-fit: cover;
}

#foreground {
  object-fit: contain;
}
#foreground img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

#tint {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

#decor, .decor {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  pointer-events: none;
}

.decor[decor=tv] {
  background-image: url(/a/tv-cover.gif);
  mix-blend-mode: normal;
  background-size: cover;
}

.decor[decor=halftone] {
  background-image: url(/a/texture/halftone.gif);
  background-size: 60%;
  opacity: 0.35;
  mix-blend-mode: overlay;
}

.decor[decor=halftone2] {
  background-image: url(/a/texture/halftone-2.gif);
  background-size: 0%;
  opacity: 0.45;
  mix-blend-mode: soft-light;
}

.decor[decor=noise] {
  background: transparent;
  background-image: url(/a/texture/noise.gif);
  background-size: 10%;
  mix-blend-mode: overlay;
  opacity: 0.8;
  filter: contrast(1.5) brightness(0.6);
}

.decor[decor=scope] {
  z-index: 100;
  mix-blend-mode: normal;
  background: radial-gradient(circle, rgba(255, 255, 255, 0) 0%, rgb(0, 0, 0) 70%, rgb(0, 0, 0) 100%);
}

.decor[decor=scopeLight] {
  z-index: 100;
  mix-blend-mode: normal;
  background: radial-gradient(circle, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 70%, rgb(255, 255, 255) 100%);
}

[fx*=invertColor] {
  filter: invert(1);
}

[fx*=invert] {
  background: #000;
  color: #fff;
}
[fx*=invert] #text {
  background: #fff;
  color: #fff;
}

[fx*=s] .wrapper {
  font-size: 0.8rem;
}

[fx*=invertOnHover]:hover .img {
  filter: invert(1);
}

[fx*=blurUntilHover] {
  filter: blur(7px);
  transition: filter 3s ease-in-out;
}
[fx*=blurUntilHover]:hover {
  filter: blur(0.5px);
}

[s*=softBlurUntilHover] {
  filter: blur(4px);
  transition: filter 1.5s ease-in-out;
}
[s*=softBlurUntilHover]:hover {
  filter: blur(0.5px);
}

[s*=lightInvert] {
  background: #fff;
}
[s*=lightInvert] img {
  filter: invert(0.8) brightness(1.9);
}

[fx*=w] {
  background: #fff;
}

[fx*=blur] {
  filter: blur(2px);
}

[fx*=bright] {
  filter: brightness(4) contrast(1.5);
}

[fx*=xdark] {
  filter: brightness(0.5) contrast(2);
}

[fx*=xxdark] {
  filter: brightness(0.1) contrast(2);
}

[fx*=xcontrast] {
  filter: contrast(2.5);
}

[fx*=xbright] {
  filter: brightness(6) contrast(2);
}

[fx*=xxbright] {
  filter: brightness(10) contrast(3);
}

[fx*=invert] {
  filter: invert(1);
}

[fx*=flipX] {
  transform: scaleX(-1);
}

[fx*=flipY] {
  transform: scaleY(-1);
}

[fx*=flip90] {
  transform: rotate(90deg);
}

[fx*=flip180] {
  transform: rotate(180deg);
}

[fx*=flip270] {
  transform: rotate(270deg);
}

[fx*=flipX90] {
  transform: scaleX(-1) rotate(90deg);
}

[fx*=flipY180] {
  transform: scaleY(-1) rotate(180deg);
}

[fx*=flipXAnimate] {
  animation: flipXInstant 1s steps(1, start) infinite;
}

[fx*=grayscaleFlicker] {
  animation: grayscaleFlicker 2.5s infinite;
}

@keyframes grayscaleFlicker {
  0%, 100% {
    filter: contrast(1.2) brightness(0.8);
  }
  50% {
    filter: grayscale(1) contrast(1.5) brightness(0.7);
  }
}
[s*=colorFlicker] {
  animation: colorFlicker 3s infinite;
}

@keyframes colorFlicker {
  0%, 100% {
    filter: grayscale(1) contrast(1.8) brightness(0.7);
  }
  50% {
    filter: contrast(1.4) brightness(0.8);
  }
}
#tint {
  z-index: 50;
  mix-blend-mode: overlay;
}

#tint.solid {
  mix-blend-mode: normal;
}

#tint.linear {
  background: linear-gradient(to bottom, #EBF0E6, #F87BAF, #EEC2DE, #E18BAD, #DA847E, #8AA16D, #274681, #1E3266, #111520, #EBF0E6);
  background-size: 100% 200%;
  animation: slideGradient var(--duration, 20s) linear infinite;
}

@keyframes slideGradient {
  0% {
    background-position: 0% 0%;
  }
  100% {
    background-position: 0% 200%;
  }
}
#tint.radial {
  background: radial-gradient(circle at 50% 50%, #EBF0E6, #F87BAF, #EEC2DE, #E18BAD, #DA847E, #8AA16D, #274681, #1E3266, #EBF0E6);
  animation: zoomGradient var(--duration, 20s) linear infinite;
  transform: scale(var(--initial-scale, 1));
}

@keyframes zoomGradient {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(2);
  }
}

/*# sourceMappingURL=s.css.map */
