.sound-recorder {
	background: #d4d0c8;
}
body,
.sound-recorder,
.main {
	display: flex;
	flex-direction: column;
	flex: 1;
	background: #d4d0c8;
}
.main {
	padding: 7px 10px;
	text-align: center;
	background: #d4d0c8;
	/* width: 252px; */
}
.display {
	display: flex;
	flex: 1;
	justify-content: center;
}
.display,
.wave {
	min-height: 37px;
	max-height: 50px;
}
.wave {
	flex-basis: 114px;
	max-width: 500px;
	flex: 1;
	height: 100%;
	display: flex;
	background: black;
	margin: 0 9px;
	box-sizing: border-box;
}
.wave canvas {
	/* Fix for Firefox bug where Position and Length boxes would shrink sometimes (and inspecting with the devtools would sometimes fix it; it's a heisenbug) */
	position: absolute;
}
.position,
.length {
	/* Must not have height: 100%, to fix Firefox bug */
	height: 40px;
	width: 60px;
	flex-grow: 0;
	flex-shrink: 0;
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	white-space: nowrap;
}
.position .center-me,
.length .center-me {
	text-align: center;
}

.controls {
	display: flex;
	justify-content: center;
}
.controls button {
	box-sizing: border-box;
	width: 48px;
	height: 24px;
	padding: 0;
	flex-grow: 0;
	flex-shrink: 0;
	display: flex;
}
.controls button .icon {
	width: 48px;
	height: 24px;
	background-image: url("../img/buttons-spaced-out.png");
	background-clip: content-box;
	background-origin: content-box;
}
.controls button:disabled .icon {
	filter: saturate(0%) opacity(50%); /* fallback */
	filter: url("#disabled-inset-filter");
}
.controls button:enabled:hover:active {
	padding-left: 1px;
	padding-top: 1px;
}
.controls button + button {
	margin-left: 3px;
}

/* From jQuery UI */
.ui-slider {
	display: block;
	position: relative;
	text-align: left;
}
.ui-slider-handle {
	position: absolute;
	z-index: 2;
}
/* (NOT from jQuery UI) */
/* @TODO: pixel-perfect slider */
.slider-container {
	margin-top: px;
	margin-bottom: 3px;
	/* TODO: render slider differently and unify padding-left/right */
	padding-left: 6px;
	padding-right: 9px;
	padding-top: 3px;
	padding-bottom: 9px;
	position: relative;
}
.slider-container:focus-within::after {
	content: "";
	position: absolute;
	left: 1px;
	top: 1px;
	right: 1px;
	bottom: 1px;
	outline: dotted 1px black;
}
.slider {
	margin: 5px 0;
	width: 100%;
	height: 2px;
	box-shadow: 0 1px var(--ButtonDkShadow) inset;
}
.ui-slider-handle {
	outline: none;
	box-sizing: border-box;
}
.ui-slider-handle:active {
	background: var(--checker);
}
.ui-slider-horizontal .ui-slider-handle {
	width: 9px;
	height: 17px;
	top: -8px;
	margin-left: -5px;
}
.ui-slider-vertical .ui-slider-handle {
	height: 9px;
	width: 17px;
	top: -5px;
	margin-left: -8px;
}

/* From .menus *, .menu-popup * {} */
* {
	font-family: 'Segoe UI', sans-serif;
	font-size: 12px;
	cursor: default;
}