style: Update VoiceControl.css for improved aesthetics and consistency with Minecraft theme

This commit is contained in:
MayaTheShy
2026-02-20 02:56:27 -05:00
parent 943cc73163
commit b06f878ca0

View File

@@ -1,18 +1,23 @@
/* ============================================
Minecraft-Themed Voice Control
============================================ */
.voice-control { .voice-control {
padding: 1rem; padding: 1rem;
background: #1e293b; background: #3b3b3b;
border-radius: 0.5rem; border: 2px solid #1a1a1a;
border: 1px solid #334155; font-family: 'Silkscreen', 'Courier New', monospace;
box-shadow: inset 0 -2px 0 #2a2a2a, inset 0 2px 0 #555;
} }
.voice-control.unsupported { .voice-control.unsupported {
text-align: center; text-align: center;
padding: 2rem; padding: 2rem;
color: #ef4444; color: #ff5555;
} }
.voice-control.unsupported small { .voice-control.unsupported small {
color: #9ca3af; color: #a0a0a0;
display: block; display: block;
margin-top: 0.5rem; margin-top: 0.5rem;
} }
@@ -27,62 +32,67 @@
.voice-header h3 { .voice-header h3 {
font-size: 1rem; font-size: 1rem;
font-weight: 600; font-weight: 600;
color: #f9fafb; color: #ffff55;
margin: 0; margin: 0;
text-shadow: 1px 1px 0 #1a1a1a;
} }
.selected-turtle { .selected-turtle {
font-size: 0.875rem; font-size: 0.875rem;
color: #10b981; color: #55ff55;
font-weight: 600; font-weight: 600;
} }
.no-selection { .no-selection {
font-size: 0.875rem; font-size: 0.875rem;
color: #9ca3af; color: #a0a0a0;
} }
.voice-button { .voice-button {
width: 100%; width: 100%;
padding: 1.5rem; padding: 1.5rem;
background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%); background: #345ec3;
border: none; border: 3px solid #1a1a1a;
border-radius: 0.75rem;
color: white; color: white;
font-weight: 600; font-weight: 700;
font-size: 1rem; font-size: 1rem;
cursor: pointer; cursor: pointer;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;
gap: 0.5rem; gap: 0.5rem;
transition: all 0.3s; transition: all 0.1s;
position: relative; position: relative;
overflow: hidden; overflow: hidden;
font-family: 'Silkscreen', 'Courier New', monospace;
text-shadow: 1px 1px 0 #1a1a1a;
box-shadow: inset 0 2px 0 #5577dd, inset 0 -3px 0 #223399;
} }
.voice-button:hover:not(:disabled) { .voice-button:hover:not(:disabled) {
transform: translateY(-2px); background: #4a6ed3;
box-shadow: 0 8px 24px rgba(59, 130, 246, 0.4); box-shadow: inset 0 2px 0 #6688ee, inset 0 -3px 0 #3344aa;
} }
.voice-button:disabled { .voice-button:disabled {
background: #374151; background: #4b4b4b;
cursor: not-allowed; cursor: not-allowed;
opacity: 0.5; opacity: 0.5;
box-shadow: inset 0 -2px 0 #333, inset 0 2px 0 #666;
} }
.voice-button.listening { .voice-button.listening {
background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%); background: #aa0000;
box-shadow: inset 0 2px 0 #dd3333, inset 0 -3px 0 #770000;
animation: pulse-glow 2s infinite; animation: pulse-glow 2s infinite;
} }
@keyframes pulse-glow { @keyframes pulse-glow {
0%, 100% { 0%, 100% {
box-shadow: 0 0 20px rgba(239, 68, 68, 0.5); box-shadow: inset 0 2px 0 #dd3333, inset 0 -3px 0 #770000, 0 0 20px rgba(255, 85, 85, 0.5);
} }
50% { 50% {
box-shadow: 0 0 40px rgba(239, 68, 68, 0.8); box-shadow: inset 0 2px 0 #dd3333, inset 0 -3px 0 #770000, 0 0 40px rgba(255, 85, 85, 0.8);
} }
} }
@@ -95,7 +105,6 @@
width: 80px; width: 80px;
height: 80px; height: 80px;
border: 3px solid rgba(255, 255, 255, 0.6); border: 3px solid rgba(255, 255, 255, 0.6);
border-radius: 50%;
animation: pulse-ring 1.5s infinite; animation: pulse-ring 1.5s infinite;
} }
@@ -113,29 +122,28 @@
.voice-feedback { .voice-feedback {
margin-top: 1rem; margin-top: 1rem;
padding: 1rem; padding: 1rem;
background: #0f172a; background: #2c2c2c;
border-radius: 0.5rem; border: 2px solid #1a1a1a;
border: 1px solid #1e293b;
} }
.transcript { .transcript {
color: #e5e7eb; color: #e0e0e0;
margin-bottom: 0.5rem; margin-bottom: 0.5rem;
font-size: 0.875rem; font-size: 0.875rem;
} }
.transcript strong { .transcript strong {
color: #60a5fa; color: #55ffff;
} }
.last-command { .last-command {
color: #10b981; color: #55ff55;
font-size: 0.875rem; font-size: 0.875rem;
font-family: 'Courier New', monospace; font-family: 'Silkscreen', 'Courier New', monospace;
} }
.last-command strong { .last-command strong {
color: #34d399; color: #55ff55;
} }
.voice-commands-help { .voice-commands-help {
@@ -143,23 +151,22 @@
} }
.voice-commands-help details { .voice-commands-help details {
background: #0f172a; background: #2c2c2c;
border-radius: 0.5rem; border: 2px solid #1a1a1a;
border: 1px solid #1e293b;
} }
.voice-commands-help summary { .voice-commands-help summary {
padding: 0.75rem; padding: 0.75rem;
cursor: pointer; cursor: pointer;
font-weight: 600; font-weight: 600;
color: #94a3b8; color: #a0a0a0;
-webkit-user-select: none; -webkit-user-select: none;
user-select: none; user-select: none;
transition: all 0.2s; transition: all 0.1s;
} }
.voice-commands-help summary:hover { .voice-commands-help summary:hover {
color: #e5e7eb; color: #e0e0e0;
} }
.commands-grid { .commands-grid {
@@ -171,11 +178,12 @@
.command-category h4 { .command-category h4 {
font-size: 0.75rem; font-size: 0.75rem;
color: #60a5fa; color: #ffaa00;
text-transform: uppercase; text-transform: uppercase;
margin: 0 0 0.5rem 0; margin: 0 0 0.5rem 0;
font-weight: 700; font-weight: 700;
letter-spacing: 0.05em; letter-spacing: 0.05em;
text-shadow: 1px 1px 0 #1a1a1a;
} }
.command-category ul { .command-category ul {
@@ -186,14 +194,14 @@
.command-category li { .command-category li {
font-size: 0.75rem; font-size: 0.75rem;
color: #9ca3af; color: #a0a0a0;
padding: 0.25rem 0; padding: 0.25rem 0;
font-family: 'Courier New', monospace; font-family: 'Silkscreen', 'Courier New', monospace;
} }
.command-category li::before { .command-category li::before {
content: "▸ "; content: "▸ ";
color: #3b82f6; color: #55ff55;
font-weight: bold; font-weight: bold;
} }