html, body {
    margin: 0;
    padding: 0;
    height: 100%;
    background-color: black;
    font-family: 'Roboto', sans-serif;
}
#trocartema {
    position: fixed;
    z-index: 9999;
    top: 20px;
    left: 20px;
}
.moldura {
    width: 100dvw;
    height: 100dvh;
    max-width: 500px;
    max-height: 800px;
    margin: 0 auto;
    overflow: hidden;
    background: linear-gradient(to bottom, #96c5e1, #7198e1, #4b73e1);
    position: relative;
    
}

.bird {
  width: 40px;
  height: 40px;
  background-image: url('Pantasma-1.png');  
  background-size: cover;
  background-repeat: no-repeat;  
  position: absolute;
  top: 50px;
  left: 30%;
  z-index:4;
  opacity: 0.6;
  backdrop-filter: blur(5px);
  filter: drop-shadow(0 0 0 white) drop-shadow(0 0 1px white);
  image-rendering: pixelated;
  background-size: contain;
}
.canosCima {
    width: 70px;
    background-color:rgba(0,255,0,0.4);
backdrop-filter: blur(4px);
    height: 30px;
    position: absolute;
    top: 0;
    left: 400px;
    z-index: 4;
    
}
.canosBaixo {
    width: 70px;
    background-color:rgba(0,255,0,0.4);
backdrop-filter: blur(4px);
    height: 30px;
    position: absolute;
    bottom: 0;
    left: 400px;
    z-index: 4;
}
.gameover {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,0.4);
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  z-index: 5;
  transition: opacity 0.4s ease-in-out;
  backdrop-filter: blur(7px);
}

.button {
  padding: 15px 30px;
  background-color: rgba(255,255,255, 0.3);
  color: white;
  border: none;
  border-radius: 80px;
  font-size: 20px;
  cursor: pointer;
  box-shadow: Opx Opx 30px rgba(227, 228, 237, 0.37);
  border: 1px solid rgba(255, 255, 255, 0.18);
  transition: 0.2s;
  backdrop-filter: blur(30px);
  z-index: 5;
  -webkit-tap-highlight-color: transparent;
  margin-top: 40%;
}
.button2 {
	box-sizing: border-box;
  padding: 10px 15px;
  background-color: rgba(255,255,255, 0.3);
  width: 200px;
  color: white;
  border: none;
  border-radius: 80px;
  font-size: 20px;
  cursor: pointer;
  box-shadow: Opx Opx 30px rgba(227, 228, 237, 0.17);
  border: 1px solid rgba(255, 255, 255, 0.18);
  transition: 0.2s;
  backdrop-filter: blur(30px);
  z-index: 10;
  -webkit-tap-highlight-color: transparent;
  position: fixed;
  left: 50%;
  top: 60%;
  transform: translate(-50%, -50%);
}
.button2:hover {
  background-color: #a21b49;
}
.overlay {
	background-color: rgba(16,16,16,0.400);
	backdrop-filter: blur(20px);
	z-index: 9;
	position: fixed;
	left: 0%;
	top: 0%;
	width: 100dvw;
	height: 100dvh;
}
.logo{
	background-image: url('JumpGhostLogo.png');
	image-rendering: pixelated;
	background-repeat: no-repeat;  
	background-size: cover;
	background-size: contain;
	box-sizing: border-box;
	width: 340px;
	height: 200px;
	left: 50%;
	top: 45%;
	z-index: 10;
	transform: translate(-50%, -50%);
	position: fixed;
}
.button:hover {
  background-color: #a21b49;
}
.gameoverplacar {
  position: absolute;
  backdrop-filter: blur(30px);
  top: 48%;
  left: 50%;
  background-color: rgba(255,255,255, 0.1);
  transform: translate(-50%, -50%);
  box-shadow: Opx Opx 30px rgba(227, 228, 237, 0.37);
  border: 1px solid rgba(255, 255, 255, 0.18);
  transition: 0.2s;
  color: white;
  padding: 10px 20px;
  border-radius: 20px;
  text-align: center;
  z-index: 5;
  white-space: nowrap;
  }

.got {
  font-weight: 700px;
  font-size: 50px;
  margin-bottom: 10px;
  color: white;
  z-index: 5;
  position: absolute;
  left: 50%;
  top: 34%;
  white-space: nowrap;
  transform: translate(-50%, -50%);
}

.pontos {
    position: absolute;
    top: 2%;
    left: 34%;
    color: white;
    width: 120px;
    height: 35px;
    text-align: center;
    backdrop-filter: blur(30px);
    border-radius: 20px;
    line-height: 35px;
    box-shadow: Opx Opx 30px rgba(227, 228, 237, 0.37);
    font-size: 20px;
    z-index: 5;
    border: 1px solid rgba(255, 255, 255, 0.18);
}

.dots::after {
  content: "";
  position: absolute;
  top: 50%;
  left: -20px;
  width: 20px;
  height: 2px;
  background: linear-gradient(to left, white, transparent);
  transform: translateY(-50%);
}
.chao {
  width: 100dvw;
  height: 50px;
  background-image: url('Tile4.png');
  background-repeat: repeat-x;
  position: absolute;
  bottom: 0;
  z-index: 5;
  left: 0;
  box-sizing: border-box;
}
.chao2 {
  width: 100dvw;
  height: 50px;
  background-image: url('Tile4.png');
  background-repeat: repeat-x;
  position: absolute;
  bottom: 0;
  z-index: 5;
  left: 0;
}
.sol {
    width: 70px;
    height: 70px;
    background-image: url('sol.png');
    z-index: 0;
    position: absolute;
    top: 60px;
    background-size: contain;
}
.lua {
    width: 70px;
    height: 70px;
    background-image: url('Lua.png');
    z-index: 0;
    position: absolute;
    top: 60px;
    background-size: contain;
}
.itemInv {
  position: absolute;
  width: 90px;
  height: 90px;
  z-index:999;
  background-color: red;
}
.nuvemp {
    width: 135px;
    height: 60px;
    z-index: 3;
    position:absolute;
    background-image: url('Nuvem-p.png');
    opacity: 0.6;
}
.nuvemm {
    width: 180px;
    height: 60px;
    z-index: 3;
    position:absolute;
    background-image: url('Nuvem,m.png');
    opacity: 0.6;
    
}
.nuvemg {
    width: 240px;
    height: 120px;
    z-index: 3;
    position:absolute;
    background-image: url('Nuvem-g.png');
    opacity: 0.6;
    
}

.canofundo {
    width: 30px;
    position: absolute;
    left: 20px;
    z-index: 2;
    opacity: 0.7;
    
}
.canofundo.cima {
    top: 0;
    background-color: rgba(98, 148, 234, 0.6);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}
.canofundo.baixo {
    bottom: 40px;
    background-color: #254492;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}
.gradientelegau {
    width: 100vw;
    height: 100vh;
    z-index: 3;
   background: linear-gradient(to top, #8098ff 0%, transparent 100%);
}
.montanha1, .montanha2 {
  position: absolute;
  bottom: 0;
  width: 100vw;
  height: 150px;
  background-repeat: repeat-x;
  background-position: bottom;
  background-size: auto 150px;
}

.montanha1 {
  background-image: url('Montain1.png');
  z-index: 2;
  opacity: 1 ;
}

.montanha2 {
  background-image: url('Montain2.png');
  z-index: 1;
  opacity: 1;
}

.flash {
  width: 100vw;
  height: 100vh;
  opacity: 0;
  visibility: hidden;
  position: fixed;
  top: 0;
  left: 0;
  background-color: white;
  pointer-events: none;
  z-index: 9999;
  transition: opacity 0.15s ease, visibility 0.15s ease;
}

.flash.ativo {
  opacity: 0.8;
  visibility: visible;
}

.balao {
  width: 40px;
  height: 40px;
  position: absolute;
  opacity: 0.8;
  z-index: 2;
  background-image: url('Balao.png');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.borboletas {
  width: 10px;
  height: 10px;
  position: absolute;
  opacity: 0.6;
  z-index: 2;
  background-image: url('Borboletas.png');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.flor1 {
  width: 70px;
  height: 70px;
  position: absolute;
  opacity: 1;
  z-index: 2;
  bottom: 45px;
  background-image: url('Flor1.png');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.flor2 {
  width: 70px;
  height: 70px;
  position: absolute;
  opacity: 1;
  z-index: 2;
  bottom: 45px;
  background-image: url('Flor2.png');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}


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

.shake {
  animation: shake 0.3s;
}
.moldura {
  transition: opacity 3s ease;
}

.moldura {
  position: relative;
  overflow: hidden;
  z-index: 0;
  background: linear-gradient(to bottom, #96c5e1, #7198e1, #4b73e1); /* dia */
}


.moldura::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, #8540ff, #ff946a, #ff559e); /* media */
  opacity: 0;
  transition: opacity 1s ease;
  z-index: -1;
}
.moldura::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, #000000, #0a0321, #45245a);
  opacity: 0;
  transition: opacity 1s ease;
  z-index: -1;
}

/* Quando entra o modo "media" (pôr do sol) */
body.media .moldura::before {
  opacity: 1;
}

/* Quando entra o modo "escuro" (noite) */
body.escuro .moldura::after {
  opacity: 1;
}
.montanha1, .montanha2, .chao, .chao2 {
  transition: filter 3s ease;
}
.nuvemp, .nuvemm, .nuvemg {
  transition: filter 3s ease;
}
.canosCima, .canosBaixo {
  transition: background-color 3s ease;
}
body.escuro .moldura::after {
  opacity: 1;
}
body.media .canosCima {
  background-color: rgba(200,162,0,0.6);
}
body.media .canosBaixo {
  background-color: rgba(200,162,0,0.6);
}

body.media .canofundo.cima {
  background-color: rgba(106,51,203, 0.6);
}
body.media .canofundo.baixo {
  background: rgba(176,36,78,0.6);
}

body.media .montanha1 {
  filter: hue-rotate(-250deg) saturate(0.7) brightness(0.9);
}

body.media .montanha2 {
  filter: hue-rotate(-250deg) saturate(0.7) brightness(0.9);
}

body.media .nuvemp, body.media .nuvemm, body.media .nuvemg {
  filter: hue-rotate(260deg) saturate(0.5) brightness(0.9) invert(0.6);
}
body.media .dots::after {
  background: linear-gradient(to left, rgb(184,244,255), transparent);
}
body.media .gradientelegau {
  background: transparent;
}
body.media .chao, body.media .chao2 {
  filter: saturate(1) hue-rotate(-40deg);
}
body.media .moldura::after {
  opacity:0;
}
body.escuro .canofundo.cima {
  background-color: rgba(51,38,56,0.6);
}
body.escuro .canofundo.baixo {
  background: rgba(6,4,4,0.6);
}

body.escuro .montanha1 {
  filter: hue-rotate(60deg) saturate(0.7) grayscale(0.5) brightness(0.5);
}

body.escuro .montanha2 {
  filter: hue-rotate(60deg) saturate(0.7) grayscale(0.5) brightness(0.5);
}

body.escuro .nuvemp, body.escuro .nuvemm, body.escuro .nuvemg {
  filter: hue-rotate(60deg) saturate(1) brightness(0.1);
}
body.escuro .dots::after {
  background: linear-gradient(to left, rgb(255,242,30), transparent);
}
body.escuro .gradientelegau {
  background: transparent;
}
body.escuro .chao, body.escuro .chao2 {
  filter: grayscale(0.5) brightness(0.8) hue-rotate(40deg);
}
body.escuro .canosCima {
  background-color:rgba(35,111,227,0.4);
}
body.escuro .canosBaixo{
  background-color:rgba(35,111,227,0.4);
}
/* Transições suaves para o modo escuro */
