| @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 !important; |
| background-image: |
| linear-gradient(#E9E2CB 1px, transparent 1px), |
| linear-gradient(90deg, #E9E2CB 1px, transparent 1px) !important; |
| background-size: 40px 40px !important; |
| font-family: 'Inter', sans-serif !important; |
| } |
|
|
| @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 !important; |
| 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 !important; |
| font-size: 1rem; |
| margin: 0; |
| } |
|
|
| .transcription-card { |
| background: #FFFAEB !important; |
| 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) !important; |
| 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 !important; |
| 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 !important; |
| 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 !important; |
| color: #555555 !important; |
| border: 1px solid #E9E2CB; |
| } |
|
|
| .status-connecting, .status-warming { |
| background: rgba(255, 130, 5, 0.15) !important; |
| color: #CC6A04 !important; |
| border: 1px solid #FF8205; |
| } |
|
|
| .status-listening { |
| background: rgba(255, 130, 5, 0.2) !important; |
| color: #CC6A04 !important; |
| border: 1px solid #FF8205; |
| } |
|
|
| .status-timeout { |
| background: rgba(225, 5, 0, 0.1) !important; |
| color: #B30400 !important; |
| border: 1px solid #E10500; |
| } |
|
|
| .status-error { |
| background: rgba(225, 5, 0, 0.1) !important; |
| color: #B30400 !important; |
| border: 1px solid #E10500; |
| } |
|
|
| .status-dot { |
| width: 6px; |
| height: 6px; |
| border-radius: 50%; |
| background: currentColor !important; |
| } |
|
|
| .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 !important; |
| 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 !important; |
| font-size: 1.1rem !important; |
| line-height: 1.8 !important; |
| color: #000000 !important; |
| white-space: pre-wrap; |
| word-break: break-word; |
| text-align: left !important; |
| margin: 0 !important; |
| padding: 0 !important; |
| } |
|
|
| |
| .transcript-text:first-letter { |
| margin-left: 0 !important; |
| } |
|
|
| .transcript-text::first-line { |
| text-indent: 0 !important; |
| } |
|
|
| .dual-stream-container { |
| display: grid; |
| grid-template-columns: 1fr 1fr; |
| gap: 1rem; |
| height: 100%; |
| text-align: left !important; |
| } |
|
|
| .triple-stream-container { |
| display: grid; |
| grid-template-columns: 1fr 1fr 1fr; |
| gap: 1rem; |
| height: 100%; |
| text-align: left !important; |
| } |
|
|
| .stream-box { |
| background: rgba(255, 255, 255, 0.6) !important; |
| border: 1px solid #E9E2CB; |
| border-radius: 4px; |
| padding: 0.75rem; |
| height: 100%; |
| overflow-y: auto; |
| text-align: left !important; |
| } |
|
|
| .stream-label { |
| font-family: 'JetBrains Mono', monospace !important; |
| font-size: 0.75rem !important; |
| font-weight: 700 !important; |
| color: #FF8205 !important; |
| text-transform: uppercase; |
| letter-spacing: 0.05em; |
| margin-bottom: 0.5rem; |
| padding-bottom: 0.25rem; |
| border-bottom: 1px solid #FF8205; |
| text-align: left !important; |
| } |
|
|
| .transcript-cursor { |
| display: inline-block; |
| width: 10px; |
| height: 20px; |
| background: #FF8205 !important; |
| 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 !important; |
| 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 !important; |
| font-size: 0.875rem !important; |
| color: #555555 !important; |
| font-style: italic; |
| } |
|
|
| .card-footer { |
| background: #fafafa !important; |
| 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 !important; |
| } |
|
|
| |
| #audio-input { |
| margin-top: 1rem; |
| } |
|
|
| #audio-input button { |
| color: inherit !important; |
| } |
|
|
| #audio-input .controls button { |
| background: var(--button-secondary-background-fill) !important; |
| color: var(--button-secondary-text-color) !important; |
| } |
|
|
| .clear-btn { |
| background: #E10500 !important; |
| color: #FFFFFF !important; |
| border: none !important; |
| padding: 0.75rem 1.5rem !important; |
| font-weight: 600 !important; |
| text-transform: uppercase !important; |
| letter-spacing: 0.05em !important; |
| font-size: 0.75rem !important; |
| cursor: pointer !important; |
| transition: all 0.2s !important; |
| border-radius: 0 !important; |
| margin-top: 1rem !important; |
| } |
|
|
| .clear-btn:hover { |
| background: #B30400 !important; |
| } |
|
|
| footer { |
| display: none !important; |
| } |
|
|
| |
| #partial-transcript-checkbox { |
| display: flex; |
| align-items: center; |
| justify-content: center; |
| margin-left: 1rem; |
| } |
|
|
| #partial-transcript-checkbox .gradio-checkbox { |
| transform: scale(1.2); |
| } |
|
|
| #partial-transcript-checkbox label { |
| font-family: 'JetBrains Mono', monospace !important; |
| font-size: 0.85rem !important; |
| font-weight: 600 !important; |
| color: #1E1E1E !important; |
| text-transform: uppercase; |
| letter-spacing: 0.05em; |
| } |
|
|
| .gradio-container .prose { |
| max-width: none !important; |
| } |
|
|
| .info-text { |
| font-family: 'JetBrains Mono', monospace !important; |
| font-size: 0.75rem !important; |
| color: #888888 !important; |
| font-style: italic; |
| text-align: center; |
| margin-top: 1rem; |
| } |