
* {
	transition-duration: 0.5s;
	text-align: center;
	    font-family: 'Lato', sans-serif ;
		font-weight: bold;
	table-align: center;
	margin: auto;
	-webkit-text-size-adjust: none;
	text-size-adjust: none;

}

*:focus {
	outline: none;
	webkit-outline: none;
}

html, body {
	min-height: 100%;
	height: 100%;
}

td {
	padding: 0
}

.upgTable {
	display: flex !important;
	flex-flow: column wrap;
	justify-content: center;
	align-items: center;
	max-width: 100%;
	margin: 0 auto;
}

.upgRow {
	display: flex !important;
	flex-flow: row wrap;
	justify-content: center;
	align-items: center;
	max-width: 100%;
	margin: 0 auto;
}

.upgAlign {
	vertical-align: 0
}

.bigUpgAlign {
	vertical-align: 0
}

.treeThing {
	margin: 0 10px 0 10px;
	vertical-align: middle;
}

.can.upg:hover {
	z-index: 2
}

.can.buyable:hover {
	z-index: 2
}

.back {
	position: absolute;
	top: 0;
	left: 0;
	background-color: transparent;
	border: 1px solid transparent;
	color: var(--color);
	font-size: 40px;
	cursor: pointer;
}

.other-back {
	position: absolute;
	top: 0;
	left: 60px;
	background-color: transparent;
	border: 1px solid transparent;
	color: var(--color);
	font-size: 60px;
	cursor: pointer;
}

.back:hover {
	transform: scale(1.1, 1.1);
	text-shadow: 0 0 7px var(--color);
}

.hidden {
	visibility: hidden;
	height: 50px !important;
}

.canvas {
	top: 0;
	left: 0;
	position: absolute;
	z-index: -999;
}

.left {
	position: absolute;
	left: 0;
}

.remove {
	height: 24px;
	width: 24px;
	cursor: pointer;
}

.remove:hover {
	transform: scale(1.1, 1.1);
}

.col {
	min-width: 49.5%;
	max-width: 49.5%;
	width: 49.5%;
	height: 100%;
	min-height: 100%;
	column-span: 1;
	position: absolute;
	overflow-y: auto;
	overflow-x: auto;
	transition-duration: 0s
}

.instant {
	transition-duration: 0s !important
}

.fast {
	transition:color none
}

.col.right {
	top: 0;
	right: 0;
}

#app {
	column-count: 2;
	column-width: 50%;
	min-height: 100%;
}

.vl2 {
	border-left: 3px solid var(--color);
	height: 100%;
}

ul {
	list-style-type: none;
}

.fullWidth {
	position: absolute;
	height: 100%;
	width: 100%;
	min-width: 100%;
	overflow-y: auto;
	overflow-x: auto;
	transition-duration: 0s
}

.tooltipBox { 
	position: relative;
  }
  
  .tooltipBox:hover .tooltip{
	opacity: 1;
  }

  .forceTooltip .tooltip{
	opacity: 1;
  }
  
.respecCheckbox {
	display: inline-block;
}


#loadingSection {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.treeOverlay {
	pointer-events:none;
	overflow:hidden;
}

.front {
	z-index: 30000
}

.overlayThing {
	z-index: 10000;
	pointer-events:auto;
}

.sideLayers {
	z-index: 10000;
	pointer-events:auto;
	position: absolute;
	right: 55px;
	top: 65px;
	background-color: transparent;
}

button > * {
	pointer-events:none;
}

.ghost {
	visibility: hidden
}

#treeTab td button {
    margin: 0 10px;
}

.bg {
	z-index: -9000;
	width: 100%;
	height: 100%;
	position: absolute;
	background-color: transparent;
	top: 0
}

.bg2 {
	z-index: -9009;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0
}
/* === Animación de gradiente para #200 === */
/* === Animación gradiente y fade del texto "200" === */
/* === Texto especial 200 animado === */
@keyframes gradient200 {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

@keyframes shake200 {
    0%, 100% { transform: translate(0, 0); }
    20% { transform: translate(-8px, 6px); }
    40% { transform: translate(7px, -5px); }
    60% { transform: translate(-5px, 4px); }
    80% { transform: translate(5px, -6px); }
}

.shake200 {
    animation: shake200 0.5s ease infinite;
}
@keyframes fadeOut200 {
  0% { opacity: 1; transform: scale(1) rotate(0deg); }
  90% { opacity: 1; transform: scale(1.1) rotate(10deg); }
  100% { opacity: 0; transform: scale(1.2) rotate(20deg); }
}
/* Texto "200" que aparece y se desvanece */
.upgrade200-text {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(0deg);
    font-size: 160px;
    color: white;
    text-shadow: 0 0 20px #fff;
    z-index: 99999;
    opacity: 0;
    animation: text200anim 2s ease forwards;
    pointer-events: none;
    font-family: 'Lato', sans-serif;
}

@keyframes text200anim {
    0% {
        opacity: 0;
        transform: translate(-50%, -50%) scale(0.5) rotate(0deg);
    }
    20% {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1.2) rotate(360deg);
    }
    80% {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1) rotate(360deg);
    }
    100% {
        opacity: 0;
        transform: translate(-50%, -50%) scale(0.8) rotate(360deg);
    }
}
/* 🔥 Aura animada en el botón de reset JP */
#prestigeButton.jp {
    position: relative;
    overflow: hidden;
    box-shadow: 0 0 65x 65px rgb(179, 255, 0);
    animation: jpPulse 2s infinite ease-in-out;
    border-radius: 40px;
}

@keyframes jpPulse {
    0% { box-shadow: 0 0 65px 65px rgb(255, 255, 255); }
    50% { box-shadow: 0 0 55px 55px rgba(180, 255, 0, 1); }
    100% { box-shadow: 0 0 60px 60px rgb(255, 255, 255); }
}
.upg-circular {
    width: 120px !important;
    height: 120px !important;
    border-radius: 50% !important;
    border: 4px solid white !important;
    position: relative !important;
    background: linear-gradient(135deg, #d16eff, #843cff);
    color: white !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
}

/* Estilos para los números laterales */
.upg-num {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    font-size: 22px;
    color: white;
    pointer-events: none;
}

.upg-num-left {
    left: -25px;
}

.upg-num-right {
    right: -25px;
}

@keyframes portalPulse {
    0%   { transform: scale(1); box-shadow: 0 0 10px #3abaff; }
    50%  { transform: scale(1.08); box-shadow: 0 0 25px #3abaff; }
    100% { transform: scale(1); box-shadow: 0 0 10px #3abaff; }
}

.hide-tmt-ui #treeTab,
.hide-tmt-ui #tree,
.hide-tmt-ui .tab,
.hide-tmt-ui .layer-tab,
.hide-tmt-ui .side-layer,
.hide-tmt-ui .overlay {
    visibility: hidden !important;
}

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