* { box-sizing: border-box; padding: 0; margin: 0; font-family: sans-serif; } html, body { height: 100%; } body { padding: 32px; background-color: #f9fafb; } body, #container { display: flex; flex-direction: column; justify-content: center; align-items: center; } h1 { margin-bottom: 1.5rem; color: #1f2937; } #container { position: relative; width: 640px; max-width: 100%; padding: 2rem; border-radius: 0.75rem; background-color: white; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); } #controls { display: flex; gap: 1rem; margin-bottom: 1rem; } .control-button { display: flex; align-items: center; gap: 0.5rem; padding: 0.75rem 1.5rem; background-color: #2563eb; color: white; border: none; border-radius: 0.5rem; cursor: pointer; font-weight: 500; transition: background-color 0.2s; } .control-button:hover { background-color: #1d4ed8; } .control-button:disabled { background-color: #94a3b8; cursor: not-allowed; } #timer { font-size: 2rem; font-weight: bold; margin: 1rem 0; color: #1f2937; } #status { margin: 1rem 0; font-weight: 500; color: #4b5563; } #transcription-container { width: 100%; margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid #e5e7eb; } #transcription-container h2 { margin-bottom: 1rem; color: #1f2937; } #transcription { width: 100%; min-height: 200px; padding: 1rem; border: 1px solid #e5e7eb; border-radius: 0.5rem; margin-bottom: 1rem; background-color: #f9fafb; white-space: pre-wrap; color: #4b5563; font-family: monospace; } #downloadButton { margin-top: 1rem; } #audio-visualizer { display: flex; justify-content: center; align-items: center; gap: 0.25rem; height: 60px; margin: 1rem 0; } .bar { width: 8px; height: 5px; background: #2563eb; border-radius: 3px; transition: height 0.2s ease; } @keyframes bounce { 0%, 100% { height: 5px; } 50% { height: 30px; } } .recording .bar { animation: bounce 0.8s ease infinite; } .bar:nth-child(1) { animation-delay: -0.4s; } .bar:nth-child(2) { animation-delay: -0.2s; } .bar:nth-child(4) { animation-delay: 0.2s; } .bar:nth-child(5) { animation-delay: 0.4s; }