:root {
	--color-logo: #A6FF4D;
	--color-darkstripe: #FF2A00;
	--color-lightstripe: #FF5533;
	--color-background: #701000;
	--color-highlight: gold;

	--color-emphasis: #9AE29A;
}

@font-face {
	font-family: "Gnomon";
	src: url("/assets/fonts/Gnomon/Gnomon-Foreground.ttf");
}

@font-face {
	font-family: "Syne";
	font-weight: 400;
	src: url("/assets/fonts/Syne/syne-latin-400-normal.woff2");
}

@font-face {
	font-family: "Syne";
	font-weight: 500;
	src: url("/assets/fonts/Syne/syne-latin-500-normal.woff2");
}

@font-face {
	font-family: "Syne";
	font-weight: 600;
	src: url("/assets/fonts/Syne/syne-latin-600-normal.woff2");
}

@font-face {
	font-family: "Syne";
	font-weight: 700;
	src: url("/assets/fonts/Syne/syne-latin-700-normal.woff2");
}

@font-face {
	font-family: "Syne";
	font-weight: 800;
	src: url("/assets/fonts/Syne/syne-latin-800-normal.woff2");
}

@keyframes smoothright {
	0% {
		opacity: 0;
		transform: translateX(-10px);
	},
	100% {
		opacity: 100%;
		transform: translateX(0);
	}
}

@keyframes bgright {
	0% {
		background-position-x: -20px;
	},
	100% {
		background-position-x: 0;
	}
}

* {
	font-family: "Syne";
	margin: 0;
}

body {
	background-color: black;
}

header {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;

	color: white;
	background-color: var(--color-darkstripe);

	background-image:
		repeating-linear-gradient(
			-45deg,
			transparent,
			transparent 10em,
			var(--color-lightstripe) 10em,
			var(--color-lightstripe) 20em
		);

	margin-bottom: 0.75em;

	animation-name: bgright;
	animation-duration: 1s;
	animation-timing-function: linear;
	animation-iteration-count: 1;
}

header > .logo {
	object-fit: contain;
	color: var(--color-logo);

	animation: smoothright 0.5s 1;
}

header > .text {
	display: flex;
	flex-direction: column;

	overflow: hidden;
}

header > .text > * {
	font-family: "Gnomon";
	animation: smoothright 2s 1;
}

header > .text > p {
	margin-bottom: 0;
}

nav {
	margin-bottom: 2em;
}

nav span.chevron {
	margin-left: 0.3em;
	margin-right: 0.3em;

	font-weight: bold;
}

nav span.chevron::before {
	content: '>';
}

main {
	color: white;
	background-color: var(--color-background);

	padding: 2.5em 7.5vw;
}

div.linecard {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 3em;

	background-color: rgb(0 0 0 / 50%);
	border-radius: 1em;

	padding: 1em;
}

div.linecard div.title {
	flex: 1;
}

div.linecard div.content {
	display: flex;

	text-align: end;
	justify-content: flex-end;

	flex: 3;
}

details summary {
	list-style: none;
}

details summary h3, details summary h4 {
	transition: 0.3s;
}

details summary h3:hover, details summary h4:hover {
	color: var(--color-emphasis);
	cursor: pointer;
}

details summary h3::before, details summary h4::before {
	content: '➡️';

	font-size: 0.8em;
	margin-right: 0.5em;

	display: inline-block; /* Truco para quitar el subrayado */
}

details[open] summary h3::before, details summary h4::before {
	content: '⬇️';
}

a {
	cursor: pointer;
	color: skyblue;

	font-weight: 600;

	text-decoration-line: underline;
	text-decoration-style: dotted;
	text-decoration-thickness: 0.15em;

	transition: 0.15s;
}

a:hover {
	color: slateblue;
}

a:active {
	color: var(--color-highlight);
}

a.button {
	cursor: pointer;

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

	background-color: var(--color-darkstripe);
	color: white;

	position: relative;
	top: 0;
	left: 0.4em;

	box-shadow: -0.4em 0.4em black;

	font-size: 1em;

	padding: 0.75em 1em;

	border: none;
	border-radius: 50vh;

	transition: 0.3s;

	text-decoration: none;
}

a.button:hover {
	background-color: var(--color-background);
	color: var(--color-highlight);

	top: 0.2em;
	left: 0.2em;
	box-shadow: -0.2em 0.2em black;
}

a.button:active {
	background-color: var(--color-highlight);
	color: black;
}

h1, h2, h3, h4 {
	margin-bottom: 0.5em;
}

h1 {
	margin-bottom: -0.2em;
	color: var(--color-highlight);

	font-size: 2.75em;
	font-weight: 800;
}

h2, h3 {
	text-decoration-line: underline;
	text-decoration-color: var(--color-highlight);
}

h2 {
	font-size: 2.5em;
	font-weight: 900;

	text-decoration-thickness: 0.2em;
}

h3 {
	font-size: 1.75em;
}

h4 {
	font-size: 1.5em;
}

p, ul, ol, div.linecard {
	font-size: 1.3em;
	margin-bottom: 1.25em;
	line-height: 1.4em;
}

p {
	text-align: justify;
}

p + h2, ul + h2, ol + h2 {
	margin-top: 1.5em;
}

ul > li, ol > li {
	margin-bottom: 0.75em;
}

blockquote.update {
	margin-bottom: 2em;
}

span.small {
	color: rgb(255 255 255 / 80%);
	font-size: 0.8em;
}

pre, code, samp {
	font-family: monospace, monospace;
	font-size: 0.9em;
}

samp {
	background-color: rgb(0 0 0 / 50%);

	padding: 0 0.3em;
	border-radius: 0.3em;
}

strong {
	color: var(--color-emphasis);
}

.flex {
	display: flex;
}

.flex.row {
	flex-direction: row;
}

.flex.col {
	flex-direction: column;
}

.flex.centered-inline {
	justify-content: center;
}

.flex.centered-block {
	align-items: center;
}

.flex.spaced {
	gap: 1em;
}

.info {
	text-decoration: unset;
	font-weight: unset;
	color: unset;

	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 1em;

	background-color: rgb(50 80 185 / 50%);
	padding: 1.5em;
	border-radius: 1em;

	margin-bottom: 1.5em;

	box-shadow: 0 0 20px rgb(0 0 0 / 50%);

	transition: 0.4s;
}

.info:hover {
	color: unset;
	background-color: rgb(25 50 105 / 50%);

	transform: translateX(0.5em);
	box-shadow:
		0 0 20px rgb(0 0 0 / 75%),
		-0.5em 0px black;
}

.info.minecraft {
	background-color: rgb(50 185 80 / 50%);
}

.info.minecraft:hover {
	background-color: rgb(25 125 35 / 50%);
}

.info.minecraft:active {
	color: black;
	background-color: gold;
}

.info > div.text {
	display: flex;
	flex-direction: column;
}

.info > div.text p {
	text-align: left;
}

.info > div.text span.title {
	font-weight: bold;
	font-size: 1.5em;
	vertical-align: middle;

	text-decoration: var(--color-highlight) dotted underline;

	margin-bottom: 0.65em;
}

.info > div.text *:last-child {
	margin-bottom: 0;
}

.nocolor {
	color: unset;
}

.icon {
	width: 1.25em;
	height: 1.25em;
}

.icon.doublesize {
	width: 2.5em;
	height: 2.5em;
}

.sticker {
	transition: 0.3s;
}

.sticker:hover {
	scale: 2;
}

/* Responsive CSS block */
@media (min-width:0px) {
	/* Theoretically possible. Not really used on any device. */
	header, footer {
		padding: 0.5em 1.25em;
	}

	header > .text {
		display: none;
	}

	header > .logo {
		height: 2em;
		filter: drop-shadow(-3px 0px black);

		margin-right: 0;
	}

	.nophone {
		display: none;
	}
}

@media (min-width:320px) {
	/* Smartphones, iPhone, portrait 480x320 phones */
	h1 {
		font-size: 3em;
	}

	header, footer {
		padding: 0.5em 1.25em;
	}

	header > .text {
		display: unset;
	}

	header > .text > * {
		text-shadow: -3px 0 black;
	}

	header > .logo {
		margin-right: 0.65em;
	}
}

@media (min-width:481px) {
	/* Portrait e-readers (Nook/Kindle), smaller tablets @ 600 or @ 640 wide. */
	h1 {
		font-size: 4em;
	}

	header, footer {
		padding: 1em 1.5em;
	}

	header > .text > * {
		text-shadow: -4px 0 black;
	}

	header > .logo {
		height: 2.8em;
		margin-right: 1.2em;
		filter: drop-shadow(-4px 0px black);
	}
}

@media (min-width:641px) {
	/* Portrait tablets, portrait iPad, landscape e-readers, landscape 800x480 or 854x480 phones */
	h1 {
		font-size: 5em;
	}

	header, footer {
		padding: 1em 2em;
	}

	header > .text > * {
		text-shadow: -5px 0 black;
	}

	header > .text > p {
		font-size: 1.8em;
	}

	header > .logo {
		height: 3.5em;
		margin-right: 1.5em;
		filter: drop-shadow(-5px 0px black);
	}
}

@media (min-width:961px) {
	/* Tablet, landscape iPad, lo-res laptops ands desktops */
	header, footer {
		padding: 1em 2.5em;
	}

	header > .logo {
		height: 3.75em;
		margin-right: 1.8em;
	}

	main {
		padding-left: 6.4em;
		padding-right: 6.4em;
	}
}

@media (min-width:1025px) {
	/* Big landscape tablets, laptops, and desktops */
	header, footer {
		padding: 1em 3em;
	}

	header > .logo {
		height: 4.5em;
		margin-right: 2em;
	}

	.nophone {
		display: unset;
	}
}

@media (min-width:1281px) {
	/* Hi-res laptops and desktops */
	header, footer {
		padding: 1.25em 4em;
	}

	header > .logo {
		height: 4.5em;
		margin-right: 2.2em;
	}
}