/* ########## VARIABLES ########## */
* {
	--main-bg-color: rgb(30,30,40);
	
	--blured-background: rgba(0,0,0,0.5);

	--music-note-color-0: #000000;
	--music-note-color-1: #0000AA;
	--music-note-color-2: #00AA00;
	--music-note-color-3: #00AAAA;
	--music-note-color-4: #AA0000;
	--music-note-color-5: #AA00AA;
	--music-note-color-6: #FFAA00;
	--music-note-color-7: #AAAAAA;
	--music-note-color-8: #555555;
	--music-note-color-9: #5555FF;
	--music-note-color-a: #55FF55;
	--music-note-color-b: #55FFFF;
	--music-note-color-c: #FF5555;
	--music-note-color-d: #FF55FF;
	--music-note-color-e: #FFFF55;
	--music-note-color-f: #FFFFFF;

	--music-keyboard-bg-color: #FFFFFF;
}

/* ########## GÉNÉRAL ########## */
html, body {
	min-width: 100vw; min-height: 100vh;
	padding: 0; margin: 0;
	background: var(--main-bg-color);
	font-family: Arial;
	overflow: hidden;
}
button {
	font-size: 2em; background: #ddd; color: #000;
	padding: 0.4em; margin: 0;
	/*border-radius: 0.5em;*/ border: none;
	outline: none; cursor: pointer;
	transition: transform .3s, box-shadow .3s/*, background .1s, color .1s*/;
}
button:hover {
	background: #aaa; color: #fff;
}
button:active {
	transform: scale(0.9);
	box-shadow: inset 0 0 1em black, 0 0 1em white;
}


/* ########## SÉLÉCTEUR DE FICHIERS ########## */
#file-select-area {
	width: 100vw; height: 100vh;
	position: fixed; z-index: 100;
	top: 0; left: 0;
	background: var(--blured-background);
	backdrop-filter: blur(1em); -webkit-backdrop-filter: blur(1em);
}
#file-select-area button {
	position: absolute;
	left: 50%; top: 50%;
	transform: translateX(-50%) translateY(-50%);
}
#file-select-area button:active {
	transform: translateX(-50%) translateY(-50%) scale(0.9);
}


/* ########## FILE DROP ZONE ########## */
#file-drop-area {
	width: 100vw; height: 100vh;
	position: fixed; z-index: 1000000;
	top: 0; left: 0;
	background: var(--blured-background);
	backdrop-filter: blur(1em); -webkit-backdrop-filter: blur(1em);
	transition: .5s;
}
#file-drop-area div.content {
	color: white; position: absolute;
	left: 50vw; top: 50vh;
	transform: translateX(-50%) translateY(-50%);
	text-align: center;
	pointer-events: none; user-select: none;
}
#file-drop-area div.content * {
	padding: 0; margin: 0;
}


/* SÉLÉCTEUR DE PISTES */
#tracks-selector {
	width: 100vw; height: 100vh;
	position: fixed; z-index: 100;
	top: 0; left: 0;
	background: var(--blured-background);
	backdrop-filter: blur(1em); -webkit-backdrop-filter: blur(1em);
	transition: .5s;
}
#tracks-selector div.content {
	color: white; position: absolute;
	left: 50vw; top: 50vh;
	transform: translateX(-50%) translateY(-50%);
	text-align: center;
}
#tracks-selector div.content ul#tracks-container {
	text-align: justify;
}



/* ########## NOTES DE MUSIQUE ########## */
.music-notes-area {
	height: 80vh; overflow: hidden;
	position: relative;
}
.music-notes-area .music-note-container {
	overflow: visible; width: 100%; height: 100%;
	position: absolute; bottom: 0;
}

.music-notes-area .music-note-container .music-note {
	width: 10px; height: 200px;

	position: absolute;
	border-radius: .5em;
	/*transition: left .5s, top .5s;*/

	/*margin-bottom: 100vh;*/
}

.music-notes-area .music-note           { background: var(--music-note-color-0); box-shadow: inset 0 0 10px #fff, 0px -2.5px 10px var(--music-note-color-0); }
.music-notes-area .music-note.channel1  { background: var(--music-note-color-1); box-shadow: inset 0 0 10px #fff, 0px -2.5px 10px var(--music-note-color-1); }
.music-notes-area .music-note.channel2  { background: var(--music-note-color-2); box-shadow: inset 0 0 10px #fff, 0px -2.5px 10px var(--music-note-color-2); }
.music-notes-area .music-note.channel3  { background: var(--music-note-color-3); box-shadow: inset 0 0 10px #fff, 0px -2.5px 10px var(--music-note-color-3); }
.music-notes-area .music-note.channel4  { background: var(--music-note-color-4); box-shadow: inset 0 0 10px #fff, 0px -2.5px 10px var(--music-note-color-4); }
.music-notes-area .music-note.channel5  { background: var(--music-note-color-5); box-shadow: inset 0 0 10px #fff, 0px -2.5px 10px var(--music-note-color-5); }
.music-notes-area .music-note.channel6  { background: var(--music-note-color-6); box-shadow: inset 0 0 10px #fff, 0px -2.5px 10px var(--music-note-color-6); }
.music-notes-area .music-note.channel7  { background: var(--music-note-color-7); box-shadow: inset 0 0 10px #fff, 0px -2.5px 10px var(--music-note-color-7); }
.music-notes-area .music-note.channel8  { background: var(--music-note-color-8); box-shadow: inset 0 0 10px #fff, 0px -2.5px 10px var(--music-note-color-8); }
.music-notes-area .music-note.channel9  { background: var(--music-note-color-9); box-shadow: inset 0 0 10px #fff, 0px -2.5px 10px var(--music-note-color-9); }
.music-notes-area .music-note.channel10 { background: var(--music-note-color-a); box-shadow: inset 0 0 10px #fff, 0px -2.5px 10px var(--music-note-color-a); }
.music-notes-area .music-note.channel11 { background: var(--music-note-color-b); box-shadow: inset 0 0 10px #fff, 0px -2.5px 10px var(--music-note-color-b); }
.music-notes-area .music-note.channel12 { background: var(--music-note-color-c); box-shadow: inset 0 0 10px #fff, 0px -2.5px 10px var(--music-note-color-c); }
.music-notes-area .music-note.channel13 { background: var(--music-note-color-d); box-shadow: inset 0 0 10px #fff, 0px -2.5px 10px var(--music-note-color-d); }
.music-notes-area .music-note.channel14 { background: var(--music-note-color-e); box-shadow: inset 0 0 10px #fff, 0px -2.5px 10px var(--music-note-color-e); }
.music-notes-area .music-note.channel15 { background: var(--music-note-color-f); box-shadow: inset 0 0 10px #000, 0px -2.5px 10px var(--music-note-color-f); }




/* ########## CLAVIER DE PIANO ########## */
.music-keyboard-area {
	height: 20vh; overflow: hidden;
	position: relative;
	background: var(--music-keyboard-bg-color);
}

/* TOUCHES */
.music-keyboard-area .music-key {
	position: absolute;
	top: 0; height: 100%;
	border-radius: 0 0 .5em .5em;
	background: #fff;
	box-shadow: inset 0 -1.5px 3px 1.5px #000;
}
.music-keyboard-area .music-key.black { /* touches noires */
	height: 80%;
	background: #000;
	box-shadow: inset 0 -1.5px 3px 1.5px #fff;
	z-index: 10;
}

/* TOUCHES PRESSÉES */
.music-keyboard-area .music-key.pressed { background: #FFFF55; box-shadow: inset 0 -3px 6px 3px #000; }
/*.music-keyboard-area .music-key.pressed.black { box-shadow: inset 0 -3px 6px 3px #fff; }*/

.music-keyboard-area .music-key.pressed-ok { background: #55FF55; box-shadow: inset 0 -3px 6px 3px #fff; }
.music-keyboard-area .music-key.pressed-wrong { background: #FF5555; box-shadow: inset 0 -3px 6px 3px #fff; }


/* ########## MENU D'OPTIONS ########## */
.music-options-area {
	position: fixed;
	width: 100%; height: 3em;
	top: 0; left: 0; z-index: 5;
	background: var(--blured-background);
	backdrop-filter: blur(1em); -webkit-backdrop-filter: blur(1em);
	color: white;
}
.music-options-area * {
	vertical-align: middle;
}
.music-options-area button {
	height: 3em; width: 3em;
	padding: 1em; margin: 0 1em 0 0;
	font-size: 1em;
}
.music-options-area div {
	display: inline-block;
	max-width: calc(100% - 4em);
	font-size: 2em;
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
}
.music-options-area #more-options {
	position: absolute; right: 0;
	margin: 0; padding: 0;
}
.music-options-area #time-range {
	position: absolute;
	bottom: 0; left: 0; width: 100%;
	padding: 0; margin: 0;
	transform: translateY(50%);
}


/* ########## DIVERS ########## */
.hidden {
	display: none;
}