body :is(a, div, span) {
	-webkit-user-select: none; /* Safari */
	-moz-user-select: none;    /* Firefox */
	-ms-user-select: none;     /* starý Edge/IE */
	user-select: none;         /* standard */
}
.heroSlot:not(.filled) .slot {
	--size: 32px;
	z-index: 2;
	color: white;
	display: flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	position: relative;
	width: var(--size);
	height: var(--size);
}
.hidden{
	display: none !important;
}
.slot::before{
	content: '';
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	position: absolute;
	background-image: var(--ico);
	background-size: 100% 100%;
	background-repeat: no-repeat;
	background-position: center;
}
.slotLabel{
	padding: 10px;
	text-align: left;
}
.heroSlots{
	display: flex;
	flex-direction: column;
	gap: 5px;
}
.heroSlot {
	border: 2px solid #392E2B;
	border-radius: 2px;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	box-shadow: 0px 1px 3px 1px black;
	box-sizing: border-box;
	background-color: #181213;
	padding: 5px;
	position: relative;
}
.heroSlots + .footer{
	min-height: 70px;
}
.heroSlot .slot{
	--size: 64px;
}
.heroSlot.empty {
	filter: grayscale();
}
.heroSlot.new:not(.lock){
	--ico: url('/img/ico/ui/plus.png');
}
.heroSlot.new:not(.lock):hover{
	filter: none;
}
.heroSlot.lock{
	opacity: .5;
	--ico: url('/img/ico/ui/lock.png');
}
.heroSlot.selected{
	border-color: #0093C2;
	border: 2px solid #9de9f8;
	box-shadow: 0 0 6px 2px #9de9f8;
	background-color: #9de9f81a;
}
.heroIco{
	background-image: url('/img/ui/hero_ico/Hero_icon_frame.png');
	box-shadow: 0 0 5px black;
	border-radius: 50%;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	width: 65px;
	aspect-ratio: 1/1;
	display: flex;
	overflow: hidden;
	padding: 3px;
	box-sizing: border-box;
}
.heroIco .avatar{
	background-image: url('/img/ui/hero_ico/Hero_icon_frame_bg.png');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	border-radius: 50%;
	overflow: hidden;
}
.heroIco img{
	width: 100%;
}



.uiFrame{
	width: 48px;
	aspect-ratio: 1 / 1;
	background-image: url(/img/ui/frame/inventory_frame.png), url(/img/ui/frame/little_background_frame.png);
	background-size: contain, contain;
	background-repeat: no-repeat, no-repeat;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}
.uiFrame > img{
	--size: 80%;
	width: var(--size);
	height: var(--size);
	pointer-events: none;
	z-index: 1;
}
.item, 
.item img {
  user-drag: none;      /* Safari */
  -webkit-user-drag: none; /* Chrome / Safari */
  -moz-user-drag: none;    /* Firefox */
  -khtml-user-drag: none;
}
.item, .spell, .itemTooltipContent{
	--rarity-color: transparent;
	--rarity-efect: 1px;
	--rarity-efect2: 1px;
	box-sizing: border-box;
	padding: 2px;
	--uncommon: #05ff00;
	--rare: #004cff;
	--epic: #b500ff;
	--legendary: #ff3e00;
}

.itemTooltipContent{
	--rarity-color: white;
}

.item.uncommon, .itemTooltipContent.uncommon {
	--rarity-color: var(--uncommon);
}
.item.rare, .itemTooltipContent.rare {
	--rarity-color: var(--rare);
}
.item.epic, .itemTooltipContent.epic {
	--rarity-color: var(--epic);
}
.item.legendary, .itemTooltipContent.legendary{
	--rarity-color: var(--legendary);
}
.item div, .spell img{
	overflow: hidden;
	display: flex;
	z-index: 1;
}
.item img, .spell img{
	width: 100%;
	height: 100%;
	image-rendering: auto;
}
.item.uncommon, .item.rare, .item.epic, .item.legendary{
	/*box-shadow: 6px -8px 20px -4px inset var(--rarity-color);*/
}
:is(.item.uncommon, .item.rare, .item.epic, .item.legendary) img{
	/*filter: drop-shadow(0 0 calc(var(--rarity-efect)) var(--rarity-color)) drop-shadow(0 0 var(--rarity-efect2) var(--rarity-color)); */
}

:is(.item.uncommon, .item.rare, .item.epic, .item.legendary)::before{
	content: '';
	position: absolute;
	top: 2px;
	right: 2px;
	bottom: 2px;
	left: 2px;
	/*background-image: linear-gradient(27deg, var(--rarity-color) -15%, transparent 69%);*/
	background-image: radial-gradient(var(--rarity-color), transparent);
}

.windowEquip {
	--backg: url(/img/ui/frame_backgrounds/inventory_frame.png);
}
.windowEquip .equipSlots{
	display: grid;
	grid-template-areas: 
	". . helmet . necklace"
	"shoulder . . . cloak"
	"bracelets . chest . gloves"
	". . belt . ."
	"weapon . pants . off_hand"
	". . . . ."
	"ring . . . ."
	"ring_2 . boots . ."
	"bag bag_2 bag_3 bag_4 bag_5";
	justify-content: space-between;
	gap: 2px;
	grid-template-rows: repeat(9, 1fr);
	background-image: url(/img/ui/Silhouette/warrior_silhouette_man.png);
	background-size: 85%;
	background-position: top center;
	background-repeat: no-repeat;
}
.backpackSlots{
	--backg: url(/img/ui/frame_backgrounds/little_background_frame.png);
	--size: 48px;
	display: grid;
	gap: 2px;
	grid-template-columns: repeat(5, var(--size));
}
.backpackSlot{
	width: var(--size);
	height: var(--size);
	background-size: 100%;
	background-image: url(/img/ui/frame/inventory_frame.png), var(--backg);
	position: relative;
}
/*
.windowEquip .window-content{
	display: grid;
	grid-template-areas: 
	"helmet avatar avatar avatar necklace"
	"shoulder avatar avatar avatar cloak"
	"chest avatar avatar avatar bracelets"
	"pants avatar avatar avatar gloves"
	"boots weapon off_hand ring ring_2"
	"bag bag_2 bag_3 bag_4 bag_5"
	"characterStats characterStats characterStats characterStats characterStats"
	"characterDefense characterDefense characterDefense characterDefense characterDefense";
	justify-content: space-between;
	gap: 2px;
}*/

.windowEquip .equipSlots{
	--size: 48px;
}
.equipSlot{
	width: var(--size);
	height: var(--size);
	background-size: 100%;
	background-image: url(/img/ui/frame/inventory_frame.png), var(--backg);
	position: relative;
}
.equipSlot.helmet{
	--backg: url(/img/ui/frame_backgrounds/helm_background.png);
	grid-area: helmet;
}
.equipSlot.shoulder{
	--backg: url(/img/ui/frame_backgrounds/shoulder_background.png);
	grid-area: shoulder;
}
.equipSlot.chest{
	--backg: url(/img/ui/frame_backgrounds/chest_background.png);
	grid-area: chest;
}
.equipSlot.gloves{
	--backg: url(/img/ui/frame_backgrounds/gloves_background.png);
	grid-area: gloves;
}
.equipSlot.pants{
	--backg: url(/img/ui/frame_backgrounds/pants_background.png);
	grid-area: pants;
}
.equipSlot.belt{
	--backg: url(/img/ui/frame_backgrounds/belt_background.png);
	grid-area: belt;
}
.equipSlot.weapon{
	--backg: url(/img/ui/frame_backgrounds/melee_background.png);
	grid-area: weapon;
}
.equipSlot.off_hand{
	--backg: url(/img/ui/frame_backgrounds/shield_background.png);
	grid-area: off_hand;
}
.equipSlot.boots{
	--backg: url(/img/ui/frame_backgrounds/boots_background.png);
	grid-area: boots;
}
.equipSlot.necklace{
	--backg: url(/img/ui/frame_backgrounds/neck_background.png);
	grid-area: necklace;
}
.equipSlot.cloak{
	--backg: url(/img/ui/frame_backgrounds/back_background.png);
	grid-area: cloak;
}
.equipSlot.bracelets{
	--backg: url(/img/ui/frame_backgrounds/bracers_background.png);
	grid-area: bracelets;
}
.equipSlot.ring{
	--backg: url(/img/ui/frame_backgrounds/ring_background.png);
	grid-area: ring;
}
.equipSlot.ring_2{
	--backg: url(/img/ui/frame_backgrounds/ring_background.png);
	grid-area: ring_2;
}
.equipSlot.bag{
	--backg: url(/img/ui/frame_backgrounds/bag_background.png);
	grid-area: bag;
}
.equipSlot.bag_2{
	--backg: url(/img/ui/frame_backgrounds/bag_background.png);
	grid-area: bag_2;
}
.equipSlot.bag_3{
	--backg: url(/img/ui/frame_backgrounds/bag_background.png);
	grid-area: bag_3;
}
.equipSlot.bag_4{
	--backg: url(/img/ui/frame_backgrounds/bag_background.png);
	grid-area: bag_4;
}
.equipSlot.bag_5{
	--backg: url(/img/ui/frame_backgrounds/bag_background.png);
	grid-area: bag_5;
}

.windowEquip .avatar{
	--size: 82px;
	grid-area: avatar;
	display: flex;
	justify-content: flex-end;
	align-items: flex-end;
	background-image: linear-gradient(180deg, transparent, #00000099 80%);
}
.windowEquip .avatar img{
	width: 100%;
	height: auto;
	filter: drop-shadow(0 0px 16px black);
}

.characterStats{
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.characterStatsGroup{
	display: grid;
	grid-template-columns: 1fr;
}
.paperWindow .characterStatsHeader{
	grid-column: 1 / -1;
}
.characterStatsHeader{
	grid-column: 1 / -1;
	color: #53370F;
	text-transform: uppercase;
	text-align: center;
	font-size: 14px;
}
.characterStat > div{
	color: #275072;
	text-shadow: 1px 1px 1px #9ce8f778;
}
.characterStat{
	padding: 2px 5px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 5px;
	font-size: 14px;
}
.characterStat:nth-child(odd){
	background-color: #0000000d;
}

.windowMenu{
	display: flex;
	flex-direction: column;
}

.characterInfo{
	display: flex;
}
.characterInfoLeft{
	
}

.ghost {
  position: fixed;
  z-index: 9999;
  pointer-events: none;
  opacity: 0.8;
  transform: translate(-9999px, -9999px); /* start mimo obraz */
}

.dragging {
  opacity: 0.3;
}

.backpackSlot.highlight::after,
.equipSlot.highlight::after {
	content: '';
  outline: 2px solid gold;
  outline-offset: -2px;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}

.uiBar .fill{
	border-radius: 3px;
	box-sizing: border-box;
	box-shadow: 0px 1px 2px inset #00000045;
	position: relative;
	height: 100%;
	background: var(--color1);
	background-image: linear-gradient(to right, var(--color1), var(--color2), var(--color1));
}

.progressBar{
	--color1: #9501D9;
	--color2: #B301BA;
	--color3: #4F0055;
	--color4: #420047;
}
:is(.uiBarHealth, .uiBarMana, .uiBarEndurance) .fill{
	width: calc(100% / var(--max) * var(--current));
}
.uiBars{
	position: absolute;
	top: 38%;
	left: 39%;
	z-index: 2;
	right: 0%;
}
.uiHudName {
	position: absolute;
	top: 24%;
	left: 37%;
	right: 0%;
	z-index: 4;
	font-size: calc(var(--width) / 100 * 4);
	height: 11%;
	display: flex;
	align-items: center;
	justify-content: center;
}
.uiBarHealth{
	--color1: #A4110B;
	--color2: #9B160D;
	--color3: #480A06;
	--color4: #2E0503;
}
.uiBarMana{
	--color1: #005384;
	--color2: #0062A1;
	--color3: #002442;
	--color4: #001325;
}
.uiBarEndurance{
	--color1: #8B3906;
	--color2: #B75008;
	--color3: #471B05;
	--color4: #3B1202;
	
}
.uiBar{
	position: relative;
	padding: 2px;
	box-sizing: border-box;
	width: 100%;
	height: 20px;
	background-image: linear-gradient(to right, #45322D, #7B5B48, #45322D);
	border: 2px solid black;
	border-radius: 0;
}
.playerHud .uiBar{
	height: calc(var(--width) / 100 * 5.8);
}
.playerHud .uiBar::before {
	top: 1px;
	left: 1px;
	right: 1px;
	bottom: 1px;
}
.uiBar::before{
	content: "";
	position: absolute;
	top: 2px;
	left: 2px;
	right: 2px;
	bottom: 2px;
	background-color: var(--color3);
	box-shadow: 0 0 2px 2px inset var(--color4);
	border: 2px solid #000000;
	border-radius: 4px;
}
.uiHudInfoBar{
	display: flex;
	gap: 0;
	flex-direction: column;
	background-image: url(/img/ui/hud/basic_bar2.png);
	width: calc(var(--width) / 100 * 103);
	background-size: contain;
	aspect-ratio: 1024 / 258;
	z-index: 1;
	position: absolute;
	top: 19%;
	left: 6%;
	background-repeat: no-repeat;
}
.uiBar::after{
	content: "";
	position: absolute;
	top: 1px;
	left: 1px;
	right: 1px;
	bottom: 1px;
	box-shadow: 0px 0px 3px 4px inset #00000082;
}
.playerHud .uiBar::after{
	box-shadow: 0px 0px 3px 3px inset #00000082;
}
.uiBarLabel{
	position: absolute;
	top: 0;
	text-align: center;
	right: 0;
	left: 0;
	font-size: calc(var(--width) / 100 * 3.2);
	z-index: 34;
	color: white;
}

.backpackSlot.pending::after,
.equipSlot.pending::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(255, 215, 0, 0.15); /* jemný zlatý závoj */
	border: 2px solid rgba(255, 215, 0, 0.6);
	box-shadow: 0 0 6px 2px rgba(255, 215, 0, 0.4);
	border-radius: 3px;
	pointer-events: none;
	animation: pendingPulse 1.2s ease-in-out infinite;
}
@keyframes pendingPulse {
	0%, 100% {
		opacity: 0.6;
		box-shadow: 0 0 4px 1px rgba(255, 215, 0, 0.2);
	}
	50% {
		opacity: 1;
		box-shadow: 0 0 10px 3px rgba(255, 215, 0, 0.5);
	}
}
.item.pending-move {
	opacity: 0.7;
	transform: scale(0.95);
	transition: transform 0.2s ease, opacity 0.2s ease;
	filter: drop-shadow(0 0 4px gold);
}


.itemTooltip {
	position: absolute;
	z-index: 9999;
	background: rgba(15, 15, 20, 0.96);
	color: white;
	border: 1px solid rgba(255, 255, 255, 0.15);
	padding: 6px;
	border-radius: 4px;
	font-size: 13px;
	pointer-events: none;
	box-shadow: 0 0 8px rgba(0,0,0,0.6);
}
.itemTooltip .itemName {
	font-weight: bold;
	color: var(--rarity-color);
	margin-bottom: 2px;
}
.itemBonuses .itemRow > div:nth-child(even){
	/*color: var(--rarity-color);*/
}
.itemTooltip .itemType {
	color: white;
	font-size: 12px;
}
.itemTooltip .sectionHeader {
	margin-top: 6px;
	font-weight: bold;
	color: var(--form-label-color);
}
.itemTooltip ul {
	margin: 2px 0 0 10px;
	padding: 0;
	list-style: none;
}
.itemTooltip ul li {
	color: white;
	font-size: 12px;
	line-height: 1.3em;
}
.itemDescription{
	font-style: italic;
	color: var(--form-placeholder-color);
	max-width: 170px;
	margin-top: 5px;
}
.itemRow{
	display: grid;
	grid-template-columns: 100px 70px;
}
.itemRow > div:nth-child(even) {
	text-align: right;
}
.itemContextMenu {
	pointer-events: auto; /* odlišně od tooltipu */
	min-width: 160px;
}

.itemContextMenu .itemMenuList {
	margin: 0;
	padding: 0;
	list-style: none;
}

.itemContextMenu .itemMenuList li:first-child {
	border-top: none;
}
.itemContextMenu .itemMenuList li {
	padding: 5px 10px;
	cursor: pointer;
	border-top: 1px solid rgba(255,255,255,0.08);
	transition: background 0.15s ease;
	font-size: 13px;
	border-radius: 3px;
	color: #eee;
}

.itemContextMenu .itemMenuList li:hover {
	background: rgba(255, 255, 255, 0.1);
	color: #ffcf60;
}