@keyframes dsr-fade-in {
	0% { opacity: 0; }
	100% { opacity: 1; }
}
@font-face {
	font-family: shinobiFont;
	src: url(/css/go3v2.ttf);
}
@font-face {
	font-family: nirmala;
	src: url(/css/nirmala-ui-bold.ttf);
}
.dsr-result {
	animation: dsr-fade-in 0.8s ease-in 1.5s forwards;
	font-size: 22px;
}
.dsr-result-digit-1 {
	opacity: 0;
	animation: dsr-fade-in 0.8s ease-in 1.5s forwards;
	font-size: 22px;
}
.dsr-result-digit-2 {
	opacity: 0;
	animation: dsr-fade-in 0.8s ease-in 3.8s forwards;
	font-size: 22px;
}
.dsr-result-period {
	opacity: 0;
	animation: dsr-fade-in 0.8s ease-in 3.8s forwards;
	font-size: 22px;
}
@keyframes colorFadeIn0 {
  0% { opacity: 1; color: #000; }
  100% { opacity: 1; color: red; }
}
.dsrColor0 {
	animation: colorFadeIn0 0.8s ease-in 4s forwards;
}
@keyframes colorFadeIn1 {
  0% { opacity: 1; color: #000; }
  100% { opacity: 1; color: green; }
}
.dsrColor1 {
	animation: colorFadeIn1 0.8s ease-in 4s forwards;
}
body {
	background-image: url("/assets/ui/main_background.png");
    background-repeat: no-repeat;
    background-size: cover;
}
#mainDiv {
	display:flex;
	position: relative;
}
#displayPanels {
	position: absolute;
	top: 30px;
	width: 320px;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}
#displaySlot1, #displaySlot2 {
	position: relative;
	overflow: hidden;
	flex: 1;
}
#displaySlot1 {
	border-bottom: 1px solid rgba(0,0,0,0.1);
}
input {
	height: 13px;
}
::-webkit-scrollbar {
	width: 20px;
}
::-webkit-scrollbar-track {
	background-image: url('/assets/Dos_Scroll_Bar.png');
	background-size: 100% 100%;
}
::-webkit-scrollbar-thumb {
	background-image: url('/assets/Scroll_Thumb_Icon_Dos.png');
	background-size: 100% 100%;
}
* {
	scrollbar-color: #c4a44a #1a0f05;
	scrollbar-width: thin;
}
#helpfulDiv,#controlsDiv{
	margin-top: 3px;
	overflow: hidden;
}
#seasonStartTool{
	background: url("/assets/ui/background_main\.png") center / cover no-repeat;
	overflow: scroll;
}
.adminButtons {
	width: 146px;
	display: inline-block;
	cursor: pointer;
}
#xpShopTable {
	text-align:center;
	white-space:pre-line;
	word-break: break-all;
}
#shopItemDisplay{
	position: absolute;
    left: 20%;
    top: 20%;
    max-width: 40%;
    max-height: fit-content;
    background: url("/assets/ui/background_main\.png") center / cover no-repeat;
    border: 10px solid;
    border-image: url(/assets/border.png) 13 stretch;
    padding: 10px;
}
.bag-filter-hidden-checkboxes{
	appearance: none;
	position: absolute;
	opacity: 0;
	pointer-events: none;
}
.bag-filter-label-text{
	cursor: pointer;
	color: gray;
	font-weight: normal;
	user-select: none;
	transition: all 0.3s ease;
	margin: 0 5px 0 5px;
    font-size: 12px;
}
.bag-filter-hidden-checkboxes:checked ~ .bag-filter-label-text {
	font-weight: bold;
	text-shadow: 1px 1px white;
}
.perktree {
	width: 100%;
}
#shinobiNewsBox{
	padding: 10px;
}
.shinobiNewsCreateTextArea {
	width: 300px;
	height: 45px;
}
#shinobiNewsCreateTool {
	width: 500px;
	float: left;
}
#shinobiNewsEditTool {
	width: 500px;
	float: left;
}
.techModDiv {
	margin-top: 10px;
}
.messageBoard {
	position: absolute;
	border: 2px solid black;
	background: url("/assets/ui/background_main\.png") center / cover no-repeat;
	padding: 5px;
    left: 25%;
    top: 25%;
	width: 700px;
	z-index: 9999;
}
.messageBoardInput {
	width: 90%;
}
.messageBoardContent {
	width: 90%;
}
.messageBoardPostBtn {
	position: relative;
    bottom: 10px;
    left: 5px;
}
#logLookupTool {
	background: url("/assets/ui/background_main.png") center / cover no-repeat;
	width: 95%;
	height: 95%;
	padding: 10px;
	overflow: scroll;
}
.logEntry {
	margin-bottom: 10px;
}
#perkShopDiv,#techShopDiv {
	float: left;
	padding: 10px;
	max-width: 40%;
	background: url("/assets/ui/background_main.png") center / cover no-repeat;
	overflow-y: scroll;
	max-height: 500px;
}
#perkShopDisplay,#techShopDisplay {
	display: none;
	float: left;
	width: 40%;
	top: 0px;
	background: url("/assets/ui/background_main.png") center / cover no-repeat;
	padding: 10px;
	border-left: 2px solid maroon;
	border-right: 2px solid maroon;
	text-align: center;
	margin-left: 10px;
}
.perkShopEntry,.techShopEntry {
	cursor: pointer;
	margin-bottom: 6px;
	border-bottom: 1px solid;
}
#jutsuLibList {
	float: left;
	padding: 10px;
	width: fit-content;
	background: url("/assets/ui/background_main.png") center / cover no-repeat;
	overflow-y: scroll;
}
.jutsuLibEntry {
	padding: 5px;
	box-shadow: 1px 1px 5px 1px black;
	border-radius: 5px;
	background: url("/assets/ui/background_main.png") center / cover no-repeat;
	width: fit-content;
	margin: 6px;
	margin-left: auto;
	margin-right: auto;
	cursor: pointer;
}
#jutsuCardDisplay{
	display: none;
	float: left;
	width: 40%;
	top:0px;
	background: url("/assets/ui/background_main\.png") center / cover no-repeat;
	background-size: cover;
	padding: 10px;
	border-left: 2px solid maroon;
	border-right: 2px solid maroon;
	text-align: center;
	margin-left: 10px;
}
.jutsuDescription{
	white-space: pre-line;
}
.autocomplete-input {
	padding: 15px;
	width: 220px;
	border-radius: 1px;
	border: none;
	outline: none;
	color: blue;
	font-weight: bold;
	background-color: inherit;
}
.autocomplete-input::placeholder {
	color: blue;
}
.autocomplete-list {
	list-style-type: none;
	margin: 0;
	padding: 0;
	max-height: 200px;
	max-width: 250px;
	overflow-y: auto;
	overflow-x: none;
}
.autocomplete-list li {
	color: blue;
	padding: 15px;
	width: calc(100% - 30px);
	cursor: pointer;
}
#outputDiv {
	margin-top: 20px;
	margin-left: 20px;
	border-style: solid;
	border-width: 5px;
	padding: 5px;
	width: 400px;
}
.invManager {
	position: absolute;
	z-index: 10001;
	border-style: solid;
	border-width: 5px;
	left: 1375px;
	top: 100px;
	background: white;
	padding: 5px;
	width: 400px;
}
.inventoryItem {
	padding: 8px 0;
	border-bottom: 1px solid #ddd;
	font-size: 14px;
}
.inventoryItem:last-child {
	border-bottom: none;
}
.inventoryItem:hover .postBtn {
	opacity: 1 !important;
}
.postBtn {
	border-radius: 10px !important;
}
span[style*="display:inline-flex"]:hover .postBtn {
	opacity: 1 !important;
}
.poiInputs {
	display: block;
	margin-bottom: 3px;
}
.babyTokenAttachment{
	pointer-events: none;
    width: 15px;
    position: absolute;
    z-index: 10001;
	transition: opacity 0.2s ease-in-out;
}
#seasonMetaDiv{
	display: inline;
    right: 5px;
    position: absolute;
    font-size: 16px;
	cursor: default;
}
.notificationWindow {
	position: absolute;
	z-index: 109002;
	border: solid;
	background: white;
	left: 45%;
	top: 25%;
	padding: 20px;
	white-space: pre-wrap;
	max-width: 900px;
	background: url("/assets/ui/background_main\.png") center / cover no-repeat;
	opacity: 0;
	pointer-events: none;
	transition: opacity 1s ease-in-out;
}
#rpToolBox{
	position: absolute;
	left: 100px;
	top: 100px;
	z-index: 1000000;
	width: 500px;
	background: url("/assets/ui/background_main.png") center / cover no-repeat;
	display: none;
	padding: 10px;
	border: solid;
	border-width: 2px;
	border-radius: 4px;
	box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.4); 
}
.announceDiv {
	position: absolute;
	top: 50px;
	left: 300px;
	background: url("/assets/ui/background_main.png") center / cover no-repeat;
	padding: 10px;
	border-radius: 5px;
	font-size: 22px;
	z-index: 999999;
	border-style: solid;
	border-color: black;
	white-space: pre-wrap;
	width: 900px;
}
.pigeonPostDiv{
	position: absolute;
	z-index: 99999;
	width: 35%;
	height: 415px;
	left: 10%;
	top: 10%;
	background: url("/assets/ui/background_main\.png") center / cover no-repeat;
	border-radius: 5px;
	border: 5px solid;
	padding: 10px;
}
.pigeonPostHeader{
	font-size: larger;
	font-weight: bold;
}
#pigeonPostListings{
	overflow-y: scroll;
    height: 200px;
    line-height: 25px;
}
.bioBabyIcon {
	width: 50px;
	height: 50px;
}
.poiGlow:hover {
	filter: drop-shadow(0 0 10px rgba(173, 173, 45, 0.8));
	transition: filter 0.2s ease-in-out;
}
.slotReelsWindow{
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: url("/assets/ui/background_main\.png") center / cover no-repeat;
	width: 570px;
	height: 400px;
	overflow: hidden;
	border: 2px solid black;
	padding: 15px;
}
.slotReel{
	flex-basis: 32%;
	height: 100%;
	border: 1px solid red;
	background-image: url(/assets/icons/casino/reel.png);
	background-repeat: repeat-y;
	background-position: 0 100px;
}
.vbRow{
	height: 20px;
	flex-basis: 100%;
}
.transitionDiv {
	opacity: 1;
	transition: opacity 1s ease-in-out;
    width: 100%;
    height: 100%;
    position: fixed;
	top: 0;
	left: 0;
    z-index: 100001;
	background: url("/assets/ui/background_main\.png") center / cover no-repeat;
}
.supplyDepotDiv,.travelToolDiv,.forgeDiv,.craftingStationDiv,.gatheringStationDiv,.healingInterface,.popoutUI,.itemCollectionDiv{
	position: absolute;
	z-index: 100001;
	width: fit-content;
	max-width: 1500px;
	left: 10%;
	top: 10%;
	background: url("/assets/ui/background_main\.png") center / cover no-repeat;
	border-radius: 5px;
	border: 5px solid;
	padding: 10px;
}
.depotTable td{
	width: fit-content;
	max-width: 50%;
	max-height: 100px;
}
.poiToolTip {
	position: absolute;
	display: block;
	text-align: center;
	width: fit-content;
	max-width: 300px;
	background: url("/assets/ui/background_main.png") center / cover no-repeat;
	border: #000 solid 1px;
	font-size: 12px;
	padding: 10px;
	border-radius: 5px;
	z-index: 99999;
}
#charSheetBox {
	z-index: 10002;
	border-style: solid;
	border-width: 2px;
	padding: 5px;
	width: 900px;
	height: 550px;
	position: absolute;
	left: 355px;
	top: 100px;
	white-space:pre-wrap;
	overflow: visible;
	border-radius: 5px;
	background: url("/assets/ui/background_main.png") center / cover no-repeat;
	background-color: wheat;
	box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.4);
	cursor: context-menu;
	display: flex;
	flex-direction: column;
}

#gearTextOrIcon {
	position:absolute !important;
	right:0 !important;
	bottom:0 !important;
	color:white !important;
	z-index: 9999999999999;
	text-shadow:2px 1px black !important;
}
#customProfileInventoryBox {
	display:none;
	position: absolute;
	right: 40px;
	bottom: 0px;
	background: rgba(255, 255, 255, 0.2);
}
#bioSheetBox {
	z-index: 999999;
	min-height: 310px;
	border-style: solid;
	border-width: 2px;
	padding: 5px;
	width: fit-content;
	max-width: 1200px;
	min-width: 400px;
	position: absolute;
	left: 355px;
	top: 100px;
	white-space:pre-wrap;
	overflow: visible;
	border-radius: 5px;
	background: url("/assets/ui/background_main.png") center / cover no-repeat;
	background-color: wheat;
	box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.4);
    flex-wrap: wrap;
}
#bioSheetBioDiv{
	width: 150px;
}
#bioSheetBox .content{
	max-width: 300px;
}
#charSheetBox #charSheet_tabBar {
	flex-shrink: 0;
}

#charSheetBox .charSheet_tab {
	transition: background 0.2s ease;
	position: relative;
}

#charSheetBox .charSheet_tabContent {
	flex: 1;
	overflow-y: auto;
	padding: 10px;
}

#charSheetBox iframe,#bioSheetBox iframe {
	opacity: 0;
	position: absolute;
	pointer-events: none;
}
#perkTable td,#perkTable th {
	padding-left: 2px;
	text-align: center;
	overflow: auto;
}
.jutsuButtons,.perkButtons{
	height:30px;
	margin-bottom: 2px;
	margin-left: 2px;
	padding: 3px;
}
.jutsuHover {
	text-decoration: underline;
	color: rgb(18 31 169);
}
.perkHover {
	text-decoration: underline;
	color: rgb(20 102 28);
}
.scroll_animation {
	transition: max-height 0.3s ease-out, padding-top 0.3s ease-out;
}
#charSheetBox #equipment label {
	display: inline-block;
	width: 100px;
	text-align: center;
}
#charListBox {
	border-width: 2px;
	border-style: solid;
	margin-top: 20px;
	margin-left: 20px;
	position: relative;
	padding: 2px;
	max-height: 600px;
	overflow: auto;
	min-width: 155px;
}
#updateCharSheet {
	position: relative;
	float: right;
}
.cooldownSpan{
	position: relative;
	bottom: 7px;
	background: antiquewhite;
	border-radius: 4px;
	padding-left: 3px;
	padding-right: 3px;
}
#gatheringTool{
	background: url("/assets/ui/background_main\.png") center / cover no-repeat;
    overflow: scroll;
}
#gatheringToolControls{
	width: 40%;
}
.sparTool {
	background: url("/assets/ui/background_main\.png") center / cover no-repeat;
    overflow: scroll;
}
.falseLink {
	cursor: pointer;
	color: blue;
	text-decoration: underline;
}
.collapsible {
	cursor: pointer;
	width: 99.7%;
	border: none;
	text-align: left;
	outline: none;
	font-size: 15px;
	margin-top: 15px;
	border-radius: 5px;
	padding: 2px 5px 2px 5px;
}
.active, .collapsible:hover {
	background-color: #9f9f9f;
	border-radius: 5px;
	padding: 2px 5px 2px 5px;
	max-width: 150px;
}
.content {
	max-height: 0;
	overflow: auto;
	transition: max-height 0.2s ease-out;
}
.contentDarkMode {
	color: black;
	max-height: 0;
	overflow: auto;
	transition: max-height 0.2s ease-out;
	background-color: #a7a7a7;
}
input::placeholder {
	color: black;
	opacity : .9;
}
.charEntry {
	cursor: pointer;
}
table, tr, td, th {
	table-layout: fixed;
	width: 100%;
	border-collapse: collapse;
	border: 1px solid rgba(1, 1, 1, .03)
}
td {
	padding: 2px;
	width: 26px;
	height: 27px;
	vertical-align: top;
}
.tableDivs {		
	position: absolute;	
	max-width: 100%;
	max-height: 100%;
	display: flex;
}
table img {
	max-width: 100%;
}
#charSheetsTable th, #charSheetsTable td, #charSheetsTable tr{
	border: 1px solid rgba(1, 1, 1, .3)
}
.streamermode {
	opacity: 0;
}
.rankupDiv{
	position: absolute;
	left: 300px;
	top: 300px;
	z-index: 99999999999;
	background: url("/assets/ui/background_main\.png") center / cover no-repeat;
	border: black 2px solid;
	padding: 10px;
}
.token_img {
	z-index: 9999;
	position: absolute;
	max-width: 33px;
	max-height: 33px;
	transition: box-shadow 0.5s ease-in-out;
}
#mapBox {
	border: 1px solid;
	border-radius: 2px;
}
#mapTable {
	background-color: black;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}
.conquestOverlay {
	z-index: 99999;
	position: fixed;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 88vw;
	max-width: 1100px;
	height: 85vh;
	border: 2px solid black;
	border-radius: 4px;
	background: url("/assets/ui/background_main.png") center / cover no-repeat;
	padding: 10px;
	display: none;
	overflow-y: auto;
	box-sizing: border-box;
	box-shadow: 4px 4px 15px rgba(0, 0, 0, 0.6);
}
.toolbox {
	z-index: 99999;
	position: absolute;
	left: 220px;
	top: 200px;
	width: 400px;
	border: 2px;
	border-style: solid;
	border-color: black;
	border-radius: 4px;
	background: url("/assets/ui/background_main.png") center / cover no-repeat;
	padding: 5px;
	display: none;
		box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.4); /* Adds shadow */
}
.movementTool {
	z-index: 99999;
	position: absolute;
	left: 220px;
	top: 200px;
	width: 150px;
	border: 2px;
	border-style: solid;
	border-color: black;
	border-radius: 3px;
	background: url("/assets/ui/background_main.png") center / cover no-repeat;
	padding: 5px;
	display: none;
}
.combatManagementBox{
	margin-top: 5px;
}
#combatTool {
	position: absolute;
	left: 250px;
	top: 100px;
	width: 900px;
	border: 3px;
	border-style: solid;
	border-color: #3f1b09;
	border-radius: 3px;
	background: url("/assets/ui/background_main.png") center / cover no-repeat;
	display: none;
	z-index: 10002;
    flex-wrap: wrap;
	cursor: default;
}

#combatToolbox {
	padding: 8px;
    background: url(/assets/ui/background_main.png) center / cover no-repeat !important;
    max-height: 700px;
    display: none;
    flex-direction: column;
    position: absolute;
    left: -202px;
    top: 138px;
    width: 180px;
    border: 3px solid rgb(63, 27, 9);
    border-radius: 3px;
    z-index: 10002;
    overflow: hidden;
}
#combatToolbox #combatToolboxBtn {
	margin-bottom: 8px;
}
#openCombatToolboxBtn {
	position: absolute;
    width: auto !important;
    z-index: 10001;
    right: 837px;
    top: 142px;
}
#combatTool_topBar{
    flex-basis:100%;
    height: 25px;
    display: flex;
    background: url("/assets/ui/background_main.png") center / cover no-repeat;
    border-bottom: 2px #3f1b09 solid;
}
.combatTool_topBar_buttons{
    border-radius: 5px;
    background: rgb(128 42 19);
    color:white;
    font-size: 12px;
    padding-top: 2px;
    padding-bottom: 2px;
    width: 113px;
    margin-right: 3px;
	max-height: 22px;
}
.combatTool_topBar_buttons:disabled{
    background: gray
}
#effectsPanel {
	display: flex;
	flex-direction: column;
	gap: 4px;
	font-size: 11px;
	max-height: 150px;
	overflow-y: auto;
	padding: 4px;
}
.effectItem {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 3px 6px;
	border-radius: 3px;
	font-weight: bold;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.effectItem.buff {
	background: rgba(34, 139, 34, 0.4);
	border-left: 3px solid green;
	color: #006400;
}
.effectItem.debuff {
	background: rgba(220, 20, 60, 0.4);
	border-left: 3px solid red;
	color: #8b0000;
}
.effectItem.neutral {
	background: rgba(169, 169, 169, 0.3);
	border-left: 3px solid gray;
	color: #333;
}
.effectName {
	flex: 1;
	overflow: hidden;
	text-overflow: ellipsis;
}
.effectSource {
	margin-left: auto;
	margin-right: 8px;
	font-size: 9px;
	opacity: 0.7;
	flex-shrink: 0;
}
.effectTurns {
	margin-left: 8px;
	font-size: 10px;
	opacity: 0.8;
	flex-shrink: 0;
}
.attrRow {
	display: flex;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 2px;
}
.attrItem {
	display: flex;
	align-items: center;
	gap: 4px;
	flex: 1;
}
.attrItem img {
	flex-shrink: 0;
}
.attrSpans{
	display: inline-block;
	text-align: center;
	margin: 0;
	font-weight: bold;
	min-width: 30px;
}
.attrBars{
	width: 100%;
	background-color: green;
	height: 100%;
	position: absolute;
	top: 0;
	z-index: -1;
	transition: width 0.5s ease-in-out;
}
#effectsTracker {
	position: absolute;
	right: 4px;
	top: 65px;
	height: 20px;
	overflow: hidden;
	text-decoration: underline;
	text-align: right;
	color: rgb(18 31 169);
	cursor: default;
}
#combatNav {
	margin-top: 2px;
}
.syntaxOverrideInput{
	width: 250px;
}
#managerNav button{
	margin-right: 2px;
}
#perksBox {
	margin-top: 10px;
}

#perksBox > label,#perksBox > input {
	padding-right: 5px;
}
.actionBreakdown {
	display: table-row;
	font-size: 11px;
}
#statTracker {
	cursor: default;
	display: flex;
	flex-wrap: wrap;
	flex-basis: 43%;
	padding: 2px;
	background: url("/assets/ui/background_main.png") center / cover no-repeat;
	border-style: solid;
	border-width: 0 2px 2px 0;
	border-color: #3f1b09;
}
#combatModsToggle {
	cursor: default;
}
.charStats {
	display: table-cell;
	max-width: 110px;
	overflow: hidden;
	padding-right:5px;
}
.adminCharEntry{
	display: table-row;
}
#actionsDropdown {
	max-height: 250px;
	overflow-y: scroll;
	overflow-x: hidden;
	list-style-type: none;
}
#actionsDropdown li {
	border: 1px solid rgba(0, 0, 0, .4);
	transition: border 0.2s ease-in-out;
	padding-left: 5px;
}
#actionsDropdown li .availableAction:hover {
	border: 1px solid rgba(255, 255, 255, 1);
}
#actionsDropdown li .cooldownAction:hover {
	border: 1px solid rgba(255, 0, 0, 1);
}
.availableAction {
	cursor: pointer;
}
.tooltipIcon{
	width: 18px;
    margin-left: 2px;
    top: 4px;
    position: relative;
}
#tooltipBox {
	position: fixed;
	width: 600px;
	border: 3px solid black;
	border-radius: 3px;
	padding: 5px;
	z-index: 1000000;
	background: url("/assets/ui/background_main\.png") center / cover no-repeat;
	background-size: cover;
	pointer-events: none;
	max-height: 90vh;
	overflow-y: auto;
}

#combatLogToggle {
	cursor: default;
}
#combatLogBox {
	max-height: 300px;
	overflow: scroll;
	-ms-overflow-style: none;  /* IE and Edge */
	scrollbar-width: none;  /* Firefox */
	cursor: default;
}
#combatLogBox::scrollbar {
  display: none;
}
#combat_log_table > td,#combat_log_table > th {
	padding-left: 2px;
	height: 20px;
	overflow: auto;
}
.highlight:hover {
	background-color: lightgoldenrodyellow;
}
.subhighlight{
	background-color: salmon;
}
#infoPop {
	display:block; 
	position:absolute; 
	left:-2000px; 
	top: 25px; 
	width: 1000px; 
	max-height: 0; 
	overflow:auto; 
	transition: max-height 0.2s ease-out, padding-top 0.2s ease-out, left 0.2s ease-out;
	border: 5px solid;
	padding: 20px;
	background: white;
	z-index: 999;
}
.buttons_general {
	margin-left: 5px;
}
.charSelectCard {
	cursor: pointer;
	padding: 10px;
	border: 2px solid #777;
	border-radius: 6px;
	background-color: rgba(0,0,0,0.4);
	color: white;
	width: 140px;
	text-align: center;
	transition: background-color 0.15s ease-out, border-color 0.15s ease-out;
}
.charSelectCard:hover {
	background-color: rgba(255,255,255,0.15);
	border-color: #fff;
}
.charSelectCard img {
	width: 100px;
	height: 100px;
	object-fit: cover;
	border-radius: 4px;
}
.dropbtn {
  background-color: #3498DB;
  color: white;
  padding: 16px;
  font-size: 16px;
  border: none;
  cursor: pointer;
}
.dropbtn:hover, .dropbtn:focus {
  background-color: #2980B9;
}
.dropdown {
  position: relative;
  display: inline-block;
}
.dropdown-content {
  display: none;
  position: absolute;
  background-color: #f1f1f1;
  min-width: 160px;
  overflow: auto;
  box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
  z-index: 1;
}
.itemManagementDivs {
	width: 25%;
	float: left;
	padding: 5px;
}
.dropdown-content a {
  color: black;
  padding: 12px 16px;
  text-decoration: none;
  display: block;
}
.dropdown a:hover {
	background-color: #ddd;
}
#initiativeTracker{
	position: absolute;
	right: 4px;
	top: 46px;
	height: 20px;
	max-width: 255px;
	overflow: hidden;
	text-decoration: underline;
	text-align: right;
	color:rgb(18 31 169);
	cursor: default;
}
#activePlayerInitiative{
	pointer-events: none;
}
#combatChat{
	position: absolute;
	right: 2px;
	top: 50px;
}
#chatSelector{
	height: 17px;
}
#ongoingEffectsBox,#weatherEditorBox{
	position:absolute;
	z-index:999999;
	left:900px;
	top: 80px;
	border: 3px solid black;
	border-radius: 5px;
	padding: 2px;
	min-width: 250px;
	background: url("/assets/ui/background_main.png") center / cover no-repeat;
}
#combatSummaryBox{
	position:absolute;
	z-index:999999;
	left:900px;
	top: 170px;
	border: 3px solid black;
	border-radius: 5px;
	padding: 2px;
	min-width: 250px;
	background: url("/assets/ui/background_main.png") center / cover no-repeat;
}
#summarySpan{
	position: absolute;
    right: 4px;
    top: 145px;
    height: 20px;
    overflow: hidden;
    text-decoration: underline;
    text-align: right;
    color: rgb(18 31 169);
    cursor: default;
}
#combatInitBox {
	position:absolute;
	z-index:999999;
	left: 900px;
	top: 65px;
	border: 3px solid black;
	border-radius: 5px;
	padding: 2px;
	background: url("/assets/ui/background_main.png") center / cover no-repeat;
	width: 40%;
}
.initBox_name {
	display: block;
	padding: 2px;
}
.initBox_name_active {
	background: yellow;
	padding: 2px 5px;
	display: block;
}
#pniTable {
	width: auto;
	border: none;
}
#pniTable td,th{
	text-align: center;
}
#pniTable input{
	width: 70%;
}
.systemMessage{
	color: rgb(100, 14, 14);
}
.chat {
	display: inline-block;
}
.chat.meta {
	float: left;
}
.chat.character {
	font-weight: bold;
	font-size: 14px;
	text-shadow: 0.2px 0 black;
}

.chat.timestamp {
	font-size: 13px;
	margin-left: 10px;
	text-align: center;
}

.chat.volume {
	font-size: 14px;
	margin-left: 10px;
	text-align: right;
}

.chat.message {
	float: left;
	font-size: 15px;
	margin: 2px;
	padding-left: 5px;
	margin-left: 5px;
	border-left: rgba(1, 1, 1, 0.2) solid;
	white-space: pre-wrap;
}

.chat.volume.whisper {
	cursor: pointer;
}

.chat.volume.shout {
	cursor: default;
}

.chat.message.shout {
	cursor: default;
}

/* Blur effect for admin viewing whisper messages */
.chat.div.whisper-blurred .chat.message.whisper-blurred-msg {
	filter: blur(5px);
	cursor: pointer;
	user-select: none;
	transition: filter 0.2s ease;
}

.chat.div.whisper-blurred .chat.message.whisper-blurred-msg:hover {
	filter: blur(3px);
}

#chatTitle {
	left: 2px;
	position: relative;
	font-weight: bold;
}
.rollResultText{
	font-size: 15px;
	font-weight: bold;
}
.rollAttrText{
	color: blue;
}
.rollStaticBonusText {
	color:limegreen;
	font-weight: bold;
}
.rollStaticPenaltyText {
	color:red;
}
.deathRollResult {
	font-size: 1.5em;
	font-weight: bold;
	color: #e00;
	letter-spacing: 0.05em;
}
.deathRollResult.deathRollSuccess {
	color: #2a2;
}
.deathRollResult.deathRollFailure {
	color: #e00;
}
.deathRollResult.deathRollNat1 {
	color: #e00;
}
.deathRollResult.deathRollNat20 {
	color: #2a2;
}
.deathRollDigit {
	display: inline-block;
	animation: deathRollReveal 0.4s ease-out;
}
.deathRollFanfare {
	display: block;
	font-size: 1.1em;
	font-weight: bold;
	color: #2a2;
	letter-spacing: 0.1em;
	animation: deathRollFanfare 0.5s ease-out;
}
@keyframes deathRollReveal {
	0%   { transform: scale(2.5); opacity: 0; }
	100% { transform: scale(1);   opacity: 1; }
}
@keyframes deathRollFanfare {
	0%   { transform: scale(0.5); opacity: 0; }
	60%  { transform: scale(1.2); opacity: 1; }
	100% { transform: scale(1);   opacity: 1; }
}
#chatUpdateButton {
	margin-right: 2px;
}
#chatInfoIcon {
	cursor: default;
}
#guardianSpeech {
	top: 130px;
	left: 280px;
	position: absolute;
}
.elementToFadeInAndOut {
	animation: fadeinout1 3s linear forwards;
	opacity: 0;
}
.elementToFadeInAndOut2 {
	animation: fadeinout2 3s linear forwards;
	opacity: 0;
}
@keyframes fadeinout1 {
  50% { opacity: 1; }
}
@keyframes fadeinout2 {
  50% { opacity: 1; }
}
.editorTable {
	margin: 5px;
	width: auto;
}
.editorTable th{
	width: 100px;
}
.editorTable td{
	text-align: center;
}
.combatLogTable{
	width: 1500px;
}
.tableInput{
	width: 95px;
	overflow: hidden;
}
#charSheetSearch,#usersSearch {
	display: inline;
	margin-left: 5px;
}
.npcCreatorInput {
	width: 90%;
}
.selectActionButton {
	max-width: 280px;
}
#combatStatEditorTool {
	border: solid;
	padding: 5px;
	display: none;
	position: absolute;
	flex-wrap: wrap;
	left: 900px;
	top: -2px;
	width: 600px;
	background: url("/assets/ui/background_main.png") center / cover no-repeat;
}
.combatPerkDiv{
	margin-left: 10px;
    flex-basis: 30%;
    font-size: 15px;
    overflow: hidden;
    height: 20px;
}
.combatCheckbox{
	opacity: 0;
	width: 0;
	height: 0;
}
.combatPerkDiv label{
    padding-left: 5px;
    padding-right: 5px;
}
.combatCheckbox+label{
	cursor: pointer;
}
.combatCheckbox:checked+label{
	bottom: 2px;
    position: relative;
    left: -15px;
	font-weight: bold;
}
.combatCheckbox:checked:disabled+label{
	color: #6d6d6d;
}
.combatCheckbox:checked+label:before{
	content:'\1F5E1';
	position:relative;
}
#jutsuPrepBox{
	border: solid;
	border-width: 1px;
	padding: 2px;
	margin-top: 10px;
	margin-bottom: 2px;
}
.selectedCombatantsTable {
	display: table;
}
.selectedCombatant{
	margin: 5px;
}
.messageBoardPost{
	margin-top: 5px;
}
.controlsBar{
	width: 240px;
	display: flex;
	flex-wrap: wrap;
	gap: 2px;
}
.controlsBar button {
	width: 70px;
	font-size: 11px;
	flex-basis: calc(33.333% - 2px);
	box-sizing: border-box;
}
.controlsBar img{
	cursor: pointer;
	margin: 1px;
	width: 18px;
}
#perkCheckboxes{
	display: flex;
    flex-flow: row wrap;
}
.combatNotification {
	border: solid;
	position: absolute;
	left: 0;
	top: 100px;
    width: 800px;
    padding: 10px;
	min-height: 100px;
	text-align: center;
	transition: all 1s linear;
	opacity: 1;
	background: url("/assets/ui/background_main\.png") center / cover no-repeat;
	line-height: 100px;
	font-size: x-large;
	z-index: -9999;
	pointer-events: none;
}
.hidden {
	opacity: 0;
}
.bagSpan {
	text-decoration:none;
	color:black;
	display: flex;
	align-items: center;
	font-weight: 500;
	position: relative;
	flex: 1;
	gap: 6px;
}
.bagSpan:hover .tooltip {
	display: block;
}
.bagRowActions {
	display: none;
	margin-left: auto;
	white-space: nowrap;
}
.bagSpan:hover .bagRowActions {
	display: inline-block;
}
.bagActionBtn {
	font-size: 11px;
    padding: 2px 2px 0px 2px;
    border: 0.1px black solid;
    border-radius: 4px;
    margin-left: 2px;
    cursor: pointer;
    background: transparent;
    font-weight: bold;
}
.bagDiv {
	margin-top: 12px !important;
	/* padding: 10px !important;
	border: 1px solid #999 !important;
	background-color: rgba(200, 164, 122, 0.1) !important;
	border-radius: 4px; */
	font-size: 13px;
}
.bagItem {
	padding: 6px 0;
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 13px;
	border-bottom: 1px solid #ddd;
}
.bagItem:last-child {
	border-bottom: none;
}
.bagItem .postBtn {
	opacity: 0 !important;
}
.bagItem:hover .postBtn {
	opacity: 1 !important;
}
div[style*="justify-content:space-between"]:hover .postBtn {
	opacity: 1 !important;
}
.bagQty {
	display: inline-block;
	width: 40px;
	text-align: right;
	font-weight: 600;
	color: #555;
	flex-shrink: 0;
}
.tooltip {
	display: none; /* Hide tooltip by default */
	position: fixed;
	background: white;
	border: 1px solid black;
	border-radius: 7px;
	padding: 5px;
	opacity: 1;
	z-index: 10001;
	background: url("/assets/ui/background_main.png") center / cover no-repeat;
	box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.5); /* Adds shadow */
	pointer-events: none;
	max-width: 40vw;
	word-wrap: break-word;
	overflow: hidden;
}
.tooltip::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(0, 0, 0, 0.05); 
}
.bagSpan:hover .tooltip {
	display: block; /* Display tooltip on hover */
}
#twitchInitiativeBox {
	width: 98%;
	height: 96%;
	padding: 10px;
	background: url("/assets/ui/background_main.png") center / cover no-repeat;
}
#twitchInitiative {
	overflow-y: scroll;
	overflow-x: hidden;
	padding-top: 10px;
}
#charSheet_player {
	position: absolute;   /* invisible player. Keeping it on screen (unless someone drags the entire char sheet off screen, but they are helpless anyways) */
	top: 0px;
}
#bioSheet_player {
	position: absolute;   /* invisible player. Keeping it on screen (unless someone drags the entire char sheet off screen, but they are helpless anyways) */
	top: 0px;
	width: 0;
	height: 0;
}
.mapNameMarker {
	width: fit-content;
	z-index: 99999;
	color: orange;
	background: url("/assets/ui/background_main\.png") center / cover no-repeat;
	cursor: context-menu;
}
.combatMarkerImg {
	opacity: 0.75;
	position: absolute;
	z-index: 9999;
}
#markerPlacementToolsDiv {
	position: absolute;
    right: 5px;
    top: 85px;
}
.voteBox{
	position: absolute;
	border: #000 solid 3px;
	background: url("/assets/ui/background_main\.png") center / cover no-repeat;
	left: 100px;
	top: 100px;
    padding: 20px;
    z-index: 999999;
}
.adminPerkTooltip {
	display: flex;
    width: 750px;
    z-index: 99999999;
    background: url("/assets/ui/background_main\.png") center / cover no-repeat;
    border: 2px solid;
    position: absolute;
	top: 200px;
	left: 300px;
}
.charEditorDiv{
	position: absolute;
	border: #000 solid 3px;
	background: url("/assets/ui/background_main\.png") center / cover no-repeat;
	left: 200px;
	top: 100px;
	min-width: 1000px;
    padding: 20px;
    z-index: 999999;
    max-height: 90vh;
    overflow-x: hidden;
    overflow-y: auto;
    box-sizing: border-box;
}
#charEditor_cooldownsDiv{
	column-gap: 25px;
	margin-top: 5px;
}
#charEditor_attributesDiv span{
	display: inline-block;
	width: 90px;
}
#charEditor_attributesDiv input{
	margin-right: 15px;
	width: 70px;
}
.charEditorObjHtml{
	margin-left: 10px;
	display: flex;
	flex-wrap: wrap;
}
.charEditorObjHtml_entry{
	flex-basis: 50%;
	margin-top: 2px;
}
.charEditorObjHtml_entryName{
	margin-left: 5px;
}
.charEditorObjHtml_entryVal{
	width: 100px;
	margin-left: 5px;
}
#charEditorObjHtml_newName{
	margin-top: 10px;
}
#weatherBox {
	position: absolute;
	top: 0;
	left:0;
	pointer-events: none;
}

.perkTree {
	width: 5000px;
}
.perkTree ul {
	padding-top: 20px; position: relative;
	
	transition: all 0.5s;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
}

.perkTree li {
	float: left; text-align: center;
	list-style-type: none;
	position: relative;
	padding: 20px 5px 0 5px;
	
	transition: all 0.5s;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
}
/*We will use ::before and ::after to draw the connectors*/
.perkTree li::before, .perkTree li::after{
	content: '';
	position: absolute; top: 0; right: 50%;
	border-top: 1px solid #000;
	width: 50%; height: 20px;
}
.perkTree li::after{
	right: auto; left: 50%;
	border-left: 1px solid #000;
}
/*We need to remove left-right connectors from elements without 
any siblings*/
.perkTree li:only-child::after, .perkTree li:only-child::before {
	display: none;
}
/*Remove space from the top of single children*/
.perkTree li:only-child{ padding-top: 0;}
/*Remove left connector from first child and 
right connector from last child*/
.perkTree li:first-child::before, .perkTree li:last-child::after{
	border: 0 none;
}
/*Adding back the vertical connector to the last nodes*/
.perkTree li:last-child::before{
	border-right: 1px solid #000;
	border-radius: 0 5px 0 0;
	-webkit-border-radius: 0 5px 0 0;
	-moz-border-radius: 0 5px 0 0;
}
.perkTree li:first-child::after{
	border-radius: 5px 0 0 0;
	-webkit-border-radius: 5px 0 0 0;
	-moz-border-radius: 5px 0 0 0;
}
/*Time to add downward connectors from parents*/
.perkTree ul ul::before{
	content: '';
	position: absolute; top: 0; left: 50%;
	border-left: 1px solid #000;
	width: 0; height: 20px;
}
.perkTree li p{
	border: 2px solid #000;
	padding: 5px 10px;
	text-decoration: none;
	color: #666;
	font-family: arial, verdana, tahoma;
	font-size: 11px;
	display: inline-block;
    background-color: rgba(255, 255, 255, 0.7);
	max-width: 200px;
	white-space: pre-line;
	margin: 0;
	
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	
	transition: all 0.5s;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
}
/*Time for some hover effects*/
/*We will apply the hover effect the the lineage of the element also*/
.perkTree li p:hover, .perkTree li p:hover+ul li a {
	background: #c8e4f8; color: #000; border: 1px solid #94a0b4;
}
/*Connector styles on hover*/
.perkTree li p:hover+ul li::after, 
.perkTree li p:hover+ul li::before, 
.perkTree li p:hover+ul::before, 
.perkTree li p:hover+ul ul::before{
	border-color:  #94a0b4;
}

.context-menu {
	position: absolute;
	text-align: center;
	background: url("/assets/ui/background_main.png") center / cover no-repeat;
	border: 1px solid black;
	border-radius: 5px;
	visibility: hidden;
	padding: 10px;
	z-index: 100002;
}
.context-menu ul {
	padding: 0px;
	margin: 0px;
	min-width: 150px;
	list-style: none;
}
.context-menu ul li {
	padding: 7px 15px 7px 15px;
}
.context-menu ul li span {
	text-decoration: none;
	color: black;
	cursor: pointer;
}
.context-menu ul li:hover {
	text-decoration: underline;
}

.syntaxHelperDiv{
	margin-left:10px;
}
.syntaxHelperSpan{
	margin-left:15px;
}

#chatDockRow.expanded {
	height: 2000px;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 9999;
}

#chatDockRow.expanded #chatLogBox {
	max-height: none;
	height: calc(100% - 80px);
}

@media screen and (min-width: 2000px) {
	#leftNav{
		min-width: 165px;
		width: 170px;
		max-width: 170px;
		padding-top: 40px;
	}
	#contentBox {
		display: block;
		height: 753px;
		max-height: 715px;
		max-width: 1907px;
		min-width: 1907px;
		overflow: overlay;
		position: absolute;
		top: 0;
		left: 180px;
		border: solid 10px;
		border-image: url(/assets/border.png) 13 stretch;
		background: url("/assets/ui/background_main.png") center / cover no-repeat;
	}

	.botButtons {
		width: 160px;
		display: inline-block;
		cursor: pointer;
	}
	#chatDockRow {
		position: absolute;
		top: 735px;
		left: 178px;
		width: 1931px;
		min-height: 352px;
		display: flex;
		align-items: stretch;
		gap: 0;
		padding: 2px;
	}

	#chatBox {
		flex: 1 1 auto;
		min-height: 352px;
		margin: 0;
		border: none;
		padding: 0;
		position: relative;
		top: auto;
		left: auto;
		border-image: none;
		background: url("/assets/ui/background_chat.png") center / cover no-repeat;
	}

	#toolboxPanel {
		width: 300px;
		flex-basis: 300px;
		flex-shrink: 0;
		min-height: 352px;
		background: url("/assets/ui/background_chat.png") center / cover no-repeat;
		overflow-y: auto;
		display: flex;
		flex-direction: column;
		border: 12px solid transparent;
		border-image-source: url("/assets/ui/border_general.png");
		border-image-slice: 24;
		border-image-width: 12px;
		border-image-repeat: stretch;
		transition: flex-basis 0.3s ease;
	}

	#toolboxPanel.combatMode {
		width: 30%;
		flex-basis: 30%;
	}

	#toolboxPanel.collapsed {
		flex-basis: 32px;
		width: 32px;
	}

	#toolboxPanel.collapsed .toolboxPanel_tabBar {
		display: none;
	}

	#toolboxPanel.collapsed .toolboxPanel_tabContent {
		display: none;
	}

	#toolboxPanel.collapsed .toolboxPanel_content {
		display: none;
	}

	#toolboxPanel.collapsed > div:first-child > span {
		display: none;
	}

	#chatLogBox.chat-filter-system-hidden .msg-system {
		display: none;
	}

	#leftNav.collapsed {
		display: none;
	}

	.toolboxPanel_tabBar {
		display: flex;
		gap: 0;
		border-bottom: 2px solid rgba(0, 0, 0, 0.3);
		min-height: 32px;
		flex-wrap: wrap;
		align-content: flex-start;
	}

	.toolboxPanel_tab {
		padding: 4px 8px;
		cursor: pointer;
		background: rgba(0, 0, 0, 0.1);
		border: 1px solid rgba(0, 0, 0, 0.3);
		color: #de8518;
		font-size: 11px;
		text-align: center;
		white-space: nowrap;
		flex-shrink: 0;
		transition: background 0.2s;
		font-weight: bold;
	}

	.toolboxPanel_tab:hover {
		background: rgba(0, 0, 0, 0.2);
	}

	.toolboxPanel_tab.active {
		background: rgba(0, 0, 0, 0.3);
		border-color: #de8518;
	}

	.toolboxPanel_tab.collapsed {
		display: none;
	}

	.toolboxPanel_tabContent {
		flex: 1;
		overflow-y: auto;
		padding: 8px;
		display: none;
	}

	.toolboxPanel_tabContent.active {
		display: block;
	}

	.itemActionTrigger {
		display: inline-block;
		cursor: pointer;
		font-weight: bold;
		color: #de8518;
		margin-left: 4px;
		user-select: none;
		font-size: 0.9em;
	}

	.itemActionTrigger:hover {
		text-decoration: underline;
	}

	#itemActionMenu {
		position: fixed;
		background: url("/assets/ui/background_main.png") center / cover no-repeat;
		border: 10px solid transparent;
		border-image: url(/assets/border.png) 13 stretch;
		z-index: 10000;
		display: none;
		min-width: 120px;
	}

	#itemActionMenu.visible {
		display: block;
	}

	#itemActionMenuList {
		list-style: none;
		margin: 0;
		padding: 8px;
	}

	#itemActionMenuList li {
		padding: 6px 10px;
		cursor: pointer;
		color: #de8518;
		font-family: nirmala;
		font-size: 12px;
		border-bottom: 1px solid rgba(0, 0, 0, 0.2);
		transition: background 0.2s;
	}

	#itemActionMenuList li:last-child {
		border-bottom: none;
	}

	#itemActionMenuList li:hover {
		background: rgba(0, 0, 0, 0.2);
	}

	body.admin-ui #chatBox,
	body.player-ui #chatBox {
		left: auto;
	}

	body.admin-ui #contentBox,
	body.player-ui #contentBox {
		left: 190px;
	}

	body.admin-ui #chatDockRow,
	body.player-ui #chatDockRow {
		left: 188px;
	}
	body.admin-ui #mapName,
	body.player-ui #mapName {
		left: 1144px;
		top: 745px;
	}
	#twitchBox {
		margin-left: 5px;
		position: absolute;
		left: 2115px;
		top: 9px;
	}
	#twitchChatFrame {
		width: 400px;
		height: 701px;
	}
	.twitchEmbedFrame{
		width: 402px; 
		left: 2px; 
		position: relative;
	}
	#chatLogBoxIC,#chatLogBoxOOC,#chatLogBox,#adminLogBox,#genericLogBox,#localLogBox {
		overflow-y: scroll;
		overflow-x: clip;
		height: 90%;
		min-height: 286px;
		max-height: 286px;
		word-wrap: normal;
		background: url("/assets/ui/background_main.png") center / cover no-repeat;
        border-top: 2px brown solid;
        border-bottom: 2px brown solid;
        margin-bottom: 2px;
	}

	.chatTitle.highlight{
		background-color: #ffa5006e;
	}
	.perkLibrary,.jutsuLibrary {
		background-color:white;
		border-style:double;
		border-width:2px;
		padding:5px;
		overflow:auto;
		height: 98%;
		background: url("/assets/ui/background_main.png") center / cover no-repeat;
	}
	.speechBubble{
		z-index: 10001;
		width: 15px;
		display: block;
		opacity: 0;
		margin-left: 27px;
		pointer-events: none;
	}
	.rpFlag {
		max-width: 15px;
		position: absolute;
		margin-left: 27px;
		z-index: 9999;
	}
	.mapNameText {
		font-family: shinobiFont;
		font-size: 30px;
	}
	#missionManagerDiv {
		max-width: 2000px !important;
	}
}

#leftNav {
	/*background: rgba(0, 0, 0, 0.05);
    border-radius: 5px;*/
    padding: 5px 0 5px 0;
    align-items: center;
    text-align: center;
}
body.admin-ui,
body.player-ui {
	min-height: 100vh;
}
body.admin-ui #leftNav,
body.player-ui #leftNav {
	position: fixed;
	top: 0;
	left: 0;
	height: calc(100vh - 20px);
	margin: 0;
	padding: 0;
	overflow-y: auto;
	overflow-x: hidden;
	scrollbar-width: none;
	-ms-overflow-style: none;
	background: url("/assets/ui/background_nav.png") center / cover no-repeat;
	border: 10px solid transparent;
	border-image-source: url("/assets/ui/border_navmenu.png");
	border-image-slice: 60;
	border-image-width: 10px;
	border-image-repeat: stretch;
}
body.admin-ui #leftNav::-webkit-scrollbar,
body.player-ui #leftNav::-webkit-scrollbar {
	display: none;
}
body.admin-ui #contentBox,
body.admin-ui #chatBox,
body.player-ui #contentBox,
body.player-ui #chatBox {
	border: 12px solid transparent;
	border-image-source: url("/assets/ui/border_general.png");
	border-image-slice: 24;
	border-image-width: 12px;
	border-image-repeat: stretch;
}
body.admin-ui #contentBox,
body.player-ui #contentBox {
	background: url("/assets/ui/background_main.png") center / cover no-repeat;
}
body.admin-ui #chatBox,
body.player-ui #chatBox {
	background: url("/assets/ui/background_chat.png") center / cover no-repeat;
}
body.admin-ui #chatLogBoxIC,
body.admin-ui #chatLogBoxOOC,
body.admin-ui #chatLogBox,
body.admin-ui #adminLogBox,
body.admin-ui #genericLogBox,
body.admin-ui #localLogBox,
body.player-ui #chatLogBoxIC,
body.player-ui #chatLogBoxOOC,
body.player-ui #chatLogBox,
body.player-ui #adminLogBox,
body.player-ui #genericLogBox,
body.player-ui #localLogBox {
	background: url("/assets/ui/background_chat.png") center / cover no-repeat;
}

body.admin-ui .mapNameMarker,
body.player-ui .mapNameMarker {
	background: url("/assets/ui/panel_map_name.png") center / 100% 100% no-repeat;
	border: none;
}
body.admin-ui #mapName,
body.player-ui #mapName {
	position: absolute;
	width: fit-content;
	transform: translateX(-50%) translateY(-50%);
	z-index: 100001;
}
.leftNavHeadingTxt {
	font-family: shinobiFont;
	font-size: 28px;
	text-shadow: 2px 2px black;
	color: #de8518;
	cursor:pointer;
	white-space: nowrap;
	-webkit-text-stroke-width: 0.2px;
    -webkit-text-stroke-color: black;
}
.leftNavBigBtnTxt {
	position: relative;
	left: 2px;
	top: -43px;
	color: #de8518;
	font-family:shinobiFont;
	text-shadow: 2px 2px black;
	font-size: 16px;
	pointer-events: none;
	-webkit-text-stroke-width: 0.2px;
    -webkit-text-stroke-color: black;
}
.leftNavBtnTxt {
	position: relative;
	left: 2px;
	top: -37px;
	color: #de8518;
	font-family:shinobiFont;
	text-shadow: 2px 2px black;
	font-size: 16px;
	pointer-events: none;
	-webkit-text-stroke-width: 0.2px;
    -webkit-text-stroke-color: black;
}

.navBtn {
	display: flex;
	align-items: center;
	box-sizing: border-box;
	width: 165px;
	height: 50px;
	margin: 0 auto;
	padding: 0px 10px 4px 13px;
	cursor: pointer;
	position: relative;
	background: url("/assets/ui/button_idle.png") center / 100% 100% no-repeat;
}
.navBtn.active {
	background-color: transparent;
	border-radius: 0;
	padding: 0px 10px 5px 15px;
	max-width: none;
	z-index: 1;
}
.navBtn.active::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 103.1%;
	height: 124.11%;
	z-index: -1;
	background: url("/assets/ui/button_active.png") center / 100% 100% no-repeat;
	pointer-events: none;
}
.navBtnIcon {
	height: 30px;
	width: 30px;
	pointer-events: none;
}
.navBtnLabel {
	margin-left: 6px;
	font-family: nirmala;
	color: #de8518;
	text-shadow: 2px 2px black;
	font-size: 16px;
	white-space: nowrap;
	-webkit-text-stroke-width: 0.2px;
    -webkit-text-stroke-color: black;
	pointer-events: none;
}
.chatTab {
	position: relative;
	height: 23px;
	padding: 0 14px;
	font-family: shinobiFont;
	font-size: 11px;
	color: #de8518;
	text-shadow: 1px 1px black;
	border: none;
	cursor: pointer;
	background: url("/assets/ui/tab_idle.png") center / 100% 100% no-repeat;
}
.chatTab.active {
	background-image: url("/assets/ui/tab_active.png");
	background-color: transparent;
	border-radius: 0;
	padding: 0 14px;
	max-width: none;
}

@media screen and (min-width: 2000px) {
	#displayPanels {
		height: 1112px;
		left: 2121px;
	}
}

@media screen and (max-width: 1999px) {
	#leftNav{
		min-width: 165px;
		width: 165px;
		max-width: 165px;
	}
	#contentBox {
		display: block;
		height: 507px;
		max-height: 565px;
		max-width: 1340px;
		min-width: 1340px;
		overflow: overlay;
		position: absolute;
		top: 0;
		left: 169px;
		border: solid 10px;
		border-image: url(/assets/border.png) 13 stretch;
		background: url("/assets/ui/background_main.png") center / cover no-repeat;
	}
	.botButtons {
		width: 127px;
		display: inline-block;
		cursor: pointer;
	}
	#chatDockRow {
		position: absolute;
		top: 530px;
		left: 167px;
		width: 1364px;
		max-height: 600px;
		min-height: 300px;
		display: flex;
		align-items: stretch;
		gap: 0;
		padding: 2px;
	}

	#chatBox {
		flex: 1 1 auto;
		max-height: 600px;
		min-height: 300px;
		margin: 0;
		border: none;
		padding: 0;
		position: relative;
		top: auto;
		left: auto;
		border-image: none;
		background: url("/assets/ui/background_chat.png") center / cover no-repeat;
	}

	#toolboxPanel {
		width: 250px;
		flex-basis: 250px;
		flex-shrink: 0;
		max-height: 600px;
		min-height: 300px;
		background: url("/assets/ui/background_chat.png") center / cover no-repeat;
		overflow-y: auto;
		display: flex;
		flex-direction: column;
		border: 12px solid transparent;
		border-image-source: url("/assets/ui/border_general.png");
		border-image-slice: 24;
		border-image-width: 12px;
		border-image-repeat: stretch;
		transition: flex-basis 0.3s ease;
	}

	#toolboxPanel.combatMode {
		width: 30%;
		flex-basis: 30%;
	}

	#toolboxPanel.collapsed {
		flex-basis: 32px;
		width: 32px;
	}

	#toolboxPanel.collapsed .toolboxPanel_tabBar {
		display: none;
	}

	#toolboxPanel.collapsed .toolboxPanel_content {
		display: none;
	}

	#toolboxPanel.collapsed > div:first-child > span {
		display: none;
	}

	body.admin-ui #chatBox,
	body.player-ui #chatBox {
		left: auto;
	}

	body.admin-ui #contentBox,
	body.player-ui #contentBox {
		left: 185px;
	}

	body.admin-ui #chatDockRow,
	body.player-ui #chatDockRow {
		left: 185px;
	}
	body.admin-ui #mapName,
	body.player-ui #mapName {
		left: 855px;
		top: 525px;
	}
	#twitchBox {
		margin-left: 5px;
		position: absolute;
		left: 1535px;
		top: 9px;
	}
	#twitchChatFrame {
		width: 340px;
		height: 502px;
	}
	#chatLogBoxIC,#chatLogBoxOOC,#chatLogBox,#adminLogBox,#genericLogBox,#localLogBox {
		overflow-y: scroll;
		overflow-x: clip;
		height: 90%;
		min-height: 250px;
		max-height: 250px;
		border-top: 2px brown solid;
        border-bottom: 2px brown solid;
		word-wrap: normal;
		background: url("/assets/ui/background_main.png") center / cover no-repeat;
	}
	.mapTable{
		width: 1321px;
	}
	.perkLibrary,.jutsuLibrary {
		background-color:white;
		border-style:double;
		border-width:2px;
		padding:5px;
		overflow:auto;
		max-height: 535px;
		background: url("/assets/ui/background_main.png") center / cover no-repeat;
	}
	.speechBubble{
		z-index: 10001;
		width: 15px;
		display: block;
		opacity: 0;
		margin-left: 15px;
	}
	.rpFlag {
		max-width: 15px;
		position: absolute;
		margin-left: 15px;
		z-index: 9999;
	}
	.mapNameText {
		font-family: shinobiFont;
		font-size: 30px;
	}

	#displayPanels {
		height: 822px;
		left: 1549px;
	}
}
#conquestDeckPool {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 8px;
	align-content: start;
}

#conquestDeckPool .conquestCard {
	width: 100%;
	box-sizing: border-box;
}

/* -- Conquest panel tab bar ----------------------------------------------- */
.cqTabBar {
	display: flex;
	flex-wrap: wrap;
	gap: 2px;
	padding-top: 4px;
	padding-right: 30px;
	border-bottom: 2px solid #8b6914;
	margin-bottom: 10px;
}
.cqTab {
	padding: 5px 14px;
	cursor: pointer;
	border: 1px solid #8b6914;
	border-bottom: none;
	border-radius: 4px 4px 0 0;
	background: rgba(139,105,20,0.12);
	color: #5a2d00;
	font-size: 12px;
	font-weight: normal;
	font-family: Georgia, 'Times New Roman', serif;
	outline: none;
	position: relative;
	bottom: -2px;
	transition: background 0.12s;
}
.cqTab:hover:not(.active) {
	background: rgba(139,105,20,0.28);
}
.cqTab.active {
	background: #f8f0d8;
	border-bottom: 2px solid #f8f0d8;
	font-weight: bold;
	color: #3a1a00;
}

/* -- Conquest Game Board: Phase Bar (#3) ---------------------------------- */
#cgPhaseBar { display:flex; align-items:center; gap:3px; flex-wrap:wrap; justify-content:center; }
.cgPhaseStep { padding:2px 7px; border-radius:3px; font-size:11px; color:#555; background:#1a1a2e; border:1px solid #333; letter-spacing:0.03em; }
.cgPhaseStep.active { color:#8cf; background:#1a2a3a; border-color:#8cf; font-weight:bold; }
.cgPhaseSep { color:#444; font-size:10px; }

/* -- Conquest Game Board: Tooltip & Settings (#4) ------------------------- */
#cgTooltip { display:none; position:fixed; background:#1a2a1a; color:#cec; border:1px solid #4a6; border-radius:4px; padding:5px 9px; font-size:12px; max-width:280px; line-height:1.4; pointer-events:none; z-index:500; box-shadow:0 2px 8px rgba(0,0,0,0.5); }
#cgSettingsBox { background:#1a1a2a; border:1px solid #334; border-radius:4px; padding:7px 10px; margin-top:4px; }
#cgSettingsToggle { background:none; border:1px solid #334; border-radius:3px; color:#888; cursor:pointer; font-size:14px; padding:2px 7px; }
#cgSettingsToggle:hover { color:#ccc; border-color:#556; }

/* -- Conquest Game Board: Attack Animations (#5) -------------------------- */
@keyframes cgAttackPulse { 0%,100%{ box-shadow:0 0 0 transparent; } 50%{ box-shadow:0 0 14px 4px #fa0; transform:scale(1.06); } }
@keyframes cgHitShake { 0%,100%{ transform:translateX(0); } 20%{ transform:translateX(-6px); } 40%{ transform:translateX(6px); } 60%{ transform:translateX(-4px); } 80%{ transform:translateX(4px); } }
@keyframes cgDamageFloat { 0%{ opacity:1; transform:translateY(0); } 100%{ opacity:0; transform:translateY(-44px); } }
.cgAttackPulse { animation: cgAttackPulse 0.65s ease-out; }
.cgHitShake { animation: cgHitShake 0.45s ease-out; }
.cgDamageFloat { position:fixed; font-size:1.5em; font-weight:bold; color:#f44; text-shadow:0 0 6px #f008; pointer-events:none; animation: cgDamageFloat 1.3s ease-out forwards; z-index:200; }

/* -- Conquest Card Visual ------------------------------------------------- */
.cgCard {
    width:var(--cw); height:var(--ch);
    border-radius:6px; position:relative; overflow:hidden;
    box-sizing:border-box; flex-shrink:0; cursor:pointer;
    background-size:100% 100%; background-repeat:no-repeat; background-position:center;
    background-image:url('/assets/conquest/type_normal.png');
}
.cgCard.type-normal   { background-image:url('/assets/conquest/type_normal.png'); }
.cgCard.type-effect   { background-image:url('/assets/conquest/type_effect.png'); }
.cgCard.type-contract { background-image:url('/assets/conquest/type_contract.png'); }
.cgCard.type-genetic  { background-image:url('/assets/conquest/type_genetic.png'); }
.cgCard.type-jutsu    { background-image:url('/assets/conquest/type_jutsu.png'); }
.cgCard.type-seal     { background-image:url('/assets/conquest/type_seal.png'); }
.cgCard-topbar {
    position:absolute; top:3.3%; left:5.5%; right:5.5%; height:10.5%;
    display:flex; align-items:center; justify-content:space-between;
    padding:0 3px; z-index:2; box-sizing:border-box; gap:3px;
}
.cgCard-name {
    font-size:calc(var(--cw) * 0.058); font-weight:bold; color:#e8e0c0;
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis; flex:1; min-width:0;
    text-shadow:0 1px 3px rgba(0,0,0,0.9), 0 0 6px rgba(0,0,0,0.8);
}
.cgCard-level {
    font-size:calc(var(--cw) * 0.054); color:#f0c060; font-weight:bold;
    white-space:nowrap; flex-shrink:0; text-shadow:0 1px 3px rgba(0,0,0,0.9);
}
.cgCard-image {
    position:absolute; top:16%; left:5.5%; right:5.5%; height:58.5%;
    z-index:2; overflow:hidden;
}
.cgCard-image-placeholder {
    width:100%; height:100%; display:flex; align-items:center; justify-content:center;
    font-size:calc(var(--cw) * 0.045); color:#999; background:rgba(0,0,0,0.15);
    overflow:hidden; text-align:center; padding:2px; box-sizing:border-box; line-height:1.2;
}
.cgCard-nature {
    position:absolute; bottom:1%; left:1.5%;
    width:calc(var(--cw) * 0.149); height:calc(var(--cw) * 0.149);
    object-fit:contain; z-index:4; pointer-events:none;
    filter:drop-shadow(0 1px 2px rgba(0,0,0,0.7));
}
.cgCard-desc {
    position:absolute; top:73.5%; left:5.5%; right:5.5%; height:20%;
    z-index:2; padding:2px 4px; box-sizing:border-box; overflow:hidden;
}
.cgCard-desc-text {
    font-size:calc(var(--cw) * 0.047); color:#111; line-height:1.35; overflow:hidden;
}
.cgCard-stats {
    position:absolute; top:91%; left:5.5%; right:5.5%; height:7.5%;
    z-index:2; display:flex; justify-content:space-between; align-items:center;
}
.cgCard-pwr { font-size:calc(var(--cw) * 0.058); font-weight:bold; color:#f8e080; text-shadow:0 0 4px rgba(0,0,0,0.9),0 1px 2px #000; }
.cgCard-grd { font-size:calc(var(--cw) * 0.058); font-weight:bold; color:#80d8ff; text-shadow:0 0 4px rgba(0,0,0,0.9),0 1px 2px #000; }
.cgCard-mod { font-size:0.8em; opacity:0.85; }
.cgCard-mod-pwr { color:#8f8; }
.cgCard-mod-grd { color:#8cf; }
.cgCard.facedown .cgCard-topbar,
.cgCard.facedown .cgCard-image,
.cgCard.facedown .cgCard-desc,
.cgCard.facedown .cgCard-stats { display:none; }
.cgCard.facedown { background-image:url('/assets/conquest/type_normal.png'); filter:brightness(0.4) hue-rotate(200deg); }
/* Hand card sizing and states */
#cgHand .cgCard { width:var(--hcw); height:var(--hch); }
#cgHand .cgCard:hover { filter:brightness(1.15); }
#cgHand .cgCard.cgSelected { outline:2px solid #ff0; outline-offset:2px; }
#cgHand .cgCard.cgChainable { outline:2px solid #fa0; outline-offset:2px; }

/* -- Conquest Game Board: Deck Back Design -------------------------------- */
.cgCardBack { width:44px; height:62px; border-radius:3px; object-fit:cover; display:block; }

/* -- Conquest Game Board: Drag to Place (#6) ------------------------------ */
.cgDropTarget { background:rgba(80,140,255,0.18) !important; border-color:#48f !important; box-shadow:0 0 6px #48f8 !important; }
.cgDeployModal { position:fixed; top:50%; left:50%; transform:translate(-50%,-50%); background:#1a2a1a; border:1px solid #4a6; border-radius:6px; padding:14px 16px; z-index:300; display:flex; flex-direction:column; gap:6px; min-width:160px; box-shadow:0 4px 20px rgba(0,0,0,0.7); }

/* -- Rumors Feature ------------------------------------------------------- */
.rumorBoard { background:#1a1a0a; border:1px solid #665; border-radius:4px; padding:8px 10px; margin-bottom:10px; height:120px; min-height:60px; overflow-y:auto; resize:vertical; }
.rumorEntry { margin:6px 0; padding:4px 0; border-bottom:1px solid #443; }
.rumorEntry:last-child { border-bottom:none; }
.rumorTitle { font-weight:bold; color:#cc9; font-size:13px; }
.rumorBody { color:#aaa; font-size:12px; white-space:pre-wrap; }

/* -- Nav Customizer ------------------------------------------------------- */
.leftNavSection {
	flex-basis:100%;
	padding:8px;
	background:#2a2a2a;
	border:1px solid #555;
	border-radius:4px;
	margin-bottom:8px;
}
.leftNavSectionHeader {
	display:flex;
	align-items:center;
	gap:8px;
	cursor:pointer;
	user-select:none;
	margin-bottom:8px;
	font-weight:bold;
	color:#ffbb66;
}
.leftNavSectionHeader:hover { color:#ffdd99; }
.leftNavSectionIndicator {
	font-family:monospace;
	font-size:14px;
	min-width:12px;
}
.leftNavButtonList {
	display:flex;
	flex-direction:column;
	gap:4px;
	min-height:30px;
	padding:6px;
	background:#1a1a1a;
	border-radius:3px;
	border:2px dashed #666;
}
.leftNavButtonList.dragover {
	background:#2a3a1a;
	border-color:#9f9;
	border-style:solid;
}
.leftNavButtonItem {
	display:flex;
	align-items:center;
	gap:6px;
	padding:6px 8px;
	background:#333;
	border:1px solid #666;
	border-radius:3px;
	cursor:move;
	font-size:12px;
	user-select:none;
	color:#ccc;
	transition:background 0.2s, border-color 0.2s;
}
.leftNavButtonItem:hover {
	background:#444;
	border-color:#777;
}
.leftNavButtonItem.dragging {
	opacity:0.6;
	background:#666;
	border-color:#999;
}
.leftNavButtonDragHandle {
	cursor:grab;
	color:#999;
	font-size:14px;
	flex-shrink:0;
}
.leftNavButtonDragHandle:active { cursor:grabbing; }
.leftNavButtonLabel { flex:1; }
.intentRevealWrap { filter: blur(6px); user-select: none; transition: filter 0.15s; }
.intentRevealWrap.intentRevealed { filter: none; user-select: text; }
.lootResolutionModal { background-color: #f5e6d3; }
.lootItemsCheckbox { margin-right: 8px; }
.lootItemRow { padding: 6px; margin-bottom: 4px; display: flex; align-items: center; border-bottom: 1px solid rgba(0,0,0,0.1); }
