VerbaLive / static /css /style.css
koesan's picture
feat: First public release of the VerbaLive app This commit includes the complete application for real-time speech-to-text and translation, with a Flask backend, a JavaScript frontend, and April ASR integration. Includes a Dockerfile for easy deployment on Hugging Face Spaces.
af09686
body {
background-color: #0a0a0a;
color: #e5e5e7;
font-family: 'Segoe UI', 'Helvetica Neue', 'Arial', sans-serif;
font-size: 14px;
margin: 0;
padding: 0;
overflow: hidden; /* Scrollbarları kontrol etmek için */
}
.container {
display: flex;
flex-direction: column;
height: 100vh;
}
/* Kontrol Çubuğu */
.control-bar {
display: flex;
align-items: center;
background: linear-gradient(to bottom, #1c1c1e, #171719);
border-bottom: 1px solid #2c2c2e;
padding: 8px 16px;
gap: 20px;
}
.title {
font-size: 17px;
font-weight: 600;
color: #ffffff;
letter-spacing: -0.5px;
}
label {
font-size: 13px;
font-weight: 500;
color: #8e8e93;
}
select, input[type="text"] {
background: #2c2c2e;
border: 1px solid #48484a;
border-radius: 8px;
padding: 4px 12px;
color: #ffffff;
font-size: 13px;
font-weight: 400;
min-width: 140px;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
}
select:hover, input[type="text"]:hover {
border-color: #0a84ff;
background: #3a3a3c;
}
input[type="text"] {
min-width: 280px;
}
#clear-btn {
background: #ff453a;
color: white;
border: none;
border-radius: 8px;
padding: 6px 16px;
font-weight: 500;
font-size: 13px;
cursor: pointer;
margin-left: auto;
}
#clear-btn:hover { background: #ff6961; }
#clear-btn:active { background: #d70015; }
/* Ana İçerik Alanı */
.main-content {
display: flex;
flex: 1;
padding: 6px;
gap: 6px;
}
.text-group {
flex: 1;
border: 1px solid #48484a;
border-radius: 12px;
margin-top: 8px;
padding-top: 16px;
background: #1c1c1e;
position: relative;
display: flex;
flex-direction: column;
}
.english-group {
flex: 0 0 500px; /* Genişliği sabit tutmak için */
}
.translation-panel {
display: flex;
flex-direction: column;
flex: 1;
gap: 6px;
}
.group-title {
position: absolute;
top: -8px;
left: 16px;
padding: 0 8px;
background: #1c1c1e;
color: #ffffff;
font-size: 13px;
font-weight: 600;
letter-spacing: -0.3px;
}
.text-editor {
background: #000000;
color: #e5e5e7;
border: none;
border-radius: 8px;
padding: 16px;
font-size: 16px;
line-height: 1.6;
flex: 1;
overflow-y: auto;
white-space: pre-wrap;
word-wrap: break-word;
}
.english-group .text-editor {
background: #1a0f00;
color: #ffcc99;
}
/* Durum Çubuğu */
.status-bar {
display: flex;
align-items: center;
justify-content: space-between;
background: linear-gradient(to bottom, #1c1c1e, #171719);
border-top: 1px solid #2c2c2e;
padding: 4px 16px;
}
#status-label {
color: #30d158; /* Yeşil */
font-weight: 500;
font-size: 12px;
}
.mic-button-container {
display: flex;
gap: 10px;
}
#start-mic-btn, #stop-mic-btn {
background-color: #0a84ff;
color: white;
border: none;
border-radius: 20px;
padding: 8px 16px;
font-size: 14px;
font-weight: 500;
cursor: pointer;
}
#start-mic-btn:hover { background-color: #38b4ff; }
#stop-mic-btn { background-color: #ff453a; }
#stop-mic-btn:hover { background-color: #ff6961; }
.version {
color: #8e8e93;
font-size: 11px;
}