@font-face {
	font-family: "Cantarell";
	font-display: block;
	font-weight: 100 800;
	src: local("Cantarell"), url("../fonts/cantarell.woff2") format("woff2-variations");
}

:root {
	--color: #ecedf7;
	--bg: #05050c;
	--primary: #9b66f9;
	--primary-hover: color-mix(in srgb, #fff 15%, var(--primary));
	--primary-active: color-mix(in srgb, #fff 30%, var(--primary));
	--secondary: color-mix(in srgb, #0000 60%, var(--secondary-muted));
	--accent: color-mix(in srgb, #fff0 70%, var(--primary));
	--muted: color-mix(in srgb, #fff0 80%, var(--primary));
	--muted-2: color-mix(in srgb, #fff0 60%, var(--primary));
	--muted-3: color-mix(in srgb, var(--color) 50%, var(--primary));
	--secondary-muted: color-mix(in srgb, var(--bg) 60%, var(--primary));
	--radius: 3px;
	--btn-hover-bg: color-mix(in srgb, var(--accent) 80%, #000);
	--third: color-mix(in srgb, #0000 90%, var(--primary));
}
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	line-height: 1.5;
}
:target {
	animation: targetHighlight 2.5s forwards;
	outline: 1px solid transparent;
	outline-width: medium;
}
@keyframes targetHighlight {
	0% {
		outline-color: var(--primary); 
	}
	100% {
		outline-color: transparent;
	}
}
h1, h2, h3, h4, h5, h6 {
	margin: 0.7em 0;
	text-shadow: 0px 0px 30px var(--muted-2);
}
html {
	scroll-behavior: smooth;
	scrollbar-color: var(--primary) var(--bg);
}
p:not(.mono), li {
	color: var(--color);
	font-size: 14px;
}
.mono {
	font-family: monospace;
	font-weight: bold;
	position: relative;
	margin: auto;width: 80%;
}
@keyframes blink {
	50% {
		opacity: 0.0;
	}
}
.square {
	background: var(--color);
	animation: blink 1.5s step-start 0s infinite;
}
ul {
	padding-left: 30px;
}
a {
	color: var(--primary);
	text-underline-offset: 2px;
}
a:not(:hover, .btn:hover) {
	transition: .2s;
}
a:not(.btn, nav a):hover {
	color: var(--primary-active);
}
a.muted-link {
    color: var(--muted-3);
    text-decoration: none;
    font-size: 12px;
}
/*img {
	border-radius: 2px;
}*/
footer, footer p {
	text-align: center;
}
footer {
	display: flex;
	justify-content: space-between;
	background: var(--bg);
	align-items: center;
	padding: 0 0.7em;
}
footer .links {
	gap: 8px;
	align-items: center;
	display: flex;
}
footer .links a:first-child {
	
}
img {
	image-rendering: auto;
}
body {
/*	background: linear-gradient(135deg, rgba(0,0,0,1) 0%, rgba(144,53,255,1) 255%);*/
	background: url('/st/img/bg.png');
	color: var(--color);
	margin: 0;
    background-size: cover;
    background-repeat: no-repeat;
    font-family: "Cantarell", sans-serif;
    background-color: var(--bg);
}
nav {
	display: flex;
	align-items: center;
	top: 0;
	justify-content: space-around;
	padding: .7em 0;
}
nav a, .nav-link, footer .links a {
	color: var(--color);
	text-decoration: none;
	font-size: 0.9em;
}
nav .btn {
	margin: 0;
}
a.logo {
	flex-direction: column;
}
a.logo span {
    font-weight: normal;
    color: var(--muted-3);
    text-shadow: 0 0 10px var(--primary);
}
.logo::after, .logo::before {
	content: '';
}
.menu {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .5em;
}
.window {
	padding: 1em;
	margin: 1em auto;
	width: 80%;
	background: var(--third);
	border-radius: var(--radius);
}
.window h2 {
	margin-top: 0;
}
.iclinks {
	list-style: none;
	display: inline-flex;
	gap: 8px;
	padding: 0;
	flex-wrap: wrap;
}
.iclinks li {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}
.iclinks li img {
	height: 16px;
}
.desktop.menu {
	display: flex;
}
.mobile {
	display: none;
}
button, .btn {
	background: var(--secondary);
	color: var(--color);
	font-weight: 500;
	font-size: 14px;
	padding: .3em .7em;
	border-radius: var(--radius);
	margin: 1em 0;
	text-decoration: none;
	transition: .2s;
	display: block;
	max-width: fit-content;
}
button:hover, .btn:hover {
	background: var(--btn-hover-bg);
}
button:active, .btn:active {
	background: var(--accent);
	border-color: var(--primary);
}
.primary {
	background: var(--primary);
	color: var(--bg);
}
.primary:hover {
	background: var(--primary-hover);
}
.primary:active {
	background: var(--primary-active);
}
.buttons a, .buttons img {
	width: 88px;
	height: 31px;
	display: inline-block;
}
.buttons {
	display: flex;
	align-items: center;
	gap: .5em;
	flex-wrap: wrap;
}
.dropdown {
	position: absolute;
	display: none;
	opacity: 0;
	transition: opacity 0.2s;
	top: 40px;
	background: var(--bg);
	border-bottom: 1px solid var(--muted);
	width: 100%;
}
.dropdown a {
	font-weight: normal;
}

nav .links {
	display: flex;
}
a:hover + .dropdown, .dropdown:hover {
	opacity: 1;
	display: flex;
}

.drop-menu menuitem {
	position: relative;
	display: block;
	opacity: 0;
}

.drop-menu menuitem > menu {
	position: absolute;
	pointer-events: none;
	z-index: 2;
	right: 0;
	min-width: 144px;
}
menuitem > menu {
	padding: 5px 0;
}
.drop-menu > menu {
	display: flex;
}

.drop-menu > menu > menuitem, menu[open] {
	pointer-events: all;
	opacity: 1;
}
.drop-open:hover {
	cursor: default;
}

menu menuitem a:not(.drop-open) {
	display: flex;
	gap: .6em;
	padding: 0.35em 0.8em;
	font-size: 14px;
	font-weight: normal !important;
}
menu menuitem a::before, menu menuitem a::after {
	content: '';
}

menuitem:hover > menu, menu[open] {
	pointer-events:initial;
	background: var(--bg);
	border-radius: var(--radius);
	border-bottom: 1px solid var(--muted);
}
menu menuitem a:not(.drop-open):hover {
	color: var(--primary);
}
menu menuitem a:not(.drop-open):hover {
	background: color-mix(in srgb, var(--primary) 12%, #fff0);
}
menuitem:hover > menu > menuitem,
menu:hover > menuitem {
	opacity: 1;
}

@media screen and (max-width: 800px) {
	.desktop {
		display: none !important;
	}
	.mobile {
		display: flex;
	}
	.menu {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: .2em;
	}
	.dropdown {
		flex-direction: column;
	}
	.links {
		justify-content: center;
		flex-wrap: wrap;
	}
	a, .btn {
		cursor: default;
	}
	.window, .mono {
		width: 95%;
	}
	nav {
		flex-direction: column;
	}
	.logo img {
		margin: auto;
	}
	footer {
		flex-direction: column;
		padding-bottom: 0.95em;
	}
}