.recording-dialog { position: fixed; top: 10px; right: 10px; background: #fff; border-radius: 8px; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); padding: 15px; z-index: 10000; width: 250px; } .recording-dialog.hidden { display: none; } .recording-content { display: flex; flex-direction: column; align-items: center; gap: 10px; } .recording-status { display: flex; align-items: center; gap: 8px; color: #DE350B; font-weight: 500; } .recording-status::before { content: ''; display: inline-block; width: 10px; height: 10px; background: #DE350B; border-radius: 50%; animation: pulse 1.5s infinite; } @keyframes pulse { 0% { opacity: 1; } 50% { opacity: 0.5; } 100% { opacity: 1; } } #stop-recording { background: #DE350B; color: white; border: none; padding: 8px 16px; border-radius: 4px; cursor: pointer; font-weight: 500; transition: background-color 0.2s; } #stop-recording:hover { background: #BF2600; } .video-preview { margin-top: 10px; border: 1px solid #ddd; border-radius: 4px; padding: 10px; } .video-preview video { width: 100%; border-radius: 4px; }