body { /* Firefox has a weird default font, which is a different size from the one in Chrome * and makes some renderings bad. */ font-family: "Arial", sans-serif; background: #222; color: #fff; } a { color: #ccf; } input, textarea { background: #222; color: #fff; border-color: #444; } textarea { /* This will look better if it's consistent with input fields */ border-style: inset; border-width: 2px; } button, select { background: #333; color: #fff; } button:active { background: #000; } a, .click { cursor: pointer; } .input-error { border-color: #b00; } .input-error:focus { outline: #d00 solid 1px; } #errors { color: #f33; display: flex; flex-direction: column; } #errors > div { border-bottom: 1px solid #f33; background: #300; padding: 4px; } .error-dismiss { float: right; } #stream-time-settings { display: flex; align-items: flex-end; gap: 5px; margin-bottom: 10px; } #stream-time-settings > div { margin: 0 2px; } .field-label { display: block; } #video { width: 100%; max-height: 50vh; } #clip-bar { width: 100%; height: 7px; background-color: #bbb; position: relative; } #clip-bar > div { position: absolute; background-color: #d80; height: 100%; } #waveform-container { position: relative; } #waveform { width: 100%; /* With an unbound height, the waveform can appear a bit away from the video. * The intended effect still works if we scrunch the height a bit, so here's * a height bound for the waveform image. */ max-height: 100px; filter: invert(90%); } #waveform-marker { width: 1px; height: 100%; background: #dd8800a0; position: absolute; top: 0; } #editor-help-link { float: right; } #editor-help-box { position: absolute; right: 0; border: 1px solid #000; padding: 2px; background: #222; } #editor-help-box h2 { margin: 3px 0; } #editor-help-box-close { float: right; } #range-definitions { display: flex; flex-direction: column; gap: 1px; } .range-definition-times { display: flex; align-items: center; gap: 4px; } .range-definition-start, .range-definition-end { width: 100px; text-align: right; } .range-definition-between-time-gap { width: 5px; } .range-definition-icon-gap { width: 16px; } #add-range-definition { margin-top: 2px; } #video-info { margin: 5px 0; display: grid; grid-template-columns: 200px 1fr; grid-template-rows: minmax(min-content, max-content) 1.25em minmax(4em, max-content) 1.25em; gap: 2px; } #video-info-editor-notes-container { border: 1px solid #666; background-color: #125; grid-column-end: span 2; } /* In order to maintain the grid dimensions, when we hide the editors notes (for there not being them), * they still need to take up a grid slot. As such, we replace `display: none` in this context with * an effective equivalent that doesn't remove its rendering entirely. */ #video-info-editor-notes-container.hidden { display: block; visibility: hidden; height: 0; } #video-info-title-full { display: flex; align-items: center; white-space: pre; } #video-info-title { flex-grow: 1; } .submission-response-error { white-space: pre-wrap; } .hidden { display: none; } #submission { margin: 5px 0; } #download { margin: 5px 0; } #data-correction { margin: 5px 0; } #data-correction-force-reset-confirm p { margin: 5px 0; } .submission-response-pending { color: #cc0; } .submission-response-error { color: #c00; } .submission-response-success { color: #0c0; } .time-converter-time { display: block; width: 200px; }