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; }