html, body {
	height: 100%;
	margin: 0;
	font-family: sans-serif;
}

#tools {
	float: left;
	width: 400px;
	height: 100%;
}

#tools > select {
	width: 50%;
	height: 75%;
	display: inline-block;
	font-size: 14px;

	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

#tools option, #tools optgroup {
	padding-top: 2px;
	padding-bottom: 2px;
}

#tools > select > option:first-child {
	font-weight: bold;
	text-align: center;
	font-size: 16px;
}

#tools > select.history option + option + option {
	counter-increment: history;
}

#tools > select.history option + option:before {
	content: counter(history) ". ";
}

#config {
	padding: 8px;
}

#config label {
	display: block;
}

#config .apply:before {
	content: "✔ ";
	color: #0b0;
	font-weight: bold;
}

#config .delete:before {
	content: "✘ ";
	color: #b00;
	font-weight: bold;
}

#config .save:before {
	content: "⇓ ";
	color: #00b;
	font-weight: bold;
}

#config .slider {
	position: relative;
	padding-bottom: 1px;
	border-bottom: 1px solid #888;
	margin-bottom: 15px;
}

#config .slider span {
	position: absolute;
	bottom: -15px;
}

#config .slider canvas {
	display: block;
}

#throbber {
	position: fixed;
	left: 10px;
	bottom: 10px;
}

#throbber:before {
	content: url(throbber.gif) " ";
	vertical-align: middle;
}

#preview {
	margin-left: 400px;
	height: 100%;
	overflow: auto;
	position: relative;
}

#preview > :first-child {
	cursor: move;
}

#preview #zoom {
	position: fixed;
	left: 405px;
	top: 5px;
	background-color: rgba(255, 255, 255, 0.5);
	border-radius: 5px;
	padding: 0 3px;
	font-size: 90%;
}

#preview canvas {
	display: block;
}

#preview .selection {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}

#preview .selection > :first-child {
	opacity: 0.6;
	width: 100%;
	height: 100%;
}

#preview .selection div div {
	position: absolute;
	border: 1px dotted #aaa;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
