body,
html {
margin: 0;
padding: 0;
overflow: hidden;
background-color: #fff;
font-family: sans-serif;
font-size: 14px;
}
canvas {
width: 100vw;
height: 100vh;
}
#progress-container {
position: fixed;
top: 50%;
left: 50%;
}
dialog {
width: 100%;
text-align: center;
max-width: 20em;
color: white;
background-color: #222;
border: 1px solid #888;
position: relative;
transform: translate(-50%, -50%);
}
progress {
width: 100%;
height: 1em;
border: none;
background-color: #fff;
color: #eee;
}
progress::-webkit-progress-bar {
background-color: #333;
}
progress::-webkit-progress-value {
background-color: #eee;
}
progress::-moz-progress-bar {
background-color: #eee;
}
.tool-button {
position: absolute;
top: 8px;
right: 8px;
background-color: #000000cc;
border: none;
padding: 6px;
margin: 0;
border-radius: 2px;
cursor: pointer;
}
.tool-button:hover {
background-color: #222222cc;
}
.tool-button:active {
background-color: #000000cc;
}
.tool-button:focus {
outline: inherit;
}
.tool-button.active {
outline: white solid 1px;
}
#upload-button {
top: 8px;
}
#download-button {
top: 48px;
}
#controls-display-button {
top: 88px;
}
#controls-display {
display: none;
position: absolute;
top: 96px;
right: 44px;
background-color: #000000cc;
margin: 0;
padding: 6px;
color: #ddd;
pointer-events: none;
}
#controls-display.active {
display: block;
}
#controls-display p {
margin: 0;
padding: 1px;
}
.divider {
width: 256px;
border: 0;
border-top: 1px solid #ddd;
margin: 6px 0;
}
.control-item {
display: flex;
justify-content: space-between;
}
.control-name {
text-align: left;
color: #aaa;
}
.control-value {
text-align: right;
}
.modal {
display: none;
position: fixed;
z-index: 1;
left: 0;
top: 0;
width: 100%;
height: 100%;
overflow: auto;
background-color: rgba(0, 0, 0, 0.5);
}
.modal-content {
background-color: #222222;
margin: 15% auto;
padding: 16px;
border: 1px solid #888;
width: 80%;
max-width: 768px;
color: #ddd;
}
.modal-section {
padding: 4px 0;
}
.modal .divider {
width: calc(100% - 32px);
}
.close {
float: right;
font-size: 24px;
}
.close:hover,
.closer:focus {
color: #aaa;
text-decoration: none;
cursor: pointer;
}
#url-input {
width: calc(100% - 96px);
background-color: #000;
border: 1px solid #888;
color: #ddd;
padding: 4px;
margin: 0;
}
.submit {
width: 80px;
background-color: #000;
border: 1px solid #888;
color: #ddd;
padding: 4px;
margin: 0;
cursor: pointer;
}
.submit:hover {
background-color: #222;
}
.submit:focus {
outline: inherit;
}
input[type="file"] {
display: none;
}
#file-input-label {
width: 80px;
background-color: #000;
border: 1px solid #888;
color: #ddd;
padding: 4px;
margin: 0;
cursor: pointer;
}
#file-input-label:hover {
background-color: #222;
}
#file-input-label:focus {
outline: inherit;
}
#upload-error {
display: none;
color: #f00;
}
#about {
margin: 8px 0;
text-decoration: underline;
cursor: pointer;
pointer-events: auto;
}
#format-select {
display: flex;
align-items: center;
}
#format-select p {
margin-right: 8px;
}
#format-select div {
margin: 0 8px;
}
input[type="radio"] {
appearance: none;
display: inline-block;
width: 16px;
height: 16px;
padding: 3px;
background-clip: content-box;
border: 1px solid #888;
background-color: #000;
border-radius: 50%;
}
input[type="radio"]:checked {
background-color: #ddd;
}