| |
| * { |
| margin: 0; |
| padding: 0; |
| box-sizing: border-box; |
| } |
|
|
| body { |
| font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; |
| line-height: 1.6; |
| color: #333; |
| background-color: #f5f7fa; |
| } |
|
|
| .container { |
| max-width: 800px; |
| margin: 0 auto; |
| padding: 20px; |
| min-height: 100vh; |
| display: flex; |
| flex-direction: column; |
| } |
|
|
| header { |
| text-align: center; |
| margin-bottom: 30px; |
| padding: 20px 0; |
| } |
|
|
| header h1 { |
| font-size: 2.5rem; |
| color: #2c3e50; |
| margin-bottom: 10px; |
| } |
|
|
| header p { |
| font-size: 1.1rem; |
| color: #7f8c8d; |
| } |
|
|
| main { |
| flex: 1; |
| display: flex; |
| flex-direction: column; |
| gap: 30px; |
| } |
|
|
| .upload-section { |
| display: flex; |
| justify-content: center; |
| } |
|
|
| .file-upload-area { |
| width: 100%; |
| max-width: 500px; |
| padding: 40px 20px; |
| text-align: center; |
| background: white; |
| border: 2px dashed #3498db; |
| border-radius: 10px; |
| transition: all 0.3s ease; |
| cursor: pointer; |
| } |
|
|
| .file-upload-area.highlight { |
| background-color: #e1f0fa; |
| border-color: #2980b9; |
| } |
|
|
| .upload-icon { |
| font-size: 3rem; |
| margin-bottom: 15px; |
| } |
|
|
| .file-upload-area p { |
| margin: 10px 0; |
| } |
|
|
| .file-upload-area .small { |
| font-size: 0.9rem; |
| color: #95a5a6; |
| } |
|
|
| #fileSelectBtn { |
| background-color: #3498db; |
| color: white; |
| border: none; |
| padding: 12px 25px; |
| font-size: 1rem; |
| border-radius: 5px; |
| cursor: pointer; |
| transition: background-color 0.3s; |
| margin-top: 15px; |
| } |
|
|
| #fileSelectBtn:hover { |
| background-color: #2980b9; |
| } |
|
|
| .controls { |
| display: flex; |
| justify-content: center; |
| gap: 15px; |
| } |
|
|
| button { |
| padding: 12px 25px; |
| font-size: 1rem; |
| border: none; |
| border-radius: 5px; |
| cursor: pointer; |
| transition: all 0.3s; |
| } |
|
|
| #transcribeBtn { |
| background-color: #27ae60; |
| color: white; |
| } |
|
|
| #transcribeBtn:hover:not(:disabled) { |
| background-color: #219653; |
| } |
|
|
| #transcribeBtn:disabled { |
| background-color: #bdc3c7; |
| cursor: not-allowed; |
| } |
|
|
| #clearBtn { |
| background-color: #e74c3c; |
| color: white; |
| } |
|
|
| #clearBtn:hover { |
| background-color: #c0392b; |
| } |
|
|
| .status { |
| padding: 15px; |
| border-radius: 5px; |
| text-align: center; |
| font-weight: 500; |
| } |
|
|
| .status.info { |
| background-color: #d4edda; |
| color: #155724; |
| border: 1px solid #c3e6cb; |
| } |
|
|
| .status.error { |
| background-color: #f8d7da; |
| color: #721c24; |
| border: 1px solid #f5c6cb; |
| } |
|
|
| .status.success { |
| background-color: #d1ecf1; |
| color: #0c5460; |
| border: 1px solid #bee5eb; |
| } |
|
|
| .result-section h2 { |
| text-align: center; |
| margin-bottom: 20px; |
| color: #2c3e50; |
| } |
|
|
| .transcription-output { |
| background: white; |
| border-radius: 10px; |
| padding: 25px; |
| min-height: 150px; |
| box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); |
| border: 1px solid #eee; |
| } |
|
|
| .transcription-output p { |
| font-size: 1.1rem; |
| line-height: 1.7; |
| } |
|
|
| .transcription-output .placeholder { |
| color: #95a5a6; |
| font-style: italic; |
| text-align: center; |
| margin-top: 50px; |
| } |
|
|
| footer { |
| text-align: center; |
| margin-top: 40px; |
| padding: 20px 0; |
| color: #7f8c8d; |
| border-top: 1px solid #ecf0f1; |
| } |
|
|
| @media (max-width: 600px) { |
| .container { |
| padding: 15px; |
| } |
| |
| header h1 { |
| font-size: 2rem; |
| } |
| |
| .file-upload-area { |
| padding: 30px 15px; |
| } |
| |
| .controls { |
| flex-direction: column; |
| align-items: center; |
| } |
| |
| button { |
| width: 100%; |
| max-width: 300px; |
| } |
| } |