@font-face {
  font-family: Gamer;
  src: url("http://farragofiction.com/CatalystsBathroomSim/audio_utils/weird_sounds/weird_video/WeirdGifs/WeirdFonts/Curse%2012.ttf");
}


/*The Harvest is Leaking Into Zampanio More And More*/
@font-face {
  font-family: gameboy;
  src: url("http://lavinraca.eyedolgames.com/TheHarvestWakes/Fonts/early-gameboy/Early%20GameBoy.ttf");
}

@font-face {
  font-family: nunito;
  src: url("Fonts/nunito/Nunito-Regular.ttf");
}

#centered-contents {
  margin-left: auto;
  margin-right: auto;
  width: fit-content;
  position: relative;
}

body:not(.author-bot):not(.survival):not(.devil-of-spirals):not(.corporate-love)::after {
  background-image: url(images/universe_bg_itsababyechidna_sogross.png);
  background-position: center 0px;
  position: fixed;
  content: "";
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-size: 4000px;
  z-index: -1000;
}

.landing {
  .form-container {
    display: flex;
    gap: 31px;
  }
}

body.rabbit::after {
  background-size: 33% !important;

}

body.corporate-love {
  background-color: pink;
  color: red;

  p,
  h3,
  div::after {
    content: "\01F496";
  }

  p,
  h3,
  div::before {
    content: "\01F496";
  }


  .story-beat {
    background-color: #e4cbcb;
  }
}

h1 {
  font-family: gameboy;
  margin-left: 120px;
}

h3 {
  font-family: Gamer;
  text-decoration: underline;
  margin-bottom: 3px;
}

.spoiler {
  background-color: black;
  color: black;
}

.secrets-of-the-universe {
  position: relative;
}

.secrets-of-the-universe:before {
  content: '';
  width: 100vw;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: linear-gradient(transparent -50px, rgb(237, 231, 213));
}

.spoiler:hover {
  color: white;
}

.kBreach {
  position: relative;

  img {
    position: fixed;
  }

  img:hover {
    opacity: 0.1;
  }
}

.instructions {
  font-weight: 300;
  font-style: italic;
}

.subtitle {
  font-family: nunito;
  margin-left: 120px;
  font-weight: lighter;
  font-style: italic;
  margin-top: -31px;
}

body {
  background-color: rgb(237, 210, 135);
  color: black;
  margin: 0px;
  overflow: auto;
  font-size: 18px;
  background-size: 255px;
  font-family: 'nunito', sans-serif;
}

body.survival {
  background-color: black;
  color: red;
}

.truth-container {
  position: relative;
  display: block;
  width: 600px;
  height: 600px;
  margin-left: auto;
  margin-right: auto;
  background-image: url(http://farragofiction.com/ZampanioSim/images/empty.PNG);
  background-size: contain;
}


#truth-box {
  position: absolute;
  left: 51px;
  top: 43px;
  width: 50%;
  height: 50%;
  z-index: 1000;
}

#truths-words {
  display: inline-block;
  position: absolute;
  top: 126px;
  left: 37px;
  width: 391px;
  vertical-align: top;
  line-height: 20px;
  max-height: 200px;
  padding: 16px;
  border: 3px solid black;
  border-radius: 8px;
  background-color: rgb(237, 210, 135);
  margin: 13px;
  font-size: 16px;
  font-family: 'nunito', sans-serif;
  overflow: hidden;
}

.pill-container {
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
}

.achievement-container {
  display: flex;
  gap: 13px;
}

.achievement-pill {
  outline: none;
  border-radius: 13px;
  padding: 5px;
  background-color: red;
  font-weight: bolder;
  min-width: 100px;
  position: relative;
}

.rabbit a {
  color: red;
}

.rabbit a:visited {
  color: red;
}

a {
  color: lime;
  margin-bottom: 13px;
}

a:visited {
  color: lime;
}

a:hover {
  color: limegreen;
}

body.author-bot {
  background-color: grey;
  background-image: url(images/ab_bg.png);

  /*easter egg, its a tileable asset i made from ABs crochet doll i had a picture of in sburbsim: http://farragofiction.com/SBURBSim/images/ab_doll2.jpg*/
  .player-epilogue-wrapper {
    font-size: 12px;
    background-color: #e4e4e4;
  }

  h3 {
    font-family: 'Courier New', Courier, monospace;
  }
}

body.devil-of-spirals {
  background-color: black;
  color: white;

  ol {
    width: 50%;
  }

  li {
    margin-top: 31px;
  }

  video {
    height: 100vh;
    right: 0px;
    bottom: 0px;
    position: relative;
    display: block;
    position: fixed;
    z-index: -13;
  }
}



.fake-background {
  min-width: 100%;
  min-height: 100%;
  background-repeat: repeat;
  opacity: 0.4;
  position: fixed;
  filter: grayscale(1);
  top: 0px;
  left: 0px;
  z-index: -999;

}


#todo-pile {
  margin-top: 113px;
}

.player-name {
  font-weight: bolder;
}

.player-title {
  font-weight: bolder;
  color: red;
  text-decoration: line-through;
}

.player-wasted-title {
  font-weight: bolder;
  color: rgb(237, 210, 135);
  background-color: black;
  padding: 3px;
}

#container {


  font-family: 'nunito', sans-serif;
}

.story-beat {
  width: 1000px;
  overflow: hidden;
  margin-left: 113px;
  margin-right: auto;
  margin-top: 17px;
  box-shadow: 2px 2px 4px rgb(50, 37, 1);
  display: inline-block;
  padding: 16px;
  border: 3px solid black;
  border-radius: 8px;
  background-color: rgb(237, 231, 213);
  font-size: 16px;
  font-family: 'nunito', sans-serif;
  line-height: 18px;
}

.madness {
  padding: 113px;
  font-size: 10px;
  animation: shake 1s linear infinite;
}

button:disabled {
  opacity: 0.75;
  cursor: not-allowed;
  filter: saturate(0.1)
}

button {
  cursor: pointer;
}

.map-details {
  z-index: 10;
  border-top: 1px solid black;
  margin-top: 13px;
  position: relative;
  background: rgb(237, 231, 213);
  padding: 13px;
}

.horizontal-bar {
  display: flex;
  z-index: 10;
  background: rgb(237, 231, 213);
  flex-direction: row;
  flex-wrap: nowrap;
  position: relative;
  padding: 13px;
  gap: 13px;
  margin-bottom: 13px;
  margin-top: 13px;
}

.tick-bar {
  position: fixed;
  left: 0px;
  top: 31px;
  display: flex;
  flex-direction: column;
  gap: 13px;
  z-index: 1000;

}

.story-holder {
  display: flex;
  gap: 31px;
  padding: 31px;
}

.story-button {
  width: 300px;
  border: none;
  display: block;
  outline: none;
  background: none;
  text-align: left;
  text-decoration: underline;
  margin-top: 13px;

}

.story-button:disabled {
  opacity: 0.5;
}

.story-button::before {
  content: "*";
}

.stories {
  gap: 3px;
}

.stories .tick-button {
  font-size: 14px !important;
  font-family: 'Courier New', Courier, monospace;
}

.tick-bar-title {
  margin-left: auto;
  margin-right: auto;
  font-family: Gamer;
  font-size: 21px;
  text-decoration: underline;
}


.tick-button {
  font-family: Gamer;
  font-size: 21px;
  border-left: none;
  background-color: rgb(237, 210, 135);
  box-shadow: 2px 2px 4px rgb(50, 37, 1);
  position: relative;
}

.tick-once-button {
  background-color: rgb(237, 210, 135);
}

.tick-ten-button {
  background-color: rgb(201, 172, 91);
}

.tick-hundred-button {
  background-color: rgb(177, 139, 32)
}

.epilogue-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 13px;
}

.player-stat-left {
  width: 75px;
  font-weight: bolder;
}




.summary-stat-left {
  width: 200px;
  font-weight: bolder;
  border-bottom: 3px dotted black;
}

.player-epilogue-wrapper {
  border: 3px solid black;
  border-radius: 13px;
  padding: 13px;
  width: 413px;
}

.player-stat-pair {
  display: flex;
  gap: 31px;
  margin-bottom: 13px;
}

.summary-stat-pair {
  display: flex;
  gap: 31px;
  margin-bottom: 13px;
}


.collated-container {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  justify-content: space-around;

}

.ab-summary-container {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  justify-content: space-around;
}




.collated-stat-pair {
  display: flex;
  font-size: 12px;
  flex-wrap: nowrap;
  gap: 5px;
  margin-bottom: 3px;
  border: 1px solid black;
  padding: 3px;
  width: 200px;
  background-color: #e4e4e4;
  justify-content: space-around;
}

.collated-stat-left {
  width: 150px;
  font-weight: bolder;
  margin-top: auto;
  margin-bottom: auto;
}

.collated-stat-right {
  width: 100px;
  font-weight: bolder;
  margin-top: auto;
  margin-bottom: auto;
}

.guide-bot {
  position: fixed;
  left: -28px;
  width: 215px;
  -webkit-filter: drop-shadow(-1px -1px 13px #06FFC9);
  filter: drop-shadow(-1px -1px 13px #06FFC9);
}

@keyframes glow {

  0%,
  20%,
  40%,
  60%,
  80%,
  100% {
    -webkit-filter: drop-shadow(-1px -1px 13px #06FFC9);
    filter: drop-shadow(-1px -1px 13px #06FFC9);
  }

  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-filter: drop-shadow(1px 1px 13px #06FFC9);
    filter: drop-shadow(1px 1px 13px #06FFC9);
  }

}

@keyframes shake {

  0%,
  20%,
  40%,
  60%,
  80%,
  100% {
    transform: translate(1px, 3px);
  }

  10%,
  30%,
  50%,
  70%,
  90% {
    transform: translate(-1px, -3px);
  }

}

@keyframes hover {

  0%,
  20%,
  40%,
  60%,
  80%,
  100% {
    transform: translate(1px, 3px);
    -webkit-filter: drop-shadow(3px 3px 3px #06FFC9);
    filter: drop-shadow(3px 3px 3px #06FFC9);
  }

  10%,
  30%,
  50%,
  70%,
  90% {
    transform: translate(-1px, 0px);
    -webkit-filter: drop-shadow(3px 3px 3px #06FFC9);
    filter: drop-shadow(3px 3px 3px #06FFC9);
  }

}

.survival-container {
  width: 95%;
  margin-left: auto;
  margin-right: auto;
  padding: 13px;

  .player-flex {
    display: flex;
    gap: 3px;
    flex-wrap: wrap;
    justify-content: space-around;
  }

  button {

    margin-top: 13px;
    margin-bottom: 13px;
  }

  .top {
    display: flex;
    gap: 31px;
  }

  .player-edit-box {
    border: 1px solid red;
    padding: 13px;
    margin-bottom: 31px;
    margin-bottom: 13px;

    input {
      width: 200px;
    }

    select {
      width: 200px;
    }
  }

  .edit-pair {
    display: flex;
    gap: 3px;
    font-size: 13px;
    margin-bottom: 3px;
  }

  .edit-left {
    width: 100px;
    font-weight: bolder;
    border-bottom: 3px dotted black;
  }
}


.sburb-container {
  width: 1000px;
  box-shadow: 2px 2px 4px rgb(50, 37, 1);
  margin-left: auto;
  margin-right: auto;
  padding: 13px;
  background-color: #c4c4c4;
  border: 3px solid black;
  border-radius: 13px;
  margin-top: 31px;

  input {
    margin-left: 13px;
    height: 25px;
  }

  .form-container {
    margin-top: 13px;
  }

  label {
    width: 333px;
    border-top: 3px dotted white;
    display: inline-block;
    padding: 3px;
    margin-bottom: 13px;
    vertical-align: top;
  }

  .button-container {
    margin: 13px;
  }

  button {
    font-family: Gamer;
    font-size: 21px;
  }
}

.radio-button {
  background-color: white;
  color: black;
}

.ab-button {
  background-color: #B6B6B6;
  color: #0000FF;
}

.survive-button {
  background-color: black;
  color: red;
}

.cull-button {
  background-color: black;
  color: white;
  margin-top: 31px;
}


.river {
  background-color: #e9a9a9 !important;
  opacity: 0.9 !important;
  filter: none !important;
  color: #7f2323 !important;
  border-radius: 13px;
  border: 5px solid #7f2323 !important;
  background-image: radial-gradient(circle at 50% 50%, transparent 0%, #e76f6f 90%) !important;
}

.river:hover {
  animation-name: wiggle;
  animation-timing-function: ease-in;
  animation-duration: 10s;
  animation-fill-mode: both;
  animation-duration: 0.75s;
}


@keyframes wiggle {
  0% {
    transform: skewX(9deg);
  }

  10% {
    transform: skewX(-8deg);
  }

  20% {
    transform: skewX(7deg);
  }

  30% {
    transform: skewX(-6deg);
  }

  40% {
    transform: skewX(5deg);
  }

  50% {
    transform: skewX(-4deg);
  }

  60% {
    transform: skewX(3deg);
  }

  70% {
    transform: skewX(-2deg);
  }

  80% {
    transform: skewX(1deg);
  }

  90% {
    transform: skewX(0deg);
  }

  100% {
    transform: skewX(0deg);
  }
}

.empty-cell {
  border: 3px solid rgba(0, 0, 0, 0);
  background-color: rgba(0, 0, 0, 0);
  color: black;
  opacity: 0;
}


.maze {
  overflow: auto;
}

.maze-row {
  display: block;
  white-space: nowrap;
}

.maze-cell.fog-of-war {
  opacity: 50%;
  filter: brightness(0.5);
}

.maze-cell.selected {
  opacity: 1;
  filter: none;
  outline: 10px solid black;
}

.player-icon-holder {
  display: flex;
  flex-wrap: wrap;
  gap: 3px;
}

.error {
  color: red;
  font-family: 'Courier New', Courier, monospace;
}

.c1 {
  font-family: 'Courier New', Courier, monospace;
}

.c18 {
  font-family: 'Courier New', Courier, monospace;
}

.c5 {
  font-size: 11pt;
  font-weight: 700;
  font-family: "Courier New";
}

.radio-story-container {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  max-height: 500px;
  overflow-y: auto;
  overflow-x: none;
  padding-right: 13px;
}

.sub-story-beat {
  margin-top: 13px;

  video {
    margin-left: auto;
    margin-right: auto;
    display: block;
    max-height: 200px;
    margin-top: 31px;
    max-width: 600px;
  }


  img {
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 13px;
    max-height: 200px;
    max-width: 100%;
    cursor: pointer;
  }

  img:hover {
    transform: scale(2.0);
  }
}

.player-icon {
  height: 24px;
  width: 18px;

  svg {
    fill: black;
  }
}

.maze-cell {
  display: inline-block;
  width: 80px;
  height: 80px;
  padding: 10px;
  border: 3px solid #434343;
  background-color: #C4c4c4;
  cursor: pointer;
  overflow: hidden;
  opacity: 0.9;
  font-size: 16px;


}

.maze-cell.corridor {
  background-image: url(images/mall_of_my_childhoodweird.png);
  background-size: 17px;

}

.wasted-knowledge {
  display: none;
}

.pose-as-a-team {
  display: flex;
  flex-wrap: wrap;
  gap: 3px;
}

.ominous-code-comment {
  font-family: 'Courier New', Courier, monospace;
  color: red;
  background-color: #B6B6B6;
  border: 1px dotted red;
  padding: 31px;
  margin-top: 13px;
}

.entity-sprite {
  width: 81px;
  height: 148px;
  background-size: 330px;
  background-position-x: -81px;
  background-position-y: 0px;
}

.event-beat {
  margin-top: 113px;
  margin-bottom: 113px;
}


.mall-render {
  max-height: 500px;
  margin-top: 31px;
}

.empty-cell {
  opacity: 0;
}

.rabbit-hole {
  cursor: pointer;
}

.rabbit-hole:hover {
  filter: saturate(13.0)
}

.room-label {
  text-align: center;
  margin-top: 20px;
  text-wrap: pretty;
  margin-left: auto;
  margin-right: auto;
  text-transform: uppercase;
  font-size: 10px;
}

.click-here::after {
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' enable-background='new 0 0 24 24' height='24px' viewBox='0 0 24 24' width='24px' fill='%23a10000'%3E%3Crect fill='none' height='24' width='24'/%3E%3Cpath d='M9,19l1.41-1.41L5.83,13H22V11H5.83l4.59-4.59L9,5l-7,7L9,19z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: left center;
  position: absolute;
  right: -68;
  /*that's right. not 67, not 69, the objectively unfunny number*/
  top: -17px;
  padding: 31px;
  animation: shake 1s linear infinite;

}

/*usually i ask stack overflow how to do whatever css thing i don't have memorized and now google gemini jumps in the way first... its weird*/
.new-sticker {
  position: absolute;
  top: -10px;
  right: -10px;
  background-color: gold;
  color: black;
  font-weight: bold;
  font-size: 12px;
  padding: 8px 12px;
  border-radius: 12px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
  z-index: 10;
  transform: rotate(5deg);
  clip-path: polygon(50% 0%, 57% 14%, 71% 7%, 71% 23%, 86% 21%, 81% 36%,
      93% 39%, 83% 50%, 93% 61%, 81% 64%, 86% 79%, 71% 77%,
      71% 93%, 57% 86%, 50% 100%, 43% 86%, 29% 93%, 29% 77%,
      14% 79%, 19% 64%, 7% 61%, 17% 50%, 7% 39%, 19% 36%,
      14% 21%, 29% 23%, 29% 7%, 43% 14%);
}