@layer base {
/*Dialog*/
	#blackout {
		display: none;
		position: absolute;
		width: 100%;
		height: 100%;
		left: 0;
		right: 0;
		z-index: 21;
		background-color: transparent;
		opacity: 0;
	}
	#blackout.darken {
		background-color: var(--color-dark);
		opacity: 0.6;
	}
	.dialog_handle {
		position: relative;
		cursor: pointer;
		overflow: hidden;
		touch-action: none;
		padding-left: 8px;
		padding-top: 2px;
		background: var(--color-elevated);
		height: 33px;
		flex: 0 0 auto;
		z-index: 2;
		border-radius: inherit;
		box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
	}
	.dialog_handle .dialog_title {
		padding-top: 2px;
		font-size: 1.12em;
		padding-left: 16px;
		pointer-events: none;
	}
	.dialog_close_button {
		position: absolute;
		right: 0px;
		top: 0px;
		height: 33px;
		width: 33px;
		padding: 6px;
		border-radius: inherit;
		cursor: pointer;
		z-index: inherit;
	}
	.dialog_close_button:hover {
		color: var(--color-accent_text);
		background-color: var(--color-close);
	}
	.dialog_resize_handle {
		--size: 7px;
		position: absolute;
		width: var(--size);
		height: var(--size);
		bottom: 0;
		right: 0;
		border-width: var(--size);
		border-style: solid;
		border-color: var(--color-button);
		border-top-color: transparent !important;
		border-left-color: transparent !important;
		border-bottom-right-radius: inherit;
		cursor: se-resize;
	}
	.dialog_resize_handle:hover, .dialog_resize_handle.dragging {
		border-color: var(--color-accent);
	}
	.dialog_sidebar_menu_button {
		height: 100%;
		width: 34px;
		padding: 4px;
		float: left;
		text-align: center;
	}
	.dialog_sidebar_menu_button:hover {
		color: var(--color-light);
	}
	.dialog_menu_button {
		height: 100%;
		width: 30px;
		padding: 4px 0;
		float: left;
		text-align: center;
		margin-left: 2px;
	}
	.dialog_menu_button:hover {
		color: var(--color-light);
	}
	.dialog:not(.draggable) .dialog_close_button {
		top: 8px;
		right: -34px;
	}

	dialog {
		width: 540px;
		min-width: min(370px, 100%);
		max-height: calc(100% - 40px);
		height: auto;
		flex-direction: column;
		background-color: var(--color-ui);
		color: inherit;
		border: none;
		box-shadow: 0 0px 20px rgba(0, 0, 0, 0.56);
		left: unset;
		right: unset;
		bottom: unset;
		display: none;
		border-radius: 6px;
	}
	.shapeless_dialog {
		position: fixed;
		z-index: 21;
	}
	dialog > content, dialog .dialog_wrapper > content {
		display: block;
		overflow-y: auto;
		flex: 1 1 auto;
	}

	dialog p > code {
		background-color: var(--color-back);
		border: 1px solid var(--color-border);
		user-select: text;
		-webkit-user-select: text;
		font-family: var(--font-code);
		word-break: break-word;
		padding: 2px 6px;
	}

	.dialog {
		position: fixed;
		z-index: 21;
		top: 30px;
		max-width: 100vw;
		max-height: calc(100vh - 30px);
	}
	.dialog:not(.draggable) {
		left: 0;
		right: 0;
		margin-right: auto;
		margin-left: auto;
	}
	dialog.dialog.config_dialog {
		margin-right: 0;
		margin-left: 0;
		width: fit-content;
		min-width: 200px;
	}
	.dialog.config_dialog > div > .dialog_content {
		margin: 4px 12px;
	}
	.config_dialog_title {
		padding: 4px 12px;
		margin-bottom: -6px;
		margin-right: 18px;
		text-align: center;
		font-size: 1.1em;
		text-transform: uppercase;
		color: var(--color-subtle_text);
		border-radius: inherit;
	}
	.dialog .config_dialog_title > .dialog_close_button {
		right: 0;
		top: 0;
	}
	.dialog.config_dialog hr {
		margin: 6px 0;
	}
	.dialog:not(.resizable) {
		min-width: min(400px, 100%);
		max-width: min(960px, 100%);
	}
	.dialog_bar {
		position: relative;
		min-height: 30px;
		margin-top: 4px;
		margin-bottom: 4px;
		height: auto;
		clear: both;
	}
	.dialog_bar.form_bar {
		display: flex;
		align-items: center;
	}
	label.name_space_left {
		float: left;
		min-width: 90px;
		padding-top: 4px;
		padding-left: 1px;
		padding-right: 8px;
		flex-shrink: 0;
		overflow-wrap: break-word;
		box-sizing: content-box;
	}
	.dialog label.name_space_left {
		min-width: 140px;
	}
	.dialog_bar.form_bar.full_width_dialog_bar {
		flex-wrap: wrap;
	}
	.dialog_bar.form_bar.full_width_dialog_bar > label {
		min-width: 95%;
	}
	.dialog_bar.form_bar .half {
		flex-grow: 1;
	}
	.dialog_bar > label {
		width: var(--max_label_width);
	}
	.dialog_bar > .molang_input {
		width: calc(100% - var(--max_label_width) - 10px);
	}
	.dialog_bar.form_bar.small_text {
		word-break: break-word;
	}
	/*.dialog_bar::after {
		content: "";
		clear: both;
		display: block;
	}*/
	.dialog_bar.narrow {
		min-height: 30px;
	}
	.dialog_bar.button_bar {
		text-align: right;
		flex: 0 0 auto;
	}
	.dialog_bar > button.large {
		margin-bottom: 0;
		margin-top: 16px;
		margin: 16px 4px 0 4px;
	}
	.dialog_bar > button.confirm_btn:not(:hover) {
		background-color: var(--color-selected);
	}
	.dialog_bar input[type=checkbox] {
		padding: 0 4px;
	}
	.dialog_bar .tool {
		position: relative;
		margin: 0;
		margin-right: auto;
	}
	.dialog_bar.form_bar .tool > .tooltip {
		display: none !important;
	}
	.dialog_bar .form_overlay_tools {
		position: absolute;
		top: 2px;
		right: 10px;
		background-color: color-mix(in srgb, var(--color-back) 60%, transparent);
		border-radius: 5px;
		padding: 0 5px;
	}
	.dialog_bar.small_text li {
		list-style: auto;
		margin-left: 20px;
		padding-left: 4px;
	}
	.dialog_vector_group {
		display: flex;
		gap: 3px;
	}
	.dialog_vector_group > input {
		min-width: 30px;
		flex-grow: 1;
		flex-shrink: 1;
	}
	.dialog_bar > .range_input_label {
		overflow: hidden;
		width: 58px;
		flex-grow: 0;
		flex-shrink: 0;
		padding-top: 4px;
		margin-left: 5px;
	}
	.dialog_bar.form_toggle_disabled *:not(.form_input_toggle) {
		pointer-events: none;
		opacity: 0.6;
	}
	.tab_bar {
		height: 30px;
		display: flex;
	}
	.tab_bar > * {
		height: 100%;
		padding-top: 2px;
		flex-grow: 1;
		cursor: default;
		text-align: center;
		vertical-align: middle;
	}
	.tab_bar > .open {
		border-bottom: 3px solid var(--color-accent);
	}
	.tab_bar > *:hover {
		color: var(--color-light);
	}

	.dialog h3 {
		margin-left: 0;
	}
	.dialog_bar label.in_toolbar {
		padding-left: 0;
	}
	.dialog p.multiline_text {
		margin-top: 0;
		margin-bottom: 20px;
		margin-left: 12px;
		margin-right: 12px;
		font-size: 0.86em;
		user-select: text;
		-webkit-user-select: text;
	}

	.dialog_message_box_command {
		padding: 6px 12px;
		cursor: pointer;
		font-size: 1.1em;
		background-color: var(--color-back);
		margin-top: 2px;
		margin-bottom: 4px;
		border-radius: 5px;
	}
	.dialog_message_box_command:hover {
		background-color: var(--color-accent);
		color: var(--color-accent_text);
	}
	.dialog_message_box_command::before {
		float: right;
		content: "\f105";
		font-family: 'Font Awesome 6 Free';
		font-weight: 900;
		margin-right: 4px;
		pointer-events: none;
	}
	.dialog_message_box_command > .icon {
		margin-right: 10px;
		vertical-align: sub;
	}
	.dialog_message_box_command > label {
		display: block;
		color: var(--color-subtle_text);
		font-size: 0.93em;
		width: fit-content;
		pointer-events: none;
		margin-top: -5px;
	}
	.dialog_message_box_command:has(.icon) > label {
		margin-left: 30px;
	}
	.dialog_message_box_command:hover > label {
		color: var(--color-accent_text);
	}
	.dialog_message_box_command_category {
		padding-left: 5px;
		color: var(--color-subtle_text);
	}
	.dialog_message_box_checkboxes {
		margin-top: 15px;
		margin-bottom: -14px;
	}

	.form_bar_file .input_wrapper {
		position: relative;
		flex-grow: 1;
	}
	.form_bar_file .input_wrapper input {
		width: 100%;
		padding-right: 30px;
	}
	.form_bar_file .input_wrapper > .material-icons {
		position: absolute;
		margin-left: -28px;
		margin-top: 4px;
		opacity: 0.75;
		right: 4px;
	}
	.form_bar_file:hover .input_wrapper > .material-icons {
		opacity: 1;
	}
	.form_inline_select {
		display: flex;
		flex-wrap: wrap;
		gap: 2px;
		flex-grow: 1;
		border-radius: 5px;
		box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
	}
	.form_inline_select > li {
		height: 30px;
		padding: 3px 8px;
		flex-grow: 1;
		cursor: pointer;
		background-color: var(--color-button);
		text-align: center;
	}
	.form_inline_select > li:first-of-type {
		border-top-left-radius: inherit;
		border-bottom-left-radius: inherit;
	}
	.form_inline_select > li:last-of-type {
		border-top-right-radius: inherit;
		border-bottom-right-radius: inherit;
	}
	.form_inline_select > li:hover {
		color: var(--color-light);
	}
	.form_inline_select > li.selected {
		background-color: var(--color-accent);
		color: var(--color-accent_text);
		cursor: default;
		border-radius: inherit;
	}
	ul.form_multi_select {
		display: flex;
		flex-wrap: wrap;
		gap: 4px;
	}
	ul.form_multi_select > li {
		background-color: var(--color-button);
		padding: 0px 8px;
		border-radius: 5px;
		display: flex;
		padding-top: 2px;
		margin-top: 2px;
		gap: 2px;
		padding-bottom: 0;
		height: 28px;
	}
	ul.form_multi_select > li > .icon {
		cursor: pointer;
		font-size: 19px;
		padding-top: 3px;
	}
	.form_bar_radio {
		display: flex;
	}
	.form_bar_radio:hover {
		color: var(--color-light);
	}
	.form_bar_radio label {
		flex-grow: 1;
		padding: 3px 5px;
	}
	.form_bar > .nslide_tool {
		flex-grow: 1;
	}
	.dialog_form_description {
		margin-left: auto;
		padding-top: 8px;
		font-size: 13px;
		height: 28px;
		color: var(--color-subtle_text);
		display: block;
		width: 16px;
		text-align: center;
	}
	.dialog_form_description:hover {
		color: var(--color-light);
		transition: color 750ms linear;
	}

/* Sidebar */
	.dialog_wrapper {
		flex-grow: 1;
		display: block;
	}
	.dialog_wrapper.has_sidebar {
		display: grid;
		grid-template-rows: auto 42px;
		grid-template-columns: minmax(160px, 200px) auto;
		grid-template-areas: "sidebar content" "sidebar buttons";
		transition: grid-template-columns 100ms ease;
	}
	.dialog_wrapper:not(.has_sidebar) .dialog_sidebar {
		display: none;
	}
	.dialog_sidebar {
		background-color: var(--color-back);
		flex: 1 0 160px;
		position: relative;
		grid-area: sidebar;
		display: flex;
		flex-direction: column;
		overflow-x: hidden;
		overflow-y: auto;
		border-bottom-left-radius: 6px;
		margin-top: -10px;
		padding-top: 10px;
	}
	.dialog_content {
		display: block;
		grid-area: content;
		max-height: calc(100vh - 180px);
	}
	dialog .dialog_content,
	dialog .dialog_bar.button_bar {
		margin: 16px 24px;
	}
	@media (max-device-width: 640px) {
		dialog {
			width: 100% !important;
		}
		dialog .dialog_content, dialog .dialog_bar.button_bar {
			margin: 12px;
		}
		.dialog_content {
			max-height: calc(100vh - 136px);
		}
	}
	dialog .dialog_bar.button_bar {
		grid-area: buttons;
		margin-top: 0px;
		margin-bottom: 12px;
		display: flex;
		flex-wrap: wrap;
		justify-content: right;
		gap: 3px;
	}
	
	.dialog_sidebar .dialog_sidebar_pages {
		margin-top: 16px;
		margin-bottom: 16px;
	}
	.dialog_sidebar .dialog_sidebar_pages li {
		width: 100%;
		padding: 6px 20px;
		border-left: 4px solid transparent;
		cursor: pointer;
	}
	.dialog_sidebar .dialog_sidebar_pages li .icon {
		float: left;
		margin-left: -10px;
		margin-right: 5px;
	}
	.dialog_sidebar .dialog_sidebar_pages li:hover {
		color: var(--color-light);
	}
	.dialog_sidebar .dialog_sidebar_pages li.selected {
		background-color: var(--color-ui);
		border-left: 4px solid var(--color-accent);
	}
	.dialog_sidebar .dialog_sidebar_pages li.error::after {
		content: "";
		position: absolute;
		display: block;
		background-color: var(--color-close);
		border-radius: 10px;
		width: 10px;
		height: 10px;
		right: 6px;
		margin-top: -17px;
	}
	.dialog_sidebar_separator {
		min-height: 4px;
		color: var(--color-subtle_text);
		margin-bottom: -1px;
		margin-top: 4px;
		text-indent: 16px;
		display: flex;
		align-items: center;
	}
	.dialog_sidebar_separator > span {
		background-color: var(--color-button);
		width: 0;
		height: 2px;
		flex-grow: 1;
		margin: 0 5px;
	}
	
	.dialog_sidebar .dialog_sidebar_actions {
		bottom: 10px;
		padding: 8px;
		margin-top: auto;
		border-top: 2px solid var(--color-border);
	}
	.dialog_sidebar .dialog_sidebar_actions li {
		display: flex;
		height: 30px;
		padding: 4px;
		padding-left: 34px;
		padding-right: 8px;
		cursor: pointer;
	}
	.dialog_sidebar .dialog_sidebar_actions li:hover {
		color: var(--color-light);
	}
	.dialog_sidebar .dialog_sidebar_actions li i {
		margin-top: 1px; 
		margin-right: 8px;
		margin-left: -28px;
		flex-shrink: 0;
		pointer-events: none;
	}
	.dialog_sidebar .dialog_sidebar_actions li img {
		cursor: default;
		height: 20px;
		width: 20px;
		color: var(--color-text);
		white-space: nowrap;
		margin-bottom: -3px;
		margin-left: -27px;
		margin-right: 5px;
		margin-top: 1px;
	}
	.dialog_sidebar .dialog_sidebar_actions li span {
		pointer-events: none;
		flex: 1 0 auto;
	}


/*Settings Dialog*/
	dialog#settings .dialog_wrapper {
		min-height: 640px;
	}
	dialog#settings .dialog_content {
		margin-top: 10px;
	}
	#settings_tab_bar {
		margin: -24px;
		margin-bottom: 0;
		margin-top: -20px;
	}
	dialog#settings h2, dialog#keybindings h2, dialog#theme h2 {
		margin-top: -6px;
		font-size: 1.8em;
	}
	dialog#settings h2 {
		margin-top: -15px;
	}

	#settings_profile_wrapper {
		display: flex;
		align-items: center;
		justify-content: right;
		margin-bottom: 8px;
	}
	#settings_profile_wrapper > .bb-select {
		min-width: 126px;
		margin-left: 6px;
	}
	#settings_profile_wrapper > .bb-select.profile_is_selected {
		background-color: var(--color-profile);
		color: #000;
	}


	/*Settings*/
	.settings_list {
		width: 100%;
		max-height: 600px;
		overflow-y: scroll;
		clear: both;
	}
	.settings_list li {
		padding: 2px 1px;
		margin: 8px 0;
		display: flex;
		align-items: center;
	}
	.settings_list li.full_width_input {
		flex-wrap: wrap;
	}
	.settings_list li.has_profile_override {
		border: 1px solid var(--color-profile);
		padding: 1px 0;
		position: relative;
		border-radius: 6px;
	}
	.settings_list .setting_profile_clear_button {
		position: absolute;
		top: 4px;
		right: 0;
	}
	.settings_list li:hover input[type=checkbox] {
		color: var(--color-light);
	}
	.settings_list .setting_element {
		width: 60px;
		text-align: center;
		float: left;
		margin-top: 12px;
		flex-shrink: 0;
	}
	.settings_list li > .setting_icon {
		margin-top: 8px;
	}
	.settings_list li > .setting_label {
		display: inline-block;
		margin-left: 8px;
		width: 100%;
		flex-shrink: 1;
	}
	.settings_list .setting_name {
		font-size: 1.1em;
		display: inline-block;
	}
	.settings_list .setting_description {
		font-size: 0.94em;
		color: var(--color-subtle_text);
	}
	.settings_list .setting_plugin_label {
		padding: 3px 10px;
		font-size: 15px;
		float: right;
		border-radius: 5px;
		background-color: var(--color-back);
		cursor: pointer;
	}
	.settings_list .setting_plugin_label:hover {
		color: var(--color-light);
	}
	.settings_list .setting_plugin_label > span {
		color: var(--color-subtle_text);
	}
	.setting_profile_value_indicator {
		display: inline-block;
		width: 13px;
		height: 13px;
		border: 3px solid var(--color-profile);
		opacity: 0.8;
		border-radius: 50%;
		margin-left: 5px;
		cursor: pointer;
	}
	.setting_profile_value_indicator.active {
		background-color: var(--color-profile);
	}
	.setting_profile_value_indicator:hover {
		opacity: 1;
	}
	.settings_list input[type=number] {
		height: 28px;
		width: 100%;
		background-color: var(--color-back);
		border: 1px solid var(--color-border);
		padding-left: 4px;
		text-align: right;
	}
	.settings_list input[type=text], .settings_list input[type=password] {
		height: 36px;
		padding: 10px;
		margin-left: 5px;
		vertical-align: bottom;
	}
	.settings_list div.bar_select {
		margin: 8px;
		width: 96%;
	}
	.settings_list div.bar_select select {
		width: 100%;
	}
	.settings_list li .setting_icon i {
		font-size: 26pt;
		max-width: unset;
		margin-top: -6px;
	}
	.settings_list li:hover .setting_icon i {
		color: var(--color-light);
	}
	.bar div.password_toggle {
		display: inline-block;
		margin-left: 4px;
		padding-top: 2px;
		width: 24px;
		text-align: center;
		vertical-align: text-bottom;
	}
	.form_input_tool {
		width: 30px;
	}

	/*Keybinds*/
	dialog#keybindings .dialog_wrapper {
		min-height: 640px;
	}
	#keybindlist {
		max-height: 600px;
		margin-top: 10px;
		overflow-y: scroll;
		overflow-x: hidden;
		clear: both;
	}
	.keybind_line {
		position: relative;
		display: flex;
		width: 100%;
	}
	.keybind_line__sub::before {
		display: block;
		position: relative;
		content: "\f061";
		font-family: 'Font Awesome 6 Free';
		font-weight: 600;
		color: var(--color-subtle_text);
		height: 24px;
		padding: 3px 2px;
		margin-left: 22px;
	}
	.keybind_line > div:first-child {
		flex-grow: 1;
		flex-shrink: 1;
		flex-basis: 0;
		padding: 4px;
		padding-left: 8px;
		display: flex;
	}
	.keybind_line > div:first-child > .keybind_guide_line {
		border-bottom: 3px solid var(--color-button);
		width: 0;
		height: 14px;
		flex-grow: 1;
		margin-left: 5px;
		margin-right: 3px;
	}
	.keybind_line > div.keybindslot {
		width: calc(51% - 32px);
		padding: 6px;
		margin-bottom: 2px;
		height: 32px;
		background-color: var(--color-back);
		font-size: 0.94em;
		overflow: hidden;
		white-space: nowrap;
		cursor: pointer;
		border-radius: 6px;
	}
	.keybind_line > div.keybindslot:hover {
		color: var(--color-light);
	}
	.keybind_line > div.keybindslot.conflict {
		border-left: 4px solid var(--color-close);
	}
	.keybindslot .punctuation {
		color: var(--color-subtle_text);
	}
	.keybindslot .modifier, .keybindslot .key {
		background: var(--color-button);
		padding: 2px 5px;
		border-radius: 5px;
	}
	.keybindslot .optional {
		color: var(--color-subtle_text);
		padding: 2px 5px;
	}
	#keybindlist .tool {
		height: 30px;
		width: 25px;
		float: right;
	}
	.keybind_item_variations > li {
		display: flex;
		margin-bottom: 2px;
	}
	.keybind_item_variations > li > label {
		color: var(--color-subtle_text);
		padding: 3px;
		padding-left: 15px;
		width: 30px;
	}
	.keybind_item_variations > li > * {
		flex-grow: 1;
		flex-shrink: 0;
		width: 0;
	}
	.keybind_item_variations > li > .bb-select {
		margin-right: 54px;
	}
	.keybind_variation_conflict {
		color: var(--color-warning);
		margin-left: -22px;
		width: 22px;
	}

	/*Colors*/
	dialog#theme .dialog_wrapper {
		min-height: 480px;
	}
	div#color_wrapper {
		columns: 2;
		margin-bottom: 20px;
	}
	.color_field {
		min-height: 50px;
		width: 100%;
		margin: 2px 0;
	}
	.color_field .desc {
		width: calc(100% - 60px);
		display: inline-block;
	}
	.color_field p {
		margin: 0;
		font-size: 0.94em;
		color: var(--color-subtle_text);
	}
	.color_field h4 {
		margin: 0;
		font-size: 1.2em;
	}
	.layout_color_preview {
		height: 45px;
		width: 45px;
		margin: 4px;
		display: inline-block;
		vertical-align: top;
		border-radius: 6px;
	}
	.prism-editor-wrapper .prism-editor__line-numbers {
		background-color: var(--color-back) !important;
		height: fit-content;
	}
	.prism-editor-wrapper code[class*="language-"] {
		color: var(--color-text);
	}
	#css_editor {
		height: calc(100vh - 228px);
		display: flex;
		flex-direction: column;
	}
	#css_editor > .prism-editor-component {
		flex-grow: 1;
	}
	#thumbnail_editor {
		height: calc(100vh - 345px);
		display: flex;
		flex-direction: column;
	}
	#thumbnail_editor > .prism-editor-component {
		flex-grow: 1;
	}

	#theme_list {
		overflow-y: auto;
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
		grid-gap: 10px;
	}
	#theme_list .theme {
		float: left;
		padding: 8px;
		border: 2px solid transparent;
		color: var(--color-text);
		background-color: var(--color-elevated);
		box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.2);
		cursor: pointer;
		border-radius: 5px;
	}
	#theme_list .theme:hover {
		color: var(--color-light);
		background-color: var(--color-button);
	}
	#theme_list .theme.selected {
		border-color: var(--color-accent);
	}
	#theme_list .theme > .theme_preview {
		margin-bottom: 4px;
	}
	#theme_list .theme * {
		cursor: inherit;
	}
	.theme_name {
		padding-left: 2px;
	}
	.theme_details_bar {
		display: flex;
		align-items: center;
		width: 100%;
	}
	.theme_author {
		color: var(--color-subtle_text);
		margin-right: auto;
	}
	.theme_type_icon {
		color: var(--color-subtle_text);
		height: 24px;
		margin-right: 2px;
	}

	#theme_list .theme_preview, .custom_thumbnail_preview {
		position: relative;
		height: 108px;
		width: 100%;
		background-color: var(--color-frame);
		border: 2px solid var(--color-frame);
		border-top: none;
		overflow: hidden;
	}
	.custom_thumbnail_preview {
		position: relative;
		margin-bottom: 20px;
		max-width: 200px;
	}
	.theme_preview_header {
		height: 20px;
		width: 100%;
		background-color: var(--color-frame);
	}
	.theme_preview_window {
		width: 100%;
		height: calc(100% - 20px);
		display: flex;
		justify-content: space-between;
		background-color: var(--color-dark);
	}
	.theme_preview_sidebar {
		flex: 0 0 40px;
		background-color: var(--color-ui);
		position: relative;
	}
	.theme_preview_sidebar::after {
		content: "";
		position: absolute;
		bottom: 0;
		width: 100%;
		height: 24px;
		background-color: var(--color-back);
	}
	.theme_preview_center {
		width: 60px;
		height: 60px;
		border: 5px solid var(--color-grid);
		transform: rotate3d(1, 0, 0, 69deg) rotate(45deg);
		margin-top: 34px;
		border-radius: 4px;
	}
	.theme_preview_text {
		height: 4px;
		width: 40px;
		border-radius: 2px;
		margin: 8px 4px;
		background-color: var(--color-text);
		display: inline-block;
		opacity: 0.6;
	}
	.theme_preview_menu {
		background-color: var(--color-bright_ui);
		position: absolute;
		left: 31px;
		z-index: 1;
		border-radius: 2px;
	}
	.theme_preview_menu_header {
		height: 20px;
		background-color: var(--color-accent);
		display: inline-block;
	}
	.theme_preview_menu_header > .theme_preview_text {
		background-color: var(--color-accent_text);
	}
	.theme_preview_menu > .theme_preview_text {
		background-color: var(--color-bright_ui_text);
		display: block;
		margin: 10px 7px;
	}
	.theme_preview.borders .theme_preview_window {
		border-top: 2px solid var(--color-border);
	}
	.theme_preview.borders .theme_preview_menu {
		border: 2px solid var(--color-border);
	}
	.theme_preview.borders .theme_preview_sidebar:first-child {
		border-right: 2px solid var(--color-border);
	}
	.theme_preview.borders .theme_preview_sidebar:last-child {
		border-left: 2px solid var(--color-border);
	}
	.theme_backup_bar {
		padding: 2px 8px;
		border: 2px solid var(--color-accent);
		margin-bottom: 7px;
		cursor: pointer;
		border-radius: 6px;
	}
	.theme_backup_bar:hover {
		color: var(--color-light);
	}
	.theme_backup_bar > i {
		padding: 1px;
		color: var(--color-text);
		float: right;
	}
	.theme_backup_bar > i:hover {
		color: var(--color-light);
	}

	/*About*/
	dialog#about .dialog_content {
		text-align: center;
	}
	dialog#about h4 {
		color: var(--color-subtle_text);
		margin-top: 30px;
		border-top: 2px
		solid var(--color-border);
		padding-top: 12px;
	}
	#about_page_title {
		vertical-align: top;
		opacity: 0.9;
	}
	#about_page_title img {
		width: min(340px, 100%);
	}
	dialog#about div.socials {
		display: flex;
		padding: 20px 0;
		max-width: 540px;
		margin: auto;
	}
	dialog#about div.socials a {
		text-align: center;
		flex-basis: 0;
		flex-grow: 1;
		text-decoration: none;
		padding: 6px;
		padding-top: 10px;
		border-radius: 6px;
	}
	dialog#about div.socials a:hover {
		background-color: var(--color-accent);
	}
	dialog#about div.socials a i {
		display: block;
		font-size: 2em;
		max-width: none;
		pointer-events: none;
	}
	dialog#about div.socials a:hover i {
		color: var(--color-light) !important;
	}
	dialog#about div.socials a label {
		color: var(--color-subtle_text);
		cursor: inherit;
		pointer-events: none;
	}
	dialog#about div.socials a:hover label {
		color: var(--color-light);
	}
	dialog#about .multi_column_list {
		column-count: 3;
	}
	.special_thanks_mentions li {
		line-height: 18px;
		margin-bottom: 8px;
	}

/*Specific Dialogs*/
	dialog#model_stats .form_bar {
		margin: 0;
	}
	.dialog#texture_edit p.multiline_text {
		width: 344px;
		min-height: 51px;
	}
	p.multiline_text span {
		user-select: inherit;
		-webkit-user-select: text;
	}
	#texture_menu_thumbnail {
		float: right;
		margin-top: 3px;
		margin-right: 12px;
		height: 128px;
		background-color: var(--color-back);
		overflow-y: auto;
	}
	#texture_menu_thumbnail img {
		width: 128px;
		margin-bottom: -7px;
	}
	#import_texture_list li {
		min-height: 112px;
		width: 148px;
		margin: 6px 3px;
		position: relative;
		display: inline-block;
		background-repeat: no-repeat;
		background-size: 112px;
		background-position-x: center;
		background-position-y: 6px;
		box-sizing: content-box;
		border: 2px solid transparent;
		vertical-align: top;
		cursor: pointer;
	}
	#import_texture_list li:hover {
		background-color: var(--color-selected);;
	}
	#import_texture_list li.selected {
		border-color: var(--color-accent);
	}
	#import_texture_list li.selected::after {
		position: absolute;
		content: "\f00c";
		font-family: 'Font Awesome 6 Free';
		font-weight: 600;
		color: var(--color-accent);
		background-color: var(--color-ui);
		height: 19px;
		right: 0;
		top: 0;
		margin-right: -7px;
		margin-top: -12px;
		border-bottom-left-radius: 8px;
		padding-left: 2px;
	}
	#import_texture_list li label {
		display: block;
		width: 100%;
		margin-top: 112px;
		color: var(--color-subtle_text);
		overflow-wrap: anywhere;
		text-align: center;
		cursor: inherit;
		background-color: inherit;
	}
	#import_texture_list li:hover label {
		color: var(--color-text);
	}
	body.entity_mode button.entity_mode_uv_button {
		display: block;
		padding: 0;
		height: 32px;
		width: 73px;
		border: none;
	}
	dialog div.dialog_form_buttons {
		padding: 4px;
		display: flex;
		flex-wrap: wrap;
		gap: 2px;
		width: 100%;
	}
	dialog div.dialog_form_buttons button {
		padding: 2px 10px;
		border-radius: 13px;
		width: auto;
		height: auto;
		min-width: 52px;
		height: auto;
		white-space: nowrap;
		flex-grow: 1;
	}
	/*Scale*/
	dialog#scale .form_bar_overflow_info {
		color: #ff5767;
	}
	dialog#scale .toggle_panel {
		font-weight: bold;
	}

	/*Extrusion*/
	#image_extruder label {
		float: left;
		margin-right: 8px;
		padding-top: 5px;
	}
	#scan_tolerance {
		width: 200px;
	}
	#scan_tolerance_label {
		margin-left: 8px;
	}
	#extrusion_canvas {
		border-bottom: 1px solid var(--color-grid);
		border-right:  1px solid var(--color-grid);
		margin: auto;
		display: block;
	}
	button.large:first-child {
		margin-left: 0;
	}

	/*Import entity texture*/
	dialog#select_texture > ul {
		max-height: 420px;
	}

	/*Selection Creator*/
	input[type=range].dark_bordered {
		height: 30px;
		padding-top: 3px;
		padding-left: 0;
	}
	select.dark_bordered {
		color: var(--color-text);
		padding: 6px;
		padding-top: 2px;
		height: 30px;
	}

/*PE Import Dialog*/
	dialog#bedrock_model_select .search_bar {
		margin-bottom: 6px;
	}
	#model_select_list li {
		overflow: hidden;
		cursor: pointer;
		padding: 2px 0;
	}
	#model_select_list li.selected {
		background-color: var(--color-selected);
		color: var(--color-light);
	}
	#model_select_list li:hover {
		color: var(--color-light);
	}
	#model_select_list li > * {
		margin: 0;
		margin-left: 12px;
		cursor: inherit;
	}
	#model_select_list > li > label {
		color: var(--color-subtle_text);
	}
	#model_select_list > li.selected > label {
		color: var(--color-text);
	}

/* Screenshot */
	dialog#screenshot content {
		color: var(--color-subtle_text);
	}
	dialog#screenshot content img {
		border: 1px solid var(--color-accent);
		max-width: 100%;
		max-height: 60vh;
		transform-origin: top left;
	}

/*Bedrock Bindings*/
	dialog#edit_bedrock_binding > .dialog_wrapper > .dialog_content {
		overflow: visible;
	}

/*Keybind Recording*/
	#overlay_message_box {
		height: 100%;
		width: 100%;
		position: absolute;
		z-index: 130;
		text-align: center;
		background-color: rgba(0, 0, 0, 0.8);
	}
	#overlay_message_box > div {
		margin-top: 64px;
		width: 460px;
		margin-left: auto;
		margin-right: auto;
	}
	#overlay_message_box > div > p {
		margin-bottom: 20px;
	}
	#overlay_message_box h3 i {
		vertical-align: bottom;
		margin: 3px 10px;
		font-size: 1.2em;
	}
	#keybind_record_key_list {
		width: 100%;
		padding: 6px;
		height: 38px;
		background-color: var(--color-back);
		border: 1px solid var(--color-border);
		overflow: hidden;
		white-space: nowrap;
		pointer-events: none;
		border-radius: 6px;
		margin-bottom: 12px;
	}

	.mouse_gesture_keybind_menu {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		border: 2px solid var(--color-border);
		width: 220px;
		padding: 12px;
		border-radius: 6px;
		position: relative;
		left: -240px;
		bottom: 130px;
	}
	.mouse_gesture_keybind_menu:hover {
		background-color: var(--color-back);
		border-color: transparent;
	}
	.mouse_gesture_keybind_menu > h3 {
		flex-basis: 100%;
		margin: 4px 0 6px 0;
	}
	.mouse_gesture_keybind_menu > div {
		flex-basis: 80px;
		flex-grow: 1;
		display: none;
	}
	.mouse_gesture_keybind_menu:hover > div {
		display: block;
	}
	.mouse_gesture_keybind_menu label {
		margin-bottom: 4px;
		display: block;
		color: var(--color-subtle_text);
	}
	.mouse_gesture_option {
		cursor: pointer;
		border-radius: 5px;
		width: 64px;
		height: 58px;
		margin: auto;
		padding-top: 14px;
	}
	.mouse_gesture_option:hover {
		background-color: var(--color-accent);
		color: var(--color-accent_text);
	}
	.mouse_gesture_option > .icon {
		font-size: 30px;
		max-width: unset;
		pointer-events: none;
	}

/*Plugin Menu*/
	dialog#plugins {
		max-width: min(1400px, 100%);
		height: calc(96% - 108px);
	}
	dialog#plugins .dialog_wrapper {
		display: flex;
		flex-direction: column;
		flex-shrink: 1;
		overflow: hidden;
	}
	dialog#plugins content.dialog_content {
		margin: 0;
		display: flex;
		max-height: initial;
	}
	#plugin_browser_sidebar {
		width: 38.2%;
		flex-grow: 1;
		display: flex;
		flex-direction: column;
		padding-top: 10px;
		border-right: 1px solid var(--color-border);
	}
	#plugin_browser_page,
	#plugin_browser_start_page {
		width: 61.8%;
		flex-grow: 1;
	}
	#plugin_browser_start_page {
		overflow-y: auto;
		padding: 16px 24px;
	}
	#plugin_browser_page {
		display: flex;
		flex-direction: column;
		position: relative;
	}

	.bar.next_to_title {
		display: inline-block;
		vertical-align: text-bottom;
	}
	.dialog.draggable .bar.next_to_title {
		width: max-content;
		margin-top: -30px;
		margin-left: 111px;
		float: left;
		z-index: inherit;
	}
	#plugin_search_bar {
		flex-grow: 1;
	}
	#plugins .tab_bar {
		width: 100%;
		margin-top: 10px;
	}
	#plugin_browser_sidebar > .pagination_numbers {
		padding: 8px;
	}
	#plugin_list {
		overflow-y: scroll;
	}
	#plugin_list > li {
		overflow-y: hidden;
		position: relative;
		margin: 12px;
		padding: 8px 12px;
		padding-bottom: 12px;
		margin-right: 2px;
		border-radius: 6px;
		cursor: pointer;
		background-color: var(--color-ui);
		box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.2);
	}
	#plugin_list > li.selected {
		background-color: var(--color-button);
	}
	#plugin_list > li.incompatible {
		color: var(--color-subtle_text);
	}
	body.theme_borders #plugin_list > li {
		border: 1px solid var(--color-border);
		margin: 0;
		margin-bottom: -1px;
	}
	#plugin_list > li > div:first-child {
		display: flex;
		gap: 8px;
		margin-bottom: 2px;
	}
	#plugin_list > li:hover:not(.incompatible) .title {
		color: var(--color-light);
	}
	.plugin_icon_area {
		flex: 0 0 48px;
		padding-top: 2px;
		text-align: center;
		margin-left: -2px;
		height: 52px;
	}
	.plugin_icon_area .icon {
		font-size: 32px;
		width: 48px;
		max-width: unset;
		margin-top: 8px;
		display: inline-block;
	}
	.plugin_icon_area img.icon {
		height: auto;
		margin-top: 0;
	}
	.plugin_icon_area img {
		border-radius: 8px;
		pointer-events: none;
	}
	#plugin_list > li * {
		cursor: inherit;
	}
	#plugin_list > li .button_bar {
		height: auto;
		float: right;
		margin-left: -1px;
		margin-top: 0;
		text-align: right;
	}
	.plugin_compatibility_issue {
		color: var(--color-error);
	}
	.plugin_deprecation_note {
		color: var(--color-warning);
	}
	.plugin_compatibility_issue > .icon,
	.plugin_deprecation_note > .icon {
		vertical-align: text-bottom;
	}
	#plugin_list > li button {
		min-width: 100px;
		width: auto;
		height: 36px;
		float: right;
		padding: 4px;
		margin-left: -1px;
		margin-top: 6px;
		color: var(--color-text);
		transition: width 100ms ease-in;
	}
	#plugin_list > li button > i {
		float: left;
		margin-top: 2px;
	}
	#plugin_list > li .title {
		font-size: 1.34em;
	}

	#plugin_list .plugin_version {
		color: var(--color-subtle_text);
		font-size: 0.9em;
		margin-top: 14px;
		float: left;
		margin-left: 8px;
	}
	#plugin_list .author {
		color: var(--color-subtle_text);
		font-size: 0.9em;
		clear: both;
	}
	#plugin_list .description {
		font-size: 0.94em;
		max-height: 148px;
		margin-right: 12px;
	}
	.plugin_installed_tag,
	.plugin_disabled_tag {
		display: inline-block;
		background-color: var(--color-back);
		height: 25px;
		padding: 1px 6px;
		border-radius: 5px;
		margin-left: 8px;
	}
	.plugin_installed_tag {
		color: var(--color-confirm);
	}
	#plugin_list .plugin_installed_tag {
		position: absolute;
		right: 4px;
	}
	dialog#plugins .version {
		display: inline-block;
		color: var(--color-subtle_text);
		background-color: var(--color-back);
		font-size: 15px;
		padding: 1px 6px;
		border-radius: 5px;
		letter-spacing: normal;
	}
	dialog#plugins .author {
		color: var(--color-subtle_text);
		margin-top: -6px;
	}
	#plugin_list > li ul.plugin_tag_list {
		margin-top: 4px;
		line-height: 0;
	}
	.plugin_tag_list li {
		display: inline-block;
		background-color: var(--color-accent);
		color: var(--color-accent_text);
		height: 25px;
		padding: 1px 10px;
		border-radius: 12px;
		margin: 2px;
		white-space: nowrap;
		overflow: hidden;
		line-height: normal;
		cursor: pointer;
	}
	#plugin_list .plugin_tag_list li {
		height: 22px;
		font-size: 0.9em;
		padding: 1px 9px;
	}
	.plugin_tag_list li.plugin_tag_source {
		background-color: #ff7a52;
		color: #111625;
	}
	.plugin_tag_list li.plugin_tag_mc {
		background-color: #73e473;
		color: #111625;
	}
	.plugin_tag_list li.plugin_tag_hytale {
		background-color: #4a4297;
		color: white;
	}
	.plugin_tag_list li.plugin_tag_deprecated {
		background-color: #ff3467;
		color: #000000;
	}
	.no_plugin_message {
		text-align: center;
		margin-top: 30px;
		color: var(--color-subtle_text);
	}
	#plugin_browser_page .button_bar {
		margin: 8px 0px;
		float: right;
	}
	#plugin_browser_page .button_bar button {
		height: 70px;
		background-color: transparent;
		margin: 0;
		min-width: 72px;
		width: auto;
		margin-right: 0;
		padding: 0 2px;
		text-decoration: none;
		box-shadow: none;
	}
	#plugin_browser_page .button_bar button:hover {
		background-color: var(--color-accent);
	}
	#plugin_browser_page .button_bar button i {
		display: block;
		text-align: center;
		width: 100%;
		max-width: unset;
		font-size: 35px;
		text-decoration: none;
	}
	.plugin_dependencies {
		color: var(--color-subtle_text);
		margin: 10px 0;
	}
	.plugin_dependencies > a {
		background-color: var(--color-back);
		color: var(--color-text);
		cursor: pointer;
		padding: 1px 4px;
		border-radius: 5px;
		margin-left: 4px;
	}
	.plugin_dependencies > a:hover {
		color: var(--color-light);
	}
	.disabled_plugin {
		color: var(--color-subtle_text);
	}
	.plugin_browser_back_button {
		padding: 5px 16px;
		margin-top: 5px;
	}
	.plugin_browser_back_button > i {
		vertical-align: text-bottom;
	}
	.plugin_browser_page_header {
		padding: 16px 24px;
	}
	.plugin_browser_page_titlebar {
		display: flex;
		margin-bottom: 12px;
	}
	.plugin_browser_page_titlebar .plugin_icon_area {
		flex-basis: 64px;
		margin-top: 14px;
	}
	.plugin_browser_page_titlebar h1 {
		margin: 0;
		margin-top: 4px;
		font-family: inherit;
		font-weight: inherit;
	}
	#plugin_browser_page_tab_bar {
		display: flex;
		height: 32px;
		width: 100%;
		float: right;
		padding: 0 20px;
	}
	#plugin_browser_page_tab_bar > li {
		height: 100%;
		margin: 0 5px;
		padding: 2px 4px;
		font-size: 1.2em;
		overflow: hidden;
		cursor: pointer;
	}
	#plugin_browser_page_tab_bar > li.selected {
		border-bottom: 3px solid var(--color-accent);
	}
	#plugin_browser_page_tab_bar > li:hover {
		color: var(--color-light);
	}
	#plugin_browser_page > .about {
		overflow-y: auto;
		padding: 16px 24px;
		padding-top: 0;
	}
	#plugin_browser_page .about, #plugin_browser_page .description {
		user-select: text;
	}
	#plugin_page_background_decoration {
		pointer-events: none;
		position: absolute;
		color: black;
		opacity: 0.1;
		font-size: 700px;
		text-align: center;
		width: auto;
		height: auto;
		max-height: 614px;
		max-width: 584px;
		bottom: 0;
		right: 0;
		top: 0;
		left: 0;
		margin-left: auto;
		margin-top: auto;
		overflow: hidden;
		max-width: unset;
	}
	.plugin_browser_tabbed_page {
		padding: 8px 24px;
		overflow-y: auto;
	}
	#plugin_browser_details tr:nth-child(even) {
		background-color: var(--color-back);
	}
	#plugin_browser_details td {
		padding: 5px 2px;
		line-height: 20px;
	}
	#plugin_browser_changelog > li {
		padding: 7px 8px;
		user-select: text;
	}
	#plugin_browser_changelog h3 {
		margin-bottom: 2px;
		font-weight: 600;
		padding-bottom: 0;
		margin-bottom: 0;
	}
	#plugin_browser_changelog > li > ul {
		margin-left: 8px;
	}
	#plugin_browser_changelog ul.plugin_changelog_features {
		margin-left: 20px;
	}
	#plugin_browser_changelog ul.plugin_changelog_features > li {
		list-style: circle;
	}
	#plugin_browser_changelog h4 {
		margin-bottom: 2px;
	}
	#plugin_browser_changelog label.plugin_changelog_author {
		color: var(--color-subtle_text);
		font-size: 0.95em;
	}
	#plugin_browser_changelog label.plugin_changelog_date {
		color: var(--color-subtle_text);
		font-size: 0.95em;
		margin-left: 8px;
	}
	#plugin_browser_changelog label.plugin_changelog_date > i {
		vertical-align: sub;
		font-size: 20px;
		margin-right: 2px;
	}
	li.plugin_feature_entry {
		display: flex;
		gap: 8px;
		padding-left: 4px;
		min-height: 28px;
		align-items: center;
	}
	li.plugin_feature_entry.clickable {
		cursor: pointer;
	}
	li.plugin_feature_entry.clickable:hover {
		color: var(--color-light);
	}
	li.plugin_feature_entry label {
		white-space: nowrap;
		cursor: inherit;
	}
	li.plugin_feature_entry > .description,
	li.plugin_feature_entry > .extra_info {
		color: var(--color-subtle_text);
		margin-left: auto;
		cursor: inherit;
		overflow-wrap: anywhere;
	}

	
	#plugin_browser_start_page > img {
		float: right;
		width: 320px;
		margin-bottom: -26px;
		margin-top: -20px;
		image-rendering: auto;
	}
	.plugins_suggested_row {
		width: 100%;
		clear: both;
		margin-top: 30px;
	}
	.plugins_suggested_row > ul {
		display: flex;
		gap: 12px;
		overflow-x: auto;
		padding: 12px 32px;
		width: calc(100% + 48px);
		margin-right: -24px;
		margin-left: -24px;
	}
	.plugins_suggested_row > ul > li {
		width: 211px;
		height: 130px;
		text-align: center;
		flex-shrink: 0;
		flex-grow: 0;
		overflow: hidden;
		cursor: pointer;
		padding: 4px 4px;
	}
	.plugins_suggested_row > ul > li:hover {
		background-color: var(--color-button);
	}
	.plugins_suggested_row > ul > li * {
		cursor: inherit;
	}
	.plugins_suggested_row > ul > li .title {
		height: 50px;
		display: flex;
		flex-direction: column;
		justify-content: center;
		line-height: normal;
		font-weight: 600;
	}

/* Search Bar */
	.search_bar {
		float: right;
		position: relative;
		width: 220px;
	}
	.search_bar input {
		float: right;
		padding-right: 20px;
		width: 100%;
		transition: width 100ms ease;
	}
	.search_bar i {
		float: right;
		position: absolute;
		right: 6px;
		margin-top: 5px;
	}
	.search_bar.folded {
		width: auto;
	}
	.search_bar.folded input {
		width: 0px;
		padding-left: 0;
		padding-right: 0;
		border-width: 0;
	}
	.search_bar.folded i:hover {
		color: var(--color-light);
	}

/*Toolbar Dialog*/
	dialog#toolbar_edit .search_bar {
		margin-top: 10px;
		margin-bottom: 2px;
	}
	#bar_item_list {
		max-height: 400px;
		overflow-y: scroll;
		min-height: 80px;
		background-color: transparent;
	}
	#bar_item_list li {
		padding: 4px;
		height: 32px;
		display: flex;
		gap: 8px;
	}
	#bar_item_list li:hover {
		color: var(--color-light);
	}
	#bar_item_list li div.icon_wrapper {
		display: inline-block;
		height: 26px;
		vertical-align: text-top;
	}
	#bar_item_list li:not(:hover) div.icon_wrapper.add, #bar_item_list li:hover > .icon {
		display: none;
	}
	#bar_items_current {
		background-color: var(--color-back);
		overflow: hidden;
		height: auto;
		min-height: 34px;
		border: 1px solid var(--color-border);
	}
	#bar_items_current li {
		min-width: 20px;
		height: 30px;
		cursor: move;
	}
	#bar_items_current li > * {
		cursor: inherit;
	}
	#bar_items_current .toolbar_separator.border {
		height: 32px;
		width: 12px;
		background: var(--color-border);
	}
	#bar_items_current .toolbar_separator.spacer {
		width: 40px;
	}
	#bar_items_current .toolbar_separator.spacer::after {
		content: "";
		border-bottom: 6px dotted var(--color-subtle_text);
		display: block;
		position: a;
		height: 18px;
		width: 32px;
	}
	#bar_items_current .toolbar_separator.linebreak {
		height: 32px;
		width: 20px;
		background-color: var(--color-dark);
		color: var(--color-subtle_text);
	}
	#bar_items_current .toolbar_separator.linebreak::after {
		content: "¶";
		font-size: 22px;
		margin-left: 4px;
	}

/*Action Control*/
	#action_selector {
		position: absolute;
		display: block;
		z-index: 24;
		right: 0;
		left: 0;
		margin-left: auto;
		margin-right: auto;
		top: 200px;
		width: 400px;
		height: 42px;
		box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
	}
	body.is_mobile #action_selector {
		top: 26px;
	}
	#action_selector > input {
		width: calc(100% - 48px);
		height: 100%;
		padding: 5px;
		padding-left: 12px;
		border-left: 1px solid var(--color-border);
	}
	#action_selector > .tool {
		height: 100%;
		width: 44px;
		margin: 0;
		padding-top: 6px;
		background-color: var(--color-back);
		border-top-left-radius: inherit;
		border-bottom-left-radius: inherit;
	}
	#action_selector > i {
		position: absolute;
		right: 12px;
		top: 10px;
	}
	#action_selector > #action_selector_list {
		background-color: var(--color-ui);
		color: var(--color-text);
		width: 340px;
		margin-left: 45px;
		box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
		border-radius: 5px;
	}
	#action_selector ul {
		background-color: var(--color-bright_ui);
		color: var(--color-bright_ui_text);
		min-height: 20px;
		width: 100%;
		max-height: 400px;
		overflow-y: auto;
		overflow-x: hidden;
		border-radius: 5px;
	}
	#action_selector > #action_selector_list > div {
		background-color: var(--color-ui);
		color: var(--color-text);
		height: auto;
		padding: 5px;
		font-size: 0.94em;
		word-break: break-word;
		border-bottom-left-radius: 6px;
    	border-bottom-right-radius: 6px;
	}
	#action_selector ul > li {
		height: 32px;
		padding: 5px;
		overflow: hidden;
		display: flex;
		white-space: nowrap;
	}
	#action_selector ul > li div.icon_wrapper {
		flex-grow: 0;
		flex-shrink: 0;
	}
	#action_selector ul > li span {
		padding-left: 4px;
		flex-grow: 1;
		flex-shrink: 0;
	}
	#action_selector ul > li label {
		font-size: 0.84em;
		padding: 2px;
		flex-grow: 0;
		flex-shrink: 1;
	}
	#action_selector ul > li.selected {
		background-color: var(--color-accent);
		color: var(--color-accent_text);
	}
	#action_selector ul > li .icon {
		width: 26px;
		max-width: 26px;
		text-align: center;
		flex-shrink: 0;
	}
	.action_selector_type_overlay {
		position: absolute;
		color: transparent;
		background-color: var(--color-ui);
		height: 30px;
		width: auto;
		pointer-events: none;
		opacity: 0.32;
		top: 4px;
		left: 49px;
		padding-left: 8px;
		padding-top: 6px;
	}

/* Quit */
	ul.unsaved_models_list {
		max-height: 264px;
	}
	li.unsaved_model {
		display: flex;
		display: flex;
		height: 40px;
		align-items: center;
		padding: 0 5px;
		gap: 5px;
	}
	li.unsaved_model:hover {
		color: var(--color-light);
	}
	li.unsaved_model:active {
		background-color: var(--color-selected);
	}
	li.unsaved_model > .icon {
		width: 32px;
		text-align: center;
		max-width: unset;
	}
	li.unsaved_model > span {
		flex-grow: 1;
	}

/* Validator */
	li.validator_dialog_problem {
		background-color: var(--color-back);
		padding: 3px 5px;
		margin-bottom: 5px;
		display: flex;
		overflow-wrap: anywhere;
		align-items: center;
		border-radius: 6px;
	}
	li.validator_dialog_problem.validator_warning > i {
		color: var(--color-warning);
		margin: 3px 4px;
		flex-shrink: 0;
	}
	li.validator_dialog_problem.validator_error > i {
		color: var(--color-error);
		margin: 3px 4px;
		flex-shrink: 0;
	}
	li.validator_dialog_problem span {
		flex-grow: 1;
		flex-shrink: 1;
		padding-top: 3px;
		user-select: text;
	}
	li.validator_dialog_problem .tool {
		flex-shrink: 0;
		flex-grow: 0;
	}

/* Edit History */
	#edit_history_list ul {
		margin-left: 14px;
	}
	#edit_history_list ul li {
		height: 30px;
		padding: 2px 6px;
		cursor: pointer;
		border: 2px solid transparent;
		display: flex;
		gap: 5px;
	}
	#edit_history_list ul li.current {
		border-color: var(--color-accent);
	}
	#edit_history_list ul li:hover {
		color: var(--color-light);
	}
	#edit_history_list ul li.selected {
		background-color: var(--color-accent);
		color: var(--color-accent_text);
		position: relative;
	}
	#edit_history_list ul li.selected:not(:first-of-type)::before {
		content: "\f04b";
		font-family: 'Font Awesome 6 Free';
		font-weight: 900;
		font-size: 14px;
		color: var(--color-accent);
		display: block;
		position: absolute;
		top: -11px;
		left: -16px;
	}
	#edit_history_list .edit_history_time {
		color: var(--color-subtle_text);
	}
	#edit_history_list > ul > li label  {
		margin-right: auto;
	}
	#edit_history_list ul li.selected .edit_history_time {
		color: inherit;
	}

/* View Backups */
	ul#view_backups_list {
		max-height: calc(95vh - 220px);
		margin-top: 8px;
		margin-bottom: 8px;
	}
	ul#view_backups_list > li {
		padding: 2px 6px;
		cursor: pointer;
		border: 2px solid transparent;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	ul#view_backups_list > li.current {
		border-color: var(--color-accent);
	}
	ul#view_backups_list > li:hover {
		color: var(--color-light);
	}
	ul#view_backups_list > li.selected {
		background-color: var(--color-accent);
		color: var(--color-accent_text);
		position: relative;
	}
	#view_backups_list span {
		flex-grow: 1;
	}
	#view_backups_list .view_backups_info_field {
		color: var(--color-subtle_text);
		width: 90px;
		white-space: nowrap;
		overflow: hidden;
		cursor: inherit;
		text-align: right;
	}
	#view_backups_list .view_backups_info_field:last-child {
		width: 82px;
	}
	ul#view_backups_list > li.selected .view_backups_info_field {
		color: inherit;
	}

	ol.pagination_numbers {
		display: flex;
		gap: 3px;
		justify-content: center;
	}
	ol.pagination_numbers > li {
		border-radius: 3px;
		cursor: pointer;
		padding: 0px 7px;
		min-width: 22px;
	}
	ol.pagination_numbers > li:hover, ol.pagination_numbers > li.selected {
		background-color: var(--color-accent);
		color: var(--color-accent_text);
	}
/* Collection properties */
	#collection_properties_vue > ul.list {
		max-height: 200px;
		display: flex;
		flex-wrap: wrap;
		padding: 6px;
	}
	#collection_properties_vue > ul > li {
		display: flex;
		gap: 4px;
		align-items: center;
		border-radius: 6px;
		background-color: var(--color-ui);
		height: 27px;
		padding: 0 7px;
		margin: 2px;
		min-width: 149px;
	}
	#collection_properties_vue > ul > li.selected {
		background-color: var(--color-selected);
	}
	#collection_properties_vue > ul > li > i {
		scale: 0.9;
	}
	#collection_properties_vue > ul > li > i.fa_big {
		transform-origin: bottom;
	}

/* Custom Brush Options */
	dialog#brush_options:not(.preset_selected) div.form_bar,
	dialog#brush_options:not(.preset_selected) hr {
		display: none !important;
	}
	ul#brush_preset_bar {
		display: flex;
		overflow-y: hidden;
		overflow-x: auto;
		margin-bottom: 26px;
		background-color: var(--color-back);
	}
	ul#brush_preset_bar > li {
		flex-grow: 0;
		flex-shrink: 0;
		width: 40px;
		height: 40px;
		padding: 8px 4px;
		text-align: center;
		cursor: pointer;
	}
	ul#brush_preset_bar > li * {
		pointer-events: none;
	}
	ul#brush_preset_bar > li:hover {
		color: var(--color-light);
	}
	ul#brush_preset_bar > li.selected {
		border-bottom: 3px solid var(--color-accent);
	}
	ul#brush_preset_bar > li:last-child {
		position: sticky;
		right: 0;
		background: var(--color-back);
	}
/* Animation import */
	dialog#animation_import .form_bar__path {
		padding: 2px;
		color: var(--color-subtle_text);
		overflow-x: auto;
		white-space: nowrap;
		text-align: right;
		direction: rtl;
	}
	dialog#recover_backup .dialog_wrapper,
	dialog#animation_import .dialog_wrapper,
	dialog#animation_export .dialog_wrapper {
		max-height: calc(100vh - 90px);
		display: flex;
		flex-direction: column;
	}
/* Animation Controller curves */
	
	dialog#blend_transition_edit .blend_transition_graph_wrapper {
		margin-top: 6px;
		margin-bottom: 10px;
		display: flex;
	}
	#blend_transition_graph {
		background-color: var(--color-back);
		border: 1px solid var(--color-border);
		position: relative;
		overflow: hidden;
		cursor: crosshair;
	}
	#blend_transition_graph svg {
		height: 100%;
		width: 100%;
		pointer-events: none;
	}
	#blend_transition_graph svg path {
		fill: none;
		stroke-width: 2px;
		stroke: var(--color-accent);
	}
	#blend_transition_graph svg path.zero_lines {
		fill: none;
		stroke-width: 1px;
		stroke: var(--color-grid);
	}
	.blend_transition_graph_point {
		position: absolute;
		width: 11px;
		height: 11px;
		background-color: var(--color-accent);
		margin: -1px;
		transform: rotate(45deg);
		transform-origin: center;
	}
	.blend_transition_graph_point:hover {
		background-color: var(--color-light);
	}
	.blend_transition_graph_point::before {
		content: "";
		position: absolute;
		width: 24px;
		height: 24px;
		left: -6px;
		top: -6px;
		cursor: move;
	}
	.blend_transition_preview {
		width: 12px;
		height: auto;
		position: relative;
		background-color: var(--color-back);
		margin-left: 8px;
		overflow: hidden;
	}
	.blend_transition_preview > div {
		background-color: var(--color-accent);
		position: absolute;
		height: calc(var(--progress) * 100%);
		width: 100%;
		bottom: 0;
		left: 0;
		right: 0;
	}
/* Molang */
	dialog#expression_editor .dialog_content {
		overflow: unset;
	}

/* Texture Edit */
	div.texture_adjust_previews {
		overflow: auto;
		max-height: 416px;
		display: flex;
		margin-bottom: 10px;
		width: calc(100% - 38px);
		float: left;
	}
	div.texture_adjust_previews.folded {
		max-height: 30px;
		overflow: hidden;
	}
	div.texture_adjust_previews img, div.texture_adjust_previews canvas {
		max-height: 400px;
		width: 400px;
		margin: auto;
	}
	dialog .slider_input_combo {
		clear: both;
	}
	.form_label_compact {
		display: block;
		margin-bottom: -3px;
		font-size: 0.94em;
	}
	.bar.button_bar_checkbox {
		position: absolute;
		bottom: 14px;
		display: flex;
		align-items: center;
		z-index: 1;
	}
	dialog#adjust_curves .dialog_content {
		margin-top: 6px;
		margin-bottom: 10px;
	}
	#contrast_graph {
		background-color: var(--color-back);
		border: 1px solid var(--color-border);
		height: 412px;
		width: 412px;
		position: relative;
		overflow: hidden;
		cursor: crosshair;
	}
	.contrast_graph_selector {
		clear: both;
		display: flex;
	}
	.contrast_graph_selector > div {
		flex-basis: 0;
		flex-grow: 1;
		padding-top: 2px;
		text-align: center;
		cursor: pointer;
	}
	.contrast_graph_selector > div:hover {
		color: var(--color-light);
	}
	.contrast_graph_selector > div.selected {
		background-color: var(--color-accent);
		color: var(--color-accent_text);
	}
	#contrast_graph svg {
		height: 100%;
		width: 100%;
		pointer-events: none;
	}
	#contrast_graph svg path {
		fill: none;
		stroke-width: 2px;
		stroke: var(--color-accent);
		opacity: 0.3;
	}
	#contrast_graph svg path.active {
		opacity: 1.0;
	}
	#contrast_graph svg polygon {
		fill: var(--color-selected);
		stroke: none;
		stroke-width: 0;
		pointer-events: none;
	}
	.contrast_graph_point {
		position: absolute;
		width: 12px;
		height: 12px;
		border-radius: 50%;
		background-color: var(--color-accent);
		margin: -1px;
	}
	.contrast_graph_point:hover {
		background-color: var(--color-light);
	}
	.contrast_graph_point::before {
		content: "";
		position: absolute;
		width: 24px;
		height: 24px;
		left: -6px;
		top: -6px;
		cursor: move;
	}
/*Flipbook texture editor*/
	dialog#animated_texture_editor .dialog_content {
		margin-bottom: 0;
	}
	#flipbook_editor {
		display: flex;
		flex-direction: row;
		max-height: calc(100vh - 230px);
	}
	body.is_mobile #flipbook_editor {
		flex-direction: column-reverse;
		overflow-y: auto;
		align-items: center;
	}
	.flipbook_frame_preview {
		width: auto;
		flex-grow: 1;
		display: flex;
		flex-direction: column;
		justify-content: center;
	}
	.flipbook_frame_preview > div:first-child {
		display: flex;
		justify-content: center;
	}
	.flipbook_frame_preview > div.flipbook_controls {
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.flipbook_frame_preview > div.flipbook_options {
		display: flex;
		align-items: center;
		gap: 8px;
		border-top: 1px solid var(--color-border);
		padding-top: 6px;
		margin-top: 6px;
		margin-right: 12px;
		margin-left: 12px;
	}
	.flipbook_frame_preview > div.flipbook_options > .numeric_input {
		width: 70px;
		flex-grow: 0;
		margin-left: 4px;
	}
	.flipbook_frame_preview img {
		width: 512px;
		max-width: 100%;
		max-height: calc(var(--dialog-height) - 156px);
	}

	.flipbook_frame_timeline {
		width: 160px;
		flex-grow: 0;
		flex-shrink: 0;
		display: flex;
		flex-direction: column;
		gap: 6px;
	}
	.flipbook_frame_timeline > button {
		flex-shrink: 0;
	}
	.flipbook_frame_timeline > ul {
		overflow-y: scroll;
		min-height: 300px;
		padding-right: 12px;
		flex-grow: 1;
	}
	.flipbook_frame {
		display: flex;
		align-items: center;
		cursor: pointer;
		padding: 2px;
		position: relative;
	}
	.flipbook_frame:hover {
		color: var(--color-light);
		background-color: var(--color-back);
	}
	.flipbook_frame.viewing::before {
		content: "";
		position: absolute;
		left: 0;
		top: 10px;
		bottom: 10px;
		border-top: 40px solid transparent;
		border-bottom: 40px solid transparent;
		border-left: 8px solid var(--color-accent);
	}
	.flipbook_frame.viewing {
		background-color: var(--color-back);
	}
	.flipbook_frame.selected {
		background-color: var(--color-accent);
		color: var(--color-accent_text);
	}
	.flipbook_frame > img {
		cursor: inherit;
		pointer-events: none;
	}
	.flipbook_frame > label {
		cursor: inherit;
		width: 28px;
		flex-grow: 1;
		flex-shrink: 0;
		text-align: center;
	}
	#flipbook_editor_timeline {
		display: flex;
		position: relative;
		height: 16px;
		width: calc(100% - 43px);
		margin-right: auto;
		margin-left: auto;
		margin-top: 5px;
		padding-left: 0px;
		padding-right: 2px;
		border-bottom: 2px solid var(--color-border);
		border-top: 2px solid var(--color-border);
	}
	#flipbook_editor_timeline .frame {
		flex-grow: 1;
		width: 1px;
		height: 12px;
		border-left: 2px solid var(--color-ui);
		background-color: var(--color-back);
		pointer-events: none;
		cursor: ew-resize;
	}
	#flipbook_editor_timeline #flipbook_editor_playhead {
		position: absolute;
		height: 100%;
		border-style: solid;
		border-width: 8px;
		border-color: transparent;
		border-top-color: var(--color-accent);
		border-radius: 3px;
		margin-left: -7px;
		margin-top: -2px;
		pointer-events: none;
	}
	#flipbook_editor_timeline #flipbook_editor_playhead::before {
		position: absolute;
		content: "";
		height: 8px;
		border-left: 2px solid var(--color-accent);
		top: -2px;
		left: -1px;
	}
	.code_editor_file_title {
		background-color: var(--color-back);
		padding-left: 12px;
		padding-top: 2px;
		color: var(--color-subtle_text);
		user-select: text;
	}
/* Export Collision */
	dialog#generate_bedrock_collision_box textarea.code {
		color: #a2ebff;
	}

/* Predicate Overrides */
	.predicate_override_top_bar {
		margin-bottom: 22px;
	}
	.predicate_override_top_bar > span {
		max-width: calc(100% - 240px);
		display: inline-block;
		color: var(--color-subtle_text);
	}
	dialog#predicate_overrides .bar.flex div {
		flex: 1 1 0;
		padding: 0 10px;
		text-align: center;
		color: var(--color-subtle_text);
	}
	#predicate_override_list > li {
		background-color: var(--color-ui);
		display: flex;
		margin: 8px;
	}
	#predicate_override_list .predicate {
		display: flex;
	}
	#predicate_override_list .predicate_model {
		width: 50px;
		flex-grow: 1;
		padding: 4px;
	}
	#predicate_override_list .predicate_model input {
		width: 100%;
	}
	#predicate_override_list .predicate_model .tool {
		float: right;
	}
	#predicate_override_list > li > .tool {
		margin: 4px;
	}
	#predicate_override_list .predicate_list {
		flex-grow: 1;
		width: 100px;
		position: relative;
	}
	#predicate_override_list .predicate_list li {
		display: flex;
		gap: 6px;
		padding: 4px;
	}
	#predicate_override_list .predicate_list > li > .bb-select {
		flex-grow: 1;
	}
	#predicate_override_list .predicate_list .numeric_input {
		max-width: 100px;
	}
	#predicate_override_list .predicate_list > li .tool {
		width: 28px;
	}
	.predicate_drag_handle {
		width: 18px;
		cursor: move;
		flex-shrink: 0;
		background-color: var(--color-button);
	}
	#predicate_override_list .predicate_list > .tool {
		position: absolute;
		bottom: 4px;
		left: -32px;
	}
	#predicate_override_add {
		overflow: hidden;
		display: flex;
		gap: 4px;
	}
	#predicate_override_add button {
		overflow: hidden;
		flex-grow: 1;
	}
	#predicate_override_generator {
		margin-top: 10px;
		display: flex;
		border: 1px solid var(--color-accent);
		height: 46px;
		padding: 7px 4px;
	}
	#predicate_override_generator .bb-select {
		flex-grow: 1;
	}
	#predicate_override_generator label {
		padding: 3px 4px;
		margin-left: 8px;
		white-space: nowrap;
	}

	#tab_overview {
		z-index: 21;
		display: flex;
		width: max(600px, 80%);
		max-width: 100%;
		margin: auto;
		top: 0;
		bottom: 0;
		right: 0;
		left: 0;
		pointer-events: none;
		flex-direction: column;
		align-items: center;
	}
	#tab_overview_search .search_bar {
		top: 130px;
		pointer-events: all;
		box-shadow: 0 0 0 2px var(--color-accent);
		width: min(100vw, 326px);
		border-radius: 5px;
	}
	#tab_overview_grid {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 16px;
		margin: auto;
		max-width: 100%;
		max-height: 86%;
		overflow-y: auto;
		pointer-events: all;
	}
	#tab_overview_grid > li {
		width: 300px;
		height: 220px;
		text-align: center;
		background-color: var(--color-back);
		cursor: pointer;
		padding: 0 10px;
		box-shadow: 0 0px 28px rgb(0 0 0 / 24%);
		border-radius: 8px;
	}
	#tab_overview_grid > li:hover {
		color: var(--color-light);
		background-color: var(--color-ui);
	}
	#tab_overview_grid > li img {
		max-width: 100%;
		height: calc(100% - 30px);
		display: block;
		margin: auto;
		cursor: inherit;
		object-fit: contain;
		image-rendering: auto;
	}
	#tab_overview_grid > li.pixel_art img {
		image-rendering: pixelated;
	}
	#tab_overview_grid > li label {
		cursor: inherit;
	}
}
