body {
	background: var(--semi-back);
}

#content-main {
	box-shadow: none;
	background: var(--semi-back);
	margin: 0px 0px 0px 0px;
	border-radius: 0px;
	min-height: calc(100vh - 50px);
	padding: 0px 20px 20px 20px;
}

#popup-back {
	position: fixed;
	display: block;
	top: 0px;
	bottom: 0px;
	left: 0px;
	right: 0px;
	background: #000A;
	cursor: pointer;
	z-index: 10000;
	transition: 0.2s;
}

#popup-back:hover {
	background: #000B;
}

#popup-container {
	position: fixed;
	display: flex;
	justify-content: center;
	align-items: center;
	top: 50px;
	bottom: 0px;
	left: 0px;
	right: 0px;
	pointer-events: none;
	z-index: 10000;
	transition: 0.2s;
}

#popup-main {
	display: block;
	position: relative;
	background: var(--close-back);
	border-radius: 5px;
	width: 50%;
	height: 80%;
	box-shadow: 0px 0px 20px #000A;
	pointer-events: visible;
	font-family: sans-serif;
	transition: 0.2s;
}

#popup-close {
	display: block;
	width: 26px;
	height: 26px;
	position: absolute;
	top: 5px;
	right: 5px;
	padding: 7px;
	box-sizing: border-box;
	border-radius: 3px;
	cursor: pointer;
	z-index: 1;
	transition: 0.2s;
}

#popup-close:hover {
	background: var(--hover-back1);
}

.popup {
	position: absolute;
	display: flex;
	flex-direction: column;
	top: 0px;
	bottom: 0px;
	left: 0px;
	right: 0px;
	overflow: hidden;
}

.popup-title {
	display: block;
	width: 100%;
	text-align: center;
	color: var(--base-text);
	font-size: 14pt;
	padding: 10px 36px 10px 13px;
	box-sizing: border-box;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	min-height: 42px;
}

#add-object-search {
	width: 100%;
	display: flex;
	gap: 5px;
	justify-content: space-between;
	align-items: center;
	box-sizing: border-box;
	padding: 0px 10px 0px 10px;
	position: relative;
}

#aos-search-settings {
	width: 100%;
	display: flex;
	gap: 5px;
	justify-content: space-between;
	align-items: center;
	height: 25px;
	position: relative;
	height: 100%;
}

#aos-search-left {
	width: 100%;
	display: flex;
	gap: 5px;
	justify-content: flex-start;
	align-items: center;
	height: 100%;
}

#aos-search-right {
	white-space: nowrap;
	display: flex;
	gap: 5px;
	justify-content: flex-end;
	align-items: center;
	height: 100%;
}

#aos-search {
	background: var(--far-back);
	box-shadow: 0px 0px 8px #0005 inset;
	padding: 3px 7px 1px 7px;
	box-sizing: border-box;
	border: 2px solid var(--hover-back2);
	outline: none;
	border-radius: 3px;
	font-size: 12pt;
	color: var(--base-text);
	width: 100%;
	height: 25px;
	max-width: 270px;
}

#aos-sort {
	width: 100%;
	max-width: var(--width);
	position: relative;
	height: 25px;
}

#aos-sort-main {
	display: flex;
	align-items: center;
	background: var(--closer-back);
	box-shadow: 0px 0px 5px #0005;
	padding: 5px 8px 4px 8px;
	box-sizing: border-box;
	border-radius: 3px;
	width: 100%;
	height: 100%;
	cursor: pointer;
	z-index: 3;
	position: relative;
	transition: 0.2s;
}

#aos-sort-main:hover {
	background: var(--hover-back1);
}

#aos-sort-main b {
	font-size: 12pt;
	color: var(--base-text);
	margin-right: 8px;
	pointer-events: none;
	user-select: none;
}

#aos-sort-main p {
	width: 100%;
	font-size: 12pt;
	color: var(--brighter-italic-text);
	text-align: center;
	pointer-events: none;
	user-select: none;
}

#aos-sort-selector {
	display: flex;
	flex-flow: column;
	width: 100%;
	background: var(--close-back2);
	border-radius: 0px 0px 3px 3px;
	position: relative;
	box-shadow: 0px 0px 10px #0005;
	overflow: hidden;
	transform-origin: top;
	z-index: 2;
	user-select: none;
	transition: 0.2s;
}

#aos-sort-selector p {
	padding: 5px 12px;
	display: block;
	cursor: pointer;
	color: var(--brighter-italic-text) !important;
	transition: 0.2s;
}

#aos-sort-selector p:hover {
	background: var(--hover-back1);
	transition: 0s;
}

#aos-search-right img {
	display: block;
	height: 25px;
	padding: 5px;
	box-sizing: border-box;
	border-radius: 3px;
	cursor: pointer;
	transition: 0.2s;
}

#aos-search-right img:hover {
	background: var(--hover-back1) !important;
}

.menu-spr2 {
	display: block;
	height: 90%;
	width: 2px;
	background: var(--closer-back);
	box-shadow: 0px 0px 5px #0005;
	margin: 0px 1px;
}

#add-object-display {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	align-content: flex-start;
	position: relative;
	width: calc(100% - 20px);
	height: 100%;
	margin: 8px 10px 30px 10px;
	background: var(--semi-far-back);
	box-sizing: border-box;
	border-radius: 5px;
	box-shadow: 0px 0px 15px #0005 inset;
	padding: 3px 0px 4px 3px;
	gap: 3px;
	overflow-y: scroll;
}

#add-object-display::-webkit-scrollbar {
	background: var(--semi-back);
	width: 10px;
	border-radius: 0px 3px 3px 0px
}

#add-object-display::-webkit-scrollbar-thumb {
	background: var(--closer-back);
	border-radius: 5px;
	height: 20px;
	border: 3px solid var(--semi-back);
}

#add-object-display::-webkit-scrollbar-thumb:hover {
	background: var(--hover-back2);
}

.search-text {
	color: #FFF2;
	display: block;
	font-weight: bold;
}

.aod-object {
	display: flex;
	flex-flow: column;
	position: relative;
	background: var(--close-back);
	border-radius: 3px;
	box-sizing: border-box;
	cursor: pointer;
	width: calc(25% - 3px);
	height: 140px;
	border: 2px solid var(--closer-back);
	transition: 0.2s;
}

.aod-object:hover {
	background: var(--hover-back1);
	border: 2px solid var(--hover-back2);
}

.aod-object-additions {
	position: relative;
	display: flex;
	padding: 3px 3px 0px 3px;
	margin-bottom: -13px;
	align-items: center;
	justify-content: space-between;
	z-index: 1;
	pointer-events: none;
	user-select: none;
}

.aod-object-new {
	display: block;
	background: #F11;
	box-shadow: 0px 0px 5px #F04;
	border-radius: 3px;
	color: #F5F5F5;
	box-sizing: border-box;
	padding: 1px 2px 0px 3px;
	font-size: 9pt;
}

.aod-object-popular {
	display: block;
	background: var(--theme2);
	box-shadow: 0px 0px 5px var(--theme1);
	border-radius: 3px;
	color: #F5F5F5;
	box-sizing: border-box;
	padding: 1px 2px 0px 3px;
	font-size: 9pt;
}

.aod-object-user {
	display: block;
	height: 18px;
	width: 18px;
	filter: drop-shadow(0px 0px 3px #0005);
}

.aod-object-image {
	display: flex;
	justify-content: center;
	align-items: center;
	width: calc(100% - 10px);
	height: 100%;
	margin-top: 0px;
	padding: 8px 5px 0px 5px;
	overflow: hidden;
	pointer-events: none;
	user-select: none;
}

.aod-object-image img {
	max-width: 100%;
	max-height: 100%;
}

.aod-object-name {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	text-align: center;
	font-size: 11pt;
	color: var(--base-text);
	box-sizing: border-box;
	padding: 3px 5px;
	position: relative;
	pointer-events: none;
	user-select: none;
}

.aod-object-name b {
	display: -webkit-box;
	width: calc(100%);
	overflow: hidden;
	text-overflow: ellipsis;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical; 
}

.aod-object-li {
	display: flex;
	width: 100%;
	height: 22px;
	background: var(--close-back);
	border-radius: 3px;
	margin-right: 3px;
	align-items: center;
	justify-content: space-between;
	cursor: pointer;
	overflow: hidden;
	transition: 0.2s;
}

.aod-object-li:hover {
	background: var(--hover-back1);
	transition: 0s;
}

.aod-object-li-name {
	color: var(--base-text);
	display: block;
	width: 100%;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	font-size: 11pt;
	padding: 2px 4px;
	box-sizing: border-box;
	user-select: none;
	pointer-events: none;
}

.aod-object-li-additions {
	display: flex;
	align-items: center;
	padding: 0px 4px;
	gap: 4px;
	box-sizing: border-box;
	user-select: none;
	pointer-events: none;
}

.aod-object-li-new {
	display: block;
	background: #F11;
	box-shadow: 0px 0px 5px #F04;
	border-radius: 3px;
	color: #F5F5F5;
	box-sizing: border-box;
	padding: 1px 2px 0px 3px;
	font-size: 9pt;
}

.aod-object-li-popular {
	display: block;
	background: var(--theme2);
	box-shadow: 0px 0px 5px var(--theme1);
	border-radius: 3px;
	color: #F5F5F5;
	box-sizing: border-box;
	padding: 1px 2px 0px 3px;
	font-size: 9pt;
}

.aod-object-li-user {
	display: block;
	height: 18px;
	width: 18px;
}

#aos-object-count {
	display: block;
	position: absolute;
	bottom: 6px;
	left: 10px;
	right: 10px;
	text-align: right;
	box-sizing: border-box;
	color: var(--selection);
}

.popup-title-select {
	user-select: text;
}

.popup-scroll {
	overflow-y: scroll;
}

.popup-scroll::-webkit-scrollbar {
	background: var(--close-back);
	width: 10px;
	border-radius: 0px 3px 3px 0px
}

.popup-scroll::-webkit-scrollbar-thumb {
	background: var(--closer-back);
	border-radius: 5px;
	height: 20px;
	border: 3px solid var(--close-back);
}

.popup-scroll::-webkit-scrollbar-thumb:hover {
	background: var(--hover-back2);
}

.oi-info-list {
	width: 100%;
	display: flex;
	flex-flow: column;
	gap: 5px;
	padding: 0px 5% 0px 5%;
	box-sizing: border-box;
	user-select: text;
}

.oi-info-list span {
	display: block;
}

.oi-info-list span b {
	display: inline;
	color: var(--base-text);
	font-size: 12pt;
}

.oi-info-list span p {
	display: inline;
	color: var(--brighter-italic-text);
	font-size: 12pt;
}

.oi-info-list span i {
	display: inline;
	color: var(--italic-text);
	font-size: 12pt;
}

.oi-info-list span button {
	display: inline-block;
	color: var(--base-text);
	background: var(--closer-back);
	font-size: 12pt;
	border-radius: 3px;
	border: none;
	outline: none;
	padding: 1px 4px;
	cursor: pointer;
	margin: 2px 3px;
	white-space: nowrap;
	transition: 0.2s;
}

.oi-info-list span button:hover {
	background: var(--hover-back2);
}

#oi-images {
	width: 100%;
	box-sizing: border-box;
	display: flex;
	justify-content: space-evenly;
	gap: 10px;
	align-items: stretch;
	padding: 0px 5%;
	flex-wrap: wrap;
	margin-bottom: 15px;
}

.oi-image-block {
	display: flex;
	width: 200px;
	flex-flow: column;
	background: var(--closer-back);
	border-radius: 5px;
	align-items: center;
	box-shadow: 0px 0px 10px #0005;
	padding-bottom: 5px;
	flex: 1 1;
}

.oi-image-title {
	margin-top: 6px;
	text-align: center;
}

.oi-image {
	display: flex;
	justify-content: center;
	height: 100%;
	width: 180px;
	filter: drop-shadow(0px 0px 5px #0005);
	margin: 10px 5px 5px 5px;
}

.oi-image img {
	max-height: 200px;
	max-width: 100%;
	display: block;
}

.artist-btn {
	display: block;
	color: var(--base-text);
	background: var(--hover-back1);
	font-size: 12pt;
	border-radius: 3px;
	border: none;
	outline: none;
	padding: 1px 4px;
	cursor: pointer;
	margin: 0px 0px 2px 0px;
	max-width: 100%;
	transition: 0.2s;
}

.artist-btn:hover {
	background: var(--hover-back2);
}

#submit-images, #recommend-object {
	padding: 0px 10px 10px 10px;
}

#ci-main {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	width: 100%;
	padding: 0px 10px 10px 10px;
	box-sizing: border-box;
	gap: 10px;
}

#ci-left {
	display: flex;
	flex-flow: column;
	justify-content: center;
	align-items: center;
	min-width: 200px;
	flex: 1 1;
	flex-basis: 200px;
}

#ci-conts {
	display: flex;
	flex-flow: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 10px 15px;
	background: var(--semi-back);
	border-radius: 3px;
	box-sizing: border-box;
	box-shadow: 0px 0px 15px #0005 inset;
}

#ci-conts h1 {
	color: var(--base-text);
	margin: 0px;
	text-align: center;
	font-size: 22pt;
}

#ci-conts b {
	color: var(--italic-text);
	margin: 0px;
	text-align: center;
	font-size: 12pt;
}

#ci-rank {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 10px 15px;
	margin-top: 10px;
	background: var(--semi-back);
	border-radius: 3px;
	box-sizing: border-box;
	box-shadow: 0px 0px 15px #0005 inset;
}

#ci-rank h1 {
	color: var(--base-text);
	margin: 0px;
	text-align: center;
	font-size: 18pt;
}

#ci-right {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	position: relative;
	gap: 10px;
	flex: 1 1;
	flex-basis: calc(100% - 210px);
}

#ci-badge {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 30%;
}

#ci-badge img {
	max-width: 100%;
	max-height: 100%;
	min-width: 50px;
}

#ci-level-main {
	display: flex;
	flex-flow: column;
	align-items: center;
	justify-content: center;
	width: 100%;
}

#ci-level-main span {
	display: flex;
}

#ci-level-main span b {
	display: inline-block;
	color: var(--base-text);
	font-size: 15pt;
	margin-right: 5px;
}

#ci-level-main span i {
	display: inline-block;
	color: var(--italic-text);
	font-size: 13pt;
}

#ci-levels {
	display: flex;
	flex-flow: column;
	align-items: center;
	width: 100%;
}

#ci-levels-images {
	display: flex;
	width: 100%;
	margin-bottom: 5px;
}

#ci-levels-images img {
	width: 10%;
	box-sizing: border-box;
	padding: 3px;
}

#ci-levels span b {
	font-size: 12pt !important;
	white-space: nowrap;
}

#ci-levels span i {
	font-size: 11pt !important;
}

#ci-levels-progress {
	display: block;
	position: relative;
	width: 95%;
	border-radius: 10px;
	height: 8px;
	background: var(--far-back);
	margin: 5px 0px;
	overflow: hidden;
}

#ci-levels-progress span {
	display: block;
	width: 20%;
	background: var(--theme2);
	border-radius: 0px 10px 10px 0px;
	height: 100%;
}

#ci-info-list {
	display: flex;
	flex-flow: column;
	width: 100%;
}

.ci-info-list span {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}

.ci-info-list span b {
	display: block;
	color: var(--base-text);
	font-size: 13pt;
	margin-right: 10px;
}

.ci-info-list span p {
	display: block;
	color: var(--base-text);
	font-size: 13pt;
	margin-right: 6px;
}

.ci-info-list span i {
	display: block;
	color: var(--italic-text);
	font-size: 12pt;
}

#ci-main button {
	display: block;
	width: 100%;
	max-width: 250px;
	border: none;
	outline: none;
	background: var(--closer-back);
	border-radius: 3px;
	color: var(--base-text);
	padding: 8px 10px;
	cursor: pointer;
	font-size: 12pt;
	margin: 0px auto;
	box-shadow: 0px 0px 6px #0005;
	transition: 0.2s;
}

#ci-main button:hover {
	background: var(--hover-back2);
}

#help-popupscroll {
	display: flex;
	position: relative;
	scroll-behavior: smooth;
}

.popup-tree {
	display: flex;
	width: 200px;
	padding: 0px 0px 10px 10px;
	box-sizing: border-box;
	flex-flow: column;
	gap: 5px;
	position: fixed;
}

.popup-tree button {
	width: 100%;
	display: block;
	text-align: center;
	border: none;
	background: var(--closer-back);
	color: var(--base-text);
	outline: none;
	border-radius: 3px;
	font-size: 11pt;
	padding: 5px 7px;
	box-sizing: border-box;
	cursor: pointer;
	font-weight: bold;
	transition: 0.2s;
}

.popup-tree button:hover {
	background: var(--hover-back2);
}

#help-main {
	margin-left: 210px;
	width: 100%;
	padding-right: 5px;
}

.help-section-title {
	display: block;
	width: 100%;
	font-size: 14pt;
	color: var(--base-text);
	text-align: center;
}

#help-howto, #help-troubleshooting {
	display: flex;
	flex-flow: column;
	gap: 5px;
	padding-bottom: 10px;
}

.help-howto {
	display: block;
	position: relative;
	padding: 3px 6px;
	box-sizing: border-box;
	border-radius: 3px;
	color: var(--base-text);
	background: var(--closer-back);
	width: 100%;
	overflow: hidden;
	transition: 0.2s;
}

.help-howto:has(.howto-title:hover) {
	background: var(--hover-back2);
}

.howto-title {
	display: block;
	box-sizing: border-box;
	padding: 2px 6px;
	cursor: pointer;
}

.howto-title i {
	color: var(--brighter-italic-text);
	pointer-events: none;
}

.help-howto article {
	margin-top: 5px;
	user-select: text;
}

.help-howto article p {
	display: inline;
}

.help-howto article a {
	display: inline;
	color: var(--theme3);
	transition: 0.2s;
}

.help-howto article a:hover {
	color: var(--theme4);
	text-shadow: 0px 0px 5px var(--theme1);
}

.howto-c1 {
	color: var(--theme3);
	white-space: nowrap;
}

.howto-button {
	border-radius: 3px;
	background: var(--closer-back);
	padding: 3px;
	box-sizing: border-box;
	height: 15pt;
	margin: -1px 0px -4px 0px;
}

#help-shortcuts {
	display: flex;
	flex-flow: column;
	padding-bottom: 10px;
}

#help-shortcuts span {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	margin: 2px 0px;
	align-items: center;
}

#help-shortcuts span b {
	display: block;
	color: var(--base-text);
	font-size: 12pt;
	margin-right: 10px;
}

#help-shortcuts span p {
	display: block;
	font-size: 12pt;
	background: var(--semi-back);
	border-radius: 3px;
	color: var(--theme3);
	font-weight: bold;
	padding: 3px 5px 1px 5px;
}

#help-search {
	display: flex;
	flex-flow: column;
	padding-bottom: 10px;
}

#help-search i {
	color: var(--italic-text);
}

#help-search div {
	width: 100%;
	display: flex;
	flex-flow: column;
	margin: 4px 0px;
}

#help-search div p {
	color: var(--base-text);
}

#help-search span {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	margin: 3px 0px;
	align-items: center;
}

#help-search span b {
	display: block;
	color: var(--base-text);
	font-size: 12pt;
	margin-right: 10px;
}

#help-search span p {
	display: block;
	font-size: 12pt;
	background: var(--semi-back);
	border-radius: 3px;
	color: var(--italic-text);
	padding: 3px 5px 1px 5px;
}

.title {
	margin-top: 12px !important;
	margin-bottom: 0px !important;
	font-size: 14pt !important;
}

.description {
	font-size: 12pt !important;
	color: var(--italic-text) !important;
	text-align: center;
	width: 100% !important;
	margin: 0px;
	display: block !important;
}

#menu-bar {
	display: flex;
	justify-content: space-between;
	position: relative;
	width: 100%;
	background: var(--close-back);
	height: 30px;
	margin: 10px auto;
	border-radius: 5px;
	box-shadow: 0px 0px 10px #0005;
	box-sizing: border-box;
	overflow: hidden;
	align-items: flex-start;
}

#menu-left, #menu-right {
	display: flex;
	align-items: center;
	padding: 0px;
	margin: 0px;
}

.menu-spr {
	display: block;
	height: 20px;
	width: 2px;
	background: var(--closer-back);
	box-shadow: 0px 0px 5px #0005;
	margin: 0px 5px;
}

#menu-bar button, #menu-bar img {
	display: block;
	height: 30px;
	box-sizing: border-box;
	padding: 0px 15px;
	font-size: 11pt;
	color: var(--base-text);
	cursor: pointer;
	background: #0000;
	border: none;
	outline: none;
	transition: 0.2s;
}

#menu-bar button:hover, #menu-bar img:hover {
	background: var(--hover-back1);
}

#menu-bar img {
	padding: 6px !important;
	width: 30px;
}

.brightness-popup {
	position: absolute;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 30px;
	height: 150px;
	border-radius: 0px 0px 3px 3px;
	background: var(--base-back);
	box-shadow: 0px 10px 10px #0005;
	transform-origin: 0 0;
	z-index: 3;
	transition: 0.2s;
}

.bp-base {
	display: block;
	position: relative;
	width: 18px;
	height: 140px;
	border-radius: 15px;
	box-sizing: border-box;
	background: linear-gradient(white, black);
	border: 2px solid var(--closer-back);
	box-shadow: 0px 0px 5px #FFF1;
	cursor: pointer;
}

.bp-control {
	display: block;
	position: absolute;
	width: 10px;
	height: 10px;
	left: 2px;
	top: 2px;
	border-radius: 10px;
	box-sizing: border-box;
	border: 1px solid #000;
	background: #FFF;
	box-shadow: 0px 0px 3px 1px #0005;
	pointer-events: none;
}

#help-btn {
	background: var(--theme1) !important;
}

#help-btn:hover {
	background: var(--theme2) !important;
	box-shadow: 0px 0px 5px var(--theme1);
}

#main-tool {
	display: flex;
	height: calc(80vh - 50px);
	position: relative;
}

#left-controls {
	display: block;
	width: 300px;
	position: relative;
	margin-right: 10px;
	min-width: 300px;
}

#add-object-btn {
	display: block;
	width: 100%;
	position: relative;
	z-index: 1;
}

#add-object-btn button {
	display: block;
	width: 100%;
	background: var(--theme1);
	border: 2px solid var(--theme3);
	color: var(--base-text);
	border-radius: 5px;
	box-sizing: border-box;
	padding: 5px 10px;
	height: 35px;
	font-size: 13pt;
	cursor: pointer;
	font-weight: bold;
	transition: 0.2s;
}

#add-object-btn button:hover {
	background: var(--theme2);
	box-shadow: 0px 0px 5px var(--theme1);
}

#object-list {
	display: block;
	width: 100%;
	border-radius: 5px;
	background: var(--semi-far-back);
	min-height: 30vh;
	border: 2px solid var(--closer-back);
	box-shadow: 0px 0px 20px #0005 inset;
	margin-top: 10px;
	box-sizing: border-box;
	padding: 0px 4px;
	overflow-y: scroll;
	height: calc(100% - 45px);
	user-select: none;
	overscroll-behavior: contain;
}

#object-list::-webkit-scrollbar {
	background: var(--base-back);
	width: 10px;
	border-radius: 0px 3px 3px 0px
}

#object-list::-webkit-scrollbar-thumb {
	background: var(--closer-back);
	border-radius: 5px;
	height: 20px;
	border: 3px solid var(--base-back);
}

#object-list::-webkit-scrollbar-thumb:hover {
	background: var(--hover-back2);
}

.object-list-item {
	display: block;
	position: relative;
	width: 100%;
	background: var(--close-back);
	border-radius: 3px;
	margin: 4px 0px;
}

.oli-selected {
	display: block;
	position: absolute;
	top: 0px;
	left: 0px;
	right: 0px;
	bottom: 0px;
	border: 2px solid var(--theme4);
	pointer-events: none;
	box-shadow: 0px 0px 4px var(--theme4), 0px 0px 4px var(--theme3) inset;
	border-radius: 3px;
	z-index: 5;
	transition: 0.1s
}

.oli-title {
	width: 100%;
	display: flex !important;
	position: relative;
	align-items: center;
	background: var(--theme1);
	box-sizing: border-box;
	overflow: hidden;
	cursor: pointer !important;
	border-radius: 3px 3px 0px 0px;
	margin: 0px !important;
	box-shadow: 0px 0px 8px #0005 inset, 0px 0px 10px #0003;
	transition: 0.2s;
}

.oli-title:has(h1:hover) {
	background: var(--theme2);
}

.oli-title h1 {
	display: block;
	padding: 3px 4px;
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
	width: 100%;
	font-size: 13pt !important;
	margin: 0px !important;
	cursor: pointer !important;
	transition: 0.2s;
}

.oli-title img {
	box-sizing: border-box;
	display: block;
	transition: 0.2s;
}

.oli-title img:hover {
	background: var(--theme3);
}

.oli-title-vis {
	width: 30px;
	height: 26px;
	padding: 4px 6px;
}

.oli-title-delete {
	width: 26px;
	height: 26px;
	padding: 7px;
}

.oli-select {
	position: absolute;
	top: 0px;
	left: 0px;
	z-index: 1;
	pointer-events: none;
	background: var(--theme2) !important;
}

.oli-controls {
	width: 100%;
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: top;
	padding: 5px;
	box-sizing: border-box;
}

.oli-image-controls {
	width: 80px;
	position: relative;
	display: block;
}

.oli-image-display {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 80px;
	height: 80px;
	background: var(--far-back);
	border-radius: 3px;
	box-shadow: 0px 0px 10px #0005 inset;
}

.oli-image-display img {
	display: block;
	max-width: 70px;
	max-height: 70px;
}

.oli-image-angles {
	display: flex;
	align-items: center;
	justify-content: space-evenly;
	margin-top: 3px;
	width: 100%;
}

.oli-image-angles img {
	display: block;
	padding: 2px;
	box-sizing: border-box;
	border-radius: 3px;
	width: 33%;
	cursor: pointer;
	transition: 0.2s;
}

.oli-image-angles img:hover {
	background: var(--hover-back2);
}

.oli-right-controls {
	width: 100%;
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-flow: column;
	margin-left: 5px;
	overflow: hidden;
}

.oli-position {
	width: 100%;
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 5px;
}

.oli-pos-value {
	display: flex;
	align-items: center;
	background: var(--semi-far-back);
	box-shadow: 0px 0px 8px #0005 inset;
	padding: 0px;
	box-sizing: border-box;
	border-radius: 3px;
	overflow: hidden;
	height: 24px;
}

.oli-pos-value b {
	color: var(--base-text) !important;
	font-size: 14pt !important;
	padding: 2px 0px 2px 6px;
	pointer-events: none;
}

.oli-pos-value input {
	width: 100%;
	background: #0000;
	height: 100%;
	border: none;
	outline: none;
	color: var(--brighter-italic-text);
	font-size: 11pt;
	padding-left: 5px;
	position: relative;
}

.oli-pos-value input::-webkit-outer-spin-button, .oli-pos-value input::-webkit-inner-spin-button {
	appearance: inner-spin-button !important;
	position: absolute;
	top: 0;
	right: 0;
	height: 100%;
	opacity: 0.3;
}

.oli-y {
	margin-left: 5px;
}

.oli-right2 {
	width: 100%;
	position: relative;
	display: flex;
	justify-content: space-between;
	height: 100%;
}

.oli-size {
	width: calc(100% - 20px);
	position: relative;
	display: flex;
	justify-content: left;
	flex-flow: column;
	justify-content: space-between;
	text-wrap-mode: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.oli-size span {
	display: flex;
	width: 100%;
	position: relative;
	overflow: hidden;
}

.oli-size span b {
	color: var(--base-text) !important;
	margin-right: 2pt !important;
	font-size: 10.5pt !important;
	cursor: default;
}

.oli-size span p {
	color: var(--brighter-italic-text) !important;
	font-size: 10.5pt !important;
	overflow: hidden;
	text-overflow: ellipsis;
	cursor: default;
}

.oli-move {
	width: 20px;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-flow: column;
}

.oli-move img {
	display: block;
	padding: 1px;
	box-sizing: border-box;
	border-radius: 3px;
	width: 20px;
	height: 50%;
	cursor: pointer;
	transition: 0.2s;
}

.oli-move img:hover {
	background: var(--hover-back2);
}

.oli-info {
	display: block;
	border: none;
	outline: none;
	width: 100%;
	border-radius: 3px;
	background: var(--closer-back);
	box-shadow: 0px 0px 8px #0005;
	color: var(--base-text);
	padding: 3px 3px 2px 3px;
	font-size: 11pt;
	font-weight: bold;
	margin-top: 5px;
	cursor: pointer;
	transition: 0.2s
}

.oli-info:hover {
	background: var(--hover-back2);
}

#right-display {
	width: 100%;
	height: 100%;
}

#main-display {
	display: block;
	position: relative;
	background: rgb(23,23,23);
	border-radius: 5px;
	box-sizing: border-box;
	border: 2px solid var(--closer-back);
	box-shadow: 0px 0px 20px #0005 inset;
	height: 100%;
	overflow: hidden;
}

#display-canvas {
	display: block;
	width: 100%;
	height: 100%;
}

#canvas-ctrl {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 0px;
	right: 0px;
	bottom: 0px;
	left: 0px;
	background: #0008;
	pointer-events: none;
	user-select: none;
	z-index: 1;
	transition: 0.2s;
}

#canvas-ctrl h1 {
	font-size: 13pt;
	text-shadow: 0px 0px 10px #000A;
}

#contribute {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	width: 100%;
	gap: 10px;
	margin-top: 5px;
}

#contribute div {
	display: flex;
	flex-flow: column;
	flex: 1 1;
	justify-content: space-evenly;
	align-items: center;
	background: var(--close-back);
	border-radius: 5px;
	box-shadow: 0px 0px 10px #0005;
	padding: 10px;
	text-align: center;
	cursor: pointer;
	transition: 0.2s;
}

#contribute div:hover {
	background: var(--closer-back);
}

#contribute div img {
	max-width: 200px;
	margin-bottom: 5px;
}

#contributor-section {
	width: 100%;
	margin-top: 5px;
}

#contributor-menu {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 5px;
}

#contributor-search {
	background: var(--far-back);
	box-shadow: 0px 0px 8px #0005 inset;
	padding: 5px 8px;
	box-sizing: border-box;
	border: 2px solid var(--closer-back);
	outline: none;
	border-radius: 5px;
	font-size: 12pt;
	color: var(--base-text);
	width: 100%;
	height: 32px;
	max-width: 300px;
}

#contributor-sort {
	width: 100%;
	max-width: var(--width);
	position: relative;
	height: 32px;
}

#contributor-sort-main {
	display: flex;
	align-items: center;
	background: var(--close-back);
	box-shadow: 0px 0px 10px #0005;
	padding: 5px 12px;
	box-sizing: border-box;
	border-radius: 5px;
	width: 100%;
	height: 32px;
	cursor: pointer;
	z-index: 2;
	position: relative;
	transition: 0.2s;
}

#contributor-sort-main:hover {
	background: var(--hover-back1);
}

#contributor-sort-main b {
	font-size: 12pt;
	color: var(--base-text);
	margin-right: 8px;
	pointer-events: none;
	user-select: none;
}

#contributor-sort-main p {
	width: 100%;
	font-size: 12pt;
	color: var(--brighter-italic-text);
	text-align: center;
	pointer-events: none;
	user-select: none;
}

#contributor-sort-selector {
	display: flex;
	flex-flow: column;
	width: 100%;
	background: var(--base-back);
	border-radius: 0px 0px 5px 5px;
	position: relative;
	box-shadow: 0px 0px 10px #0005;
	overflow: hidden;
	transform-origin: top;
	z-index: 1;
	user-select: none;
	transition: 0.2s;
}

#contributor-sort-selector p {
	padding: 5px 12px;
	display: block;
	cursor: pointer;
	color: var(--brighter-italic-text) !important;
	transition: 0.2s;
}

#contributor-sort-selector p:hover {
	background: var(--hover-back1);
	transition: 0s;
}

#contributor-list {
	display: flex;
	align-items: flex-start;
	align-content: flex-start;
	flex-wrap: wrap;
	width: 100%;
	border-radius: 5px;
	background: var(--semi-far-back);
	height: 60vh;
	border: 2px solid var(--closer-back);
	box-shadow: 0px 0px 20px #0005 inset;
	margin-top: 10px;
	box-sizing: border-box;
	padding: 2px;
	overflow-y: scroll;
}

#contributor-list::-webkit-scrollbar {
	background: var(--base-back);
	width: 10px;
	border-radius: 0px 3px 3px 0px
}

#contributor-list::-webkit-scrollbar-thumb {
	background: var(--closer-back);
	border-radius: 5px;
	height: 20px;
	border: 3px solid var(--base-back);
}

#contributor-list::-webkit-scrollbar-thumb:hover {
	background: var(--hover-back2);
}

.contributor-list-item {
	display: flex;
	flex-flow: column;
	align-items: center;
	position: relative;
	background: var(--close-back);
	box-sizing: border-box;
	border-radius: 3px;
	margin: 2px;
	flex: 1 1;
	flex-basis: calc(25% - 4px);
	overflow: hidden;
	cursor: pointer;
	transition: 0.2s;
}

.cli-brightness {
	background: #FFF;
	display: block;
	position: absolute;
	z-index: 2;
	top: 0px;
	left: 0px;
	right: 0px;
	bottom: 0px;
	pointer-events: none;
	transition: 0.2s;
}

.contributor-list-item:hover .cli-brightness {
	opacity: 0.1 !important;
}

.cli-name {
	display: block;
	padding: 3px 4px;
	box-sizing: border-box;
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
	width: 100%;
	font-size: 13pt !important;
	margin: 0px !important;
	pointer-events: none;
	user-select: none;
	box-shadow: 0px 0px 8px #0005 inset, 0px 0px 10px #0003;
	background: var(--theme1);
	transition: 0.2s;
}

.cli-main {
	display: flex;
	width: 100%;
	justify-content: space-between;
	padding: 2px;
	box-sizing: border-box;
	pointer-events: none;
	user-select: none;
}

.cli-level {
	display: flex;
	position: relative;
	flex: 0 1;
	flex-basis: 100px;
	justify-content: center;
	align-items: center;
}

.cli-rank {
	position: absolute;
	display: block;
	right: 5px;
	bottom: 5px;
	padding: 2px 7px 3px 7px;
	box-sizing: border-box;
	background: var(--semi-back);
	border-radius: 20px;
	z-index: 1;
}

.cli-rank b {
	display: block !important;
	font-size: 11pt !important;
	color: var(--base-text) !important;
}

.cli-level img {
	max-width: 100%;
	max-height: 100%;
	padding: 5px;
	box-sizing: border-box;
}

.cli-conts {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-flow: column;
	border-radius: 3px;
	box-shadow: 0px 0px 15px #0005 inset;
	position: relative;
	flex: 1 1;
	margin: 2px;
	background: var(--semi-far-back);
	padding: 0px 5px 2px 5px;
}
.cli-conts b {
	display: block;
	margin-top: 5px;
	color: #FFFA !important;
	font-size: 11pt !important;
}

.cli-conts h1 {
	display: block;
	color: #F5F5F5;
	margin: 3px 0px 0px 0px !important;
	font-size: 20pt !important;
}

#information-section {
	width: 100%;
	margin-top: 5px;
}

#information-section p {
	font-size: 12pt !important;
	color: var(--base-text) !important;
}

#object-data {
	width: 100%;
	max-height: 30vh;
	overflow-y: scroll;
	margin-top: 5px;
}

#object-data::-webkit-scrollbar {
	background: var(--semi-back);
	width: 10px;
	border-radius: 0px 3px 3px 0px
}

#object-data::-webkit-scrollbar-thumb {
	background: var(--closer-back);
	border-radius: 5px;
	height: 20px;
	border: 3px solid var(--semi-back);
}

#object-data::-webkit-scrollbar-thumb:hover {
	background: var(--hover-back2);
}

#object-data p {
	display: block;
	width: 100%;
	color: var(--italic-text);
	font-size: 8pt;
}

@media screen and (max-width: 1200px) {
	.contributor-list-item {
		flex-basis: calc(33% - 4px);
	}
}

@media screen and (max-width: 1000px) {
	#popup-main {
		width: 70%;
		height: 80%;
	}

	.contributor-list-item {
		flex-basis: calc(50% - 4px);
	}
}

@media screen and (max-width: 800px) {
	#popup-main {
		width: calc(100% - 20px);
		height: calc(100% - 20px);
	}

	#menu-bar {
		height: auto;
	}

	#menu-left {
		flex-wrap: wrap;
	}

	.contributor-list-item {
		flex-basis: 100%;
	}
}

@media screen and (max-width: 550px) {
	.aod-object {
		width: calc(33.33% - 3px);
	}

	#main-tool {
		flex-flow: column;
		gap: 10px;
		height: auto;
	}

	#left-controls {
		width: 100%;
	}

	#object-list {
		height: auto;
		max-height: 50vh;
	}

	#display-canvas {
		height: 60vh;
	}

	#help-popupscroll {
		flex-flow: column;
	}

	.popup-tree {
		position: relative;
		width: 100%;
		padding-right: 5px;
	}

	#help-main {
		margin: 0px;
		padding: 0px 5px 0px 10px;
		box-sizing: border-box;
	}
}

@media screen and (max-width: 420px) {
	#add-object-search {
		flex-flow: column;
	}

	#aos-search-main {
		flex-flow: column;
	}

	.aod-object {
		width: calc(50% - 3px);
	}
}

@media screen and (max-width: 300px) {
	.aod-object {
		width: calc(100% - 3px);
	}
}