:root {
font-family: 'Space Grotesk', 'Segoe UI', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
background: radial-gradient(circle at top, #1e1b4b, #08070f 55%);
color: #f8fafc;
min-height: 100%;
}
* {
box-sizing: border-box;
}
body {
margin: 0;
display: flex;
justify-content: center;
align-items: flex-start;
min-height: 100vh;
padding: 40px 16px;
background: radial-gradient(circle at top, #2f1f71, #07040f 60%);
}
.widget {
width: min(960px, 100%);
background: rgba(7, 6, 18, 0.9);
border: 1px solid rgba(114, 85, 255, 0.4);
border-radius: 18px;
padding: 24px;
backdrop-filter: blur(20px);
box-shadow: 0 30px 80px rgba(0, 0, 0, 0.6);
display: flex;
flex-direction: column;
gap: 20px;
}
.widget__header {
display: flex;
justify-content: space-between;
align-items: center;
gap: 16px;
}
.widget__header h1 {
margin: 0;
font-size: clamp(1.5rem, 3vw, 2.3rem);
letter-spacing: 1px;
}
.widget__status {
padding: 6px 14px;
border-radius: 999px;
background: rgba(34, 197, 94, 0.1);
border: 1px solid rgba(34, 197, 94, 0.4);
font-size: 0.9rem;
}
.chat-log {
min-height: 420px;
max-height: 55vh;
border: 1px solid rgba(255, 255, 255, 0.06);
border-radius: 16px;
padding: 16px;
overflow-y: auto;
display: flex;
flex-direction: column;
gap: 12px;
background: rgba(12, 11, 27, 0.8);
}
.chat-bubble {
padding: 12px 16px;
border-radius: 14px;
max-width: 80%;
line-height: 1.4;
animation: slide-in 0.2s ease;
}
.chat-bubble.user {
align-self: flex-end;
background: linear-gradient(135deg, #7c3aed, #a855f7);
border-bottom-right-radius: 4px;
}
.chat-bubble.bot {
align-self: flex-start;
background: rgba(63, 63, 70, 0.6);
border-bottom-left-radius: 4px;
}
.chat-bubble small {
display: block;
opacity: 0.7;
font-size: 0.75rem;
margin-bottom: 4px;
}
.chat-input {
display: flex;
gap: 10px;
}
.chat-input input {
flex: 1;
padding: 14px 16px;
border-radius: 14px;
border: 1px solid rgba(255, 255, 255, 0.12);
background: rgba(15, 15, 29, 0.8);
color: inherit;
font-size: 1rem;
}
.chat-input button {
padding: 0 28px;
border-radius: 14px;
border: none;
background: linear-gradient(135deg, #f97316, #ef4444);
color: white;
font-weight: 600;
cursor: pointer;
}
.sound-panel {
border: 1px solid rgba(255, 255, 255, 0.08);
border-radius: 16px;
padding: 18px;
background: rgba(18, 18, 36, 0.7);
}
.sound-panel h2 {
margin-top: 0;
margin-bottom: 12px;
font-size: 1.2rem;
}
.sound-panel__controls {
display: flex;
flex-wrap: wrap;
gap: 10px;
}
.sound-panel select,
.sound-panel input {
padding: 10px 12px;
border-radius: 12px;
border: 1px solid rgba(255, 255, 255, 0.12);
background: rgba(10, 10, 22, 0.9);
color: inherit;
}
.sound-panel button {
padding: 10px 18px;
border-radius: 12px;
border: none;
background: linear-gradient(135deg, #22c55e, #16a34a);
color: white;
font-weight: 600;
cursor: pointer;
}
@keyframes slide-in {
from {
transform: translateY(8px);
opacity: 0;
}
to {
transform: translateY(0);
opacity: 1;
}
}
@media (max-width: 720px) {
body {
padding: 24px 12px;
}
.chat-bubble {
max-width: 100%;
}
.sound-panel__controls {
flex-direction: column;
align-items: stretch;
}
}