/* General Styles */
* {
  transition: all 0.3s cubic-bezier(.17,.84,.44,1);
}

body {
  margin: 16px;
  background-color: #0e0e0e;
  color: white;
  font-family: Outfit, sans-serif;
}

a {
  color: skyblue !important;
  text-decoration: none !important;
}

a:hover {
  color: #00aff4;
  letter-spacing: 0.1em;
}

a:visited {
  color: #00aff4;
}


/* Effects etc. */
.chromatic {
	text-shadow: 2px 0px #6a55ff, -2px 0px #f88, 3px 0px #543cff6e, -3px 0px #ff8d8d5e;
}

.small {
  font-size: 14px;
  color: #858585;
}

.rainbow {
  background-size: 200% 100% !important; 
  background-clip: text !important;
  color: transparent !important;
  animation: a 5s linear infinite !important;
   text-shadow: none !important;
  background: linear-gradient(to right, rgb(255, 140, 150) 0%, rgb(255, 190, 120) 10%, rgb(250, 250, 150) 20%, rgb(150, 240, 170) 30%, rgb(140, 230, 230) 40%, rgb(140, 200, 250) 50%, rgb(140, 170, 250) 60%, rgb(170, 140, 250) 70%, rgb(220, 140, 250) 80%, rgb(250, 140, 200) 90%, rgb(255, 140, 150) 100% );
}

.absolute {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: end;
  align-items: end;
  z-index: 9999;
  pointer-events: none;
}

.C {
 position: fixed; top: 0; left: 0; width: 100%; height: 100%; image-rendering: pixelated; z-index: 999999; display: none; 
}

.somethingMari {
  display: none;
  position: absolute;
  filter: drop-shadow(rgba(0, 0, 0, 0.53) 2px 2px 0px);
  bottom: -5px;
  left: 75px;

}
/* Layout */
main {
  display: flex;
  height: 100vh;
  flex-direction: column;
}

.main-wrapper {
  margin: auto;display: flex;flex-direction: column;gap: 16px;
}

.window {
  width: 1150px;
  background-image: url("imagems/bg/darkernoise-alpha.png");
  backdrop-filter: blur(4px);
  display: flex;
  flex-direction: column;
  border: solid 2px #333;
  border-radius: 6px;
  box-shadow: 0px 0px 30px #00000095;
  overflow: hidden;
}

/* Header */
.status {
  display: flex;
  background-color: #00000050;
  letter-spacing: 0.3em;
  font-weight: bold;
  border-bottom: solid 2px #333;
  align-items: center;
  justify-content: center;
}

.header {
  padding: 8px;
  font-size: 1.2em;
  font-family: pkmn;
  cursor: default;
  user-select: none;
}

.header:active {
  scale: 1.05;
}

/* Columns */
.intro {
  display: flex;
  flex-grow: 1;
}

.column1 {
  width: auto;
  border-right: solid 2px #333;
  padding: 8px;
  min-width: 284px;
}

.column-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  justify-content: center;
  height: 100%;
  text-align: center;
}

#pix {
  user-select: none;
  width: 260px;
  border-radius: 6px;
  image-rendering: pixelated;
}

#pix:hover {
  scale: 1.025;
}

#pix:active {
  scale: 1.05;
}


.reroll {
cursor: pointer; filter: invert(47%) sepia(14%) saturate(195%) hue-rotate(180deg) brightness(94%) contrast(89%);
 user-select: none;
}

.reroll:hover {
filter: invert(47%) sepia(14%) saturate(195%) hue-rotate(180deg) brightness(96%) contrast(89%) drop-shadow(0px 0px 9px #73777d);
}

.reroll:active {
  scale: 0.95;
}

#playbackButton {
 font-size: 32px; 
 margin-top: -3px;
 cursor: pointer;
  filter: drop-shadow(0px 0px 0px #f0f);
 transition: all 0.3s cubic-bezier(.18,.81,.17,.96);
 user-select: none;
 height: 38px;
}

#playbackButton:hover {
  filter: drop-shadow(3px 3px 0px #f0f) drop-shadow(0px 0px 10px #00e7ff);
  color: #00e7ff;
}



.main-text {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 8px;
}

.details {
  text-align: left;
  font-size: 0.8em;
  color: #6a6a6a;
  margin-top: auto;
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  align-items: center;
}

.details > div:nth-child(1) {
  display: flex;
  gap: 16px;
  align-items: flex-end;
}


.column2 {
  display: flex;
  width: 100%;
}

.column2-main {
  display: flex;
  width: auto;
  height: 100%;
}

.column2-content {
  background-color: #00000054;
  display: flex;
  width: auto;
  flex-direction: column;
}

.welcome-box {
  font-weight: bold;
  border-bottom: solid 2px #333;
  padding: 2px 0;
  background-color: #0003;
  text-align: center;
}


.title-box {
  padding: 2px;
  text-align: center;
  border-bottom: solid 2px #333;
  background-color: #00000060;
  font-weight: bold;
}

.info-box {
  width: auto;
  border-left: solid 2px #333;
  overflow: hidden;
  background-color: #00000054;
  min-width: 300px;
}

.info-header, .old-projects-header {
  font-weight: bold;
  border-bottom: solid 2px #333;
  padding: 2px 0;
  background-color: #0003;
  text-align: center;
}

.info-links {
  display: flex;
  flex-direction: column;
  padding: 8px;
  align-items: center;
}

.info-link {
  display: flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  margin-bottom: 4px;
}

.info-icon {
  width: 24px;
  border-radius: 50px;
}

.inverted {
  filter: invert(1);
}

.old-projects-header {
  border-top: solid 2px #333;
}

.project-links {
  display: flex;
  flex-direction: column;
  padding: 8px;
  align-items: center;
}

.gradient-link {
  background: linear-gradient(122.53deg, #4C54D2 0%, #BF14A2 56.25%, #F73A1C 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-weight: 600;
  margin-bottom: 4px;
}

.underline-link {
  text-decoration: underline !important;
  color: white !important;
}

.misc-links {
  display: flex;flex-direction: column;gap: 6px; align-items: center;
}

.misc-links a {
  width: fit-content;
}


.button-container > img {
	cursor: pointer;
}

#explode-button {
  color: skyblue;
  cursor: pointer;
}

#explode-button:hover {
  letter-spacing: normal;
  animation: b 0.01s linear infinite;
}

#explosion-gif {
  width: 348px;
  height: 498px;
  image-rendering: pixelated;
    animation: explosionFade 0.6s ease forwards 0.6s !important;
}

#teleport {
  position: relative;
}

#teleport:hover {
  scale: 1.1;
  letter-spacing: 0.1em;
}

#teleport:hover > #teleport-text-blur {
  opacity: 1;
}

#teleport-text-blur {
  filter: blur(4px); position: absolute; opacity: 0; pointer-events: none;
}

#countdown-shadow {
  position: absolute;
  z-index: -1;
  opacity: 0.6;
  bottom: 0;
  filter: blur(3px);
}


.countdown-container {
  padding: 16px;
  border-radius: 8px;
  bottom: 8px;
  position: fixed;
  right: -410px;
  border: solid 2px #333;
  background-color: #000000ab;
  backdrop-filter: blur(8px);
  pointer-events: none;
  user-select: none;
}

.countdown-text {
  font-family: yn;
  font-size: 32px;
  color: #b7b7b7;
  text-shadow: 4px 4px #484848;
  user-select: none;
  cursor: default;
  display: flex;
  align-items: center;
    pointer-events: none;
}

.countdownText-rainbow {
  position: relative;
  padding-left: 0.4em;
  padding-right: 0.2em;
}

.omori-text {
  font-family: 'omori';
  font-size: 26px;
  text-decoration: underline 1px;
  color: white !important;
}

.buttons-wrapper {
  padding: 8px;display: flex;justify-content: center;flex-direction: column;align-items: center; flex-grow: 1;
}

.buttons {
  display: flex;gap: 8px;justify-content: center;flex-wrap: wrap;width: 280px;
}

.tem {
  position: absolute;right: 30px; 
}

.tem:hover {
  animation: shake 0.09s linear normal;
  animation-iteration-count: infinite;
}

.tem > img {
  image-rendering: pixelated;
}

.sprite {
	border: none;
	box-sizing: border-box;
	width: 42px;
	height: 73px;
	background-repeat: no-repeat;
	image-rendering: pixelated;
	z-index: 99;
	background-color: transparent;
}

#hajime {
  position: absolute; filter: drop-shadow(rgba(0, 0, 0, 0.53) 2px 2px 0px);  bottom: -5px;left: 34px;
    background-image: url("/hajimestare.png");
}

#hajime > img {
  image-rendering: pixelated;
}

#teleport {
  color: transparent;user-select: none;
}

.friends {
  display: flex;justify-content: space-between;
}

.fallen {
  border: 1px solid #ab47bc; width: 450px;height: 155px;position: relative;background-color: black;color: white;font-family: DTM Mono;font-size: 18pt;text-align: center; box-shadow: 0px 0px 10px #ab47bcb0, inset 0px 0px 10px #ab47bc50;
}

#copyright-free {
  transform: translateX(-8px);position: absolute;color: #ff00009c;font-size: 12px;
}

#az {
  color: rgb(255, 127, 39) !important; 
}

#az:hover {
  transition: 1ms all !important;
  color: yellow !important;
  letter-spacing: normal !important;
  text-decoration: underline !important;
}

#mosstalgia {
  height: 152px;width: 450px;border: #ffffff;border-top-style: none;border-right-style: none;border-bottom-style: none;border-left-style: none;border-style: groove;background-image: url('/imagems/bg/smile2.png');color: white;text-shadow: 0px 0px 8px #d907ff, 0px 0px 8px #d907ff;image-rendering: pixelated;position: relative;display: flex;justify-content: center;align-items: center;overflow: hidden;
}

.mossText {
  text-align: center;
}

.mossLink {
  color: #e3009b !important;
}

.mossLink:hover {
  letter-spacing: normal !important;
  color: yellow !important;
  text-shadow: yellow 0px 0px 10px;
}

.mado-image {
  height: 150px;position: absolute;z-index: 0;transform: translate(130px, 30px);
}

.ds-icon {
  position: absolute;height: 40px;transform: translate(-143px, -38px);
}

.border-image {
  height: 150px;width: 450px;transform: translate(0%, 0%);object-fit: fill;position: absolute;
}

.content-wrapper {
  position: relative;font-size: 1.2em;z-index: 1;line-height: 40px;width: 390px;display: flex;align-items: center;
}


.box {
  background-color: #001f3c73;
  width: 420px;
  height: 95px;
  border-radius: 4px;
  position: relative;
  z-index: 2;
  text-wrap: nowrap;
  filter: drop-shadow(6px 6px 0px #8a0295);
  animation: boxAnimation 6s forwards;
  animation-timing-function: cubic-bezier(.19,1,.22,1);
}

.now-playing {
    position: fixed; 
    width: 460px; 
    height: 95px;
    z-index: 9999;
    bottom: 5%;
  left: 2%;
  user-select: none;
pointer-events: none;
}
    
    .basic {
      margin: 15px;
      margin-top: 12px;
    }
    
  @keyframes nowPlayingTextAnimation {
  0% {
    opacity: 0;
    text-shadow: -24px 0px #ca06d1;
    left: 14px;
  }

20% {
    opacity: 1;
     text-shadow: -2px 0px #ca06d1;
    left: 0px;
  }
  
80% {
    opacity: 1;
     text-shadow: -2px 0px #ca06d1;
    left: 0px;
  }
  
  100% {
    opacity: 0;
  }
}

.nowPlayingText {
  opacity: 0;
  position: relative;
  left: 7px;
  animation: nowPlayingTextAnimation 4.8s 0.5s ease-out forwards;
  font-family: 'vcr';
  font-size: 31px;
  letter-spacing: 1.5px;
  color: #00e7ff;
  margin-bottom: 0px;
  padding-top: 10px; 
}

@keyframes headphoneAnimation {
  0% {
    filter: drop-shadow(-24px 0px #ca06d1);
  }

  
  100% {
    filter: drop-shadow(-2px 0px #ca06d1);
  }
}

.headphone {
  animation: headphoneAnimation 1s 0.5s ease-out forwards;
 display: inline-block;position: absolute;
transform: translate(4px); 
}

.headphoneImg {
 width: 36px;
 filter: invert(61%) sepia(30%) saturate(2946%) hue-rotate(165deg) brightness(114%) contrast(92%);
 image-rendering: pixelated; 
}

@keyframes songNameAnimation {
  0% {
    opacity: 0;
    transform: translateX(-7px);
  }
  10% {
    opacity: 0;
    transform: translateX(-7px);
  }
  25% {
    opacity: 1;
    transform: translateX(0px);
  }
  
  80% {
    opacity: 1;
    transform: translateX(0px);
  }
  
  100% {
    opacity: 0;
  }
}


.song-name {
  opacity: 0;
  animation: songNameAnimation 4.5s 0.5s forwards;
  animation-timing-function: ease-in-out;
 margin-top: 5px;
 font-family: vcr;
 color: #00ffff;
 font-size: 24px; 
 text-wrap: no-wrap;
}

@keyframes hrAnimation {
  0% {
    opacity: 1;
    width: 0px;
  }
  20% {
    opacity: 1;
    width: 210px;
  }
  80% {
    opacity: 1;
    width: 210px;
  }
  99% {
    opacity: 1;
    width: 0px;
  }
  100% {
    opacity: 0;
  }
}

.hr {
   opacity: 0;
  animation: hrAnimation 4.4s 1s forwards;
  animation-timing-function: cubic-bezier(.19,1,.22,1);
   border: 1px solid #f0f;
   height: 1px;
   background-color: #f0f;
   margin: 0;
   padding-right: 0px;
   margin-right: 15px;
   text-align: center;
}

@keyframes boxAnimation {
  0% {
    width: 0px;
  }
  20% {
    width: 560px;
  }
 
   80% {
    width: 560px;
  }
  100% { 
    width: 0px;
  }
}

.hp {
 display: none; width: 186px; flex-direction: column-reverse; 
}

.hp-imgtxt {
 scale: 1.5;width: 14px;height: 9px; 
}

.hp-imgtxtWrapper {
 display: inline-flex;transform: translate(9px, 4px); 
}

.hp-barContainer {
 display: inline-flex;
 position: relative;
 padding-left: 10px;
 padding-right: 10px;
 width: 140px;
  height: 16px;
}

.hp-bar {
  background-color: #00ffff;
  width: 6px;
  height: 16px;
  position: absolute; /* Ensure this is set */
  z-index: 2; /* Higher z-index */
}

.hp-barBG {
  background-color: #bf0000;
  width: 140px;
  height: 16px;
  position: absolute; /* Ensure this is set */
  z-index: 1; /* Higher z-index */
}

.hp-valueContainer {
 width: 183px;
 justify-content: flex-end; 
 display: inline-flex; 
}

.hp-value {
 color: white;
 font-size: 26px; 
 padding-left: 10px;
 display: inline-flex;
 transform: translateY(2px);
 align-items: center;
 margin-bottom: 3px;
}

 .hp-digit {
            width: 6px; /* Adjust as needed */
            height: 10px; /* Adjust as needed */
            scale: 1.5;
            padding-left: 3px;
  padding-right: 3px;
        }

.slash {
padding-right: 8px;
  scale: 1.4;
  padding-left: 5px;
  width: 10px;
  height: 11px;
  transform: translate(0px, 2.5px);
}

/* Loading Screen */
#loading-screen {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #000000ba;
  backdrop-filter: url(#gaussian) grayscale(1);
  display: flex;
  justify-content: end;
  align-items: end;
  z-index: 9999;
}

.loader {
width: 16px;
  height: 16px;
  border: 4px solid white;
border-top: 4px solid #51515166;
  border-radius: 50%;
    animation: spin 1s linear infinite;
}

.loaded {
  opacity: 0;
  display: none;
  pointer-events: none;
  user-select: none;
}

.loading-wrapper {
display: flex;
  align-items: center;
  width: 100%;
  user-select: none;
  height: 100%;
  justify-content: center;
  flex-direction: column-reverse;
  gap: 32px;
  opacity: 0.98;
}

.loading-indicator {
  display: flex;
  gap: 32px;
  align-items: center;
}

.loading-tip {
  font-family: pkmn;font-size: 16px;color: #666;text-shadow: 2px 2px #1e1e1e;
}

.loading-text {
  font-family: yn;font-size: 42px;color: #7d7d7d;text-shadow: 4px 4px #262626; user-select: none; cursor: default;
}

.loading-text:active {
  scale: 1.1;
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

@keyframes explosionFade {
    from { opacity: 1; }
    to {  opacity: 0; }
}

@keyframes shake {
	0%{transform: translate(1px,1px)}
	20%{transform: translate(1px,-1px)}
	60%{transform: translate(-1px,-1px)}
	80%{transform: translate(-1px,1px)}
	100%{transform: translate(1px,1px)}
}

@keyframes hue-rotate {
    0% {
        filter: hue-rotate(0deg);
    }
    100% {
        filter: hue-rotate(360deg);
    }
}

@keyframes a {
  0% {
    background-position: 0% 50%;
  }
  100% {
    background-position: 200% 50%;
  }
}

@keyframes b {
  0% {
    color: orange !important;
  }
  100% {
    color: yellow !important;
  }
}

@keyframes boom {
  0% {
    translate: 0px 0px;
    rotate: 0deg;
  }
  25% {
      translate: 0px -200px;
      rotate: 0deg;
    opacity: 1;
  }
  100% {
    translate: 0px 1600px;
     rotate: 180deg;
    opacity: 0;
    pointer-events: none;
  }
}