* {
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
*:focus {
    text-decoration: underline;
}
body {
    overflow: hidden;
    font-family: sans-serif;
    font-size: 13px;
}

#vis {
    position: absolute;
    left: 0;
    top: 0;
    width: 50%;
    height: 100%;
    background-color: black;
}
#status {
    position: relative;
    top: 10px;
    width: 300px;
    height: 24px;
    margin-left: auto;
    margin-right: auto;
    border-radius: 5px;
    padding: 4px;
    background-color: black;
    color: #eee;
    text-align: center;
    font-family: monospace;
    font-weight: bold;
    z-index: 1;
}
#error {
    position: relative;
    top: 50px;
    padding: 20px;
    margin: 20px;
    border-radius: 5px;
    background-color: black;
    color: #c00;
    font-family: monospace;
    font-weight: bold;
    z-index: 1;
}
canvas {
    position: absolute;
    left: 0;
    top: 0;
}
#controls {
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    right: 0;
    border-left: 3px solid #0c0;
    background: #333;
}
#toggle {
    position: absolute;
    left: -40px;
    top: 0px;
    width: 40px;
    height: 40px;
    border-color: #0c0;
    border-style: solid;
    border-width: 0 0 3px 3px;
    border-radius: 0 0 0 8px;
    outline: 0;
    padding: 0;
    background: #333;
    color: #ddd;
    font-size: 14px;
    z-index: 3;
}
#toggle:hover {
    color: #0c0;
}
#toggle:active,
#toggle:focus {
    color: #0a0;
    text-decoration: none;
}
#playback {
    position: absolute;
    left: -120px;
    top: 0px;
    width: 110px;
    height: 30px;
    z-index: 2;
    border-color: #666;
    border-style: solid;
    border-width: 0 0 3px 3px;
    border-radius: 0 0 0 8px;
    padding: 0;
    padding-top: 5px;
    background: #222;
    font-size: 14px;
}
#playback button {
    width: 22px;
    margin-top: 0px;
    padding: 0;
    border: 0;
    outline: 0;
    background: inherit;
    color: #ddd;
    font-size: 14px;
    text-align: center;
}
#playback button:hover {
    color: #0c0;
}
#playback button:active,
#playback button:focus {
    color: #0a0;
    text-decoration: none;
}
#tabs {
    height: 40px;
    line-height: 37px;
    padding-left: 20px;
    border-bottom: 3px solid #0c0;
}
.tab {
    position: relative;
    line-height: 28px;
    width: 100px;
    vertical-align: bottom;
    margin: 0;
    border: 3px solid #555;
    border-bottom: 0;
    border-radius: 8px 8px 0 0;
    padding: 0 6px;
    outline: none;
    background: #222;
    color: #eee;
}
.tab.active {
    bottom: -3px;
    padding-bottom: 3px;
    border: 3px solid #0c0;
    border-bottom: 0;
    background-color: #000;
}
.panel {
    position: absolute;
    width: 100%;
    top: 40px;
    bottom: 0;
    background-color: #000;
    color: #eee;
}
.panel button,
.panel select {
    min-width: 80px;
    border-style: solid;
    border-color: #0c0;
    border-width: 0 0 1px 0;
    outline: none;
    padding: 2px 10px;
    background: #333;
    color: #ccc;
}
.panel button:hover,
.panel select:hover,
.panel select:focus,
.tab:hover {
    color: #0c0;
}
.panel optgroup {
    color: #3bf;
    border-top: 3px solid #fff;
}
.panel option {
    border: 0;
    outline: none;
    background-color: #333;
    color: #0c0;
}
.toolbar {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 48px;
    border-bottom: 3px solid #222;
    padding: 10px;
}

#docs,
#options {
    padding: 10px 30px;
    overflow-y: auto;
    color: #ca6;
}
#docs .var {
    font-family: monospace;
    color: #0b0;
}
#docs .string {
    color: #ff0;
}
#docs h2,
#options h2 {
    color: #f80;
}
#docs p {
    max-width: 600px;
}
#docs dl {
    list-style: none;
}
#docs dt {
    float: left;
    clear: left;
    width: 110px;
    height: 16px;
    margin-left: 40px;
}
#docs dd {
    height: 16px;
}
#docs code {
    display: block;
    color: #ddd;
    padding-left: 40px;
}
#docs a {
    color: #eee;
}

#options ul {
    list-style: none;
    padding: 0;
}

#music {
}
#code {
}
#file,
#import-file {
    display: none;
}
#playlist-wrapper {
    position: absolute;
    top: 48px;
    bottom: 0;
    width: 100%;
    vertical-align: top;
    overflow-y: auto;
}
#playlist {
    width: 100%;
    margin-top: 0px;
    margin-bottom: 20px;
    border-spacing: 0px 0;
    font-family: monospace;
    font-size: 13px;
}
#playlist td {
    padding-left: 4px;
}
#playlist thead td {
    color: #ca6;
    border-bottom: 3px solid #222;
    cursor: pointer;
}
#playlist tbody {
    color: #0a0;
    cursor: pointer;
}
#playlist tbody tr:nth-child(odd) {
    background-color: #111;
}
#playlist .num {
    text-align: right;
}
#playlist .playing {
    color: #3bf;
}
#playlist .dragging {
    color: #ff0;
}
#playlist .index {
    width: 20px;
    border-right: 3px solid #222;
    padding-left: 5px;
    padding-right: 3px;
    color: #666;
    background-color: black;
}
#playlist thead .index {
    border-right: 0;
}
#playlist .delete {
    padding-right: 5px;
    color: #666;
    font-family: sans-serif;
}
#playlist .delete:hover {
    color: #c00;
}
/* Line Numbers */
#playlist { counter-reset: line-number; }
#playlist tbody .index:before {
    content: counter(line-number);
    counter-increment: line-number;
}

#code .toolbar {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 48px;
    background-color: inherit;
    border-bottom: 3px solid #222;
    padding: 10px;
}
#scripts {
    width: 100px;
    white-space: nowrap;
    text-align: left;
}
#scripts .group {
    color: #3bf;
}
#script-list-close {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: transparent;
    z-index: 1000;
}
#script-list {
    display: none;
    position: absolute;
    background: #333;
    border-bottom: 1px solid #0c0;
    padding: 2px 0;
    color: #ccc;
    z-index: 1001;
}
#script-list ul {
    list-style: none;
    margin: 0;
}
#script-list a,
.script-group-heading {
    padding: 2px 10px;
}
#script-list a {
    display: block;
    cursor: pointer;
}
#script-list a:hover {
    color: #0c0;
    text-decoration: none;
}
.script-root {
    padding: 0;
}
.script-group-heading {
    color: #3bf;
}
.script-group {
    padding-left: 0;
}
.script-group a:before {
    float: left;
    padding: 0 5px;
    color: #3bf;
    font-weight: bold;
    content: '/';
}
#editor {
    position: absolute;
    left: 0;
    top: 50px;
    bottom: 0;
    width: 100%;
}
.CodeMirror {
    position: absolute;
    width: 100%;
    height: 100%;
}
