
:root {
	--col-main: hsl(40 75% 93%);
	--col-main-a075: hsl(40 67% 92% / 0.8);
	--col-background: #1a1a1ee8;
	--col-background-a075: #1a1a1eae;
	
	--underline-thickness: 0.1em;
	--underline-offset: 0.3em;

	--corner-radius: 0.5em;
	--corner-radius-big: 0.67em;

	--color-anemo: hsl(170, 60%, 60%);
	--color-geo: hsl(43, 78%, 60%);
	--color-electro: hsl(286, 80%, 70%);
	--color-dendro: hsl(85, 60%, 55%);
	--color-hydro: hsl(213, 93%, 63%);
	--color-pyro: hsl(6, 80%, 65%);
	--color-cryo: hsl(204, 60%, 75%);
	--color-physical: hsl(0, 0%, 75%);
	--color-loomie: hsl(45, 100%, 75%);
}

@font-face {
	font-family: "GenshinFont";
	src: url("Genshin_Impact_Font.woff") format('woff');
}

html {
	--font-size-const: 0.6;
	font-family: GenshinFont, Cambria, Cochin, Georgia, Times, 'Times New Roman', serif;

	text-shadow: 0 0 1em black;

	background-color: #203030;

	background-image: url('/notes/mods/genshin/bkg/bkg1.webp');
	background-repeat: no-repeat;
	background-position: center center;
	background-attachment: fixed;
	background-size: cover;
}

@media (orientation: portrait) {
	.bkg-1 { background-position-x: 67%; }
	.bkg-2 { background-position-x: 51%; }
	.bkg-3 { background-position-x: 55%; }
	.bkg-4 { background-position-x: 20%; }
	.bkg-5 { background-position-x: 25%; }
	.bkg-6 { background-position-x: 55%; }
	.bkg-7 { background-position-x: 58%; }
	.bkg-8 { background-position-x: 75%; }
	.bkg-9 { background-position-x: 55%; }
}

/* ---====== SIZE FIXES ======--- */

main {
	margin-top: 2em;
	padding: 1.67em;
}
@media (orientation: portrait) {
	main {
		margin: 1em;
	}
}

h1 {
	margin-block-start: 1em;
	margin-block-end: 0.5em;
}
h1:first-of-type {
	margin-block-start: 0.5em;
}

h2,
h3 {
	margin-block-start: 1.33em;
	margin-block-end: 0.5em;
}

h1,
h2,
h3,
th,
b {
	letter-spacing: initial;
}

p {
	line-height: 1.6;
}

p,
ul,
ol,
summary {
	margin-block-start: 1em;
	margin-block-end: 1em;
}

ul,
ol {
	padding-inline-start: 3em;
}

li {
	padding: 0.5em 0;
}

hr {
	margin: 1em 0;
}

.emoji {
	font-size: 100%;
}

.font-dotgothic,
[lang="ja"] {
	font-size: 100%;
}

.font-pubpixel {
	font-size: 90%;
}

.img-container {
	--size: 20em;
}

.nsfw {
	filter: blur(1em);
}

table {
	margin: 2em 0;
}
th, td {
	padding: 1em;
}

.tooltiptext {
	--width: 20em;
	
	padding: 0.4em 0;
}
.tooltiptext::after {
	margin-left: -0.5em;
	border-width: 0.5em;
}
@media (orientation: portrait) {
	.tooltiptext {
		--width: 12em;
	}
}

.info-panel {
	padding: 2em;
}

a.out::before,
a.contact-card .card-label::before {
	font-size: 67%;
}

.copy-button::before,
.copy-button .card-label::before {
	font-size: 67%;
}

.copied::after {
	font-size: 67%;
}

.navbar-icon {
	height: 2.5em;

	padding: 0.4em;
	margin: 0.4em;
}
@media (orientation: portrait) {
	.navbar-icon {
		height: 3.33em;
	}
}

.nav-item a {
	padding: 0.67em 0.5em;
}
.has-dropdown::before {
	padding: 0 0.4em;
}

.dropdown {
	margin-top: 0.67em;
	padding: 0.2em;
}

.dropdown-item {
	margin: 0.4em;
}
.dropdown-item a {
	padding: 0.4em 1em;
}

@media (orientation: portrait) {
	.navbar-barr {
		font-size: 90%;
	}
}

.toggles-container {
	font-size: 90%;
}

.toggle {
	margin: 0.5em;
}

.toggle-label {
	margin: 0.5em;
}

.switch {
	width: 4.6em;
	height: 2.2em;
}

.slider::before {
	height: 1.8em;
	width: 1.8em;
	left: 0.2em;
	bottom: 0.2em;
}
input:checked + .slider::before {
	transform: translateX(2.4em);
}

footer {
	margin: 0.5em;
}

footer div {
	margin: 0.5em;
}

.tag-button {

	margin: 0.5em;
	padding: 0.5em 1em;

	&::after {
			font-size: 80%;
		}

	&.include {
		box-shadow: 0 0 0.5em var(--col-main);

		&:hover {
			box-shadow: 0 0 0.5em var(--col-highlight);
		}

		&::after {
			font-size: 80%;
		}
	}

	&.exclude {

		&::after {
			font-size: 80%;
		}
	}
}

.rat-1,
.rat-2,
.rat-3,
.rat-4 {
	text-shadow: 0 0 1em var(--rating-color);
}

/* ---====== GENSHIN PAGES-SPECIFIC ======--- */

html::before,
html::after,
body::before {
	background: none;
}

main,
#header-include,
#footer-include {
	transition: var(--transition-speed-medium);
}

.hide-content {
	position: fixed;
	font-size: 2em;
	bottom: 0.5em;
	left: 0.5em;
	filter: grayscale(1);
	user-select: none;

	transition: var(--transition-speed-medium);

	&:hover {
		cursor: zoom-in;
		opacity: 0.25;
	}
}
.hide-content:hover ~ main,
.hide-content:hover ~ #header-include,
.hide-content:hover ~ #footer-include {
	opacity: 0;
}

/* Mod entries */

.mods-list {
	--item-size: 24em; 

	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(var(--item-size), 1fr));
	gap: 1.5em;
	justify-items: center;
}

.post {
	display: flex;
	flex-direction: column;
	width: 100%;
	max-width: calc(var(--item-size) * 2);
	border-style: solid;

	.body {
		text-align: center;

		width: 100%;

		padding: 1em;
		padding-top: 2em;
		margin: 1em;
		margin-bottom: 0;
		border-top: 1px dotted var(--col-main-a075);
	}
}

div.post::before {
	content: unset;
}

.mod-img {
	--img-size: 24em;
	width: var(--img-size);
	height: var(--img-size);
}
.mod-img div {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
	align-items: center;
	justify-items: center;
	height: 100%;
}
.mod-img img {
	object-fit: contain;
	max-height: var(--img-size);
	max-width: 100%;
}

.commentary img {
	object-fit: contain;
	max-height: 100%;
	max-width: 100%;
}

.mod-img img,
.commentary img {
	transition: var(--transition-speed-medium);

	&:hover {
		cursor: zoom-in;
		position: relative;
		z-index: 100;
		transform: scale(1.5);
	}
}
@media (orientation: portrait) {
	.mod-img img,
	.commentary img {
		&:hover {
			transform: scale(1.25);
		}
	}
}

.commentary,
.folder {
	font-size: 0.8rem;
}

.commentary a {
	display: inline;
}

.folder {
	opacity: 0.75;
}
.folder::before {
	content: '📂: ';
}

.mods-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 1em;

	a {
		padding: 0.67em;
		text-decoration: none;
		background-color: var(--col-highlight-dark);
		border: 1px solid var(--color);
		border-radius: var(--corner-radius);

		&:hover {
			transform: scale(1.067);
		}
	}

	a.active {
		border-width: 2px;
		box-shadow: 0 0 1em var(--color);
	}
}

/* Icons */

.element::before,
.weapon::before {
	display: inline-flex;
	content: '';
	margin-right: 0.33em;
	width: 1em;
	height: 1em;
	
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;

	filter: drop-shadow(0 0 0.25em white);

	transform: translateY(0.125em);
}
.element,
.weapon {
	--color: white;
	border-color: var(--color) !important;
}

a.element,
a.weapon {
	color: var(--color);

	&:hover {
		filter: brightness(1.33);
	}
}

.anemo {
	--color: var(--color-anemo);

	&::before {
		background-image: url('/notes/mods/genshin/icons/elements/Element_Anemo.svg');
	}
}

.cryo {
	--color: var(--color-cryo);
	
	&::before {
		background-image: url('/notes/mods/genshin/icons/elements/Element_Cryo.svg');
	}
}

.dendro {
	--color: var(--color-dendro);
	
	&::before {
		background-image: url('/notes/mods/genshin/icons/elements/Element_Dendro.svg');
	}
}

.electro {
	--color: var(--color-electro);
	
	&::before {
		background-image: url('/notes/mods/genshin/icons/elements/Element_Electro.svg');
	}
}

.geo {
	--color: var(--color-geo);
	
	&::before {
		background-image: url('/notes/mods/genshin/icons/elements/Element_Geo.svg');
	}
}

.hydro {
	--color: var(--color-hydro);
	
	&::before {
		background-image: url('/notes/mods/genshin/icons/elements/Element_Hydro.svg');
	}
}

.pyro {
	--color: var(--color-pyro);
	
	&::before {
		background-image: url('/notes/mods/genshin/icons/elements/Element_Pyro.svg');
	}
}

.loomie {
	--color: var(--color-loomie);
	
	&::before {
		background-image: url('/notes/mods/genshin/icons/Lumine_Icon.webp');
	}
}

.bow,
.catalyst,
.claymore,
.polearm,
.sword {
	--color: var(--color-physical);
}

.bow {
	&::before {
		background-image: url('/notes/mods/genshin/icons/weapons/bow.png');
	}
}

.catalyst {
	&::before {
		background-image: url('/notes/mods/genshin/icons/weapons/catalyst.png');
	}
}

.claymore {
	&::before {
		background-image: url('/notes/mods/genshin/icons/weapons/claymore.png');
	}
}

.polearm {
	&::before {
		background-image: url('/notes/mods/genshin/icons/weapons/polearm.png');
	}
}

.sword {
	&::before {
		background-image: url('/notes/mods/genshin/icons/weapons/sword.png');
	}
}

.sort-controls {
	 display: flex; 
	 gap: 0.67em; 
	 flex-wrap: wrap;
	 align-items: center;
}

button {
    font-family: GenshinFont, Cambria, Cochin, Georgia, Times, 'Times New Roman', serif;
	font-size: 0.8rem;
    
	padding: 0.5em;

    color: var(--col-main);
    background-color: var(--col-highlight-dark);

    border: 1px solid var(--col-main-a075);
    border-radius: var(--corner-radius);

    transition: var(--transition-speed-fast);

    &:hover {
        cursor: pointer;

        color: var(--col-highlight);
        border-color: var(--col-highlight);
    }
}