:root{
	--body: #f0f0f0; /* light grey */
	--main: #ebabff; /* light purple */
	--post:  #f7e3ff; /* light pink*/
	--header: #a185fb; /* purple */
	--nav: #ffcaf7; /* pink */
	--links: #8a1a96; /* dark purple */
	--fuchsia: #ea2995; /* fuchsia */
	--grey: #6f6e6e;
	--text-black: #272626;
	--body-ffont: "Comic Neue", cursive, sans-serif;
	--main-text-ffont: "DM Sans", Arial, Helvetica, sans-serif; 
	--main-title-ffont: sans-serif;
}

body{
	background-color: var(--body);
	font-family: var(--body-ffont);
	margin: 0;
}

body[data-page="404"] .box, body[data-page="404"] .nav-divider{
	display: none;
}

/* ==== START GRID ==== */

.layout{
	max-width: 750px;
	display: grid;
	grid-template-columns: 170px 1fr 170px; 	/* nav fisse, main flessibile*/
	grid-template-rows: auto 1fr auto;	 /* nota: fr = fraction */
	grid-template-areas: 
	"header header header"
	"nav-left main nav-right"
	"footer footer footer";
	
	padding: 40px;
	margin: 0 auto;
}

header{
	grid-area: header;
}

.nav-left{
	grid-area: nav-left;
}

main{
	grid-area: main;
}

.nav-right{
	grid-area: nav-right;
}

footer{
	grid-area: footer;
}

/* ==== END GRID ==== */

/* ==== START BG COLORS ==== */
header{
	background-color: var(--header);
}

nav{
	background-color: var(--nav);
}

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

/* ==== END BG COLORS ===== */

header, nav, main{
	border: 3px solid black;
}

/* ew border hack */
main{
	border-left: 1px;
	border-right: 1px;
}

header{
	border-bottom: 1px;
}

/* ==== START HEADER ==== */

header{
	position: relative;
	height: 150px;
}

.logo{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) scale(1.2);
	max-width: 50%;
}

.heart{
	position: absolute;
	width: 130px;
}

.heart.left{
	left: 10px;
	top: 50%;
	transform: translateY(-50%);
}

.heart.right{
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
}

/* ==== END HEADER ==== */

/* ==== START FOOTER ==== */

footer{
	text-align: center;
	font-size: small;
	color: var(--grey);
}

/* ==== END FOOTER ==== */

/* ==== START NAV ==== */

.nav-left,
.nav-right{
	display: grid;   	/* trasforma nav in un contenitore grid */
	grid-auto-rows: max-content;   /* ogni riga deve essere alta quanto il suo contenuto */
	justify-items: center;
	/* 	align-content: start; */
	padding: 10px 0;
}

.box ul{
	margin: 5px 0 20px -20px;
}

.caption{
	margin: 0 auto;
	text-align: center;
	font-size: smaller;
	color: var(--links);
}

.box[data-type="stuff-i-like"],
.box[data-type="sites-i-like"]{
	margin: 15px 0;
	max-width: 100px;
	width: 100%;
}

.likes-title, .likes-list ul{
	color: var(--links); 
	font-size: 13px;
	padding: 0;
	margin: 0;
}

.likes-list li{
	display: flex;
	align-items: flex-start;
	gap: 6px;
}
/* ==== END NAV ==== */

/* ==== START MAIN ==== */

main{
	font-family: var(--main-text-ffont);
	padding: 20px;
	color: var(--text-black);
}

.post, .post-date, .category{
	font-size: smaller;
}

.post{
	background-color: var(--post);
	border-radius: 12px;
	overflow-wrap: break-word;  /* spezza parole lunghissime */
	word-break: break-word;     /* fallback */
	padding: 10px;
	margin: 5px 0 15px 0;
}

.post p{
	padding: 14px;
	margin: 0 auto;
}
.post li{
	color: inherit;
}

.post-date, .category{
	color: var(--links);
}

.post-title{
	font-family: var(--main-title-ffont);
	font-size: large;
	font-weight: bold;
	color: var(--fuchsia);
	/* text-shadow: 1px 1px 10px; */
	margin-top: 5px;
}

/* ==== END MAIN ==== */

/* ----- altro ----- */
nav li{
	list-style-type: none;
}

a:link{
	text-decoration: none;
}

li, a{
	color: var(--links);
}

a:hover, li a:hover{
	/* letter-spacing: 1px; */
	text-decoration: underline;
	color: var(--fuchsia);
}

.creepy-ahh-emoji{
	color: var(--links);
	margin: 10px auto;
}

.highlight{
	font-weight: bolder;
}

.highlight.warn{
	color: var(--fuchsia);
}

.highlight.purple{
	color: var(--header);
}

hr{
	border: none;  /* rimuove lo stile default */
	border-top: 2px solid #b100ff;
	margin: 6px 0; /* spazio sopra e sotto */
	width: 60%;
}

.nav-divider{
	border: none;  /* rimuove lo stile default */
	border-top: 3px dotted var(--fuchsia);
	width: 90%;
	
}

button{
	border: none;
	background: none;
	color: var(--links);
}

button:hover{
	cursor: pointer;
	text-shadow: 1px 1px 8px var(--fuchsia);
}

button:disabled{
	cursor: default;
	color: var(--grey);
	text-shadow: none;
}

/* immagini */
.me, .emote, .image, .graphic{
	display: block;    /* per centrare le immagini */
}

.me{
	width: 100%;
	max-width: 110px;
	margin: 5px auto;
}

.emote, .image{ 
	padding: 10px;
	margin: 0 auto;
}

.image{
	max-width: 300px;
	width: 100%;
}

.emote{
	max-width: 125px;
	width: 100%;
}

/* ==== GRAFICHE ==== */

/* filter per contorni delle grafiche */
.graphic, .me{
	filter:
	drop-shadow(1px 0 0 #000000)
	drop-shadow(-1px 0 0 #000000)
	drop-shadow(0 1px 0 #000000)
	drop-shadow(0 -1px 0 #000000);
}
.graphic#disc, #kuriboh{
	filter: none;
}

.graphic#kuriboh{
	max-width: 130px;
}

.logo{
	filter:
	drop-shadow(2px 1px 0 #000000)
	drop-shadow(2px 1px 0 #000000)
	drop-shadow(1px 0 0 #000000)
	drop-shadow(-1px 0 0 #000000);
}

/* margini e larghezza delle grafiche */
.graphic{
	display: block;   /* per centrare le immagini */
	margin: 10px auto;
	max-width: 160px;	
}

/* ==== END GRAFICHE ==== */

/* ==== START MINI-PLAYER ==== */

#sc-player{
	opacity: 0;
	width: 100px;
	height: 80px;
	pointer-events: none;
	position: absolute;
}

.song-title, .on-sc{
	font-size: smaller;
	text-align: center;
	color: var(--links);
}
.on-sc{
	font-size: x-small;
}

.controls{
	text-align: center;
}

@keyframes spin{
	to { transform: rotate(360deg); }
}

.graphic#disc.is-playing{
	animation: spin 2s linear infinite;
}

.progress-wrap{
	width: 100%;
	padding: 10px 0;
	display: flex;
	align-items: center;
	gap: 6px;
}

.time{
	font-size: small;
	color: var(--links);
	width: 34px;
	text-align: center;
}

.pixel-bar{
	position: relative;
	width: 100%;
	height: 16px;
	border: 2px solid var(--links);
	border-radius: 6px;
	background: var(--main);
	box-shadow: 0 2px 0 rgba(0,0,0,0.25);
	cursor: pointer;
	overflow: hidden;
}

.pixel-fill{
	height: 100%;
	width: 0%;
	opacity: 40%;
	background: var(--header);
}

.pixel-knob{
	position: absolute;
	top: 50%;
	left: 0%;
	transform: translate(-50%, -50%);
	width: 14px;
	height: 14px;
	border: 2px solid var(--links);
	border-radius: 4px;
	background: linear-gradient(to bottom, var(--nav), var(--header));
	box-shadow: 0 2px 0 var(--header);
	pointer-events: none;
}

/* ==== END MINI-PLAYER ==== */

