body {
	height: 100%;
	margin: 0;
	background: var(--secondary-bg);
	font-family: var(--font), emojiFont;
	color: var(--primary-text);
	overflow: hidden; /* avoid "bounce" */
	-webkit-text-size-adjust: 100%;
	scrollbar-color: var(--button-bg) var(--primary-bg);
}
#page {
	height: 100svh;
	background: var(--primary-bg);
}
.emojiJoin {
	background: var(--green);
	margin-top: 6px;
	&:hover {
		background: color-mix(in srgb, var(--green), 20% white);
	}
}
.createdWebhook {
	display: flex;
	align-items: center;
	width: fit-content;
	padding: 0.1in;
	border-radius: 0.1in;
	background: var(--secondary-bg);
	user-select: none;
	cursor: pointer;

	.pfpDiv {
		width: 0.5in !important;
		height: 0.5in !important;
		margin-right: 0.15in !important;
	}
}
.Mplayer {
	padding: 4px;
	border-radius: 3px;
	background: var(--secondary-bg);
	align-items: center;
	flex-grow: 0;
	flex-shrink: 0;
	height: 52px;
	position: relative;

	* {
		margin: 2px;
		accent-color: var(--primary-text-soft);
		flex-shrink: 1;
	}
	.flexttb {
		display: flex;
		align-items: center;
	}
}
.bandiv {
	padding: 10px;
	align-items: center;
	margin-bottom: 8px;
	background: var(--secondary-bg);
	border-radius: 6px;
	cursor: pointer;
	div {
		margin-left: 8px;
	}
	.pfp {
		width: 32px;
		height: 32px;
	}
}
.templateMiniBox {
	display: flex;
	align-items: center;
	padding: 6px;
	border-radius: 4px;
	width: fit-content;
	background: var(--secondary-bg);
	margin-bottom: 8px;
	span {
		margin-right: 4px;
	}
	button {
		margin-left: 4px;
	}
}
.adminList {
	width: 95%;
	background: var(--secondary-bg);
	padding: 6px;
	margin-bottom: 6px;
	border-radius: 10px;
	cursor: pointer;
	.pfpDiv {
		width: 48px;
		height: 48px;
	}
	.flexttb {
		margin-left: 10px;
		display: flex;
		justify-content: center;

		.flexltr {
			span {
				margin-right: 4px;
				text-wrap: nowrap;
				background: var(--primary-bg);
				padding: 2px;
				border-radius: 3px;
				margin-bottom: 4px;
			}
			flex-wrap: wrap;
		}
	}
}
.buttonDanger {
	--interColor: var(--red);
}
.buttonSuccess {
	--interColor: var(--green);
}
.buttonLink {
	--interColor: var(--button-bg);
}
.buttonPrimary {
	--interColor: var(--primary-button-bg);
}
.buttonPremium {
	--interColor: purple;
}
.buttonSecondary {
	--interColor: var(--button-bg);
}
.interButton {
	background: var(--interColor);
	margin-right: 4px;
}
.interButton:hover {
	background: color-mix(in srgb, var(--interColor), black 30%);
}

.compAppStatus {
	padding-left: 50px;
	opacity: 0.6;
	font-size: 12px;
	&.failed {
		color: var(--red);
	}
}
.dmline {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 4px 14px;
}
.commandinput {
	display: inline-flex !important;
	width: fit-content;
	margin-left: 6px;
	align-items: center;
	background: var(--primary-bg);
	padding-left: 4px;
	border-radius: 4px;
	input {
		padding: 5px !important;
		margin: 0px !important;
		margin-left: 5px !important;
		height: 100%;
		field-sizing: content;
	}
}
.flexltr {
	min-height: 0;
	display: flex;
}
.shortCutSetting {
	:last-child {
		margin-left: 10px;
	}
}
.pollRes {
	padding-left: 50px;
}
.instDiv {
	img {
		width: 32px;
		height: 32px;
		margin-right: 4px;
		border-radius: 4px;
	}
	div {
		align-items: center;
		margin-bottom: 10px;
	}
	background: #0000004d;
	padding: 4px 8px;
	border-radius: 4px;
	align-items: center;
	cursor: pointer;
}
.amsCont {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;

	.addbg {
		background: #0000006e;
		padding: 4px;
		border-radius: 6px;
		height: 16px;
		width: 16px;
		cursor: pointer;
	}
	.svg-plus {
		width: 16px;
		height: 16px;
	}
}
.amsElm {
	height: 18px;
	background: #00000061;
	border-radius: 4px;
	margin: 4px;
	padding: 4px;
	width: fit-content;
	cursor: pointer;
	align-items: center;

	.svg-plainx {
		margin-left: 10px;
		width: 14px;
		height: 14px;
		cursor: pointer;
	}
}
.sessionDiv {
	padding: 8px;
	background: #00000040;
	border-radius: 4px;
	cursor: pointer;
}
.trustedDomain {
	display: flex;
	align-items: center;
	background: #00000026;
	padding: 8px;
	border-radius: 4px;
	justify-content: space-between;
}
.ephemeralDiv {
	padding-left: 50px;
	opacity: 0.6;
	span {
		padding-right: 6px;
	}
	font-size: 13px;
}
.traceBars {
	height: 30px;
}
#recentBlog {
	padding-top: 12px;
	gap: 12px;
}
#chatArea {
	display: flex;
	min-width: 40%;
}
.flexttb {
	min-width: 0;
	display: flex;
	flex-direction: column;
}
.pollBody {
	background: var(--secondary-bg);
	padding: 10px;
	border-radius: 4px;
	margin-top: 2px;
	margin-left: 52px;
	h3 {
		margin-bottom: 10px;
	}
}
.answerArea {
	--bg: color-mix(in srgb, var(--accent-color) 15%, transparent);
	background: var(--bg);
	margin-bottom: 6px;
	padding: 12px;
	cursor: pointer;
	position: relative;
	input {
		margin-left: auto;
		cursor: pointer;
	}
}
.pollAnsM {
	.svg-delete {
		width: 20px;
		cursor: pointer;
		margin-left: 6px;
	}
	.flexltr {
		align-items: center;
	}
}
.reses {
	span {
		background: #0000007a;
		margin: 3px;
		padding: 3px;
		border-radius: 4px;
		cursor: pointer;
	}
}
.actConnectionDiv {
	background: #0000005c;
	padding: 6px;
	border-radius: 4px;
	margin-bottom: 12px;

	> * {
		padding: 2px;
		span {
			margin-right: 10px;
		}
		input {
			margin-left: auto;
			width: 20px;
			height: 20px;
		}
		display: flex;
		align-items: center;
	}
}
.imgRow {
	height: 150px !important;
	margin-right: 4px;
	border-radius: 6px;
	max-height: 150px;
	min-height: 150px;
}
.mediaDispImg {
	height: 150px !important;
	object-fit: cover;
}
.messageComps {
	> .flexltr {
		display: flex;
		flex-wrap: wrap;
	}
}
.reactionList {
	div {
		padding: 10px;
		font-size: 18px;
		margin: 3px 0px;
		background: var(--secondary-bg);
		border-radius: 6px;
		cursor: pointer;
		:first-child {
			margin-right: 4px;
		}
		&.current {
			background: color-mix(in srgb, var(--secondary-bg) 60%, var(--black));
		}
	}
	margin-right: 4px;
}
.reactionUserList {
	.pfpDiv {
		width: 32px;
		height: 32px;
	}
	border-left: solid var(--secondary-bg) 2px;
	padding-left: 6px;
}
.searchNavButtons {
	height: 0.3in;
	flex-shrink: 0;
	background: var(--secondary-bg);
	top: 0px;
	padding: 0.1in;
	display: flex;
	align-items: center;
	margin-top: auto;

	button {
		flex-shrink: 0;
		margin-left: 0.1in;
	}
}
.sortBar {
	height: 0.3in;
	flex-shrink: 0;
	background: var(--secondary-bg);
	position: sticky;
	top: 0px;
	padding: 0.1in;
	display: flex;
	align-items: center;
	z-index: 1;

	button {
		flex-shrink: 0;
		margin-left: 0.1in;
	}
}
.selectedB {
	background: color-mix(in srgb, black, var(--button-bg) 60%);
}
.pinnedMessages {
	position: absolute;
	background: color-mix(in srgb, var(--primary-bg) 20%, var(--secondary-bg));
	width: 3.5in;
	padding: 8px;
	border-radius: 6px;
	box-shadow: 1px 2px 20px var(--shadow);
	max-height: 60vh;
	overflow-y: auto;
	min-height: 1in;
	z-index: 2;
	/* border: solid 2px #00000061; */

	.noPins {
		height: 1in;
		display: flex;
		align-items: center;
		justify-content: center;
	}
}
.searchOptions {
	padding: 0.05in 0.15in;
	border-radius: 0.1in;
	background: var(--channels-bg);
	position: absolute;
	bottom: 0;
	width: calc(100% - 32px);
	box-sizing: border-box;

	> span {
		transition: background 0.1s;
		margin-bottom: 0.025in;
		margin-top: 0.025in;
		padding: 0.075in 0.05in;
		border-radius: 0.03in;
		cursor: pointer;
		display: flex;
		align-items: center;

		> span,
		img {
			margin-right: 0.05in;
		}
	}
	span.selected {
		background: var(--button-bg);
	}
	span:hover {
		background: var(--button-bg);
	}

	margin: 16px;
	border: solid 0.025in var(--black);
	z-index: 1;
}
.searchOptions:empty {
	padding: 0;
	border: 0;
}
.userNote {
	max-width: 100% !important;
}
#player {
	flex-grow: 0;

	input {
		width: 100px;
	}
}
#player:empty {
	height: 0px;
}
.messageEditContainer {
	position: relative;
	width: 100%;
}
#voiceArea:empty {
	display: none;
}
#voiceArea {
	background: var(--black);
	position: relative;
	min-width: 60%;
}
.voiceUsers {
	padding: 20px;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}
.speaking {
	outline: 3px solid var(--green);
}
.voiceUsers > :hover .leave {
	bottom: 10px;
	opacity: 1;
}
.leave {
	position: absolute;
	bottom: 0px;
	right: 10px;
	background: var(--red);
	opacity: 0;
	transition:
		bottom 0.4s,
		opacity 0.2s,
		background 0.1s;
}
.leave:hover {
	background: color-mix(in srgb, var(--red) 85%, white);
}

.voiceUsers > * {
	background: var(--accent_color, var(--primary-bg));
	border-radius: 8px;
	position: relative;
	box-sizing: border-box;
	margin: 8px;
	width: 340px;
	aspect-ratio: 3/2;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	.pfpDiv {
		width: 60px;
		height: 60px;
		cursor: unset;
	}
	video {
		position: absolute;
		flex-grow: 1;
		flex-shrink: 1;
	}
}
.voiceUsers:has(.bigBox) > * {
	width: 220px;
	flex-grow: 0;
	flex-shrink: 0;
}
.bigBox {
	width: min(80%, 600px) !important;
	height: unset;
	margin: 0 calc((100% - min(80%, 600px)) / 2);
}

.buttonRow > * {
	position: relative;
	margin-right: 6px;
	width: 54px;
	height: 54px;
	background: var(--secondary-hover);
	border-radius: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	z-index: 1;

	* {
		width: 32px !important;
		height: 32px !important;
		background: var(--primary-text);
	}
}
.muteOptDiv {
	background: var(--secondary-hover);
	position: absolute;
	display: flex;
	top: 34px;
	left: 34px;
	width: 16px !important;
	height: 16px !important;
	border: solid 3px var(--black);
	border-radius: 100%;
	align-items: center;
	justify-content: center;
	span {
		width: 12px !important;
		height: 12px !important;
		background: white;
		display: block;
	}
}
.buttonRow {
	position: absolute;
	bottom: 20px;
	width: 100%;
	display: flex;
	justify-content: center;
}
.voiceUsername {
	position: absolute;
	bottom: 10px;
	left: 14px;
	background: var(--secondary-bg);
	padding: 4px;
	border-radius: 6px;
	z-index: 1;
}
.flexgrow {
	flex-grow: 1;
	min-height: 0;
}

.channelSTitle {
	margin-top: 0.2in;
	margin-bottom: 0;
	margin-left: 10px;
}
p,
h1,
h2,
h3,
pre,
form {
	margin: 0;
}
#inviteBanner {
	img {
		height: 30vh;
		width: 80vw;
		object-fit: cover;
		margin: -24px;
		margin-bottom: 0px;
	}
}
h2:empty {
	display: none;
}
.title {
	font-size: 1.5rem;
	font-weight: bold;
}
.cunread {
	> button > .ellipsis {
		font-weight: bold;
		color: var(--primary-text);
	}
}
.ellipsis {
	display: -webkit-box;
	word-break: break-all;
	overflow: hidden;
	-webkit-box-orient: vertical;
	line-clamp: 1;
	-webkit-line-clamp: 1;
}
a,
.clickable {
	samp {
		color: var(--link);
		background: color-mix(in srgb, var(--code-bg), black);
	}
	color: var(--link);
	text-decoration: none;
	word-break: break-word;
	cursor: pointer;
}
a:hover,
.clickable:hover {
	text-decoration: underline;
}
.clickable {
	color: unset;
}
hr {
	height: 2px;
	background: var(--divider);
	border: none;
}
pre,
samp {
	background: var(--code-bg);
	color: var(--code-text);
	text-wrap: wrap;
	word-break: break-word;
	padding: 1px;
	border-radius: 2px;
}
video {
	max-height: 100%;
	max-width: 100%;
}
.dateline {
	hr {
		width: 100%;
		height: 1px;
		margin: 0.05in;
	}
	span {
		flex-shrink: 0;
	}
	align-items: center;
}
iframe {
	/* max-height: 50svh; */
	max-width: 100%;
}
audio::-webkit-media-controls-panel {
	background: var(--secondary-bg);
}
.joinb {
	background: var(--green);
	border-radius: 200px;
	transition: background 0.2s;
}
.joinb:hover {
	background: color-mix(in srgb, var(--green) 80%, transparent);
}
.discoverButton {
	width: calc(100% - 10px);
	text-align: center;
	margin: 5px;
	box-sizing: border-box;
	background: #00000029;
	padding: 10px;
	&.selected {
		background: #00000050;
	}
}
.copyCode {
	margin-top: 12px;
}
button,
input::file-selector-button,
select {
	padding: 6px 10px;
	background: var(--button-bg);
	font-size: 1rem;
	font-family: var(--font);
	text-align: left;
	color: var(--button-text);
	border: none;
	border-radius: 4px;
	cursor: pointer;
	transition: background 0.1s ease-in-out;
}
.langButton {
	background: #0000004d;
	padding: 10px;
	margin-bottom: 8px;
	&.selected {
		background: #000000ad;
	}
}
.subButton {
	min-width: 350px;
	padding: 10px;
	position: relative;
	&::after {
		content: "";
		mask: url(./icons/intoMenu.svg);
		mask-size: contain !important;
		width: 24px;
		height: 24px;
		background: var(--primary-text-soft);
		display: block;
		position: absolute;
		right: 4px;
		top: 8px;
	}
}
input::file-selector-button {
	margin-right: 6px;
}
button:hover,
input::file-selector-button:hover {
	background: var(--button-hover);
}
button:active:enabled,
input::file-selector-button:active {
	border: none;
}
button:disabled {
	color: var(--button-disabled-text);
	cursor: not-allowed;
}
.selectspan {
	display: inline-block;
	position: relative;
}
select {
	appearance: none;
	-webkit-appearance: none;
	padding-right: 32px;
	margin-left: 4px;
}
.fileinputdiv {
	width: 100%;
	justify-content: space-between;
	margin-top: 4px;
}
input[type="file"] {
	flex: 1 0;
	min-width: 0;
	margin-top: 4px;
}
input[type="color"] {
	display: block;
	height: 48px;
	width: 48px;
	margin-top: 4px;
	background: var(--secondary-bg);
	border: none;
	border-radius: 4px;
	cursor: pointer;
}
input[type="checkbox"] {
	accent-color: var(--accent-color);
}
textarea {
	height: 144px;
	resize: none;
}
.fancySelect {
	position: relative;
	padding: 6px;
	background: var(--text-input-bg);
	border-radius: 6px;
	flex-shrink: 1;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	width: fit-content;
	flex-grow: 1;

	> input {
		padding: 0px !important;
		width: fit-content !important;
		min-width: 96px;
		flex-grow: 1;
	}
	.selected {
		padding: 2px;
		background: var(--blue);
		border-radius: 4px;
		cursor: default;
		user-select: all;
		display: flex;
		align-items: center;
		margin-right: 5px;

		span {
			width: 16px;
			height: 16px;
			flex-shrink: 0;
			display: block;
			background: var(--primary-text);
			margin: 0 3px;
			cursor: pointer;
		}
	}
}
.fancyOptions {
	position: absolute;
	bottom: calc(100% + 5px);
	background: var(--secondary-bg);
	padding: 5px;
	width: 100%;
	box-sizing: border-box;
	border-radius: 6px;
	> div {
		padding: 5px;
		&:hover {
			background-color: #00000061;
		}
		margin-top: 5px;
		cursor: pointer;
		transition: background-color 0.2s;
		border-radius: 6px;
		p {
			font-size: 14px;
			opacity: 0.6;
		}
	}
	input {
		margin-left: auto;
		width: 18px;
		height: 18px;
	}

	z-index: 1;
	animation-duration: 0.2s;
	animation-name: fade-in-back;
	animation-fill-mode: forwards;
	animation-timing-function: ease-out;
	max-height: 50vh;
	overflow-y: auto;
	left: 0;

	&.removeElm {
		animation-name: fade-in-back-out;
	}
}
input[type="text"],
input[type="password"],
input[type="search"],
input[type="date"],
textarea {
	display: block;
	width: 100%;
	max-width: 100%;
	padding: 8px 12px;
	margin-top: 4px;
	background: var(--text-input-bg);
	font-family: var(--font);
	font-size: 1rem;
	color: var(--secondary-text);
	border: none;
	border-radius: 4px;
	box-sizing: border-box;
}
::-webkit-calendar-picker-indicator {
	opacity: 1;
}
::placeholder {
	color: color-mix(in srgb, var(--primary-text-soft), transparent);
}
:focus-visible {
	outline: 2px solid var(--focus);
	outline-offset: 0;
}
#typebox:focus-visible {
	outline: none;
}
.voiceTray {
	margin-left: auto;
	span {
		width: 16px;
		height: 16px;
		margin: 1px;
		margin-left: 4px;
		background: var(--primary-text-soft);
	}
}

.pfpDiv {
	position: relative;
	background: none !important;
	aspect-ratio: 1;
	width: 32px;
	height: 32px;
}
.pfpSearch {
	display: inline-block;
	margin-right: 10px;
}
.pfp,
.replypfp {
	display: block;
	height: 100%;
	width: 100%;
	border-radius: 50%;
	object-fit: cover;
	cursor: pointer;
	user-select: none;
}
.leftArrow {
	z-index: 1;
	width: 42px;
	height: 42px;
	display: block;
	background: var(--primary-text-soft);
	position: absolute;
	top: calc(50% - 42px);
	left: 4px;
	cursor: pointer;
}
.rightArrow {
	z-index: 1;
	width: 42px;
	height: 42px;
	display: block;
	background: var(--primary-text-soft);
	position: absolute;
	top: calc(50% - 42px);
	right: 4px;
	cursor: pointer;
}
.svg-mediaSettings {
	width: 15px;
	height: 30px;
	background: var(--primary-text);
	cursor: pointer;
	display: block;
	mask-size: contain !important;
}
.svg-mediaButton {
	width: 30px;
	height: 30px;
	background: var(--primary-text);
	cursor: pointer;
	display: block;
	mask-size: cover !important;
}
.svg-crown {
	width: 16px;
	height: 16px;
	background: var(--yellow) !important;
	mask: url(./icons/crown.svg);
	mask-size: cover !important;
	flex-shrink: 0;
	cursor: pointer;
	margin-left: -2px !important;
}
.svg-history {
	width: 36px;
	height: 36px;
	background: var(--primary-text-soft);
	mask: url(./icons/history.svg);
	mask-size: cover !important;
	flex-shrink: 0;
	cursor: pointer;

	&:hover {
		background: var(--black);
	}
}
.svg-timeout {
	mask: url(./icons/timeout.svg);
	width: 16px;
	height: 16px;
	mask-size: cover !important;
	background: var(--red);
	margin-left: 6px;
	margin-right: -2px;
}
.svg-folder {
	mask: url(./icons/folder.svg);
	background-color: var(--folder-color, var(--accent-color));
	mask-size: contain !important;
	width: 36px;
	height: 36px;
}
.messageimgdiv:hover {
	.svg-gifstar {
		top: 4px;
	}
}
.svg-gifstar {
	mask: url(./icons/gifstar.svg);
	mask-size: contain !important;
	width: 24px;
	height: 24px;
	position: absolute;
	top: -30px;
	right: 5px;
	transition: top 0.2s;
	transition-timing-function: ease-in;
	backdrop-filter: blur(20px);
	mix-blend-mode: difference;
	background: #969696;
	cursor: pointer;
	&.favorited {
		background: orange;
	}
}
.visually-hidden {
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute;
	white-space: pre-wrap;
	width: 1px;
}
.svg-stream {
	mask: url(./icons/stream.svg);
	mask-size: contain !important;
	background: var(--primary-text);
}
.svg-select {
	mask: url(./icons/select.svg);
	mask-size: contain !important;
	background: var(--primary-text);
}
.svg-noSelect {
	mask: url(./icons/noSelect.svg);
	mask-size: contain !important;
	background: var(--primary-text);
}
.svg-stopstream {
	mask: url(./icons/stopstream.svg);
	mask-size: contain !important;
	background-color: var(--red);
}
.svg-video {
	mask: url(./icons/video.svg);
	mask-size: contain !important;
	background: var(--primary-text);
}
.svg-novideo {
	mask: url(./icons/novideo.svg);
	mask-size: contain !important;
	background: var(--red);
}
.svg-call {
	mask: url(./icons/call.svg);
	mask-size: contain !important;
}
.svg-hangup {
	mask: url(./icons/hangup.svg);
	mask-size: contain !important;
	background: var(--red);
}
.svg-plainx {
	mask: url(./icons/plainx.svg);
	mask-size: contain !important;
}
.svg-sticker {
	mask: url(./icons/sticker.svg);
	mask-size: contain !important;
}
.svg-search {
	mask: url(./icons/search.svg);
	mask-size: contain !important;
}
.svg-spoiler {
	mask: url(./icons/spoiler.svg);
	mask-size: contain !important;
}
.svg-pin {
	mask: url(./icons/pin.svg);
	mask-size: cover;
}
.svg-link {
	mask: url(./icons/link.svg);
	mask-size: cover;
}
.svg-rules {
	mask: url(./icons/rules.svg);
	mask-size: cover;
}
.svg-unspoiler {
	mask: url(./icons/unspoiler.svg);
	mask-size: contain !important;
}
.svg-soundMore {
	mask: url(./icons/soundMore.svg);
	mask-size: contain !important;
}
.svg-play {
	mask: url(./icons/play.svg);
	mask-size: contain !important;
}
.svg-pause {
	mask: url(./icons/pause.svg);
	mask-size: contain !important;
}
.svg-announce {
	mask: url(./icons/announce.svg);
	mask-size: contain !important;
}
.svg-emoji {
	mask: url(./icons/emoji.svg);
	mask-size: contain !important;
}
.svg-gif {
	mask: url(./icons/gif.svg);
	mask-size: contain !important;
}
.svg-edit {
	mask: url(./icons/edit.svg);
	mask-size: contain !important;
}
.svg-reply {
	mask: url(./icons/reply.svg);
	mask-size: contain !important;
}
.svg-delete {
	mask: url(./icons/delete.svg);
	mask-size: contain !important;
}
.svg-category {
	mask: url(./icons/category.svg);
	mask-size: contain !important;
}
.svg-intoMenu {
	mask: url(./icons/intoMenu.svg);
	mask-size: contain !important;
}
.svg-leftArrow {
	mask: url(./icons/leftArrow.svg);
	mask-size: contain !important;
}
.svg-channel {
	mask: url(./icons/channel.svg);
	mask-size: contain !important;
}
.svg-forum {
	mask: url(./icons/forum.svg);
	mask-size: contain !important;
}
.svg-forumnsfw {
	mask: url(./icons/forumnsfw.svg);
	mask-size: contain !important;
}
.svg-copy {
	mask: url(./icons/copy.svg);
	mask-size: contain !important;
}
.svg-explore {
	mask: url(./icons/explore.svg);
	mask-size: contain !important;
}
.svg-home {
	mask: url(./icons/home.svg);
	mask-size: contain !important;
}
.svg-settings {
	mask: url(./icons/settings.svg);
	mask-size: contain !important;
}
.svg-voice {
	mask: url(./icons/voice.svg);
	mask-size: contain !important;
}
.svg-plus {
	mask: url(./icons/plus.svg);
	mask-size: contain !important;
}
.svg-upload {
	mask: url(./icons/upload.svg);
	mask-size: contain !important;
	width: 0.2in !important;
	cursor: pointer;
}
.svg-x {
	mask: url(./icons/x.svg);
	mask-size: contain !important;
}
.svg-update {
	mask: url(./icons/update.svg);
	mask-size: cover !important;
	width: 24px !important;
	height: 24px !important;
	margin-right: 0 !important;
	background: var(--update) !important;
	cursor: pointer;
}
.svg-friends {
	mask: url(./icons/friends.svg);
	width: 24px !important;
	height: 24px !important;
	margin-right: 0 !important;
	mask-size: contain !important;
}
.svg-frmessage {
	mask: url(./icons/frmessage.svg);
	mask-size: contain !important;
}
.svg-addfriend {
	mask: url(./icons/addfriend.svg);
	mask-size: contain !important;
}
.svg-waitfriend {
	mask: url(./icons/waitfriend.svg);
	mask-size: contain !important;
	opacity: 0.6;
}
.svg-hasfriend {
	mask: url(./icons/hasfriend.svg);
	mask-size: contain !important;
	opacity: 0.6;
}
.svg-channelnsfw {
	mask: url(./icons/channelnsfw.svg);
	mask-size: contain !important;
}
.svg-announcensfw {
	mask: url(./icons/announcensfw.svg);
	mask-size: contain !important;
}
.svg-voicensfw {
	mask: url(./icons/voicensfw.svg);
	mask-size: contain !important;
}
.markdown-timestamp {
	background: #00000038;
	padding: 2px;
	border-radius: 2px;
}
.svgicon {
	display: block;
	height: 100%;
	width: 100%;
	background: var(--primary-text-soft);
	mask-repeat: no-repeat;
	aspect-ratio: 1/1;
	flex-shrink: 0;
	color: transparent;
	&[hidden] {
		display: none;
	}
}
.friendProf {
	width: 20px;
	height: 20px;
	position: absolute;
	right: 10px;
	top: 10px;
	background: var(--secondary-bg);
	padding: 6px;
	border-radius: 100%;
	cursor: pointer;
}
.forumIcon {
	width: 28px;
	height: 28px;
}
.forumHead {
	width: calc(100% - 12px);
	background: var(--dock-bg);
	padding: 6px;
	margin: 6px;
	box-sizing: border-box;
	border-radius: 4px;
	flex: 0;
	min-height: fit-content;
	height: max-content;
	flex-shrink: 0;
	/* overflow: clip; */

	> .flexltr {
		width: 100%;
		align-items: center;
	}
	.editMessage {
		margin-top: 6px;
	}
	.searchOptions {
		top: 32px;
		bottom: unset;
	}
	.forumTagSelect {
		margin-top: 6px;
		> * {
			margin-left: 0px;
			margin-right: 6px;
		}
	}
}
.newPostForumButton {
	width: 100px;
	height: 34px;
	padding: 6px;
	transition:
		width 0.15s,
		padding 0.15s;
	overflow: clip;
	text-overflow: clip;
	white-space: nowrap;
	text-align: center;
}
.forumHead:has(input:placeholder-shown) {
	.newPostForumButton {
		width: 0px;
		padding: 0px;
	}
}
.forumBody {
	height: 100%;
}
.forumList {
	flex: 1;
	overflow-y: scroll;
}
.allTagButton {
	margin-left: auto;
}
.forumSortRow {
	flex-shrink: 0;
	padding: 4px 12px;
	align-items: center;
}
.forumTagSelect {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	overflow-y: clip;
	min-height: fit-content;

	> * {
		margin-left: 6px;
	}
	.selected {
		background: #ffffff5e;
	}
}
.forumTag {
	padding: 3px;
	background: #ffffff21;
	border-radius: 12px;
	cursor: pointer;
}
.forumPostError {
	color: var(--red);
}
.forumPostBody {
	background: var(--secondary-bg);
	margin: 4px 12px;
	padding: 6px;
	border-radius: 4px;
	> * {
		margin-bottom: 4px;
	}
	cursor: pointer;
}
.forumButtonRow {
	flex-shrink: 0;
	mix-height: fit-content;
	padding: 12px;
	button {
		margin-right: 10px;
	}
}
.forumMessageRow {
	.svg-frmessage {
		width: 16px;
		margin-right: 4px;
	}
	display: flex;
	align-items: center;
}
.msep {
	margin: 6px;
	background: #000000de;
	width: 3px;
	height: 3px;
	border-radius: 100%;
}
.forumSearch {
	margin-left: 3px;
	background: transparent !important;
}
.svg-mic {
	height: 22px;
	width: 22px;
	margin: 6px;
	mask: url(./icons/mic.svg);
	mask-size: contain !important;
}
.svg-micmute {
	height: 22px;
	width: 22px;
	margin: 6px;
	mask: url(./icons/micmute.svg);
	background-color: var(--red);
	mask-size: contain !important;
}
.mobileback {
	visibility: hidden;
	height: 0px;
	width: 0px;
}
#searchX {
	width: 0.16in;
	height: 0.16in;
	position: absolute;
	right: 13px;
	top: 6px;
}
#searchX.svg-plainx {
	cursor: pointer;
}
#pinnedM {
	width: 0.25in;
	height: 0.25in;
	cursor: pointer;
}
.unreadPin {
	position: relative;
}
.unreadPin::after {
	width: 0.1in;
	height: 0.1in;
	content: "";
	background: var(--red);
	position: absolute;
	right: 0px;
	bottom: -5px;
	border-radius: 1in;
}
#stickerTB {
	width: 0.2in;
	height: 0.2in;
	cursor: pointer;
	flex-shrink: 0;
	margin-left: 6px;
}
#emojiTB {
	width: 0.2in;
	height: 0.2in;
	cursor: pointer;
	flex-shrink: 0;
	margin-left: 6px;
}
#gifTB {
	width: 0.2in;
	height: 0.2in;
	cursor: pointer;
	flex-shrink: 0;
	mask-size: 0.2in 0.2in;
}
.selectarrow {
	position: absolute;
	top: 10px;
	right: 10px;
	height: 12px;
	width: 12px;
	pointer-events: none;
}
.hoverthing {
	position: absolute;
	background: var(--dock-bg);
	padding: 0.04in;
	border-radius: 0.05in;
	pointer-events: none;
	animation-duration: 0.1s;
	animation-name: fade-in-hover;
	animation-timing-function: ease-out;
	border: solid 0.03in var(--dock-bg);
	z-index: 200;
}
@keyframes fade-in-hover {
	0% {
		opacity: 0;
		user-select: none;
	}
	0.1% {
		opacity: 0;
		transform: scale(0.9) translateY(-10px);
		user-select: none;
	}

	100% {
		opacity: 1;
	}
}
.errorHTML {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	height: 100vh;
	justify-content: center;
	align-content: center;
	h3 {
		margin-bottom: 15px;
	}
	> div {
		background: var(--primary-bg);
		padding: 15px;
		border-radius: 10px;
		height: 60%;
		width: 60%;
		box-shadow: 5px 5px 5px black;
		display: flex;
		flex-direction: column;

		> div {
			padding: 10px;
			box-shadow: 0px 0px 5px black;
			border-radius: 10px;
			margin-top: auto;
		}
	}
	img {
		background: var(--primary-bg);
		padding: 10px;
		border-radius: 10px 10px 0 0;
		box-shadow: 5px 5px 5px black;
	}
}
.editMessage {
	background: var(--typebox-bg);
	padding: 0.05in;
	border-radius: 0.04in;
	white-space: preserve-breaks;
	outline: none;
}
#gimmefile {
	position: absolute;
	width: 100%;
	height: 100%;
	background: #00000070;
	top: 0px;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 99;
	&[hidden] {
		display: none;
	}
}
#filedroptext {
	max-width: 75%;
	max-height: 75vh;
	padding: 8em 8em 8em 8em;
	text-align: center;
}
.commandError {
	position: absolute;
	top: -36px;
	left: 34px;
	z-index: 1;
	background: var(--red);
	padding: 6px;
	border-radius: 4px;
	&.removeElm {
		animation-duration: 4s;
		animation-name: errorElm;
		animation-fill-mode: forwards;
		animation-timing-function: ease-in-out;
	}
}
@keyframes errorElm {
	100%,
	0% {
		opacity: 0;
	}
	5%,
	95% {
		opacity: 1;
	}
}

@keyframes fade {
	0%,
	100% {
		opacity: 0.2;
	}
	50% {
		opacity: 1;
	}
}
@keyframes jumped {
	0%,
	100% {
		background: transparent;
	}
	50% {
		background: var(--message-jump-bg);
	}
}

::-webkit-scrollbar {
	height: 10px;
	width: 10px;
}
::-webkit-scrollbar-track {
	background: transparent;
}
::-webkit-scrollbar-track:hover {
	background: var(--channels-bg);
}
::-webkit-scrollbar-thumb {
	background: var(--primary-text-soft);
	border-radius: 8px;
	border: 2px solid transparent;
	background-clip: padding-box;
}
::-webkit-scrollbar-thumb:hover {
	background: var(--primary-text-soft);
}
#guildRail::-webkit-scrollbar,
#channels::-webkit-scrollbar,
#sideContainDiv::-webkit-scrollbar {
	display: none;
}
#sideContainDiv:has(#sideDiv:empty):has(#player:empty) {
	width: 0px;
	margin: 0px;
	padding: 0px;
}
#guildRail,
#channels,
#sideDiv {
	scrollbar-width: none;
}

#titleDiv {
	padding: 8px;
	background: var(--primary-bg);
	font-size: 0.8rem;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 0 28px;
	/* width: 100%; */
	position: sticky;
	top: 0px;
	z-index: 100;
	box-shadow: 0px 1px 9px 0px black;
	margin: 10px;
	border-radius: 4px;
}
#pageTitle {
	margin-left: 8px;
}
.center {
	align-items: center;
}
.TitleButtons {
	font-size: 1.5em;
	font-weight: bold;
}
#homePage {
	max-width: 80%;
	padding-bottom: 40px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	> * {
		width: 100%;
	}
}
#jumpIn {
	margin: 20px;
	width: fit-content;
	padding: 15px 30px;
	background: #2a75b9;
	font-size: 25px;
	font-weight: bold;
}
h1.pagehead {
	padding: 22px;
	font-size: 2.5rem;
	text-align: center;
}
.pagebox {
	padding: 16px;
	margin-bottom: 16px;
	background: var(--primary-bg);
	border-radius: 8px;
}
.pagebox h2 {
	margin-bottom: 12px;
}
.pagebox ul {
	margin-bottom: 0;
	line-height: 1.5em;
}
#instancebox {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(318px, 1fr));
	gap: 16px;
}
.instance {
	padding: 16px;
	background: var(--secondary-bg);
	color: var(--secondary-text);
	border-radius: 8px;
	gap: 12px;
	cursor: pointer;
}
.instance img {
	height: 64px;
	width: 64px;
	border-radius: 30%;
}
.instance p {
	margin-bottom: 24px;
}
.instance span {
	margin-bottom: 4px;
	font-size: 0.9rem;
	color: var(--secondary-text-soft);
}
span.instanceStatus {
	font-size: 0.75rem;
}
.instancetextbox h2 {
	margin-bottom: 4px;
	display: flex;
	justify-content: space-between;
}

#logindiv,
#invitebody {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	max-height: 100svh;
	min-width: 512px;
	padding: 24px;
	background: var(--primary-bg);
	border-radius: 8px;
	box-shadow: 0 0 8px var(--shadow);
	box-sizing: border-box;
	overflow-y: auto;
}
#logindiv label,
#TOSbox {
	display: inline-block;
	margin-top: 12px;
}
#verify {
	color: var(--primary-text-soft);
}
.verify {
	color: var(--primary-text-soft);
}
#TOS {
	vertical-align: middle;
	margin-bottom: 4px;
}
#h-captcha {
	margin: 16px 0;
	text-align: center;
}
.createAccount {
	width: 94%;
	padding: 8px;
	margin-bottom: 16px;
	font-size: 1.15rem;
	font-weight: bold;
	text-align: center;
	box-sizing: border-box;
}
#logindiv button {
	width: 100%;
	padding: 8px;
	margin-bottom: 16px;
	font-size: 1.15rem;
	font-weight: bold;
	text-align: center;
}
#invitebody {
	background: var(--primary-bg);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	box-shadow: 1px 1px 15px 0px black;

	&.moreShadow {
		box-shadow: 1px 1px 20px 10px black;
	}
}

.inviteGuild {
	height: 64px;
	width: 64px;
	background-color: var(--blank-bg);
	font-size: 1.5em;
	text-align: center;
	border-radius: 30%;
	user-select: none;
}
#inviteimg.pfp {
	height: 64px;
	width: 64px;
	cursor: auto;
}
#invitedescription {
	color: var(--primary-text-soft);
}
#acceptInvite {
	width: 100%;
	padding: 12px;
	margin-top: 24px;
	text-align: center;
}
#permissions {
	margin-top: 8px;
	color: var(--primary-text-soft);
}
#permissions h1 {
	font-size: 1.4rem;
	color: var(--primary-text);
}
#permissions .flexttb {
	margin-top: 12px;
}
#permissions h2 {
	font-size: 1rem;
	color: var(--primary-text);
}

#loading {
	z-index: 110;
	position: absolute;
	height: 100%;
	width: 100%;
	background: var(--loading-bg, inherit) !important;
	color: var(--loading-text);
	text-align: center;
	transition: transform 0.2s;
	overflow: hidden; /* keep size if window height is too small */
}
#loading.doneloading {
	transform: translate(0%, -100%);
}
#loadingdiv {
	display: none;
	flex: 0 0 100%; /* push out scroller until loaded */
	overflow-y: auto;
	flex-direction: column-reverse;
	position: absolute;
	background: var(--primary-bg);
	z-index: 3;
	width: 100%;
	height: 100%;
}
#switchaccounts {
	color: var(--link);
	text-decoration: underline;
	cursor: pointer;
}
#loadingdiv.loading {
	display: flex;
}
.loadingmessage {
	position: relative;
}
.loadingpfp {
	position: absolute;
	height: 40px;
	width: 40px;
	margin-left: 16px;
	background: var(--typebox-bg);
	border-radius: 50%;
}
.loadingcontent {
	height: 16px;
	margin: 0 0 12px 68px;
	background: var(--typebox-bg);
	border-radius: 8px;
}
.folder-icon-div {
	width: 44px;
	height: 44px;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 16px;
	margin: 2px;
	margin-bottom: 8px;
	cursor: pointer;
}
.folder-div {
	background: color-mix(in srgb, var(--folder-color, var(--accent-color)), 70% transparent);
	padding: 3px;
	margin: -3px;
	border-radius: 16px;
	margin-bottom: 6px;
}
.guilds-div-folder {
	transition: height 0.2s;
}

#guildRail {
	flex: 0 0 auto;
	padding: 8px;
	background: var(--servers-bg);
	box-sizing: border-box;
	overflow-y: auto;
	user-select: none;
}
.servericon,
#sentdms .pfpDiv {
	height: 48px;
	width: 48px;
	margin-bottom: 8px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: border-radius 0.2s;
}
.servericon:hover,
.serveropen .servericon,
#sentdms .pfp:hover {
	border-radius: 30%;
}
.home .svgicon {
	background: var(--icon);
}
.home .svg-plus {
	height: 16px;
	width: 16px;
}
.home .svg-explore {
	height: 44px;
	width: 44px;
}
.lightbr {
	margin: 8px 4px;
}
.blankserver,
.home {
	background: var(--blank-bg);
}
.servernoti {
	position: relative;
}
.unread {
	position: absolute;
	transform: translate(-18px, 20px);
	height: 8px;
	width: 8px;
	background: var(--primary-text);
	border-radius: 4px;
	transition:
		transform 0.2s,
		height 0.2s;
}
.servernoti:hover .unread.pinged {
	transform: translate(34px, 14px);
	height: 20px;
}
.servernoti:hover .unread {
	transform: translate(-12px, 12px);
	height: 24px;
}
.serveropen .unread {
	transform: translate(-12px, 8px) !important;
	height: 32px !important;
	width: 8px !important;
}
.serveropen .unread.pinged {
	color: transparent;
}
.notiunread {
	transform: translate(-12px, 20px);
}
#sentdms {
	position: relative;
}
.unread.pinged {
	height: 16px;
	width: 16px;
	transform: translate(34px, 34px);
	background: var(--red);
	font-size: 0.75rem;
	font-weight: bold;
	line-height: 15px;
	text-align: center;
	/* border: 4px solid var(--servers-bg); */
	/* border-radius: 50%; */
	pointer-events: none;
	z-index: 0;
	top: 0px;
}

.channelflex {
	flex: none;
	width: 240px;
	background: var(--channels-bg);
	user-select: none;
}
.searchMeta {
	position: relative;
	display: flex;
}
.header {
	flex: none;
	height: 48px;
	padding: 0 16px;
	background: var(--channels-header-bg);
	border-bottom: 2px solid var(--shadow);
	align-items: center;
	user-select: none;
}
.Banner {
	height: 8em;
	align-items: start;
	padding-top: 10px;
	background-size: cover;
	color: white;
	.ellipsis {
		text-shadow: 0px 0px 8px black;
	}
}
#serverName {
	font-size: 1rem;
}
#channels {
	flex: 1;
	padding-bottom: 12px;
	color: var(--primary-text-soft);
	overflow-y: auto;
}
.threads {
	button {
		position: relative;
	}
	button::before {
		content: "";
		position: absolute;
		top: 0px;
		left: 0px;
		height: calc(50% - 1px);
		width: 3px;
		border-bottom: 2px solid var(--reply-line);
		border-left: 2px solid var(--reply-line);
		border-bottom-left-radius: 8px;
	}
	button::after {
		content: "";
		position: absolute;
		bottom: 0px;
		left: 0px;
		height: calc(50% - 1px);
		width: 3px;
		border-top: 2px solid var(--reply-line);
		border-left: 2px solid var(--reply-line);
		border-top-left-radius: 8px;
	}
}
.channels {
	overflow-y: hidden;
	transition: height 0.2s ease-in-out;
}
#channels > div > div:first-child {
	margin-top: 6px;
}
.channel {
	margin: 0 6px;
	display: flex;
	flex-direction: column;
	margin-bottom: 2px;
	position: relative;
	&.muted {
		span {
			color: color-mix(in srgb, var(--primary-text-soft), transparent);
			&.svgicon {
				background: color-mix(in srgb, var(--primary-text-soft), transparent);
			}
		}
	}
}
.channelbutton {
	height: 2em;
	padding: 0 8px;
	background: transparent;
	color: var(--primary-text-soft);
	display: flex;
	align-items: center;
	transition: font-weight 0.1s;
	> .ellipsis {
		margin-bottom: 0.25em;
	}
}
.channelbutton:hover {
	background: var(--channel-hover);
	color: var(--primary-text-prominent);
}
.channels .channelbutton {
	margin-left: 8px;
}
.viewChannel > .channelbutton,
.viewChannel > .channelbutton:hover {
	background: var(--channel-selected);
	font-weight: bold;
	color: var(--primary-text-prominent);
}

.cunread {
	position: relative;
	color: var(--primary-text-prominent);
}
.cunread:after {
	content: "";
	position: absolute;
	top: 8px;
	left: -10px;
	height: 16px;
	width: 7px;
	background: var(--primary-text);
	border-radius: 50%;
}
.cunread.mentioned:after {
	background: var(--red);
}
.space {
	flex: none;
	height: 1em;
	width: 1em;
	margin-right: 8px;
}
.capsflex {
	margin-top: 8px;
	align-items: center;
}
.channeleffects {
	flex: 1;
	height: 2em;
	flex-direction: row;
	align-items: center;
	cursor: pointer;
}
.channeleffects:hover {
	color: var(--primary-text-prominent);
}
.collapse-icon {
	flex: none;
	height: 12px;
	width: 12px;
	margin-right: 6px;
	transition: rotate 0.2s;
}
.hiddencat {
	rotate: -90deg;
}
.statBub {
	position: absolute;
	bottom: 10px;
	right: 10px;
	background: color-mix(in srgb, var(--secondary-bg) 75%, transparent);
	border-radius: 50%;
	z-index: 1;

	* {
		background: var(--primary-text);
		width: 16px;
		height: 16px;
		display: block;
		margin: 5px;
	}
}
.addchannel {
	height: 10px;
	width: 20px;
	cursor: pointer;
}
.addchannel:hover {
	background: var(--primary-text-prominent);
}
.voiceuser:hover {
	background: var(--channel-hover);
}
.voiceuser {
	margin-left: 32px;
	padding: 4px 4px;
	border-radius: 4px;
	margin-bottom: 2px;
	font-size: 0.9rem;
	align-items: center;
	cursor: pointer;
	.pfpDiv {
		width: 20px;
		height: 20px;
		margin-right: 4px;
	}
}
.unreadDateline {
	color: var(--red);
	hr {
		background: var(--red);
	}
}

.liststyle {
	padding: 3px 8px;
	border-radius: 4px;
	align-items: center;
	gap: 8px;
	cursor: pointer;
	flex-shrink: 0;
	margin-bottom: 4px;
	transition: background 0.2s;
	&.viewChannel,
	&.viewChannel:hover {
		background: var(--channel-selected);
		color: var(--primary-text-prominent);
		font-weight: bold;
	}
}
.friendsNoti {
	background: var(--red);
	width: 24px;
	color: var(--primary-text);
	aspect-ratio: 1/1;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 3px;
	margin-left: auto;
	&:empty {
		display: none;
	}
}
.memberListStyle {
	span {
		font-size: 0.9rem;
		margin-left: 4px;
		font-weight: 600;
		color: transparent;
		background-clip: text, border-box;
		position: relative;
		background-image: var(--userbg, linear-gradient(var(--primary-text)));
	}
}
.liststyle .statusDiv {
	right: -1px;
	bottom: -1px;
}
.liststyle:hover {
	background: var(--channel-hover);
	color: var(--primary-text-prominent);
}
#channels .liststyle {
	margin-left: 8px;
	margin-right: 8px;
}

#VoiceBox {
	margin: 2px 0;
	background: var(--dock-bg);
	div {
		width: 100%;
	}
}
#VoiceStatus {
	padding: 8px;
	font-weight: bold;
	padding-bottom: 2px;
}
#VoiceStatus:empty {
	padding: 0;
}
#VoiceButtons:empty {
	padding: 0;
	height: 0;
}
#VoiceButtons {
	height: 46px;
	display: flex;
	align-items: stretch;
	width: 100%;

	div {
		flex-grow: 1;
		display: flex;
		align-items: center;
		justify-content: center;
		background: var(--primary-bg);
		margin: 6px;
		border-radius: 6px;
		cursor: pointer;
		span {
			height: 24px;
			width: 24px;
			display: block;
		}
		transition: background 0.1s;
		&:hover {
			background: color-mix(in srgb, var(--primary-bg), 20% var(--primary-text));
		}
	}
}

#VoiceGuild {
	padding-left: 8px;
	font-weight: bold;
	padding-bottom: 4px;
	font-size: 14px;
	cursor: pointer;
	width: fit-content;
	span {
		white-space: nowrap;
	}
}
#VoiceGuild:hover {
	text-decoration: underline;
}
#VoiceGuild:empty {
	padding: 0;
}

#userdock {
	padding: 11.75px 6px;
	background: var(--dock-bg);
	align-items: center;
	justify-content: space-between;
}
#userinfo {
	min-width: 50%;
	padding: 0 6px;
	gap: 6px;
	cursor: pointer;
}
#userinfo:hover {
	background: var(--dock-hover);
}
#userpfp {
	margin: 6px 0;
	width: 32px;
	height: 32px;
}
.userflex {
	justify-content: center;
}
#status {
	font-size: 0.8em;
}
#user-actions > * {
	border-radius: 50%;
	cursor: pointer;
	background: var(--user-info-bg);
	color: var(--user-info-text);
	box-sizing: border-box;
}
#user-actions > :hover {
	background: var(--dock-hover);
}
#settings {
	height: 22px;
	width: 22px;
	margin: 6px;
	background: var(--user-info-text);
}

.channelnamediv {
	background: var(--main-header-bg);
}
#channelname {
	flex: none;
	font-weight: bold;
}
#channelTopic {
	margin: auto 0 0 8px;
	font-size: 0.9em;
	color: var(--primary-text-soft);
	cursor: pointer;

	button {
		margin-right: 0.05in;
	}
}
#channelTopic[hidden] {
	display: none;
}
#scrollWrap {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	width: 100%;
}
#channelw {
	flex: 1;
	/* max-height: fit-content; */
	flex-basis: auto;
	flex-grow: 1;
	position: relative;
}
.scroller {
	/*! flex: 1; */
	padding-bottom: 22px;
	overflow-y: auto;
	flex-grow: 0;
	display: flex;
	flex-direction: column;
	flex-shrink: 1;
	max-height: fit-content;
	height: fit-content;
}
.noFlex {
	flex: 0;
}
#pasteimage {
	max-height: 30%;
	padding: 12px;
	margin: 16px;
	background: var(--typebox-bg);
	border-radius: 4px;
	display: flex;
	gap: 12px;
	overflow-y: auto;
	flex-wrap: wrap;
	flex-shrink: 0;
	margin-top: 8px;
}

#pasteimage:empty {
	height: 0;
	padding: 0;
	margin: 0;
}
.containedFile {
	position: relative;
	flex: 0 0 192px;
	background: var(--blank-bg);
	border-radius: 8px;
	overflow: hidden;
	height: 192px;
	display: flex;
	align-items: center;
	justify-content: center;
	.unknownfile {
		width: 100%;
		height: 100%;
		display: flex;
		flex-direction: column;
	}
}
.messageimgdiv {
	position: relative;
	overflow: clip;
	width: fit-content;
	height: fit-content;
	img,
	div {
		height: 100%;
		width: 100%;
		object-fit: contain;
		user-select: none;
		cursor: pointer;
	}
}
#replybox {
	height: 32px;
	padding: 0 10px 0 16px;
	margin: 0 16px;
	background: var(--secondary-bg);
	font-size: 0.9em;
	color: var(--secondary-text);
	border-radius: 8px 8px 0 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	transition: height 0.2s;
	flex-shrink: 0;
}
.cancelReply {
	height: 16px;
	width: 16px;
	margin-left: auto;
}
.cancelReply:hover {
	background: var(--primary-text-prominent);
}
#replybox.hideReplyBox {
	height: 0;
	overflow: hidden;
}
#replybox:not(:empty) ~ #typediv .outerTypeBox {
	border-top-right-radius: 0;
	border-top-left-radius: 0;
}
#realbox {
	padding: 0 16px 28px 16px;
	position: relative;
}
.commandFront {
	user-select: none !important;
	padding: 4px;
	background: var(--secondary-bg);
	border-radius: 4px;
}
#typebox {
	position: relative;
	margin: -10px 0px;
	flex-grow: 1;
	width: 1px;
	margin-left: 0.06in;
	white-space: preserve-breaks;
	flex-shrink: 1;
	text-wrap: auto;
	overflow-y: auto;
	word-break: break-word;
	margin-right: 0.03in;
	padding: 10px 0;
}
#typebox:not([contenteditable="false"]):empty:before,
#typebox:not([contenteditable="false"]):has(span:only-child:empty):before {
	content: var(--channel-text);
	opacity: 0.5;
	position: absolute;
	cursor: text;
	text-wrap: nowrap;
	width: 100%;
	overflow: hidden;
}
.outerTypeBox {
	max-height: 50svh;
	padding: 10px 10px;
	background: var(--typebox-bg);
	border-radius: 4px;
	display: flex;
	flex-direction: row;
	position: relative;
}

.searchBox:empty {
	width: 2in;
}
.searchBox:empty::after {
	content: var(--hint-text);
	color: var(--primary-text-soft);
	position: absolute;
	top: 4px;
	cursor: text;
}
.searchBox {
	white-space: nowrap;
	height: 0.075in;
	padding: 4px 10px 16px 10px;
	background: var(--dock-bg);
	border-radius: 4px;
	/* overflow-y: auto; */
	display: flex;
	flex-direction: row;
	width: 3in;
	margin: 0 0.1in;
	overflow: hidden;
	flex-shrink: 0;
	transition: width 0.2s;
}
.spaceElm {
	margin: auto;
}
.outerTypeBox > span::before {
	content: "\feff";
}
#typebox[contenteditable="false"] {
	cursor: not-allowed;
}
#typebox[contenteditable="false"]:before {
	content: "You can't send messages here";
	opacity: 0.5;
}
#typebox.typeboxreplying {
	border-radius: 0 0 4px 4px;
}
#typebox img {
	max-width: 100%;
}
#typing {
	position: absolute;
	bottom: 7px;
	margin-left: 24px;
	font-size: 0.9em;
	gap: 4px;
}
#typing.hidden {
	display: none;
}
.loading-indicator {
	margin-top: 2px;
	align-items: center;
}
.dot {
	animation: fade 1s infinite;
	width: 6px;
	height: 6px;
	background: var(--primary-text);
	border-radius: 50%;
	margin-right: 3px;
}
.dot:nth-child(2) {
	animation-delay: 0.33s;
}
.dot:nth-child(3) {
	animation-delay: 0.66s;
}
.loadingMessage {
	span {
		opacity: 0.5;
	}
}
.erroredMessage {
	span {
		opacity: 1;
		color: var(--red);
	}
}

.messagediv,
.titlespace {
	padding: 3px 36px 3px 16px;
	border-left: 2px solid transparent;
}
.titlespace {
	margin-bottom: 20px;
}
.messagediv {
	position: relative;
}
.messagediv:not(.topMessage):hover::after {
	content: var(--time-text);
	position: absolute;
	color: #ffffffb8;
	left: 2px;
	top: 5px;
	font-size: 12px;
}
.messagediv:hover {
	background: var(--primary-hover);
}
.fSpoil {
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	transition: backdrop-filter 0.4s;
	span {
		background: var(--spoiler-bg);
		padding: 3px 6px;
		border-radius: 6px;
	}
}
.fSpoil:hover {
	backdrop-filter: blur(15px);
	span {
		background: var(--spoiler-hover);
	}
}
.messageButtons,
.controls {
	position: absolute;
	top: -16px;
	right: 16px;
	background: var(--secondary-bg);
	box-shadow:
		0 0 4px var(--shadow),
		0 0 2px var(--shadow);
	border-radius: 4px;
	overflow: hidden;
}
.messageButtons button,
.controls button {
	padding: 8px;
	background: transparent;
	border-radius: 0;
	cursor: pointer;
	transition: none;
}
.messageButtons button span,
.controls button span {
	display: block;
	height: 16px;
	width: 16px;
	background: var(--secondary-text-soft);
}
.messageButtons button:hover,
.controls button:hover {
	background: var(--secondary-hover);
}
.messageButtons button:hover span,
.controls button:hover span {
	background: var(--secondary-text);
}
.controls {
	top: 6px;
	right: 6px;
	box-shadow: 0 0 1.5px var(--primary-text-soft);
	z-index: 1;
}
.message {
	padding-right: 28px;
}
.displayComp {
	padding: 12px;
	background: var(--embed-bg);
	border-radius: 4px;
	border-left: solid var(--accent-color, black);
}
.topMessage {
	margin-top: 16px;
}
.zeroheight {
	padding: 0;
}
.blocked {
	display: inline-block;
	margin-bottom: 4px;
	color: var(--primary-text-soft);
	cursor: pointer;
}
.message.blocked {
	margin-bottom: 0;
}
.blockedDiv:hover {
	background: transparent;
}
.pfprow {
	flex: none;
	width: 40px;
	margin: 2px 12px 0 0;
}
.pfprow .pfpDiv {
	height: 40px;
	width: 40px;
}
.commentrow {
	word-break: break-word;
	gap: 4px;
	width: 100%;
	overflow: clip;
	position: relative;
}
.inlinepronouns {
	font-size: 14px;
	margin-left: 4px;
	opacity: 0.7;
}

.commentrow:hover::after {
	background: var(--secondary-hover);
}
.fileinputdiv > div {
	width: 64px;
	height: 64px;
	object-fit: contain;
	background: var(--secondary-bg);
	border-radius: 16px;
	cursor: pointer;
	img {
		width: 64px;
		height: 64px;
		object-fit: contain;
		border-radius: 16px;
	}
	&.pfp {
		border-radius: 50%;
		overflow: clip;
	}

	display: flex;
	justify-content: center;
	align-items: center;

	span {
		text-align: center;
	}
}
.username {
	font-weight: bold;
	word-break: break-all;
	cursor: pointer;
	color: transparent;
	background-clip: text, border-box;
	position: relative;
	background-image: var(--userbg, linear-gradient(var(--primary-text), var(--primary-text)));
}
.pollText {
	margin: 0px 4px;
}
.roleIcon {
	display: inline-block;
	padding: 1px;
	margin-left: 3px;
	cursor: default;
	width: 20px;
	height: 20px;
	object-fit: contain;
	align-self: center;
}
.userwrap {
	display: flex;
	align-items: baseline;
}
.pinText {
	cursor: pointer;
}
.pinText:hover {
	text-decoration: underline;
}
.username:hover:after {
	text-decoration: underline;
	position: absolute;
	content: "";
	width: 100%;
	height: 1px;
	background-image: inherit;
	left: 0;
	bottom: 1px;
}
.bot {
	padding: 2px 5px;
	margin-left: 4px;
	background: color-mix(in srgb, var(--accent-color) 75%, transparent) !important;
	font-size: 0.75em !important;
	font-weight: bold;
	color: white !important;
	border-radius: 4px;
	flex: none;
	width: fit-content;
	background-clip: border-box !important;
	align-self: center;
	vertical-align: center;
}
.membererror {
	display: inline-block;
	width: 14px;
	margin-left: 4px;
	font-size: 13px;
	line-height: 1em;
	text-align: center;
	border: solid var(--red) 2px;
	border-radius: 50%;
}
.jumped {
	animation: jumped 1.3s;
}

.message pre {
	padding: 8px;
	margin-top: 4px;
	border-radius: 4px;
}
.media-medium {
	max-width: 1.2in !important;
	max-height: 1in;
	object-fit: contain;
}
.media-small {
	max-width: 0.6in !important;
	max-height: 0.4in;
	object-fit: contain;
}
.message img {
	max-width: 100%;
}

input[type="search"]:read-only {
	cursor: not-allowed;
	color: var(--secondary-text-soft);
}
.avDec {
	position: absolute;
	cursor: pointer;
	width: 122%;
	aspect-ratio: 1;
	top: -11%;
	left: -11%;
	max-width: 150% !important;
}
.timestamp {
	flex: none;
	margin-left: 6px;
	font-size: 0.75em;
	color: var(--primary-text-soft);
}
.spoiler {
	background: var(--spoiler-bg);
	color: var(--spoiler-bg);
	cursor: pointer;
	samp,
	a {
		background: transparent;
		color: inherit;
	}
	pre,
	.quote {
		background: var(--spoiler-bg);
		color: var(--spoiler-bg);
	}
}
.spoiler:hover {
	background: var(--spoiler-hover);
	color: var(--spoiler-hover);
	pre,
	.quote {
		background: var(--spoiler-hover);
		color: var(--spoiler-hover);
	}
}
.unspoiled {
	background: var(--spoiler-unspoiled);
	.quote {
		background: var(--spoiler-unspoiled);
	}
}
.quote {
	display: inline-block;
	position: relative;
}
.quoteline {
	position: absolute;
	height: 100%;
	width: 4px;
	background: var(--quote-line);
}
span .quote:first-of-type .quoteline {
	border-top-left-radius: 2px;
	border-top-right-radius: 2px;
}
span .quote:last-of-type .quoteline {
	border-bottom-left-radius: 2px;
	border-bottom-right-radius: 2px;
}
.quote > span {
	display: inline-block;
	margin-left: 8px;
}
.replyflex {
	position: relative;
	padding-left: 52px;
	margin-bottom: 4px;
	font-size: 0.9em;
	color: var(--reply-text);
	align-items: baseline;
	gap: 4px;
}
.replyflex::before {
	content: "";
	position: absolute;
	top: calc(50% - 1px);
	left: 19px;
	height: calc(50% + 1px);
	width: 28px;
	border-top: 2px solid var(--reply-line);
	border-left: 2px solid var(--reply-line);
	border-top-left-radius: 8px;
}
.startreply {
	flex: none;
	width: 28px;
	margin-left: 20px;
	background: transparent;
}
.replypfp {
	height: 20px;
	width: 20px;
	align-self: center;
}
.replyflex .username {
	flex: none;
	max-width: calc(100% - 75px);
}
.replytext {
	cursor: pointer;
}
.replytext a {
	pointer-events: none;
}
.replytext pre {
	display: inline;
}
.reply {
	flex: 1;
	background: var(--reply-line);
}
.replying {
	background: color-mix(in srgb, var(--reply-highlight) 10%, transparent);
	border-color: var(--reply-highlight);
}
.replying:hover {
	background: color-mix(in srgb, var(--reply-highlight) 10%, var(--primary-hover));
}
.mentioned > button,
.mentioned.messagediv {
	background: color-mix(in srgb, var(--mention-highlight) 10%, transparent);
	border-color: var(--mention-highlight);
}
.mentioned:hover > button {
	background: color-mix(in srgb, var(--mention-highlight) 10%, var(--primary-hover));
}
#slideCount {
	position: absolute;
	bottom: 0px;
	display: flex;
	flex-direction: row;
	padding: 10px;
	width: calc(100% - 30px);
	justify-content: center;
	box-sizing: border-box;
	div {
		padding: 3px;
		margin: 2px;
		cursor: pointer;
		&.selected {
			span {
				opacity: 1;
			}
		}
	}
	span {
		width: 10px;
		height: 10px;
		background: white;
		display: block;
		opacity: 0.5;
		border-radius: 100%;
	}
}
.screenshots {
	width: calc(100% - 10px);
	margin: 5px;
	box-sizing: border-box;
	border-radius: 8px;
	position: absolute;
	top: 0px;
	left: 0px;
	transition: opacity 0.4s;
	&.hidden {
		opacity: 0;
	}
}
#ScreenshotSlides {
	position: relative;
	aspect-ratio: 1.9;
}
.mentionMD {
	background-clip: text;
	padding: 1px 2px;
	border-radius: 4px;
	cursor: pointer;
	color: color-mix(in srgb, var(--userbg) 75%, var(--primary-text));
	background-image: var(--userbg, linear-gradient(var(--primary-text), var(--primary-text)));
	position: relative;
	z-index: 1;
}
.mentionMD::before {
	background: color-mix(in srgb, var(--mention), transparent);
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0px;
	z-index: -1;
	border-radius: 4px;
}
.mentionMD:hover::before {
	background: var(--mention);
}

.smallemoji {
	height: auto;
	width: auto;
	max-height: 1.25em;
	max-width: 1.25em;
	vertical-align: middle;
}
.bigemoji {
	width: 0.6in;
	object-fit: contain;
	height: 0.6in;
	vertical-align: middle;
}
.bigemojiUni {
	font-size: 47px;
}

.reactiondiv {
	padding-left: 52px;
	gap: 0 4px;
	flex-wrap: wrap;
	user-select: none;
}
.reaction {
	min-width: 1.25em;
	min-height: 1.25em;
	padding: 3px 4px;
	margin-top: 4px;
	background: var(--reaction-bg);
	color: var(--secondary-text);
	border: 1.5px solid transparent;
	border-radius: 4px;
	display: flex;
	align-items: center;
	cursor: pointer;
	gap: 4px;
	font-size: 1.25em;
}
.reaction p {
	line-height: 1em;
}
.reaction:hover {
	border-color: color-mix(in srgb, var(--primary-text-soft), transparent);
}
.reaction.meReacted {
	background: var(--reaction-reacted-bg);
	border-color: color-mix(in srgb, var(--accent-color), transparent);
}

.filename a {
	color: var(--filename);
}
.attachments {
	margin-top: 4px;
	gap: 4px;
	flex-wrap: wrap;
	video {
		min-height: 200px;
		min-width: 200px;
		max-height: 25vh;
		max-width: 50vw;
	}
	.messageimgdiv {
		img,
		video {
			border-radius: 4px;
		}
	}
	.messagegallerydiv {
		object-fit: fill;
		height: 200px;
		max-width: 50%;
		overflow: hidden;
		img,
		video {
			height: 100%;
			object-fit: cover;
		}
	}
}
.embed {
	max-width: 400px;
	padding: 12px;
	background: var(--embed-bg);
	font-size: 0.88em;
	color: var(--secondary-text);
	border-radius: 4px;

	> p {
		line-height: 20px;
	}
}
.countpollspan {
	position: absolute;
	right: 40px;
}
.pollresembed {
	margin-left: 50px;
	margin-top: 6px;
	button {
		margin-left: auto;
	}
}
.linkembed {
	margin-top: 4px;
}

.embed-color {
	max-width: fit-content;
	margin-top: 4px;
	border-radius: 4px;
	width: 400px;
}
.embed-color .embed {
	margin-left: 4px;
	border-radius: 0 4px 4px 0;
}
.embed .embedtitle {
	display: inline-block;
	padding-bottom: 4px;
	font-size: 1rem;
	font-weight: bold;
}
.embed .provider {
	padding-bottom: 4px;
	color: var(--secondary-text-soft);
}
.rich-embed {
	width: unset;
	.embed {
		max-width: unset;
	}
}
.slowmodeTimer {
	position: absolute;
	right: 16px;
	color: var(--primary-text-soft);
}
img.embedicon {
	height: 16px;
	width: 16px;
	margin-right: 4px;
	border-radius: 50%;
	vertical-align: bottom;
}
img.embedimg {
	max-width: 96px;
}
img.authorEmbedImg {
	max-width: 20px;
	margin-right: 4px;
	border-radius: 1in;
}
img.bigembedimg {
	margin-top: 8px;
	border-radius: 4px;
	cursor: pointer;
	width: -webkit-fill-available;
	width: -moz-available;
}
.inviteEmbed {
	width: 400px;
	max-width: 100%;
	padding: 0;
	margin: 4px 0 0 0;
	border-radius: 4px;
	overflow: hidden;
}
.inviteEmbed .banner {
	height: 48px;
	width: 400px;
}
.inviteEmbed .flexltr {
	padding: 12px;
	gap: 8px;
	z-index: 2;
	padding-top: 24px;
}
.inviteEmbed .unread {
	display: none;
}
.inviteEmbed .pfp {
	cursor: auto;
}
.inviteEmbed .invguildinfo {
	flex: 1;
	padding: 4px 12px;
	background: var(--primary-bg);
	color: var(--primary-text);
	border-radius: 4px;
	justify-content: center;
}
.subtext {
	color: var(--primary-text-soft);
}
.inviteEmbed h2 {
	margin: 0 12px;
	font-size: 1em;
	font-weight: normal;
	text-align: center;
	line-height: 1em;
	color: var(--secondary-text-soft);
}
.unknownfile {
	margin-top: 4px;
	padding: 4px;
	background: var(--secondary-bg);
	border-radius: 4px;
	position: relative;
}
.acceptinvbutton {
	width: calc(100% - 24px);
	padding: 6px;
	margin: 12px;
	background: var(--green);
	font-size: 1.15rem;
	font-weight: bold;
	text-align: center;
}
.acceptinvbutton:hover,
.acceptinvbutton:disabled {
	background: color-mix(in hsl, var(--green) 80%, var(--black));
}

#sideContainDiv {
	padding: 16px 8px 0px 8px;
	display: none;
	flex: none;
	width: 240px;
	background: var(--sidebar-bg);
	flex-direction: column;
	justify-content: space-between;
	z-index: 4;
}
#sideDiv {
	overflow-y: auto;
	box-sizing: border-box;
	position: relative;
	overflow: auto;
	flex-grow: 1;
}
#page:has(#memberlisttoggle:checked) #sideContainDiv {
	display: flex;
}
#sideContainDiv.searchDiv {
	padding: 0px;
	display: flex;
	width: max(30vw, 400px);

	.topMessage {
		margin: 0px 10px;
		margin-top: 2px;
		margin-bottom: 10px;
		cursor: pointer;
		padding: 0.05in;
		border-radius: 0.075in;
		background: #00000020;
	}
	.topMessage:hover {
		background: #00000050;
	}
}

.memberList {
	padding-bottom: 16px;
	color: var(--primary-text-soft);
	.flexttb {
		padding-left: 8px;
	}
}
.memberList h3 {
	margin: 0 8px 4px 8px;
	font-size: 0.9rem;
}
.memberList .liststyle:hover {
	background: var(--sidebar-hover);
}
.memberList.offline .liststyle {
	opacity: 0.5;
}
#memberlisttoggle {
	width: 24px;
	height: 24px;
	cursor: pointer;
}
#memberlisttoggle.svgicon {
	/* display: none; */
	&::before {
		content: "";
		width: 24px;
		height: 24px;
		display: block;
	}
}
::highlight(highkeyword) {
	color: var(--code-keyword);
}
::highlight(highnumber) {
	color: var(--code-number);
}
::highlight(highstring) {
	color: var(--code-string);
}
::highlight(highsymbol) {
	color: var(--primary-text-prominent);
	font-weight: bold;
}
::highlight(highcomment) {
	color: var(--code-comment);
}
::highlight(highidentifier) {
	color: var(--primary-text);
}
::highlight(highClass) {
	color: var(--code-class);
}
::highlight(highProp) {
	color: var(--code-prop);
}
::highlight(highFunc) {
	color: var(--code-func);
}

#memberlisttoggle.svgicon {
	-moz-appearance: initial;
	&::before {
		background: var(--primary-text-soft);
	}
}
#memberlisttoggle.svgicon:checked {
	&::before {
		background: var(--primary-text-prominent);
	}
}

.contextmenu {
	position: absolute;
	padding: 8px;
	background: var(--secondary-bg);
	border-radius: 4px;
	box-shadow: 0 0 8px var(--shadow);
	z-index: 300;
	animation-duration: 0.2s;
	animation-name: context-fade-in;
	animation-timing-function: ease-out;

	hr {
		width: 90%;
		height: 1px;
	}
}
.removeElm {
	pointer-events: none;
}
.contextmenu.removeElm {
	animation-name: context-fade-out;
}
@keyframes context-fade-out {
	0% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}
@keyframes context-fade-in {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
.contextbutton {
	position: relative;
	width: 180px;
	padding: 8px;
	background: transparent;
	font-size: 0.9rem;
	line-height: 1em;
	color: var(--secondary-text);
	border: none;
	transition: none;
	display: flex;
	flex-direction: row;
	.svgicon {
		height: 0.2in;
		width: 0.2in;
		position: absolute;
		right: 6px;
		top: 6px;
	}
}
.contextbutton:enabled:hover {
	background: var(--secondary-hover);
}
.contextbutton:disabled {
	background: var(--secondary-bg);
}

.profile {
	position: absolute;
	height: 350px;
	width: 300px;
	max-height: 100svh;
	background: var(--card-bg);
	box-shadow: inset 0 0 300px 350px var(--accent_color);
	opacity: 1;
	border-radius: 8px;
	overflow: hidden;
	align-items: flex-start;
	z-index: 4;
	display: flex;
	flex-direction: column;
	.banner {
		height: 64px;
	}
	.infosection {
		background-color: color-mix(in srgb, var(--secondary-bg) 75%, transparent);
	}
	&:not(.hypoprofile) {
		animation-duration: 0.2s;
		animation-name: fade-in;
		animation-fill-mode: forwards;
		animation-timing-function: cubic-bezier(0.28, 0.48, 0.24, 1.27);
	}
	input {
		width: calc(100% - 20px);
		margin: 0px 10px;
		margin-bottom: 10px;
		box-sizing: border-box;
		padding: 10px;
		background-color: color-mix(in srgb, var(--secondary-bg) 75%, transparent);
		border: none;
		border-radius: 5px;
		font-size: 14px;
	}
}
@keyframes fade-in {
	0% {
		transform: translateY(30px);
		opacity: 0;
	}
	100% {
		transform: translateY(0);
		opacity: 1;
	}
}
.hypoprofile {
	position: relative;
	min-height: 350px;
	margin-bottom: 8px;
}
.profile > .pfpDiv {
	position: absolute;
	z-index: 2;
	top: 20px;
}
.profile .pfpDiv {
	height: 64px;
	width: 64px;
	margin: 8px 0 0 8px;
	cursor: pointer;
}
.statusDiv {
	position: absolute;
	right: 2px;
	bottom: 2px;
	height: 8px;
	width: 8px;
	background: var(--black);
	border: 2.5px solid var(--black);
	border-radius: 8px;
	transition: width 0.5s;
}
.profile .statusDiv {
	width: 14px;
	height: 14px;
}
.onlinestatus {
	background: var(--green);
}
.typingstatus {
	width: 16px;
	&::before {
		content: " ";
		background: white;
		height: 4px;
		width: 4px;
		position: absolute;
		top: 2px;
		left: 1px;
		border-radius: 100%;
		animation: fade 1s infinite;
	}
	&::after {
		content: " ";
		background: white;
		height: 4px;
		width: 4px;
		position: absolute;
		top: 2px;
		right: 1px;
		border-radius: 100%;
		animation: fade 1s infinite;
		animation-delay: 0.33s;
	}
	div {
		background: white;
		height: 4px;
		width: 4px;
		position: absolute;
		top: 2px;
		right: 6px;
		border-radius: 100%;
		animation: fade 1s infinite;
		animation-delay: 0.66s;
	}
}
.dndstatus {
	background: var(--red);
}
.offlinestatus {
	background: var(--primary-bg);
}
.banner {
	height: 100px;
	width: 100%;
	object-fit: cover;
	position: absolute !important;
	/* z-index: 2; */
}
.badge {
	display: inline-flex;
	padding: 2px;
	border: solid 2px var(--black);
	border-radius: 8px;
	img {
		object-fit: contain;
		width: 18px;
		height: 18px;
	}
}
.infosection {
	flex: 1;
	width: calc(100% - 16px);
	padding: 12px;
	margin: 8px;
	margin-top: 64px;
	background: var(--secondary-bg);
	color: var(--secondary-text);
	border-radius: 8px;
	box-sizing: border-box;
	overflow-y: auto;
	padding-top: 30px;
	z-index: 1;
}
.infosection h2,
.infosection h3 {
	word-break: break-word;
	font-size: 20px;
}
.infosection hr {
	width: 100%;
}
.tag {
	margin: 4px 0;
	font-size: 0.9em !important;
	color: var(--secondary-text);
}
.pronouns {
	font-size: 0.9em;
	color: var(--secondary-text-soft);
}
.rolesbox {
	min-height: unset;
	margin-top: auto;
	padding-top: 6px;
	gap: 2px;
	flex-wrap: wrap;
}
.rolediv {
	padding: 4px 6px;
	background: var(--role-bg);
	color: var(--role-text);
	font-size: 0.9em;
	border: 1px solid var(--black);
	border-radius: 4px;
	display: flex;
	align-items: center;
	gap: 4px;
}
ul {
	margin-top: 2px;
	margin-bottom: 2px;
}
.colorrolediv {
	height: 12px;
	width: 12px;
	background: var(--role-color);
	border-radius: 50%;
}

.emojiPicker {
	position: absolute;
	height: 440px;
	width: 360px;
	max-height: 100svh;
	padding: 12px;
	border-radius: 8px;
	box-shadow: 0 0 8px var(--shadow);
	gap: 8px;
	box-sizing: border-box;
	user-select: none;
	background: var(--secondary-bg);
	z-index: 104;

	input {
		width: 1in;
		position: absolute;
		right: 8px;
		top: 2px;
		transition: width 0.2s;
		background: var(--card-bg);
	}
}
.emojiPicker,
.gifmenu,
.stickerPicker {
	animation-duration: 0.2s;
	animation-name: fade-in-back;
	animation-fill-mode: forwards;
	animation-timing-function: ease-out;
	&.removeElm {
		animation-name: fade-in-back-out;
	}
}
.stickerSelect {
	width: 1in;
	height: 1in;
	margin-right: 6px;
	padding: 5px;
	background: var(--secondary-bg);
	border-radius: 6px;
	cursor: pointer;
	display: flex;
	margin-bottom: 8px;
}
.stickerPicker {
	position: absolute;
	height: 440px;
	width: 390px;
	max-height: 100svh;
	padding: 12px;
	border-radius: 8px;
	box-shadow: 0 0 8px var(--shadow);
	gap: 8px;
	box-sizing: border-box;
	user-select: none;
	background: var(--secondary-bg);
	z-index: 4;

	input {
		width: 1in;
		position: absolute;
		right: 8px;
		top: 2px;
		transition: width 0.2s;
		background: var(--card-bg);
	}
	.sticker {
		max-width: 1in;
		max-height: 1in;
		flex-grow: 1;
	}
}
.emojiHeading {
	height: 0.25in;
}
.emojiTitle {
	font-size: 1.2rem;
}
.emojirow {
	flex: none;
	align-items: center;
	overflow-x: auto;
	flex-grow: 0;
}
.emojiSelect {
	flex: none;
	height: 40px;
	width: 40px;
	font-size: 28px;
	line-height: 28px;
	border-radius: 4px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}
.emojiSelect:hover {
	background: var(--secondary-hover);
}
.emoji-server,
.emojiBody .smallemoji {
	height: auto;
	width: auto;
	max-height: 28px;
	max-width: 28px;
	margin: 0;
}
.emojiBody {
	flex: 1;
	padding: 6px;
	background: var(--card-bg);
	border-radius: 8px;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(40px, 1fr));
	grid-auto-rows: min-content;
	overflow-y: auto;
}
.stickerBody {
	flex: 1;
	padding: 8px;
	background: var(--card-bg);
	border-radius: 8px;
	display: flex;
	overflow-y: auto;
	flex-direction: row;
	flex-wrap: wrap;
}

.background {
	contain-intrinsic-width: AUTO 100px;
	position: fixed;
	top: 0;
	height: 100%;
	width: 100%;
	background: color-mix(in srgb, var(--black) 75%, transparent);
	backdrop-filter: blur(1px);
	-webkit-backdrop-filter: blur(1px);
	z-index: 102;
	display: flex;
	align-items: center;
	justify-content: center;

	&:not(.menu) {
		animation-name: bg-fade;
	}
	animation-duration: 0.2s;
	&.removeElm {
		animation-name: bg-fade-out;
		> * {
			&.centeritem {
				animation-name: fade-in-back-out;
			}
		}
	}

	> * {
		animation-duration: 0.2s;
		animation-name: fade-in-back-settings;
		&.centeritem {
			animation-name: fade-in-back;
		}
		animation-fill-mode: forwards;
		animation-timing-function: ease-out;
	}
}
@keyframes bg-fade-out {
	0% {
		background: color-mix(in srgb, var(--black) 75%, transparent);
		backdrop-filter: blur(1px);
	}
	100% {
		background: transparent;
		backdrop-filter: blur(0px);
	}
}
@keyframes bg-fade {
	0% {
		background: transparent;
		backdrop-filter: blur(0px);
	}
	100% {
		background: color-mix(in srgb, var(--black) 75%, transparent);
		backdrop-filter: blur(1px);
	}
}
@keyframes fade-in-back-settings {
	0% {
		opacity: 0;
		transform: scale(1.1);
	}
	100% {
		opacity: 1;
	}
}
.bgRemove {
	animation-duration: 0.2s;
	animation-name: bg-out;
	animation-fill-mode: forwards;
	animation-timing-function: ease-out;
}
@keyframes bg-out {
	0% {
		opacity: 1;
	}
	100% {
		opacity: 0;
		transform: scale(1.1);
	}
}
@keyframes fade-in-back-out {
	0% {
		opacity: 1;
	}
	100% {
		opacity: 0;
		backdrop-filter: blur(0px);
		transform: scale(0.9);
	}
}
@keyframes fade-in-back {
	0% {
		transform: scale(1);
		opacity: 0;
	}
	1% {
		opacity: 0;
		transform: scale(0.9);
	}
	100% {
		opacity: 1;
	}
}
.imgfit {
	max-height: 85svh;
	max-width: 85svw;
	display: flex;

	img {
		flex-shrink: 1;
		height: auto;
		max-width: inherit;
		width: auto;
		max-height: inherit;
	}
}
.centeritem.profile {
	width: 80%;
	height: 80%;
}
.accountSwitcher {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.nonimagecenter,
.accountSwitcher {
	max-height: 95svh;
	width: 500px;
	padding: 6px;
	margin: 0;
	background: var(--secondary-bg);
	border: none;
	border-radius: 8px;
	box-shadow:
		0 0 24px var(--shadow),
		0 0 1.5px var(--primary-text);
	box-sizing: border-box;
	overflow-y: auto;
}
.nonimagecenter & .flexttb,
.nonimagecenter & .flexltr {
	flex: 1;
	gap: 8px;
}
.nonimagecenter > .flexttb,
.nonimagecenter > .flexltr {
	padding: 0 0 16px 0 !important;
	background: var(--primary-bg);
	border-radius: 8px;
}
.nonimagecenter .settingstitle {
	padding-bottom: 0;
	border-bottom: none;
}
.nonimagecenter .flexspace,
.nonimagecenter .FormSettings {
	padding: 0;
}
.nonimagecenter button {
	height: 100%;
}
fieldset {
	margin-bottom: 4px;
	border-color: var(--primary-text-soft);
}
fieldset input[type="radio"] {
	margin: 6px;
}
.switchtable {
	padding: 8px;
	background: var(--primary-bg);
	border-radius: 8px;
	cursor: pointer;
	align-items: center;
	flex-shrink: 0;
	margin-bottom: 10px;
}
.switchtable:hover {
	background: var(--primary-hover);
}
.switchtable .pfp {
	height: 48px;
	width: 48px;
	margin-right: 8px;
}
.serverURL {
	font-size: 0.9em;
	color: var(--primary-text-soft);
}
.accountSwitcher {
	z-index: 111;
}
.accountSwitcher h1 {
	margin-bottom: 4px;
	text-align: center;
}
.accountSwitcher select {
	width: 100%;
	margin: 0;
}
.accountSwitcher:has(button) {
	padding: 24px;
}
.accountSwitcher button {
	padding: 12px;
	text-align: center;
}
.invitediv {
	padding-left: 8px;
	border-radius: 4px;
	background: var(--secondary-bg);
	overflow: hidden;
	display: flex;
	align-items: center;
	position: relative;
}
.copycontainer {
	flex: none;
	background: var(--button-bg);
	cursor: pointer;
	margin-left: auto;
}
.copycontainer:hover {
	background: var(--button-hover);
}
.copybutton {
	height: 20px;
	width: 20px;
	margin: 8px;
}
.nonimagecenter:has(.guildy) {
	max-height: unset;
	width: auto;
}
#typediv[style*="hidden"] {
	height: 0px;
}
.guildy {
	gap: 6px;
	height: 100%;
	padding: 10px;
	box-sizing: border-box;
}
.discovery-guild-content {
	flex: 1;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 8px;
	overflow-y: auto;
}
.discovery-guild {
	height: 280px;
	border-radius: 8px;
	background: var(--secondary-bg);
	overflow: hidden;
	cursor: pointer;
	position: relative;
	.banner {
		position: relative !important;
	}
}
.discovery-guild:hover {
	background: var(--secondary-hover);
}
.flex {
	margin: 12px;
	display: flex;
	align-items: center;
	gap: 6px;
}
.icon {
	height: 48px;
	width: 48px;
	border-radius: 50%;
}
.discovery-guild h3 {
	font-size: 1em;
}
.discovery-guild p {
	margin: 0 12px;
	font-size: 0.9em;
	color: var(--secondary-text-soft);
	word-break: break-word;
}

.menu {
	background: var(--settings-bg);
}
.settingstitle {
	flex: none;
	background: var(--settings-header-bg);
	min-height: 48px;
	padding: 8px 16px;
	flex-wrap: wrap;
	border-bottom: 2px solid var(--shadow);
	box-sizing: border-box;
	display: flex;
	gap: 0 6px;
	align-items: center;
	user-select: none;
	/* pointer-events: none; */
	width: 100%;
	box-sizing: border-box;
}
.Buttons {
	flex: 1;
	width: inherit;
}
.settingbuttons.flexltr {
	width: 100%;
	border-right: 0;
	border-radius: 0.04in;
	.SettingsButton {
		width: auto;
		border-radius: 3px 3px 1px 1px;
		padding-right: 16px;
	}
}
.reportMenu {
	background: var(--primary-bg);
	padding: 16px;
	border-radius: 4px;
	box-shadow: 1px 2px 5px 2px black;
	width: 70%;
	height: 70%;
	overflow-y: auto;
	> div {
		min-height: 100%;
	}
}
.reportElm {
	margin-bottom: 4px;
}
.removeElm {
	> .reportMenu {
		animation-duration: 0.2s;
		animation-name: fade-in-back;
		animation-fill-mode: forwards;
		animation-timing-function: ease-out;
		animation-name: fade-in-back-out;
	}
}
.checkCard {
	padding: 2px;
	background: #00000036;
	margin: 2px;
	border-radius: 4px;
	cursor: pointer;
}
.reportButtonDiv {
	flex-shrink: 0;
	button {
		margin-right: 6px;
	}
}
.reportChildren {
	margin-top: auto;
	height: fit-content;

	button {
		margin-bottom: 6px;
	}
}
.settingbuttons {
	flex: none;
	width: 210px;
	padding: 6px;
	background: var(--settings-panel-bg);
	border-right: 2px solid var(--shadow);
	border-left: 2px solid transparent;
	box-sizing: border-box;
	overflow-y: auto;
	overflow-x: clip;
}
.roleButtonStyle {
	color: transparent;
	background-image: var(
		--user-bg,
		linear-gradient(var(--primary-text-soft), var(--primary-text-soft))
	);
	background-clip: text;
}
.SettingsButton {
	width: 100%;
	padding: 8px 12px;
	background: transparent;
	color: var(--primary-text-soft);
	border: none;
	transition: background 0.1s;
	position: relative;
	padding-right: 0px;
}
.infosection {
	.activeSetting {
		border-bottom: white solid 1px;
	}
}
.activeSetting {
	background: var(--secondary-hover);
}
.settingsIndent {
	margin-left: 5px;
	width: calc(100% - 10px);
}
.settingRed {
	color: var(--red);
}
.headSetting {
	padding: 5px;
	display: block;
	font-weight: bold;
}
.SettingsButton:hover {
	background: var(--settings-panel-hover);
	color: var(--primary-text-prominent);
}
.activeSetting:hover {
	background: color-mix(in srgb, var(--secondary-bg) 40%, transparent);
}
.addrole {
	height: 10px;
	width: 10px;
	margin-left: auto;
	align-self: center;
	cursor: pointer;
}

@keyframes fade-shrink {
	0% {
		opacity: 1;
	}
	100% {
		opacity: 0;
		transform: scale(0.9);
	}
}
@keyframes fade-grow-in {
	0% {
		opacity: 0;
	}
	1% {
		opacity: 0;
		transform: scale(0.9);
	}
	100% {
		opacity: 1;
	}
}
.EmojiGuildMenu.removeElm {
	animation-duration: 0.2s;
	animation-name: fade-shrink;
	animation-timing-function: ease-in;
}
.titlediv {
	display: flex;
	flex: 1;

	> flexspace {
		flex: 1;
	}
}
.flexspace {
	padding-bottom: 32px;
	overflow-y: auto;
	position: relative;
}
.flexspace:has(.flexspace) {
	height: 100%;
	padding-bottom: 0;
}
.FormSettings .flexspace {
	padding-bottom: 0;
}
.FormSettings {
	padding-bottom: 32px;
}
.webhookArea {
	background: var(--secondary-bg);
	padding: 0.2in;
	display: flex;
	align-items: center;
	border-radius: 0.1in;
	user-select: none;
	cursor: pointer;
	span {
		color: var(--secondary-text-soft);
	}
	.svgicon {
		width: 0.4in;
		height: 0.4in;
		margin-left: auto;
	}
}
.stickersDiv {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}
.webhookpfppreview {
	width: 0.8in;
	height: 0.8in;
	border-radius: 1in;
	margin-right: 0.2in;
}
.stickerView {
	max-width: 2.5in;
	max-height: 2.5in;
}
.sticker {
	max-width: 4in;
	height: 2in;
}
.vsmaller {
	.optionElement {
		margin-top: 8px;
	}
}
.traceHead {
	cursor: pointer;
	border-bottom: black solid 4px;
}
.traceDiv {
	padding: 5px 10px;
}
.traceBars {
	padding: 10px 0px;
}
.mutGuildBox,
.mutFriends {
	background: var(--primary-bg);
	padding: 6px;
	cursor: pointer;
	margin-top: 6px;
	.pfpDiv {
		width: 48px !important;
		height: 48px !important;
		padding: 4px !important;
		margin: 0px !important;
	}
	.flexttb {
		display: flex;
		justify-content: space-evenly;
		padding-left: 8px;
	}
	border-radius: 6px;
}
.dropDownTrace {
	background: var(--primary-hover);
	padding: 20px 10px;
	border-radius: 10px;
	border: black solid 4px;
}
.optionElement,
.FormSettings > button {
	margin: 16px 16px 0 16px;
	word-break: break-word;
	overflow: hidden;
	flex-shrink: 0;
}
.errormsg {
	background: #ff000038;
	padding: 4px;
	border-radius: 4px;
	border: solid #ff54003b;
}
.permbox {
	display: flex;
	flex-wrap: wrap;
}
.permbox > span {
	padding: 6px;
	margin: 4px;
	background: var(--role-bg);
	white-space: nowrap;
	word-break: keep-all;
	border-radius: 3px;
}
.flexltr:has(> .optionElement) {
	margin: 16px 16px 0 16px;
	flex-wrap: wrap;
	gap: 6px;
}
.flexltr > .optionElement {
	margin: 0;
}
.optionElement:has(.optionElement) {
	margin: 0;
	position: relative;
}
.optionElement:has(.Buttons) {
	height: 100%;
	min-height: 0;
	display: flex;
}
.optionElement input[type="text"],
.optionElement textarea,
.optionElement .fileinputdiv {
	max-width: 500px;
}
.connection-container {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}
#app-list-container div,
.connection-container div {
	max-width: 500px;
	padding: 8px;
	margin-top: 12px;
	background: var(--secondary-bg);
	color: var(--secondary-text);
	border: 1.5px solid transparent;
	border-radius: 4px;
	display: flex;
	align-items: center;
	gap: 8px;
	cursor: pointer;
	margin-left: 6px;
}
#app-list-container div:hover {
	border: 1.5px solid color-mix(in srgb, var(--secondary-text), transparent);
}
#app-list-container img {
	height: 32px;
	width: 32px;
	border-radius: 4px;
}
#app-list-container h2 {
	font-size: 1rem;
}
.conImg {
	width: 36px;
	height: 36px;
	background: var(--primary-text);
}
.conProfImg {
	margin-right: 12px;
}
.conProfDiv {
	margin: 6px;
	align-items: center;
}

.disabled .conImg {
	opacity: 0.3;
}
.connection-container .disabled {
	color: var(--button-disabled-text);
	cursor: not-allowed;
}
.inlinelabel {
	margin-right: 4px;
}
.setting {
	padding: 16px;
	background: var(--secondary-bg);
	color: var(--secondary-text);
	border-radius: 4px;
}
.roleSettings {
	display: flex;
	align-items: center;
}
.settingsname {
	font-size: 1.15rem;
}
.setting p {
	font-size: 0.9em;
	color: var(--secondary-text-soft);
}
.tritoggle {
	display: flex;
	margin-left: auto;
	position: relative;
	padding: 0px;
	cursor: pointer;
	flex-direction: row-reverse;

	&::after {
		content: "";
		background: var(--secondary-bg);
		transition: right 0.2s;
		border-radius: 4px;
		width: 18px;
		height: 18px;
		display: block;
		top: 3px;
		right: 2px;
		position: absolute;
	}
	:last-child {
		border-radius: 5px 0px 0px 5px;
	}
	:first-child {
		border-radius: 0px 5px 5px 0px;
	}
	&:has(:first-child.selected)::after {
		right: 3px;
	}
	&:has(:nth-child(2).selected)::after {
		right: 27px;
	}
	&:has(:nth-child(3).selected)::after {
		right: 51px;
	}
}
.tritoggle > .triOpt {
	margin: 0 0px;
	background: var(--grey);
	width: 24px;
	height: 24px;
	display: inline-block;
}
.tritoggle > .triOpt:first-child {
	background: var(--green);
}
.tritoggle > .triOpt:nth-child(3) {
	background: var(--red);
}
.nonimagecenter > .flexltr.savediv {
	padding: 16px !important;
}
.savediv {
	position: fixed;
	bottom: 24px;
	right: 50%;
	transform: translateX(50%);
	padding: 16px !important;
	background: var(--secondary-bg) !important;
	font-size: 1.2em;
	font-weight: bold;
	color: var(--secondary-text);
	border-radius: 8px !important;
	align-items: center;
	box-shadow:
		0 0 24px var(--shadow),
		0 0 1px var(--primary-text);
	box-sizing: border-box;
	z-index: 2;
}
.savediv button {
	margin-left: 12px;
	background: var(--green);
}
.exitsettings {
	position: absolute;
	top: 11px;
	right: 12px;
	height: 24px;
	width: 24px;
	cursor: pointer;
}
.exitsettings:hover {
	background: var(--primary-text-prominent);
}

#maintoggle,
#maintoggleicon {
	display: none;
}

@media screen and (max-width: 1000px) {
	#sideContainDiv {
		position: relative;
		margin-left: -256px;
	}
	.flexspace:has(.hypoprofile) {
		flex-direction: column;
	}
	.optionElement input[type="text"],
	.optionElement textarea,
	.optionElement .fileinputdiv {
		width: 100%;
	}
	.searching {
		#searchBox {
			width: 2in;
			margin-right: 36px;
			padding: 7px 10px 13px 10px;
			flex-shrink: 0;
		}
	}
	#searchBox {
		width: 0px;
		padding: 0;
	}
	.searchBox:empty::after {
		content: "";
	}
	#searchX {
		position: absolute;
		width: 24px;
		height: 24px;
		margin: 0;
		cursor: pointer;
		top: 5px;
		right: 2px;
		transition: height 0.2s;
	}
	.searchMeta {
		transition: width 0.2s;
		min-width: 32px;
		height: 32px;
	}
}

@media screen and (max-width: 600px) {
	.searching {
		position: absolute;
		width: 100%;
		background: var(--primary-bg);
		z-index: 1;
		#searchBox {
			width: 100%;
			padding: 7px 10px 13px 10px;
			flex-shrink: 1;
		}
	}
	#homePage {
		max-width: unset;
		width: 94%;
	}
	#page {
		display: block;
		position: fixed;
	}
	#guildRail,
	.channelflex,
	#mainarea {
		position: absolute;
		height: 100svh;
	}
	.channelflex {
		left: 64px;
	}
	#mainarea {
		left: 304px;
		width: 100svw;
		background: var(--primary-bg);
		transition: left 0.3s;
	}
	#sideContainDiv,
	#sideContainDiv.searchDiv {
		display: block;
		right: -100svw;
		margin-left: -100svw;
		width: 100svw;
		transition: right 0.3s;
		box-sizing: border-box;
	}
	.channelnamediv {
		padding: 0;
	}
	#maintoggleicon {
		display: block;
		padding: 12px;
		cursor: pointer;
	}
	#memberlisttoggleicon {
		padding: 6px;
	}
	#maintoggleicon span {
		height: 14px;
		width: 14px;
		rotate: -90deg;
	}
	.scroller {
		pointer-events: none;
	}
	#page:has(#maintoggle:checked) .scroller {
		pointer-events: auto;
	}
	#page:has(#maintoggle:checked) #mainarea {
		left: 0;
	}
	#page:has(#memberlisttoggle:checked) #sideContainDiv:not(.hideSearchDiv),
	#sideContainDiv.searchDiv:not(.hideSearchDiv) {
		right: 0;
		overflow: auto;
	}
	#page:has(#maintoggle:checked) #maintoggleicon {
		rotate: 180deg;
	}
	.messagediv {
		padding: 3px 12px 3px 10px;
	}
	.message {
		padding-right: 4px;
	}
	.topMessage {
		margin-top: 8px;
	}
	.pfprow {
		width: 32px;
	}
	.pfprow .pfpDiv {
		height: 32px;
		width: 32px;
	}
	.replyflex:before {
		left: 15px;
		width: 24px;
	}
	.replyflex,
	.reactiondiv {
		padding-left: 44px;
	}
	.sticker {
		height: auto;
		max-width: 100%;
	}
	#realbox,
	#logindiv,
	#pasteimg {
		padding-left: 12px;
		padding-right: 12px;
	}
	#replybox {
		margin-left: 12px;
		margin-right: 12px;
	}
	.pinnedMessages {
		box-sizing: border-box;
		left: 8px;
		width: calc(100% - 16px);
	}
	.contextmenu,
	.profile,
	.emojiPicker,
	.stickerPicker,
	.gifmenu {
		top: unset !important;
		bottom: 0 !important;
		right: unset !important;
		width: 100% !important;
		box-sizing: border-box;
		border-radius: 16px 16px 0 0;
		box-shadow:
			0 0 14px var(--shadow),
			0 0 28px var(--shadow);
	}
	.contextmenu hr {
		width: calc(100% - 24px);
	}
	.contextbutton {
		width: 100%;
		padding: 12px;
		.svgicon {
			top: 10px;
			right: 12px;
		}
	}
	.profile {
		height: 65%;
		box-shadow:
			0 0 14px var(--shadow),
			0 0 28px var(--shadow),
			inset 0 132px 64px var(--accent_color);
	}
	.hypoprofile {
		border-radius: 8px;
	}
	#logindiv,
	#invitebody,
	.savediv,
	.nonimagecenter,
	.accountSwitcher {
		width: 94%;
		min-width: unset;
	}
	.Buttons {
		flex-direction: column;
	}
	.settingstitle {
		font-size: 1.2rem;
	}
	.settingbuttons {
		height: 100%;
		width: 100%;
		z-index: 1;
		position: absolute;
	}
	.settingsHTMLArea {
		z-index: 2;
		height: 100%;
		background: var(--primary-bg);
		transition: transform 0.2s;
	}
	.nonimagecenter .settingbuttons {
		height: auto;
	}
	.fixedsearch {
		top: 50% !important;
		left: 50% !important;
		transform: translate(-50%, -50%);
		min-width: 80svw;
	}
	.rolesheader {
		margin: 6px 12px;
	}
	.mobileback {
		width: 20px;
		height: 20px;
		visibility: visible;
		cursor: pointer;
	}
	.mobileHidden {
		transform: translate(100%, 0px);
	}
	.outerTypeBox:not(.noConent) {
		#mobileSend {
			width: 25px;
			margin-left: 4px;
		}
		#buttonCol {
			width: 0px;
		}
	}
}

#mobileSend {
	cursor: pointer;
	height: 25px;
	margin: -3px 0px;
	width: 0px;
	transition:
		width 0.2s,
		margin-left 0.2s;
	margin-left: 0px;
}
#buttonCol {
	overflow: hidden;
	width: 44px;
	transition: width 0.2s;
}
.settingsHTMLArea {
	position: relative;
	display: flex;
	flex-direction: row;
}
.friendcontainer {
	display: flex;
	width: 100%;
	padding: 0.15in;
	overflow-y: auto;
	height: 100%;
	align-items: stretch;
	box-sizing: border-box;
	> div {
		padding: 0.06in 0.1in;
		margin: 0 0;
		border-bottom: solid 1px var(--secondary-bg);
	}
}
.fixedsearch {
	position: absolute;
	background: var(--primary-bg);
	min-height: 0.2in;
	padding: 0.05in;
	border: solid 1px var(--black);
	border-radius: 0.05in;
	z-index: 104;
	span {
		background: #00000042;
		width: 100%;
		margin-top: 4px;
		padding: 6px;
		box-sizing: border-box;
		border-radius: 0.05in;
		cursor: pointer;
	}
}
.suberror {
	animation: goout 6s forwards;
}
.suberrora {
	background: var(--channel-hover);
	border-radius: 0.1in;
	position: absolute;
	border: solid var(--primary-text) 0.02in;
	color: color-mix(in hsl, var(--yellow), var(--red));
	font-weight: bold;
	opacity: 0;
	cursor: default;
	/* height: .4in; */
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: space-evenly;
	padding: 0.075in;
	box-sizing: border-box;
	pointer-events: none;
	z-index: 10000000;
}
@keyframes goout {
	0%,
	100% {
		opacity: 0;
	}
	5%,
	90% {
		opacity: 1;
	}
}
.friendsbutton {
	transition: background-color 0.2s;
	padding: 0.08in;
}
.friendlyButton {
	padding: 0.07in;
	transition: background 0.2s;
	border-radius: 1in;
	border: solid 1px var(--secondary-bg);
	width: 24px;
	height: 24px;
	margin: 0 0.05in;
}
.friendlyButton:hover {
	background: var(--secondary-hover);
}
.stickerOption {
	border: solid 1px var(--black);
	display: flex;
	align-items: center;
	padding: 0.075in;
	margin-bottom: 0.2in;
	border-radius: 0.1in;
	background: var(--primary-hover);
	position: relative;
	margin-right: 15px;
	cursor: pointer;
	img {
		height: 2in;
	}
}
.emojiOption {
	border: solid 1px var(--black);
	display: flex;
	align-items: center;
	padding: 0.075in;
	margin-bottom: 0.2in;
	border-radius: 0.1in;
	background: var(--primary-hover);
	position: relative;
	input {
		width: 2in !important;
		height: 0.3in;
	}
	.bigemoji {
		padding-right: 0.5in;
	}
}
.deleteEmoji {
	width: 0.3in;
	height: 0.3in;
	position: absolute;
	right: 0.2in;
	cursor: pointer;
}

.gifmenu {
	position: absolute;
	width: 4.5in;
	height: 5in;
	background: var(--secondary-bg);
	border-radius: 8px;
}
.gifPreviewBox {
	position: relative;
	width: 2in;
	height: 1in;
	margin-bottom: 10px;
	border-radius: 7px;
	overflow: hidden;
	cursor: pointer;

	img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	span {
		top: 0px;
		left: 0px;
		position: absolute;
		width: 100%;
		height: 100%;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		font-weight: bold;
		color: white;
		background: color-mix(in srgb, black 50%, transparent);
	}
}
.gifbox {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-around;
	overflow-y: auto;
	margin: 0.1in;
	align-items: center;
	position: relative;
	overflow-x: clip;
}
.searchGifBar {
	background: var(--card-bg);
}
.vr-message {
	border-right: 1px solid var(--black) !important;
}
.gifmenu .title {
	display: flex;
	align-items: center;
}
.searchGifBar,
.gifmenu .title {
	height: 0.3in;
	margin: 0.15in 0.15in 0 0.15in;
	flex-shrink: 0;

	border: none;
	border-radius: 4px;
	font-size: 0.2in;
	padding: 0 0.1in;
	span {
		width: 16px;
		height: 16px;
		background: var(--primary-text);
		cursor: pointer;
	}
}
img.error {
	position: relative;
}
img.error::after {
	background: var(--secondary-bg) url("./icons/sad.svg");
	background-size: contain;
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
.dragBottomView {
	position: relative;
}
.dragTopView {
	position: relative;
}
.dragTopView::after {
	content: "";
	width: 100%;
	height: 4px;
	border-radius: 4px;
	background: var(--primary-text-soft);
	top: -1px;
	left: 0px;
	position: absolute;
}
.dragBottomView::after {
	content: "";
	width: 100%;
	height: 4px;
	border-radius: 4px;
	background: var(--primary-text-soft);
	bottom: -3px;
	left: 0px;
	position: absolute;
}
.dragFolderView::before {
	content: "";
	width: 24px;
	height: 24px;
	background: var(--green);
	top: 12px;
	left: -6px;
	border-radius: 100%;
	position: absolute;
	pointer-events: none;
}
.blogDiv {
	background: var(--secondary-bg);
	padding: 10px;
	border-radius: 3px;
	cursor: pointer;
	div {
		width: 100%;
		h2 {
			width: 100%;
			border-bottom: solid var(--primary-text) 1px;
			margin-bottom: 15px;
			padding-bottom: 8px;
		}
	}
}
.gifBox {
	img {
		max-width: 196px;
		border-radius: 4px;
	}
	cursor: pointer;
	position: absolute;
	overflow: hidden;
}
.emojiForm {
	display: flex;
	background: var(--secondary-bg);
	padding: 6px;
	width: fit-content;
	border-radius: 4px;
	align-items: center;
	cursor: pointer;
	:last-child {
		margin-left: 6px;
		max-width: 32px !important;
		max-height: 32px !important;
		flex-shrink: 0;
	}
}
.emptyEmoji {
	background: var(--primary-bg);
	width: 32px;
	height: 32px;
	border-radius: 2in;
}
.stickerMArea {
}
.solidBackground {
	background: var(--secondary-bg);
	opacity: 1;
}
.EmojiGuildMenu {
	position: absolute;
	background: var(--dock-bg);
	padding: 6px;
	border-radius: 6px;
	width: 350px;
	animation-duration: 0.2s;
	animation-name: fade-grow-in;
	animation-timing-function: ease-out;
	z-index: 1;
}
.GuildEmojiTop {
	background: var(--primary-bg);
	padding: 8px;
	border-radius: 6px;
	margin-bottom: 10px;
	img {
		margin-right: 10px;
	}
}
.sourceSticker {
	width: 48px;
	height: 48px;
}
.guildEmojiRow {
	img {
		margin-right: 8px;
		margin-bottom: 0px;
		flex-shrink: 0;
	}
	margin: 4px;
}
.guildEmojiText {
	display: flex;
	justify-content: center;
	word-break: break-all;
}
.guildDesc {
	color: var(--secondary-text-soft);
	font-size: 0.9em;
	max-height: 15em;
	overflow-y: scroll;
}

.optionElement:has(.friendGroupSelect) {
	flex-shrink: 1;
	overflow-y: scroll;
}
.friendGroupSelect {
	> div {
		padding: 6px;
		display: flex;
		align-items: center;
		.pfpDiv {
			margin-right: 12px;
			width: 40px;
			height: 40px;
		}
		input,
		button {
			margin-left: auto;
		}
		input {
			height: 20px;
			width: 20px;
		}
	}
}
.expandButtons {
	.optionElement {
		flex-grow: 1;
		button {
			width: 100%;
			text-align: center;
		}
	}
}
.groupDmDiv {
	position: relative;
	width: 32px;
	height: 32px;
	.pfpDiv {
		background: var(--channels-bg);
		position: absolute;
		width: 16px;
		height: 16px;
		&:nth-child(1) {
			width: 32px;
			height: 32px;
		}
		&:nth-child(2) {
			right: 0px;
			bottom: 0px;
		}
		&:nth-child(3) {
			left: 0px;
			bottom: 0px;
		}
		&:nth-child(4) {
			right: 0px;
			top: 0px;
		}
		&:nth-child(5) {
			left: 0px;
			top: 0px;
		}
	}
}

#sentdms .groupDmDiv {
	background: transparent;
	width: 48px;
	height: 48px;
	.pfpDiv {
		width: 24px;
		height: 24px;
		&:nth-child(1) {
			width: 48px;
			height: 48px;
		}
		margin-bottom: 0px;
	}
}
.guildPreview {
	.banner {
		position: relative !important;
		margin-left: 10px;
		border-radius: 10px;
	}
	.icon {
		flex-shrink: 0;
	}
}
.inviteBG {
	position: absolute;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.8;
}
.threadBox {
	padding: 6px;
	background: #00000063;
	border-radius: 4px;
	margin: 6px;
	min-width: 300px;
	width: fit-content;
	margin-left: 50px;
	margin-top: 10px;
	position: relative;
	::before {
		content: "";
		position: absolute;
		top: -8px;
		left: -32px;
		height: calc(100% - 8px);
		width: 26px;
		border-bottom: 2px solid var(--reply-line);
		border-left: 2px solid var(--reply-line);
		border-bottom-left-radius: 8px;
	}
	.clickable {
		color: var(--link);
		margin-left: auto;
	}
}
.embedImg {
	max-width: 400px;
	max-height: 400px;
	border-radius: 3px;
}
.amsBox {
	position: absolute;
	z-index: 10000;
	padding: 5px;
	background: var(--primary-bg);
	box-shadow: 0px 0px 3px 1px black;
	border-radius: 6px;
	&.removeElm {
		animation-duration: 0.2s;
		animation-name: context-fade-out;
		animation-timing-function: ease-out;
	}
}
