94 lines
3.7 KiB
CSS
94 lines
3.7 KiB
CSS
:root {
|
|
--bg: #f4f4f8;
|
|
--card: #ffffff;
|
|
--text: #1a1a1a;
|
|
--muted: #6b7280;
|
|
--border: #e5e7eb;
|
|
--grey-light: #f9fafb;
|
|
--blue: #2563eb;
|
|
--blue-h: #1d4ed8;
|
|
--green: #10b981;
|
|
--pink: #e84393;
|
|
}
|
|
|
|
* { box-sizing: border-box; margin: 0; padding: 0; }
|
|
body {
|
|
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
|
|
background: var(--bg); color: var(--text);
|
|
font-size: 14px; line-height: 1.5;
|
|
}
|
|
|
|
#app { display: flex; height: 100vh; }
|
|
#main { flex: 1; padding: 20px; max-width: 780px; margin: 0 auto; overflow-y: auto; }
|
|
|
|
.card {
|
|
background: var(--card); border: 1px solid var(--border);
|
|
border-radius: 10px; padding: 16px; margin-bottom: 14px;
|
|
box-shadow: 0 1px 3px rgba(0,0,0,.04);
|
|
}
|
|
|
|
.topbar {
|
|
display: flex; align-items: center; gap: 10px;
|
|
padding: 12px 16px; background: var(--card);
|
|
border: 1px solid var(--border); border-radius: 10px; margin-bottom: 14px;
|
|
}
|
|
.topbar-logo img { display: block; }
|
|
.topbar-sep { color: var(--border); font-size: 18px; }
|
|
.topbar-title { font-weight: 600; font-size: 16px; }
|
|
#ver { font-weight: 400; color: var(--muted); font-size: 12px; }
|
|
.topbar-right { margin-left: auto; color: var(--muted); font-size: 13px; }
|
|
|
|
#models { display: flex; gap: 8px; margin-bottom: 4px; }
|
|
.model-tag {
|
|
padding: 3px 10px; background: var(--grey-light);
|
|
border: 1px solid var(--border); border-radius: 12px;
|
|
font-size: 11px; color: var(--muted);
|
|
}
|
|
|
|
#visualizer { margin: 8px 0; text-align: center; }
|
|
#meter { border-radius: 6px; background: var(--grey-light); }
|
|
|
|
#controls { display: flex; gap: 8px; justify-content: center; margin: 10px 0; }
|
|
#controls button {
|
|
padding: 8px 18px; border-radius: 7px; font-size: 13px;
|
|
cursor: pointer; border: 1px solid transparent; font-family: inherit;
|
|
font-weight: 500;
|
|
}
|
|
#btnRecord { background: var(--pink); color: #fff; }
|
|
#btnRecord:disabled { opacity: 0.5; }
|
|
#btnPlay { background: var(--green); color: #fff; }
|
|
#btnPlay:disabled { opacity: 0.4; }
|
|
#btnReset, #btnTheme { background: var(--card); color: var(--text); border-color: var(--border); }
|
|
|
|
#status { text-align: center; color: var(--muted); font-size: 13px; min-height: 18px; margin: 4px 0; }
|
|
|
|
#chat { min-height: 200px; max-height: 360px; overflow-y: auto; line-height: 1.6; }
|
|
.msg { padding: 10px 14px; margin: 6px 0; border-radius: 8px; font-size: 14px; }
|
|
.msg.user { background: #eff6ff; border: 1px solid #dbeafe; color: #1e40af; }
|
|
.msg.bot { background: var(--grey-light); border: 1px solid var(--border); color: var(--text); }
|
|
.msg p { margin: 4px 0; }
|
|
.msg h1, .msg h2, .msg h3 { font-size: 15px; margin: 8px 0 4px; color: var(--text); }
|
|
.msg b { color: #111; }
|
|
.msg code { background: #e5e7eb; padding: 1px 5px; border-radius: 3px; font-size: 13px; color: #b91c1c; }
|
|
.msg ul, .msg ol { margin: 4px 0; padding-left: 20px; }
|
|
.msg li { margin: 2px 0; }
|
|
.msg hr { border: none; border-top: 1px solid var(--border); margin: 10px 0; }
|
|
|
|
#sidebar {
|
|
width: 272px; background: var(--card);
|
|
border-left: 1px solid var(--border); padding: 16px; overflow-y: auto;
|
|
}
|
|
#history-title { font-weight: 600; color: var(--text); margin-bottom: 10px; font-size: 14px; }
|
|
.hitem { padding: 6px 8px; border-radius: 4px; cursor: pointer; margin-bottom: 3px; font-size: 12px; color: var(--muted); border: 1px solid transparent; }
|
|
.hitem:hover { background: var(--grey-light); border-color: var(--border); }
|
|
.hq { display: block; }
|
|
|
|
/* Тёмная тема */
|
|
body.dark {
|
|
--bg: #0f0f1a; --card: #18182a; --text: #e0e0e0; --muted: #888;
|
|
--border: #2a2a40; --grey-light: #1e1e30;
|
|
}
|
|
body.dark .msg.user { background: #0a1e2e; border-color: #1e3a5f; color: #93c5fd; }
|
|
body.dark .msg.bot { background: var(--grey-light); border-color: var(--border); color: #d0d0f0; }
|
|
body.dark .msg b { color: #fff; }
|
|
body.dark .msg code { background: #2a2a44; color: #f8c291; } |