Omani-AI / static /styles.css
EbukaGaus's picture
backend
b6b326b
/* Main Styles for Omani Arabic Speech Interface */
:root {
--primary-color: #3498db;
--secondary-color: #2980b9;
--accent-color: #e74c3c;
--text-color: #333;
--light-bg: #f5f5f5;
--white: #ffffff;
--success: #2ecc71;
--danger: #e74c3c;
--warning: #f39c12;
--gray: #7f8c8d;
--light-gray: #eee;
--box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
--transition: all 0.3s ease;
}
body {
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
max-width: 800px;
margin: 0 auto;
padding: 20px;
background-color: var(--light-bg);
color: var(--text-color);
line-height: 1.6;
}
h1, h2, h3 {
color: var(--secondary-color);
}
h1 {
text-align: center;
margin-bottom: 30px;
font-size: 2.2rem;
}
.container {
background-color: var(--white);
border-radius: 8px;
padding: 20px;
box-shadow: var(--box-shadow);
}
/* Recording Controls */
.record-container {
display: flex;
flex-direction: column;
align-items: center;
gap: 20px;
margin-bottom: 30px;
}
.record-button {
background-color: var(--accent-color);
color: var(--white);
border: none;
border-radius: 50%;
width: 80px;
height: 80px;
font-size: 16px;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
transition: var(--transition);
}
.record-button:hover {
background-color: #c0392b;
transform: scale(1.05);
}
.record-button.recording {
animation: pulse 1.5s infinite;
}
@keyframes pulse {
0% {
transform: scale(1);
box-shadow: 0 0 0 0 rgba(231, 76, 60, 0.7);
}
70% {
transform: scale(1.05);
box-shadow: 0 0 0 10px rgba(231, 76, 60, 0);
}
100% {
transform: scale(1);
box-shadow: 0 0 0 0 rgba(231, 76, 60, 0);
}
}
.status {
font-size: 18px;
color: var(--gray);
text-align: center;
min-height: 27px;
}
/* Transcript Section */
.transcript-container {
margin-top: 20px;
border-top: 1px solid var(--light-gray);
padding-top: 20px;
}
.transcript {
background-color: #f9f9f9;
border-radius: 4px;
padding: 15px;
min-height: 100px;
border-left: 4px solid var(--primary-color);
}
/* Audio Controls */
.audio-controls {
margin-top: 20px;
display: flex;
justify-content: center;
}
.audio-player {
width: 100%;
margin-top: 10px;
}
/* Instructions */
.instructions {
margin-top: 30px;
padding: 15px;
background-color: #f0f7ff;
border-radius: 4px;
border-left: 4px solid var(--primary-color);
}
.instructions h3 {
margin-top: 0;
color: var(--primary-color);
}
/* Connection Status */
.connection-status {
position: fixed;
top: 10px;
right: 10px;
padding: 5px 10px;
border-radius: 4px;
font-size: 14px;
}
.connected {
background-color: var(--success);
color: var(--white);
}
.disconnected {
background-color: var(--danger);
color: var(--white);
}
/* Utility Classes */
.hidden {
display: none;
}
/* Responsive Adjustments */
@media (max-width: 600px) {
body {
padding: 10px;
}
.container {
padding: 15px;
}
h1 {
font-size: 1.8rem;
}
.record-button {
width: 70px;
height: 70px;
}
}