/ .obsidian / plugins / copilot / styles.css
styles.css
  1  /*
  2  
  3  This CSS file will be included with your plugin, and
  4  available in the app when your plugin is enabled.
  5  
  6  If your plugin does not need CSS, delete this file.
  7  
  8  */
  9  
 10  .button-container {
 11    display: flex;
 12    justify-content: space-between;
 13    align-items: center;
 14  }
 15  
 16  .button-container .mod-cta {
 17    flex: 1; /* Make buttons take equal width */
 18    margin: 25px; /* Adds some space between buttons */
 19  }
 20  
 21  .warning-message {
 22    background-color: black;
 23    color: orange;
 24    padding: 10px;
 25    margin: 10px 0;
 26    border-radius: 5px;
 27    border: 1px solid orange;
 28    font-weight: bolder;
 29    text-align: center;
 30  }
 31  
 32  .copilot-setting-item-name {
 33    font-weight: bold;
 34    display: block;
 35    color: var(--inline-title-color);
 36    margin-top: 20px;
 37    margin-bottom: 10px;
 38  }
 39  
 40  .copilot-setting-item-description {
 41    display: block;
 42    margin-top: 10px;
 43    margin-bottom: 10px;
 44  }
 45  
 46  .copilot-setting-item-control {
 47    width: 50%; /* Adjust the width as needed */
 48    max-width: 100%; /* Ensures it doesn't exceed the parent width */
 49  }
 50  
 51  .copilot-setting-item-control::placeholder {
 52    color: gray; /* Set the color you want for the placeholder text */
 53    opacity: 0.5; /* Adjust for lighter appearance */
 54  }
 55  
 56  .copilot-setting-item-control[type="range"] {
 57    width: 70%;
 58  }
 59  
 60  .chat-container {
 61    display: flex;
 62    flex-direction: column;
 63    width: 100%;
 64    height: 100%;
 65    overflow: hidden; /* Fix overflow and can't scroll up */
 66  }
 67  
 68  .bottom-container {
 69    display: flex;
 70    flex-direction: column;
 71    align-items: flex-start;
 72    justify-content: flex-end;
 73    width: 100%;
 74    flex: 0 0 auto;
 75    box-sizing: border-box;
 76  }
 77  
 78  .chat-icons-container {
 79    display: flex;
 80    justify-content: center;
 81    align-items: center;
 82    width: 100%;
 83    padding: 8px 8px 0;
 84    order: 1;
 85    gap: 8px;
 86    flex-wrap: wrap;
 87  }
 88  
 89  .icon-scaler {
 90    transform: scale(1.6);
 91  }
 92  
 93  .tooltip-text {
 94    visibility: hidden;
 95    opacity: 0;
 96    background-color: #333;
 97    color: #fff;
 98    text-align: center;
 99    border-radius: 5px;
100    padding: 5px;
101    position: absolute;
102    z-index: 1;
103    bottom: 100%;
104    left: 50%;
105    margin-bottom: 4px;
106    transform: translateX(-50%);
107    transition: opacity 0.3s;
108  }
109  
110  .select-wrapper {
111    position: relative;
112    display: inline-block;
113  }
114  
115  .select-wrapper:hover .tooltip-text,
116  .chat-icon-button.clickable-icon:hover .tooltip-text {
117    visibility: visible !important;
118    opacity: 1 !important;
119  }
120  
121  .chat-icon-button.clickable-icon {
122    display: flex !important;
123    justify-content: center !important;
124    align-items: center !important;
125    width: 22px !important;
126    height: 22px !important;
127    cursor: pointer !important;
128    position: relative !important;
129  }
130  
131  .chat-icon-selection {
132    color: var(--inline-title-color);
133  }
134  
135  .chat-input-container {
136    display: flex;
137    padding: 8px;
138    box-sizing: border-box;
139    flex-grow: 1;
140    width: 100%;
141    order: 2;
142    position: relative;
143  }
144  
145  .chat-input-container textarea {
146    width: 100%;
147    margin-right: 0;
148    margin-bottom: 8px;
149    resize: none;
150    overflow: auto;
151    min-height: 60px;
152    max-height: 200px;
153    box-sizing: border-box;
154    border: 1px solid gray;
155    border-radius: 10px;
156    padding: 15px 60px 15px 15px;
157  }
158  
159  .chat-input-container textarea::placeholder {
160    color: var(--inline-title-color);
161    opacity: 0.5;
162  }
163  
164  .chat-input-container button {
165    position: absolute;
166    right: 22px;
167    bottom: 31px;
168    padding: 8px;
169    margin: 0;
170    z-index: 1;
171  }
172  
173  .chat-messages {
174    display: flex;
175    flex-direction: column;
176    align-items: flex-start;
177    justify-content: flex-start;
178    flex: 1;
179    overflow-y: auto;
180    padding: 8px;
181    width: 100%;
182    word-wrap: break-word;
183    overflow-wrap: break-word;
184    font-size: calc(var(--font-text-size) - 2px);
185    box-sizing: border-box;
186    scroll-behavior: smooth;
187    margin-top: auto;
188    user-select: text;
189  }
190  
191  .chat-message-container {
192    display: flex;
193    flex-direction: column;
194    width: 100%;
195    margin-bottom: 8px;
196  }
197  
198  .message {
199    display: flex;
200    padding: 0;
201    border-radius: 4px;
202    position: relative;
203    margin-bottom: 0;
204  }
205  
206  .message-icon {
207    width: 24px;
208    margin-right: 8px;
209    color: var(--inline-title-color);
210    flex-shrink: 0;
211  }
212  
213  .message-content {
214    flex-grow: 1;
215    max-width: 95%;
216    word-break: break-word;
217    line-height: 1.6 !important;
218  }
219  
220  .message-content p {
221    margin-top: 0;
222    margin-bottom: 0;
223  }
224  
225  .message-content table {
226    margin-top: 15px;
227    margin-bottom: 15px;
228  }
229  
230  /* Style for inline code */
231  .message-content code {
232    background-color: var(--code-background);
233    padding: 2px 4px;
234    border-radius: 3px;
235    color: var(--code-normal);
236  }
237  
238  /* Style for code blocks */
239  .message-content pre {
240    background-color: var(--background-primary-alt);
241    border-radius: 4px;
242    padding: 10px;
243    border: 1px solid var(--background-modifier-border);
244  }
245  
246  .message-content pre code {
247    background-color: transparent;
248    padding: 0;
249    color: var(--code-normal);
250    line-height: 1.5 !important;
251    display: block;
252  }
253  
254  /* Style for the copy button in code blocks */
255  .message-content pre {
256    position: relative;
257  }
258  
259  .message-content pre .copy-code-button {
260    position: absolute;
261    top: 0;
262    right: 0;
263    padding: 4px 8px;
264    color: var(--text-muted);
265    background-color: var(--background-primary);
266    border: 1px solid var(--background-modifier-border);
267    border-radius: 0 4px 0 4px;
268    font-size: 0.8em;
269    transition: all 0.1s ease;
270    opacity: 0;
271  }
272  
273  .message-content pre:hover .copy-code-button {
274    opacity: 1;
275  }
276  
277  .message-content pre .copy-code-button:hover {
278    background-color: var(--background-modifier-hover);
279    color: var(--text-normal);
280  }
281  
282  .message-content ul,
283  .message-content ol {
284    padding-left: 20px;
285    margin: 10px;
286  }
287  
288  .message-buttons-wrapper {
289    align-self: flex-end;
290    margin-top: 0;
291  }
292  
293  .chat-message-buttons {
294    display: flex;
295    gap: 4px;
296    align-items: center;
297    height: 24px;
298  }
299  
300  .chat-message-buttons button {
301    width: 24px;
302    height: 24px;
303    padding: 0;
304    font-size: 12px;
305    display: flex;
306    justify-content: center;
307    align-items: center;
308    background-color: transparent;
309    border: none;
310    cursor: pointer;
311    color: var(--text-muted);
312    transition: color 0.2s ease;
313  }
314  
315  .chat-message-buttons button:hover {
316    color: var(--text-normal);
317  }
318  
319  .chat-message-buttons button svg {
320    width: 16px;
321    height: 16px;
322  }
323  
324  .user-message {
325    white-space: pre-wrap;
326    width: 95%;
327    color: var(--inline-title-color);
328  }
329  
330  .bot-message {
331    width: 95%;
332  }
333  
334  .copilot-command-modal {
335    display: flex;
336    flex-direction: column;
337    align-items: center;
338    gap: 10px;
339  }
340  
341  .copilot-command-input-container {
342    width: 90%;
343    margin: auto;
344  }
345  
346  .copilot-command-input-container input,
347  .copilot-command-input-container textarea {
348    display: block;
349    width: 100%;
350    margin-top: 10px;
351  }
352  
353  .copilot-command-input-container textarea {
354    height: 150px;
355    resize: vertical;
356  }
357  
358  .copilot-command-save-btn-container {
359    display: flex;
360    justify-content: center;
361    align-items: center;
362    text-align: center;
363  }
364  
365  .copilot-command-save-btn {
366    margin-top: 15px;
367  }
368  
369  .model-settings-table {
370    border-collapse: collapse;
371    width: 100%;
372  }
373  
374  .model-settings-table th,
375  .model-settings-table td {
376    text-align: center;
377    vertical-align: middle;
378    padding: 0.5em;
379    border: none !important;
380    height: 2.5em;
381  }
382  
383  .model-settings-table th {
384    font-weight: bold;
385  }
386  
387  .model-settings-table th:nth-child(1) {
388    width: 10%;
389  }
390  
391  .model-settings-table th:nth-child(2) {
392    width: 50%;
393  }
394  
395  .model-settings-table th:nth-child(3) {
396    width: 16%;
397  }
398  
399  .model-settings-table th:nth-child(4),
400  .model-settings-table th:nth-child(5),
401  .model-settings-table th:nth-child(6) {
402    width: 8%;
403  }
404  
405  .model-settings-table .switch {
406    display: flex;
407    justify-content: center;
408    align-items: center;
409    height: 100%;
410    margin-top: -1.2em;
411  }
412  
413  .add-custom-model {
414    margin-top: 20px;
415  }
416  
417  .switch.disabled {
418    opacity: 0.5;
419    cursor: not-allowed;
420  }
421  
422  .switch.disabled input:checked + .slider {
423    background-color: #ccc;
424  }
425  
426  .switch.disabled input:focus + .slider {
427    box-shadow: 0 0 1px #ccc;
428  }
429  
430  .switch.disabled input:checked + .slider:before {
431    -webkit-transform: translateX(26px);
432    -ms-transform: translateX(26px);
433    transform: translateX(26px);
434  }
435  
436  .model-select {
437    max-width: 150px;
438    white-space: nowrap;
439    overflow: hidden;
440    text-overflow: ellipsis;
441  }
442  
443  .select-wrapper::after {
444    content: "\25BC";
445    position: absolute;
446    top: 50%;
447    right: 10px;
448    transform: translateY(-50%);
449    pointer-events: none;
450  }
451  
452  .add-model-button {
453    margin-top: 15px;
454  }
455  
456  .edit-textarea {
457    width: 100%;
458    min-height: 40px;
459    padding: 8px;
460    font-size: 14px;
461    line-height: 1.5;
462    border: 1px solid #ccc;
463    border-radius: 4px;
464    resize: vertical;
465    overflow-y: hidden;
466  }
467  
468  .edit-textarea:focus {
469    outline: none;
470    box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.25);
471  }