* {
	margin: 0;
	padding: 0;
	font-size: 10px;
	font-family: "Helvetica", sans-serif;
	box-sizing: border-box;
}
body {
	position: relative;
	width: 100vw;
	height: 100vh;
	background: #eee;
}
#wrapper {
    width: 100%;
    height: 100%;
	overflow: auto;
}
#main {
    position: relative;
}
.task {
	position: absolute;
	width: 150px;
	opacity: 0.4;
	text-align: center;
	vertical-align: middle;
	background: #fff;
	color: #222;
	padding: 0.7em;
}
.target {
	opacity: 1;
	background: #a9f;
	border: 4px solid #74f;
	font-weight: 600;
	color: #103;
}
.done {
	background: #afa;
	color: #030;
}
.done.target {
	border: 4px solid #282;
}
.doable {
	opacity: 1;
	border: 1px solid #333;
}
.overdue {
	opacity: 1;
	background: #f99;
	border: 2px solid #f00;
	color: #300;
}
canvas {
    position: absolute;
    top: 0;
    left: 0;
}