Spaces:
Running
Running
| .app { | |
| max-width: 800px; | |
| margin: 0 auto; | |
| padding: 2rem; | |
| text-align: center; | |
| } | |
| header { | |
| margin-bottom: 3rem; | |
| } | |
| header h1 { | |
| font-size: 2.5rem; | |
| margin-bottom: 0.5rem; | |
| background: linear-gradient(45deg, #646cff, #61dafb); | |
| -webkit-background-clip: text; | |
| -webkit-text-fill-color: transparent; | |
| background-clip: text; | |
| } | |
| header p { | |
| color: #888; | |
| font-size: 1.1rem; | |
| } | |
| .upload-area { | |
| border: 2px dashed #646cff; | |
| border-radius: 12px; | |
| padding: 3rem; | |
| margin: 2rem 0; | |
| cursor: pointer; | |
| transition: all 0.3s ease; | |
| background: rgba(100, 108, 255, 0.05); | |
| } | |
| .upload-area:hover { | |
| border-color: #61dafb; | |
| background: rgba(97, 218, 251, 0.05); | |
| } | |
| .upload-content p { | |
| margin: 0.5rem 0; | |
| font-size: 1.1rem; | |
| } | |
| .upload-content audio { | |
| margin-top: 1rem; | |
| width: 100%; | |
| max-width: 400px; | |
| } | |
| .controls { | |
| margin: 2rem 0; | |
| } | |
| .controls button { | |
| background: #646cff; | |
| color: white; | |
| border: none; | |
| padding: 1rem 2rem; | |
| border-radius: 8px; | |
| font-size: 1rem; | |
| cursor: pointer; | |
| transition: all 0.3s ease; | |
| } | |
| .controls button:hover { | |
| background: #5a54d6; | |
| transform: translateY(-2px); | |
| } | |
| .controls button.recording { | |
| background: #ff4757; | |
| animation: pulse 2s infinite; | |
| } | |
| @keyframes pulse { | |
| 0% { transform: scale(1); } | |
| 50% { transform: scale(1.05); } | |
| 100% { transform: scale(1); } | |
| } | |
| .loading { | |
| margin: 2rem 0; | |
| padding: 1rem; | |
| background: rgba(100, 108, 255, 0.1); | |
| border-radius: 8px; | |
| color: #646cff; | |
| font-weight: 500; | |
| } | |
| .error { | |
| margin: 2rem 0; | |
| padding: 1rem; | |
| background: rgba(255, 71, 87, 0.1); | |
| border-radius: 8px; | |
| color: #ff4757; | |
| font-weight: 500; | |
| } | |
| .tags-section { | |
| margin: 2rem 0; | |
| text-align: left; | |
| } | |
| .tags-section h3 { | |
| margin-bottom: 1rem; | |
| color: #333; | |
| } | |
| .tags { | |
| display: flex; | |
| flex-direction: column; | |
| gap: 0.5rem; | |
| } | |
| .tag-item { | |
| display: flex; | |
| align-items: center; | |
| justify-content: space-between; | |
| padding: 0.5rem; | |
| border-radius: 8px; | |
| background: rgba(100, 108, 255, 0.05); | |
| transition: all 0.3s ease; | |
| } | |
| .tag-item.has-feedback { | |
| background: rgba(100, 108, 255, 0.1); | |
| } | |
| .tag { | |
| background: linear-gradient(45deg, #646cff, #61dafb); | |
| color: white; | |
| padding: 0.5rem 1rem; | |
| border-radius: 20px; | |
| font-size: 0.9rem; | |
| font-weight: 500; | |
| margin-right: 1rem; | |
| } | |
| .tag.custom { | |
| background: linear-gradient(45deg, #27ae60, #2ecc71); | |
| } | |
| .tag.negative { | |
| background: linear-gradient(45deg, #e74c3c, #c0392b); | |
| opacity: 0.6; | |
| } | |
| .tag.local { | |
| background: linear-gradient(45deg, #9b59b6, #8e44ad); | |
| } | |
| .tag.blended { | |
| background: linear-gradient(45deg, #f39c12, #e67e22); | |
| } | |
| .source-indicator { | |
| margin-left: 0.5rem; | |
| font-size: 0.8em; | |
| } | |
| .tag-controls { | |
| display: flex; | |
| gap: 0.25rem; | |
| } | |
| .feedback-btn { | |
| background: transparent; | |
| border: 2px solid #ddd; | |
| border-radius: 50%; | |
| width: 32px; | |
| height: 32px; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| cursor: pointer; | |
| transition: all 0.3s ease; | |
| font-size: 0.9rem; | |
| } | |
| .feedback-btn:hover { | |
| transform: scale(1.1); | |
| } | |
| .feedback-btn.active { | |
| border-color: #646cff; | |
| background: #646cff; | |
| color: white; | |
| } | |
| .add-tag { | |
| display: flex; | |
| gap: 0.5rem; | |
| margin-top: 1rem; | |
| padding-top: 1rem; | |
| border-top: 1px solid #eee; | |
| } | |
| .tag-input { | |
| flex: 1; | |
| padding: 0.75rem; | |
| border: 2px solid #ddd; | |
| border-radius: 8px; | |
| font-size: 1rem; | |
| transition: border-color 0.3s ease; | |
| } | |
| .tag-input:focus { | |
| outline: none; | |
| border-color: #646cff; | |
| } | |
| .add-tag-btn { | |
| background: #27ae60; | |
| color: white; | |
| border: none; | |
| padding: 0.75rem 1.5rem; | |
| border-radius: 8px; | |
| cursor: pointer; | |
| font-size: 1rem; | |
| transition: background 0.3s ease; | |
| } | |
| .add-tag-btn:hover { | |
| background: #219a52; | |
| } | |
| .frequent-tags { | |
| margin-top: 1rem; | |
| padding-top: 1rem; | |
| border-top: 1px solid #eee; | |
| } | |
| .frequent-tags h4 { | |
| margin-bottom: 0.5rem; | |
| color: #666; | |
| font-size: 0.9rem; | |
| } | |
| .frequent-tag-list { | |
| display: flex; | |
| flex-wrap: wrap; | |
| gap: 0.25rem; | |
| } | |
| .frequent-tag { | |
| background: #f8f9fa; | |
| border: 1px solid #ddd; | |
| color: #666; | |
| padding: 0.25rem 0.5rem; | |
| border-radius: 12px; | |
| font-size: 0.8rem; | |
| cursor: pointer; | |
| transition: all 0.3s ease; | |
| } | |
| .frequent-tag:hover { | |
| background: #646cff; | |
| color: white; | |
| border-color: #646cff; | |
| } | |
| .export-section { | |
| margin: 3rem 0 2rem 0; | |
| padding: 2rem; | |
| border: 1px solid #eee; | |
| border-radius: 12px; | |
| background: #fafafa; | |
| } | |
| .export-section h3 { | |
| margin-bottom: 1rem; | |
| color: #333; | |
| } | |
| .export-controls { | |
| display: flex; | |
| gap: 1rem; | |
| margin-bottom: 1rem; | |
| flex-wrap: wrap; | |
| } | |
| .export-btn { | |
| background: #3498db; | |
| color: white; | |
| border: none; | |
| padding: 0.75rem 1.5rem; | |
| border-radius: 8px; | |
| cursor: pointer; | |
| font-size: 1rem; | |
| transition: background 0.3s ease; | |
| } | |
| .export-btn:hover { | |
| background: #2980b9; | |
| } | |
| .clear-btn { | |
| background: #e74c3c; | |
| color: white; | |
| border: none; | |
| padding: 0.75rem 1.5rem; | |
| border-radius: 8px; | |
| cursor: pointer; | |
| font-size: 1rem; | |
| transition: background 0.3s ease; | |
| } | |
| .clear-btn:hover { | |
| background: #c0392b; | |
| } | |
| .model-stats { | |
| margin-top: 1rem; | |
| padding: 1rem; | |
| background: white; | |
| border-radius: 8px; | |
| border: 1px solid #ddd; | |
| } | |
| .model-stats p { | |
| margin: 0.25rem 0; | |
| color: #666; | |
| font-size: 0.9rem; | |
| } | |
| footer { | |
| margin-top: 3rem; | |
| padding: 2rem 0 1rem 0; | |
| border-top: 1px solid #eee; | |
| text-align: center; | |
| } | |
| footer p { | |
| margin: 0; | |
| color: #888; | |
| font-size: 0.9rem; | |
| line-height: 1.5; | |
| } | |
| footer a { | |
| color: #646cff; | |
| text-decoration: none; | |
| } | |
| footer a:hover { | |
| text-decoration: underline; | |
| } | |
| @media (max-width: 768px) { | |
| .app { | |
| padding: 1rem; | |
| } | |
| .upload-area { | |
| padding: 2rem 1rem; | |
| } | |
| header h1 { | |
| font-size: 2rem; | |
| } | |
| } | |