@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap);

::-webkit-scrollbar {
    display: none;
}

#blob,
#blobbig {
	box-shadow: 0 0 150px 100px var(--accent-color);
	left: 47vw;
	top: 100vh;
	filter: blur(50px) contrast(1.1)
}

#blobtop,
.sidebar a.navigation svg {
	width: 20px
}

#blob,
#blobbig,
#blobtop {
	filter: blur(50px) contrast(1.1)
}

*,
body {
	padding: 0
}

.no-results,
.title {
	color: var(--text-color);
	text-align: center
}

#page-title {
	color: var(--text-color);
	margin-right: auto
}

&::-webkit-scrollbar {
	display: none
}

body {
	font-family: Inter, Arial;
	display: flex;
	background-color: var(--background-color);
	background-attachment: fixed;
	background-position: center;
	background-size: cover;
	overflow-x: hidden;
	align-items: center
}

@media (prefers-color-scheme:dark) {
	:root {
		--background: #1e1e1e;
		--background-color: #1e1e1e;
		--main: rgba(100, 100, 100, 0.15);
		--dark: rgba(10, 10, 10, 0.3);
		--sub: rgba(266, 266, 266, 0.05);
		--border: rgb(255, 255, 255, 0.1);
		--overlay: rgba(0, 0, 0, 0.4);
		--hover: rgba(255, 255, 255, 0.1);
		--shadow: rgba(0, 0, 0, 0.15);
		--text-color: white;
		--border-thickness: 1.5px;
		--pressed: rgba(255, 255, 255, 0.4)
	}

	body {
		background-color: #1e1e1e !important
	}
}

@media (prefers-color-scheme:light) {
	:root {
		--background: #e1e1e1;
		--background-color: #e1e1e1;
		--main: rgba(255, 255, 255, .4);
		--sub: rgba(255, 255, 255, .4);
		--border: rgb(0, 0, 0, 0.075);
		--overlay: rgba(0, 0, 0, 0.1);
		--hover: rgba(0, 0, 0, 0.1);
		--shadow: rgba(0, 0, 0, 0.15);
		--text-color: rgb(0, 0, 0);
		--border-thickness: 1px;
		--pressed: rgba(255, 255, 255, 0.6)
	}
}

html {
	height: 100% !important
}

#sidebar-container {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 8px;
	gap: 8px;
	position: fixed;
	z-index: 2;
	left: 0;
	height: 100%;
	top: 0
}

#bar-container,
#topbar-container {
	flex-direction: row;
	z-index: 1;
	width: 100%;
	gap: 8px
}

.no-results {
	padding: 16px;
	width: 1050px
}

.sidebar,
.topbar {
	z-index: 2;
	gap: 4px;
	padding: 4px;
	border-radius: 24px;
	outline: var(--border-thickness) solid var(--border);
	transition: scale .3s cubic-bezier(.2, 1, .4, 1), background-color .3s cubic-bezier(.2, 1, .4, 1);
	display: flex;
	box-shadow: inset 0 0 0 .5px rgba(255, 255, 255, .2), 0 8px 32px transparent
}

#topbar-container {
	display: flex;
	justify-content: center;
	padding: 8px;
	position: fixed;
	top: 56px;
	right: 0
}

#bar-container {
	display: flex;
	justify-content: flex-start
}

#bottombar-container {
	display: flex;
	flex-direction: row;
	justify-content: flex-end;
	padding: 26px;
	gap: 8px;
	position: fixed;
	z-index: 1;
	bottom: 0;
	width: 100%;
	right: 0
}

.sidebar {
	background-color: var(--main);
	color: var(--text-color);
	height: auto;
	flex-direction: column;
	align-items: center;
	width: 48px;
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px)
}

#expanded {
	width: auto
}

#expanded a {
	display: flex;
	justify-content: flex-start
}

.sidebar .navigation-main {
	display: flex;
	flex-direction: column;
	gap: 4px
}

.sidebar a.action img,
.sidebar a.navigation img {
	width: 20px;
	height: 20px;
	object-fit: contain
}

.topbar {
	align-items: center;
	background: var(--main);
	height: 48px;
	backdrop-filter: saturate(1.2) blur(20px);
	-webkit-backdrop-filter: blur(20px)
}

input.action,
textarea.action {
	flex: 1;
	padding: 12px;
	border: none;
	outline: 0;
	border-radius: 30px;
	resize: none;
	font-size: .9rem;
	height: 40px;
	background-color: transparent;
	color: var(--text-color);
	min-width: 0
}

input.action:focus,
textarea.action:focus {
	outline: 0;
	border-color: var(--accent-color)
}

.sidebar a.navigation,
.topbar a.navigation {
	color: var(--text-color);
	text-decoration: none;
	padding: 10px;
	font-size: 18px;
	border-radius: 20px;
	justify-content: center;
	align-items: center;
	display: flex;
	height: 40px;
	width: 100%;
	min-width: 40px;
	transition: scale .3s cubic-bezier(.2, 1, .4, 1), background-color .3s cubic-bezier(.2, 1, .4, 1)
}

.topbar a.action svg,
.topbar a.navigation svg {
	margin: 0;
	object-fit: contain
}

#main-header {
	width: 100%;
	max-width: 1600px;
	text-align: left;
	font-size: 48px;
	margin: 20px 50px;
	color: var(--text-color)
}

span {
	padding: 12px;
	color: var(--text-color)
}

.sidebar a.navigation:hover,
.topbar a.navigation:hover {
	background: var(--hover)
}

.sidebar a.navigation:active,
.topbar a.navigation:active {
	scale: 1.1;
	background-color: var(--pressed)
}

#bottombar-container.chat,
#topbar-container.chat {
	width: calc(100% - 236px)
}

.sidebar .logo-title,
.topbar .logo-title {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 40px;
	margin: 0;
	gap: 5px;
	min-width: 40px
}

.sidebar .logo-title img,
.topbar .logo-title img {
	width: 30px;
	height: 30px
}

#logo.topbar,
#main-logo.topbar,
#title.topbar {
	flex-direction: row;
	top: 20px;
	bottom: auto;
	transform: translateY(0);
	gap: 8px;
	border: none;
	outline: 0;
	width: auto;
	background-color: transparent;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
	box-shadow: none
}

#exit {
	top: auto;
	bottom: 20px;
	transform: translateY(0);
	border: none;
	outline: 0
}

#blob,
#blobsmall,
#blobtop {
	border-radius: 50%;
	background-image: radial-gradient(farthest-corner at 50% 50%, #fff, var(--color3));
	background-blend-mode: multiply;
	transform: translate(-50%, -50%);
	--blob-opacity: 1;
	position: fixed
}

a.logo-title.secondary {
	display: none;
	text-decoration: none;
	color: var(--text-color)
}

#blobbig {
	border-radius: 100%;
	height: 45vh;
	width: 75vw;
	opacity: .15;
	background-image: radial-gradient(farthest-corner at 50% 50%, #fff, var(--color4));
	background-blend-mode: multiply;
	position: fixed;
	transform: translate(-50%, -35%);
	--blob-opacity: 0.15
}

#blob,
#blobbig,
#blobsmall,
#blobtop {
	opacity: 0;
	animation: 3s cubic-bezier(.22, 1, .36, 1) forwards blobFadeInUp
}

#blobbig {
	animation-delay: 0s
}

#blob {
	height: 290px;
	width: 290px;
	animation-delay: .2s
}

#blobsmall {
	box-shadow: 0 0 150px 50px var(--color4);
	height: 50px;
	width: 340px;
	filter: blur(50px) contrast(1.2);
	left: 60vw;
	top: 100vh;
	animation-delay: .6s
}

#blobtop {
	box-shadow: 0 0 1px 20px var(--color4);
	height: 230px;
	rotate: -20deg;
	left: 41.6vw;
	top: calc(89vh - 200px);
	animation-delay: .1s
}

.divider {
	width: 100%;
	height: 1px;
	margin: 0;
	background-color: var(--border);
	border: none;
	outline: 0
}

#active {
	color: #fff;
	background: var(--accent-color);
	border: var(--border-thickness) solid var(--border)
}

#tab.topbar.element,
#tab.topbar.element.active,
.tab-bar-item.topbar.element,
.tab-bar-item.topbar.element.active {
	width: 300px;
	z-index: 2;
	align-items: center;
	border-radius: 24px;
	transition: scale .3s cubic-bezier(.2, 1, .4, 1), background-color .3s cubic-bezier(.2, 1, .4, 1);
	gap: 4px;
	display: flex;
	height: 48px;
	padding: 8px
}

@keyframes blobFadeInUp {
	0% {
		opacity: 0;
		transform: translate(-50%, 30%)
	}

	100% {
		opacity: var(--blob-opacity, 1);
		transform: translate(-50%, -50%) scale(1)
	}
}

#tab.topbar.element,
.tab-bar-item.topbar.element {
	background: 0 0;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
	outline: 0;
	box-shadow: none
}

#tab.topbar.element span,
.tab-bar-item.topbar.element span {
	opacity: .6
}

#tab.topbar.element.active span,
.tab-bar-item.topbar.element.active span {
	opacity: 1
}

#tab.topbar.element.active,
.tab-bar-item.topbar.element.active {
	background: var(--main);
	backdrop-filter: saturate(1.2) blur(20px);
	-webkit-backdrop-filter: blur(20px);
	outline: var(--border-thickness) solid var(--border);
	box-shadow: inset 0 0 0 .5px rgba(255, 255, 255, .2), 0 8px 32px transparent
}

.tab-bar-item.topbar.element {
	cursor: grab;
	touch-action: none
}

.tab-bar-item.topbar.element.tab-drag-source {
	opacity: 0 !important;
	pointer-events: none
}

.tab-drag-ghost {
	position: fixed;
	z-index: 10000;
	pointer-events: none;
	margin: 0;
	opacity: 1;
	transform: scale(1.05);
	box-shadow: inset 0 0 0 .5px rgba(255, 255, 255, .2), 0 14px 44px rgba(0, 0, 0, .24);
	transition: none;
	will-change: left, transform
}

.sidebar a.action,
.sidebar a.action svg,
.tile,
.topbar a.action,
.topbar a.action svg {
	transition: scale .3s cubic-bezier(.2, 1, .4, 1), background-color .3s cubic-bezier(.2, 1, .4, 1)
}

#tab-container.tab-drag-active {
	user-select: none;
	cursor: grabbing
}

#tab-container.tab-drag-active .tab-bar-item:not(.tab-drag-source) {
	cursor: grabbing
}

#tab-container.tab-drag-active .tab-bar-item.tab-drag-animating {
	will-change: transform
}

.tab-bar-item .close-tab {
	cursor: pointer
}

.topbar a.element {
	display: flex;
	min-width: 40px;
	gap: 4px;
	color: var(--text-color);
	text-decoration: none;
	padding: 4px;
	align-items: center
}

.sidebar a.action,
.topbar a.action {
	color: var(--text-color);
	text-decoration: none;
	padding: 10px;
	font-size: 18px;
	border-radius: 50px;
	margin-left: auto;
	justify-content: center;
	align-items: center;
	display: flex;
	gap: 8px;
	height: 40px;
	min-width: 40px
}

.sidebar a.action span,
.topbar a.action span,
div#topbar-container:not(.settings) {
	display: none
}

.bottombar.action:active,
.sidebar.action:active,
.topbar.action:active {
	scale: 1.05;
	background-color: var(--pressed)
}

.bottombar.action#search:hover,
.sidebar.action#searchHover,
.topbar.action#search:hover {
	scale: 1.0
}

.bottombar button.action:active,
.sidebar a.action:active,
.topbar a.action:active {
	scale: 1.1
}

div a.navigation:active {
	border: none;
	outline: 0;
	background-color: transparent
}

@media (max-width:500px) {

	#bottombar-container,
	#outer-square,
	#topbar-container {
		width: 100% !important
	}

	input.action,
	textarea.action {
		padding: 12px 4px;
		min-width: 0
	}

	#escape,
	#main-logo {
		display: none
	}

	#menu.topbar.action:has(a[href="/index.html"]) {
		display: none !important
	}

	a#fullscreen.action {
		display: none !important
	}

	iframe {
		position: fixed;
		top: 64px;
		right: 0;
		width: 100%;
		height: calc(100% - 64px);
		border: none;
		outline: 0;
		z-index: 0
	}

	#outer-square {
		height: 100% !important;
		max-height: 100% !important;
		outline: 0 !important;
		border-radius: 0 !important
	}

	div#topbar-container.chat {
		display: flex !important;
		justify-content: space-between !important
	}

	body {
		margin: 72px 16px;
		padding: 0
	}

	#bottombar-container,
	#sidebar-container.main {
		display: flex;
		flex-direction: row;
		justify-content: center;
		gap: 8px;
		position: fixed;
		z-index: 1;
		width: 100%;
		right: 0;
		top: auto;
		bottom: 0;
		height: auto;
		padding: 26px
	}

	#bottombar-container,
	#bottombar-container.chat {
		width: 100%
	}

	.sidebar#main {
		z-index: 2;
		display: flex;
		align-items: center;
		gap: 4px;
		padding: 4px;
		max-width: 1440px;
		width: fit-content;
		background: var(--main);
		border-radius: 32px;
		height: 48px;
		transition: scale .3s cubic-bezier(.2, 1, .4, 1), background-color .3s cubic-bezier(.2, 1, .4, 1);
		backdrop-filter: blur(20px);
		-webkit-backdrop-filter: blur(20px);
		outline: var(--border-thickness) solid var(--border);
		flex-direction: row
	}
}

* {
	margin: 0;
	box-sizing: border-box
}

@keyframes tileScale {
	from {
		scale: 0
	}

	to {
		scale: 1
	}
}

body {
	display: flex;
	justify-content: center;
	flex-direction: column;
	gap: 25px;
	--body-margin: 195px;
	margin: 0 16px;
	min-height: 100%
}

.outer-square {
	position: relative;
	display: grid;
	gap: 150px;
	max-width: 1600px;
	grid-template-columns: repeat(auto-fit, minmax(90px, 1fr))
}

.tile,
.title {
	display: flex
}

.section-header {
	color: var(--text-color);
	width: 100%;
	height: 48px;
	padding: 8px
}

.tile {
	gap: 8px;
	flex-direction: column;
	width: 90px;
	animation: .4s cubic-bezier(.2, 1, .4, 1) tileScale;
	animation-fill-mode: both
}

.grid-container {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 75px;
	min-height: 100%;
	max-height: 100vh;
	overflow: scroll;
	padding: 75px 50px;
	min-width: 1150px
}

.inner-square {
	background-color: var(--main);
	border-radius: 24px;
	width: 90px;
	height: 90px;
	background-position: center center;
	background-size: 140%;
	outline: var(--border-thickness) solid var(--border);
	transition: .1s ease-out;
	backdrop-filter: blur(5px);
	-webkit-backdrop-filter: blur(5px);
	box-shadow: inset 0 0 0 .5px rgba(255, 255, 255, .2), 0 8px 32px transparent
}

.inner-square:focus,
.inner-square:hover {
	border: 5px solid #fff
}

#topbar-container.settings {
	top: 0 !important
}

.title {
	align-items: center;
	justify-content: center;
	font-size: 14px;
	padding: 8px
}

@media (max-width:1080px) {
	#expanded.sidebar.navigation span {
		display: none
	}

	#expanded a {
		justify-content: center
	}

	.content {
		margin-left: 64px
	}

	#topbar-container.settings {
		width: calc(100% - 64px) !important
	}
}