body, input, button, select {
    font-family: 'Roboto', sans-serif;
    font-size: 16px;
    line-height: 1.5;
}

code, textarea, .memory_label {
    font-family: 'Roboto Mono', monospace;
    font-size: 16px;
    line-height: 1.5;
}

code {
    background-color: #eee;
    padding: 1px 8px;
    border-radius: 4px;
}

html, body {
    height: 100%;
}

body {
    margin: 0;
    background-color: #fff;
    color: #111;
}

p {
    margin: 4px 0;
}

a {
    color: #16c;
}

textarea, .memory_label {
    resize: none;
    margin: 0;
    padding: 8px;
    border: 1px solid #222;
}

textarea:disabled, .memory_label {
    background-color: #eee;
    color: #333;
}

.app {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.flex {
    flex: 1;
}

.header {
    display: flex;
}

.vertical-container {
    display: flex;
    flex-direction: column;
}

.header > h1 {
    margin: 0 0 0 16px;
    font-size: 32px;
}

.header-link {
    margin-right: 16px;
    line-height: 48px;
}

.toolbar {
    display: flex;
    align-items: center;
}

.toolbar {
    border: 1px solid #222;
}

#canvas {
    width: 256px;
    border: 1px solid #222;
}

input[type="checkbox"] {
    margin-right: 8px;
}

.button-seperation {
    margin-right: 24px;
}

.editors {
    display: flex;
    flex: 1;
}

.right-column {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.processor-state {
    flex: 2;
    display: flex;
    flex-direction: column;
}

.processor-vars {
    padding: 0 4px;
    border: 1px solid #222;
}

.assembly-scroll {
    white-space: pre;
}

.prevent-scrolling {
    white-space: pre;
    overflow: hidden;
}

.memory_label {
    flex-grow: 1;
    flex-basis: 0;
    white-space: pre;
    overflow-y: auto;
    padding: 0;
}

.memory-label-container {
    margin: 8px;
}

.ip {
    color: #00f;
    background-color: #aaf;
    border-radius: 3px;
}

.sp {
    color: #f00;
    background-color: #faa;
    border-radius: 3px;
}

.dark {
    background-color: #111;
    color: #fff;
}

.dark a {
    color: #49f;
}

.dark .ip {
    color: #eef;
    background-color: #00d;
}

.dark .sp {
    color: #fee;
    background-color: #d00;
}

.dark code {
    background-color: #333;
}

.dark textarea, .dark .memory_label {
    background-color: #111;
    border-color: #444;
    color: #fff;
}
.dark textarea:disabled, .dark .memory_label {
    background-color: #222;
    color: #fff;
}

.dark #output_label {
    color: #0f0;
}

.dark .toolbar, .dark #canvas, .dark .processor-vars {
    border-color: #444;
}
