:root {
	color-scheme: dark;
}
html {
	height: 100%;
}
body {
	font-family: "Century Gothic", "Avant Garde", "Futura", "URW Gothic", sans-serif;
	font-size: 1em;
	font-weight: 300;
	letter-spacing: 1px;
	line-height: 1.2em;
	color: #ddd;
	text-underline-offset: 2px;

	margin: 0;
	min-height: 100%;
	background-color: #111;
}



a {
	transition: text-decoration-color 0.1s;
	color: rgb(255, 155, 0);
	text-decoration-color: rgba(255, 155, 0, 0.6);
}
a:hover {
	/* follow normal text color */
	text-decoration-color: unset;	
}
#flex-center {
	display: flex;
	justify-content: center;
	width: 100%;
}
main {
	margin: 0;
	padding: 1em 1em;
	width: 100%;
}


.main-flex {
	display: flex;
	flex-direction: row;
	
	flex-wrap: wrap;
	column-gap: 2em;

}
.main-flex-item {
	width: calc(50% - 1em);
	box-sizing: border-box;
	align-items: flex-start;
	/*border: 1px dashed grey;*/
}


#top-flex {
	margin-top: unset;
	display: flex;
	/*align-items: baseline;*/
	justify-content: space-between;
}

.top-flex-item {
	/*flex: 1 1 0px;*/
	/*border: 1px dashed grey;*/
}

h1 {
	font-size: 3em;
	margin-top: 0.2em;
	line-height: 1em;
}

h2, h3 {
	line-height: 1.2em;
}

img {
	max-width: 100%;
}

.logo {
	height: 1cap;
	width: unset;
}

#auth-form input[type="email"], #auth-form input[type="password"] {
	width: 10em;
}

.linear-input:invalid {
	background-color: rgb(155, 100, 0);
}

strong {
	font-weight: bold;
}
.color-green {
	color: #6ec686;
}
.color-error {
	color: rgb(255, 155, 0);
}


.buy-info-dialog {
	border: 2px solid rgb(155, 100, 0);
	background-color: #111;
	width: calc(min(600px, 100%) - 6em);
}
.buy-info-dialog::backdrop {
	background-color: rgba(0, 0, 0, 0.5);
	backdrop-filter: blur(3px);
}
.buy-form table {
	width: 100%;
}
.buy-info-dialog td {
	padding: 0.5em;
}
.buy-info-dialog input[type="email"] {
	width: 100%;
	box-sizing: border-box;
}

.buy-info-dialog select {
	width: 100%;
}









@media (max-width:900px)
{
	/* All units below eachother */
	.main-flex {
		flex-direction: column;
	}
	#top-flex {
		flex-direction: column;
	}
	.main-flex-item {
		width: 100%;
	}
}







section {
	/* bottom and extra spacing below each article */
	border-bottom: 1px solid rgb(155, 100, 0);
	margin-top: 2em;
}


details {
  margin-bottom: 1em;
  
}
details:has(p) {
	border: 1px solid #333;
	/*padding: 1em;*/
}
details p {
	padding: 1em;
}

summary {
  font-weight: bold;
  padding: 0.5em;
  cursor: pointer;
  background-color: #333;
}

.unit-name {
	font-weight: bold;
	font-size: 1.1em;
}
.unit-name small {
	font-weight: lighter;
}

.drag-handle {
	cursor: grab;
}
.drop-zone {
	height: 0.25em;
}
.drop-zone-focus {
	background-color: rgb(155, 100, 0);
}

.unit-move {
	font-size: 0.7em;
}
.unit-enabled, input[type="checkbox"] {
	transform: scale(1.5, 1.5);
}



table {
	border-collapse: collapse;
}
th {
	text-align: left;
}
td {
	/*border: 1px solid #333;*/
	padding: 0.2em 0.2em;
}
td:has(.unit-move) {
	white-space: nowrap;
}
.unit-body tr:first-child td {
	padding-top: 0.5em;
	border-top: 1px dashed rgb(155, 100, 0);
}
td:has(.unit-delete) {
	text-align: right;
}
tbody::after {
	/* Add a bit of spacing between each generator unit */
	/*content: '';*/
	/*display: block;*/
	/*height: 0.75em;*/
}

/* Hide/dim disabled units */
tbody:has(input[class="unit-enabled"]:not(:checked)) {
	opacity: 0.5;
}
tbody:has(input.unit-enabled:not(:checked)) tr.unit-parameter {
	visibility: collapse;
}

.col-move {
	/*width: 4.25em;*/
  /*white-space: nowrap;*/
}
.col-toggle {
	/*width: 2em;*/
}
.col-num-input {
	width: 15%;
}
input, select {
	font-size: 1em;
	font-family: "Century Gothic", "Avant Garde", "Futura", "URW Gothic", sans-serif;
	accent-color: rgb(255, 155, 0);
}
.linear-input:not([type="checkbox"]) {
	width: 100%;
	box-sizing: border-box;
}


td input[type="range"] {
	width: 100%;
}


/* Wavetable plotting */
.waveform-canvas {
	width: 100%;
	height: auto;
}
