VoiceMicButton component, PixelLife aquatic layer, improved UserMessageBubble with voice display, AgentBadge terminal switcher, ChatContainer voice integration, FloatingTranscriptDebug ocean life enhancements, and terminal registry support. Remove traefik config.
212 lines
3.5 KiB
CSS
212 lines
3.5 KiB
CSS
:root {
|
|
--bg-primary: #0f0f14;
|
|
--bg-secondary: #16161d;
|
|
--bg-hover: #1e1e28;
|
|
--border-color: #2a2a3a;
|
|
--text-primary: #e4e4e7;
|
|
--text-secondary: #a1a1aa;
|
|
--text-muted: #52525b;
|
|
--accent: #6366f1;
|
|
--accent-hover: #818cf8;
|
|
}
|
|
|
|
* {
|
|
margin: 0;
|
|
padding: 0;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
html, body {
|
|
height: 100%;
|
|
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
|
|
background: var(--bg-secondary);
|
|
color: var(--text-primary);
|
|
-webkit-font-smoothing: antialiased;
|
|
-moz-osx-font-smoothing: grayscale;
|
|
overflow: hidden;
|
|
}
|
|
|
|
body {
|
|
position: fixed;
|
|
width: 100%;
|
|
}
|
|
|
|
#app {
|
|
height: 100%;
|
|
}
|
|
|
|
/* Scrollbar styling */
|
|
::-webkit-scrollbar {
|
|
width: 8px;
|
|
height: 8px;
|
|
}
|
|
|
|
::-webkit-scrollbar-track {
|
|
background: var(--bg-primary);
|
|
}
|
|
|
|
::-webkit-scrollbar-thumb {
|
|
background: var(--border-color);
|
|
border-radius: 4px;
|
|
}
|
|
|
|
::-webkit-scrollbar-thumb:hover {
|
|
background: var(--text-muted);
|
|
}
|
|
|
|
/* Canvas content styling - elementos renderizados por Claude */
|
|
#canvas-content {
|
|
color: var(--text-primary);
|
|
}
|
|
|
|
#canvas-content h1,
|
|
#canvas-content h2,
|
|
#canvas-content h3,
|
|
#canvas-content h4,
|
|
#canvas-content h5,
|
|
#canvas-content h6 {
|
|
color: var(--text-primary);
|
|
margin-bottom: 0.5em;
|
|
}
|
|
|
|
#canvas-content p {
|
|
margin-bottom: 1em;
|
|
line-height: 1.6;
|
|
}
|
|
|
|
#canvas-content a {
|
|
color: var(--accent);
|
|
text-decoration: none;
|
|
}
|
|
|
|
#canvas-content a:hover {
|
|
text-decoration: underline;
|
|
}
|
|
|
|
#canvas-content code {
|
|
background: var(--bg-secondary);
|
|
padding: 0.2em 0.4em;
|
|
border-radius: 4px;
|
|
font-family: 'Fira Code', 'Consolas', monospace;
|
|
font-size: 0.9em;
|
|
}
|
|
|
|
#canvas-content pre {
|
|
background: var(--bg-secondary);
|
|
padding: 1em;
|
|
border-radius: 8px;
|
|
overflow-x: auto;
|
|
margin: 1em 0;
|
|
}
|
|
|
|
#canvas-content pre code {
|
|
background: none;
|
|
padding: 0;
|
|
}
|
|
|
|
#canvas-content table {
|
|
width: 100%;
|
|
border-collapse: collapse;
|
|
margin: 1em 0;
|
|
}
|
|
|
|
#canvas-content th,
|
|
#canvas-content td {
|
|
padding: 0.75em;
|
|
border: 1px solid var(--border-color);
|
|
text-align: left;
|
|
}
|
|
|
|
#canvas-content th {
|
|
background: var(--bg-secondary);
|
|
font-weight: 600;
|
|
}
|
|
|
|
#canvas-content img {
|
|
max-width: 100%;
|
|
height: auto;
|
|
border-radius: 8px;
|
|
}
|
|
|
|
#canvas-content button {
|
|
background: var(--accent);
|
|
color: white;
|
|
border: none;
|
|
padding: 0.5em 1em;
|
|
border-radius: 6px;
|
|
cursor: pointer;
|
|
font-size: 1em;
|
|
transition: background 0.15s ease;
|
|
}
|
|
|
|
#canvas-content button:hover {
|
|
background: var(--accent-hover);
|
|
}
|
|
|
|
#canvas-content input,
|
|
#canvas-content textarea,
|
|
#canvas-content select {
|
|
background: var(--bg-secondary);
|
|
border: 1px solid var(--border-color);
|
|
color: var(--text-primary);
|
|
padding: 0.5em 0.75em;
|
|
border-radius: 6px;
|
|
font-size: 1em;
|
|
}
|
|
|
|
#canvas-content input:focus,
|
|
#canvas-content textarea:focus,
|
|
#canvas-content select:focus {
|
|
outline: none;
|
|
border-color: var(--accent);
|
|
}
|
|
|
|
/* Notifications */
|
|
.notifications-container {
|
|
position: fixed;
|
|
top: 1rem;
|
|
right: 1rem;
|
|
z-index: 9999;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.5rem;
|
|
}
|
|
|
|
.notification {
|
|
padding: 0.75rem 1rem;
|
|
border-radius: 8px;
|
|
font-size: 0.875rem;
|
|
animation: slideIn 0.2s ease;
|
|
}
|
|
|
|
.notification.info {
|
|
background: rgba(99, 102, 241, 0.9);
|
|
color: white;
|
|
}
|
|
|
|
.notification.success {
|
|
background: rgba(34, 197, 94, 0.9);
|
|
color: white;
|
|
}
|
|
|
|
.notification.warning {
|
|
background: rgba(234, 179, 8, 0.9);
|
|
color: black;
|
|
}
|
|
|
|
.notification.error {
|
|
background: rgba(239, 68, 68, 0.9);
|
|
color: white;
|
|
}
|
|
|
|
@keyframes slideIn {
|
|
from {
|
|
transform: translateX(100%);
|
|
opacity: 0;
|
|
}
|
|
to {
|
|
transform: translateX(0);
|
|
opacity: 1;
|
|
}
|
|
}
|