Format: text/css
⬇ Download File (7.0 KB)
   1  :root {
   2      /* Dark mode variables (default) */
   3      --bg-color: #1a1a1a;
   4      --sidebar-bg: #2d2d2d;
   5      --sidebar-border: #444;
   6      --text-color: #7ee787;
   7      --text-muted: #9e9e9e;
   8      --content-bg: #1a1a1a;
   9      --topbar-bg: #212121;
  10      --link-hover: #fff;
  11      --assistant-msg-bg: #262b26;
  12      --assistant-msg-color: #9ef1a0;
  13      --user-msg-bg: #15354f;
  14      --user-msg-color: #a0f1f1;
  15      --btn-newchat-bg: #0d6efd;
  16    }
  17    body.light-mode {
  18      /* Light mode overrides */
  19      --bg-color: #9db7d1;
  20      --sidebar-bg: #9db7d1;
  21      --sidebar-border: #7d848b;
  22      --text-color: #031631;
  23      --text-muted: #6c757d;
  24      --content-bg: #f8f9fa;
  25      --topbar-bg: #e9ecef;
  26      --link-hover: #000;
  27      --assistant-msg-bg: #e2ffe2;
  28      --assistant-msg-color: #198754;
  29      --user-msg-bg: #cce5ff;
  30      --user-msg-color: #0d6efd;
  31      --btn-newchat-bg: #0d6efd;
  32    }
  33    html, body {
  34      margin: 0;
  35      padding: 0;
  36      height: 100%;
  37      font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  38      background-color: var(--bg-color);
  39      color: var(--text-color);
  40      transition: background-color 0.3s ease, color 0.3s ease;
  41    }
  42    #sidebar {
  43      position: fixed;
  44      left: 0;
  45      top: 0;
  46      width: 340px;
  47      height: 100%;
  48      background-color: var(--sidebar-bg);
  49      border-right: 1px solid var(--sidebar-border);
  50      padding: 15px;
  51      display: flex;
  52      flex-direction: column;
  53      transition: transform 0.3s ease;
  54      transform: translateX(0);
  55      overflow: hidden;
  56      z-index: 999;
  57    }
  58    #sidebar.collapsed {
  59      transform: translateX(-340px);
  60    }
  61    .sidebar-header {
  62      margin-bottom: 20px;
  63    }
  64    .sidebar-header h4 {
  65      margin: 0;
  66      font-size: 1.3rem;
  67      color: var(--text-color);
  68    }
  69    .sidebar-menu {
  70      flex: 1;
  71      display: flex;
  72      flex-direction: column;
  73    }
  74    .btn-newchat {
  75      background-color: var(--btn-newchat-bg);
  76      color: #fff;
  77      border: none;
  78      width: 100%;
  79      text-align: left;
  80      padding: 10px;
  81      margin-bottom: 10px;
  82      cursor: pointer;
  83      font-size: 1rem;
  84      transition: background-color 0.2s ease;
  85    }
  86    .btn-newchat:hover {
  87      background-color: #0b5ed7;
  88    }
  89    .sidebar-menu ul {
  90      list-style: none;
  91      padding-left: 0;
  92      margin: 0;
  93    }
  94    .sidebar-menu ul li {
  95      margin: 10px 0;
  96    }
  97    .sidebar-menu ul li a {
  98      color: var(--text-muted);
  99      text-decoration: none;
 100      cursor: pointer;
 101      font-size: 1rem;
 102    }
 103    .sidebar-menu ul li a:hover {
 104      color: var(--link-hover);
 105    }
 106    .sidebar-footer {
 107      margin-top: auto;
 108      padding-top: 20px;
 109      border-top: 1px solid var(--sidebar-border);
 110    }
 111    .sidebar-footer ul {
 112      list-style: none;
 113      padding-left: 0;
 114      margin: 0;
 115    }
 116    .sidebar-footer li {
 117      margin: 10px 0;
 118    }
 119    .sidebar-footer li a {
 120      color: var(--text-muted);
 121      text-decoration: none;
 122      font-size: 1rem;
 123    }
 124    .sidebar-footer li a:hover {
 125      color: var(--link-hover);
 126    }
 127    #mainContent {
 128      margin-left: 340px;
 129      height: 100vh;
 130      display: flex;
 131      flex-direction: column;
 132      transition: margin-left 0.3s ease;
 133    }
 134    #mainContent.expanded {
 135      margin-left: 0;
 136    }
 137    .topbar {
 138      background-color: var(--topbar-bg);
 139      padding: 10px 20px;
 140      border-bottom: 1px solid var(--sidebar-border);
 141      display: flex;
 142      align-items: center;
 143      justify-content: space-between;
 144      color: var(--text-color);
 145      transition: background-color 0.3s ease, color 0.3s ease;
 146    }
 147    .toggle-btn {
 148      background: none;
 149      border: none;
 150      color: var(--text-color);
 151      font-size: 22px;
 152      cursor: pointer;
 153      margin-right: 20px;
 154    }
 155    .theme-toggle-btn {
 156      background: none;
 157      border: 1px solid var(--text-color);
 158      color: var(--text-color);
 159      border-radius: 20px;
 160      padding: 5px 10px;
 161      cursor: pointer;
 162      font-size: 0.9rem;
 163      display: flex;
 164      align-items: center;
 165      gap: 5px;
 166      transition: background-color 0.3s ease, color 0.3s ease;
 167    }
 168    .theme-toggle-btn:hover {
 169      background-color: rgba(255, 255, 255, 0.1);
 170    }
 171    .chat-container {
 172      flex: 1;
 173      padding: 15px;
 174      overflow-y: auto;
 175      background-color: var(--content-bg);
 176      display: flex;
 177      flex-direction: column;
 178      align-items: center;
 179      position: relative;
 180      transition: background-color 0.3s ease;
 181    }
 182    .message-area {
 183      width: 100%;
 184      max-width: 1300px;
 185      position: relative;
 186    }
 187    .message {
 188      margin: 10px 0;
 189      padding: 10px;
 190      border-radius: 6px;
 191      max-width: 70%;
 192    }
 193    .assistant-msg {
 194      background-color: var(--assistant-msg-bg);
 195      color: var(--assistant-msg-color);
 196      align-self: flex-start;
 197    }
 198    .user-msg {
 199      background-color: var(--user-msg-bg);
 200      color: var(--user-msg-color);
 201      margin-left: auto;
 202      align-self: flex-end;
 203    }
 204    .system-msg {
 205      display: none;
 206    }
 207    pre {
 208      position: relative;
 209      background-color: var(--assistant-msg-bg) !important;
 210      padding: 12px;
 211      border-radius: 6px;
 212      overflow-x: auto;
 213      margin: 1rem 0;
 214    }
 215    pre code {
 216      color: var(--assistant-msg-color) !important;
 217      font-family: "Consolas", "Courier New", monospace;
 218      font-size: 0.95rem;
 219      line-height: 1.4;
 220    }
 221    #emptyState {
 222      position: absolute;
 223      top: 35%;
 224      left: 50%;
 225      transform: translate(-50%, -50%);
 226      color: #bbb;
 227      font-size: 2rem;
 228      pointer-events: none;
 229      text-align: center;
 230    }
 231    #emptyState h1 {
 232      color: #fff;
 233      margin-bottom: 1rem;
 234      font-size: 2.2rem;
 235    }
 236    .input-area {
 237      background-color: var(--topbar-bg);
 238      padding: 10px;
 239      border-top: 1px solid var(--sidebar-border);
 240      display: flex;
 241      align-items: flex-start;
 242      width: 100%;
 243      max-width: 1300px;
 244      margin: 0 auto;
 245      transition: background-color 0.3s ease;
 246    }
 247    #message {
 248      flex: 1;
 249      background-color: #333;
 250      color: #a8f1a8;
 251      border: 1px solid #555;
 252      resize: vertical;
 253      min-height: 100px;
 254    }
 255    .btn-send {
 256      background-color: var(--btn-newchat-bg);
 257      color: #fff;
 258      border: none;
 259      margin-left: 10px;
 260      padding: 10px 15px;
 261    }
 262    .btn-send:hover {
 263      background-color: #0b5ed7;
 264    }
 265    .btn-clear {
 266      background-color: #dc3545;
 267      color: #fff;
 268      border: none;
 269      margin-left: 10px;
 270      padding: 10px 15px;
 271    }
 272    .btn-clear:hover {
 273      background-color: #c82333;
 274    }
 275    .btn-mic {
 276      background-color: #4fc3f7;
 277      color: #fff;
 278      border: none;
 279      margin-left: 10px;
 280      border-radius: 50%;
 281      width: 40px;
 282      height: 40px;
 283    }
 284    .btn-mic:hover {
 285      background-color: #29b6f6;
 286    }
 287    .typing-indicator {
 288      font-style: italic;
 289      color: #6aff6a;
 290    }
 291    .modal-content {
 292      background: #212121;
 293      color: #fff;
 294    }
 295   /* copy button styling, matching your example */
 296  .copy-btn {
 297      position: absolute;
 298      top: 8px;
 299      right: 10px;
 300      background-color: #444;           /* dark gray */
 301      color: #fff;
 302      border: none;
 303      border-radius: 4px;
 304      padding: 2px 8px;
 305      font-size: 0.8rem;
 306      cursor: pointer;
 307      z-index: 10;
 308      opacity: 0.7;
 309      transition: opacity 0.2s ease;
 310    }
 311    .copy-btn:hover {
 312      opacity: 1;
 313    }
 314