#controls {
	font-family:arial;
	font-size:24px;
	font-weight:bold;
	margin: 15px;
}

#controls > div:not(.control-columns):not(.visualizer-controls) {
	margin: 5px;
	display:inline-block;
}

.play {
	-moz-box-shadow:inset 0px 20px 26px 0px #b6cde3;
	-webkit-box-shadow:inset 0px 20px 26px 0px #b6cde3;
	box-shadow:inset 0px 20px 26px 0px #b6cde3;
	background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #79bbff), color-stop(1, #378de5) );
	background:-moz-linear-gradient( center top, #79bbff 5%, #378de5 100% );
	background-color:#79bbff;
	-moz-border-radius:20px;
	-webkit-border-radius:20px;
	border-radius:20px;
	color:#ffffff;
	padding:8px 24px;
	text-decoration:none;
	text-shadow:1px 1px 6px #000000;
	width: 80px;
	text-align: center;
}

.play:hover {
	background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #378de5), color-stop(1, #79bbff) );
	background:-moz-linear-gradient( center top, #378de5 5%, #79bbff 100% );
	background-color:#378de5;
}

.play:active {
	position:relative;
	top:1px; left: 1px;
}

#showTempo { 
	display: inline-block;
	width: 45px; 
}

#showSwing { 
	display: inline-block;
	width: 40px; 
}

* {
    -webkit-user-select: none;
    user-select: none;
}

body, html {
    margin: 0;
    height: 100%;
    position: relative;
}
body {
    overflow: auto;
}

/* Three-column layout for controls */
.control-columns {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    width: 100%;
    margin: 20px 0;
}

.control-column {
    flex: 1;
    margin: 0 10px;
    padding: 15px;
    background-color: #f5f5f5;
    border-radius: 10px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    display: block;
}

.control-column h3 {
    margin-top: 0;
    color: #378de5;
    font-size: 18px;
    text-align: center;
    margin-bottom: 15px;
    border-bottom: 1px solid #ddd;
    padding-bottom: 8px;
}

.control-column div {
    display: block;
    margin: 12px 0;
}

.control-column label {
    display: block;
    font-size: 14px;
    margin-bottom: 5px;
}

.visualizer-controls {
    margin-top: 20px;
    padding: 15px;
    background-color: #e8f4ff;
    border-radius: 10px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.visualizer-controls div {
    display: block;
    margin: 10px 0;
}

button {
    background-color: #79bbff;
    border: none;
    color: white;
    padding: 8px 16px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 14px;
    margin: 4px 2px;
    cursor: pointer;
    border-radius: 5px;
}

button:hover {
    background-color: #378de5;
}
