body { background-color: #000; color: #fff; margin: 0; font-family: sans-serif; } canvas { width: 100vw; } canvas.recording { filter: initial; } .hidden { display: none; } #download { display: none; } #toasts { position: fixed; z-index: 2; top: 0; background-color: rgba(40, 40, 200, 0.3); width: 100%; text-align: center; } #controls { position: fixed; z-index: 2; width: 100%; background-color: rgba(0, 0, 0, 0.8); opacity: 0.8; bottom: 0; } #rec, #save { font: 12pt sans-serif; padding: 1em 2em; margin: 0.2em 1em; background: #ccc; border: none; border-radius: 3px; } dt { font-weight: bold; } #indicator { position: fixed; top: 0.3em; right: 0.3em; font: 18pt sans-serif; color: red; animation: blinker 0.5s cubic-bezier(0, 0.87, 0.58, 1) infinite alternate; } @keyframes blinker { from { opacity: 0; } to { opacity: 1; } }