Spaces:
Running
Running
| @import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600&family=Inter:wght@400;500;600;700&display=swap'); | |
| body, .gradio-container { | |
| background-color: #FFFAEB ; | |
| background-image: | |
| linear-gradient(#E9E2CB 1px, transparent 1px), | |
| linear-gradient(90deg, #E9E2CB 1px, transparent 1px) ; | |
| background-size: 40px 40px ; | |
| font-family: 'Inter', sans-serif ; | |
| } | |
| @keyframes pulse { | |
| 0%, 100% { opacity: 1; transform: scale(1); } | |
| 50% { opacity: 0.5; transform: scale(0.8); } | |
| } | |
| @keyframes blink { | |
| 0%, 100% { opacity: 1; } | |
| 50% { opacity: 0; } | |
| } | |
| @keyframes bounce { | |
| 0%, 100% { transform: translateY(0); } | |
| 50% { transform: translateY(-8px); } | |
| } | |
| .header-card { | |
| background: linear-gradient(135deg, #FFFAEB 0%, #FFF0C3 100%); | |
| border: 2px solid #E9E2CB; | |
| border-top: 4px solid #FF8205; | |
| padding: 2rem; | |
| margin-bottom: 1.5rem; | |
| box-shadow: 0 4px 24px rgba(0,0,0,0.06); | |
| } | |
| .header-title { | |
| font-size: 2rem; | |
| font-weight: 700; | |
| color: #1E1E1E ; | |
| margin: 0 0 0.5rem 0; | |
| letter-spacing: -0.02em; | |
| display: flex; | |
| align-items: center; | |
| gap: 0.75rem; | |
| } | |
| .header-logo { | |
| width: 40px; | |
| height: 40px; | |
| object-fit: contain; | |
| } | |
| .header-subtitle { | |
| color: #444444 ; | |
| font-size: 1rem; | |
| margin: 0; | |
| } | |
| .transcription-card { | |
| background: #FFFAEB ; | |
| border: 2px solid #E9E2CB; | |
| box-shadow: 0 8px 32px rgba(0,0,0,0.08); | |
| overflow: hidden; | |
| min-height: 350px; | |
| } | |
| .card-header { | |
| background: rgba(255,255,255,0.6) ; | |
| border-bottom: 1px solid #E9E2CB; | |
| padding: 0.75rem 1rem; | |
| display: flex; | |
| align-items: center; | |
| justify-content: space-between; | |
| } | |
| .card-header-left { | |
| display: flex; | |
| align-items: center; | |
| gap: 0.75rem; | |
| } | |
| .card-header-right { | |
| display: flex; | |
| align-items: center; | |
| gap: 1rem; | |
| } | |
| .card-title { | |
| font-size: 0.65rem; | |
| font-weight: 700; | |
| color: #1E1E1E ; | |
| text-transform: uppercase; | |
| letter-spacing: 0.1em; | |
| margin: 0; | |
| } | |
| .voxtral-icon { | |
| width: 24px; | |
| height: 24px; | |
| object-fit: contain; | |
| } | |
| .wpm-badge { | |
| display: inline-flex; | |
| align-items: center; | |
| gap: 0.4rem; | |
| padding: 0.25rem 0.6rem; | |
| font-size: 0.6rem; | |
| font-weight: 700; | |
| text-transform: uppercase; | |
| letter-spacing: 0.05em; | |
| border-radius: 2px; | |
| background: #FFF0C3; | |
| color: #1E1E1E ; | |
| border: 1px solid #E9E2CB; | |
| font-family: 'JetBrains Mono', monospace; | |
| } | |
| .status-badge { | |
| display: inline-flex; | |
| align-items: center; | |
| gap: 0.5rem; | |
| padding: 0.25rem 0.75rem; | |
| font-size: 0.6rem; | |
| font-weight: 700; | |
| text-transform: uppercase; | |
| letter-spacing: 0.08em; | |
| border-radius: 2px; | |
| } | |
| .status-ready { | |
| background: #f5f5f5 ; | |
| color: #555555 ; | |
| border: 1px solid #E9E2CB; | |
| } | |
| .status-connecting, .status-warming { | |
| background: rgba(255, 130, 5, 0.15) ; | |
| color: #CC6A04 ; | |
| border: 1px solid #FF8205; | |
| } | |
| .status-listening { | |
| background: rgba(255, 130, 5, 0.2) ; | |
| color: #CC6A04 ; | |
| border: 1px solid #FF8205; | |
| } | |
| .status-timeout { | |
| background: rgba(225, 5, 0, 0.1) ; | |
| color: #B30400 ; | |
| border: 1px solid #E10500; | |
| } | |
| .status-error { | |
| background: rgba(225, 5, 0, 0.1) ; | |
| color: #B30400 ; | |
| border: 1px solid #E10500; | |
| } | |
| .status-dot { | |
| width: 6px; | |
| height: 6px; | |
| border-radius: 50%; | |
| background: currentColor ; | |
| } | |
| .status-dot.animate { | |
| animation: pulse 1.5s ease-in-out infinite; | |
| } | |
| .status-dot.fast { | |
| animation: pulse 0.8s ease-in-out infinite; | |
| } | |
| .card-content { | |
| padding: 1.5rem; | |
| min-height: 250px; | |
| position: relative; | |
| background-color: #FFFAEB ; | |
| background-image: | |
| linear-gradient(rgba(0,0,0,0.02) 1px, transparent 1px), | |
| linear-gradient(90deg, rgba(0,0,0,0.02) 1px, transparent 1px); | |
| background-size: 20px 20px; | |
| } | |
| .transcript-text { | |
| font-family: 'JetBrains Mono', monospace ; | |
| font-size: 1.1rem ; | |
| line-height: 1.8 ; | |
| color: #000000 ; | |
| white-space: pre-wrap; | |
| word-break: break-word; | |
| } | |
| .transcript-cursor { | |
| display: inline-block; | |
| width: 10px; | |
| height: 20px; | |
| background: #FF8205 ; | |
| margin-left: 4px; | |
| vertical-align: middle; | |
| animation: blink 1s step-end infinite; | |
| } | |
| .empty-state { | |
| display: flex; | |
| flex-direction: column; | |
| align-items: center; | |
| justify-content: center; | |
| height: 200px; | |
| } | |
| .empty-dots { | |
| display: flex; | |
| gap: 6px; | |
| margin-bottom: 1rem; | |
| } | |
| .empty-dot { | |
| width: 8px; | |
| height: 8px; | |
| border-radius: 50%; | |
| background: #FF8205 ; | |
| animation: bounce 1s ease-in-out infinite; | |
| } | |
| .empty-dot:nth-child(2) { animation-delay: 0.1s; } | |
| .empty-dot:nth-child(3) { animation-delay: 0.2s; } | |
| .empty-text { | |
| font-family: 'JetBrains Mono', monospace ; | |
| font-size: 0.875rem ; | |
| color: #555555 ; | |
| font-style: italic; | |
| } | |
| .card-footer { | |
| background: #fafafa ; | |
| border-top: 1px solid #E9E2CB; | |
| padding: 0.5rem 1rem; | |
| display: flex; | |
| justify-content: space-between; | |
| font-family: 'JetBrains Mono', monospace; | |
| font-size: 0.65rem; | |
| color: #555555 ; | |
| } | |
| /* Audio component styling - preserve Gradio defaults */ | |
| #audio-input { | |
| margin-top: 1rem; | |
| } | |
| #audio-input button { | |
| color: inherit ; | |
| } | |
| #audio-input .controls button { | |
| background: var(--button-secondary-background-fill) ; | |
| color: var(--button-secondary-text-color) ; | |
| } | |
| .clear-btn { | |
| background: #E10500 ; | |
| color: #FFFFFF ; | |
| border: none ; | |
| padding: 0.75rem 1.5rem ; | |
| font-weight: 600 ; | |
| text-transform: uppercase ; | |
| letter-spacing: 0.05em ; | |
| font-size: 0.75rem ; | |
| cursor: pointer ; | |
| transition: all 0.2s ; | |
| border-radius: 0 ; | |
| margin-top: 1rem ; | |
| } | |
| .clear-btn:hover { | |
| background: #B30400 ; | |
| } | |
| footer { | |
| display: none ; | |
| } | |
| .gradio-container .prose { | |
| max-width: none ; | |
| } | |
| .info-text { | |
| font-family: 'JetBrains Mono', monospace ; | |
| font-size: 0.75rem ; | |
| color: #888888 ; | |
| font-style: italic; | |
| text-align: center; | |
| margin-top: 1rem; | |
| } | |