Format: text/css
⬇ Download File (2.4 KB)
   1  /* Main stylesheet for NovaChat */
   2  :root {
   3      /* Dark mode variables (default) */
   4      --bg-color: #1a1a1a;
   5      --sidebar-bg: #2d2d2d;
   6      --sidebar-border: #444;
   7      --text-color: #7ee787;
   8      --text-muted: #9e9e9e;
   9      --content-bg: #1a1a1a;
  10      --topbar-bg: #212121;
  11      --link-hover: #fff;
  12      --assistant-msg-bg: #2f352f;
  13      --assistant-msg-color: #9ef1a0;
  14      --user-msg-bg: #15354f;
  15      --user-msg-color: #a0f1f1;
  16      --btn-newchat-bg: #0d6efd;
  17  }
  18  
  19  body.light-mode {
  20      /* Light mode overrides */
  21      --bg-color: #f8f9fa;
  22      --sidebar-bg: #e9ecef;
  23      --sidebar-border: #ccc;
  24      --text-color: #0d6efd;
  25      --text-muted: #6c757d;
  26      --content-bg: #f8f9fa;
  27      --topbar-bg: #e9ecef;
  28      --link-hover: #000;
  29      --assistant-msg-bg: #e2ffe2;
  30      --assistant-msg-color: #198754;
  31      --user-msg-bg: #cce5ff;
  32      --user-msg-color: #0d6efd;
  33      --btn-newchat-bg: #0d6efd;
  34  }
  35  
  36  
  37  
  38  .message-bubble {
  39    transition: all var(--animation-speed) cubic-bezier(0.4, 0, 0.2, 1);
  40    transform-origin: center bottom;
  41  }
  42  
  43  
  44  
  45  .user-message {
  46    background-color: var(--color-primary);
  47  }
  48  
  49  
  50  
  51  .ai-message {
  52    background-color: var(--color-secondary);
  53  }
  54  
  55  
  56  
  57  .chat-input {
  58    transition: transform 0.2s ease-in-out;
  59  }
  60  
  61  
  62  
  63  .chat-input:focus {
  64    transform: scale(1.02);
  65  }
  66  
  67  
  68  
  69  @keyframes fade-in-up {
  70    from { opacity: 0; transform: translateY(20px); }
  71  
  72  
  73    to { opacity: 1; transform: translateY(0); }
  74  
  75  
  76  }
  77  
  78  
  79  
  80  .new-message {
  81    animation: fade-in-up var(--animation-speed) ease-out;
  82  }
  83  
  84  
  85  
  86  .media-player {
  87      background: #1a1a1a;
  88      border-radius: 8px;
  89      padding: 15px;
  90  }
  91  
  92  
  93  
  94  .persona-badge {
  95      font-size: 0.8rem;
  96      padding: 2px 8px;
  97      border-radius: 12px;
  98      background: #6c757d;
  99      color: white;
 100      display: inline-block;
 101  }
 102  
 103  
 104  
 105  .torrent-info {
 106      background: #2d2d2d;
 107      padding: 15px;
 108      border-radius: 8px;
 109      color: #fff;
 110  }
 111  
 112  
 113  
 114  .progress-bar-striped {
 115      animation: progress-animation 1s linear infinite;
 116  }
 117  
 118  
 119  
 120  @keyframes progress-animation {
 121      0% { background-position: 40px 0; }
 122  
 123  
 124      100% { background-position: 0 0; }
 125  
 126  
 127  }
 128  
 129  
 130  
 131  /* Mobile-first media queries */
 132  @media (min-width: 768px) {
 133    .sidebar {
 134      height: 100vh;
 135      position: sticky;
 136      top: 0;
 137    }
 138  
 139  
 140  }
 141  
 142  
 143  
 144  @media (max-width: 767px) {
 145    .message-bubble {
 146      font-size: 14px;
 147      padding: 8px 12px;
 148    }
 149  
 150  
 151    .chat-input {
 152      font-size: 14px;
 153    }
 154  
 155  
 156  }