124 lines
3.4 KiB
CSS
124 lines
3.4 KiB
CSS
/* Custom overrides on top of Tailwind — Copilot-style dark theme */
|
|
|
|
:root {
|
|
--scrollbar-thumb: #313244;
|
|
--scrollbar-track: #1e1e2e;
|
|
}
|
|
|
|
/* Scrollbars */
|
|
* {
|
|
scrollbar-width: thin;
|
|
scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-track);
|
|
}
|
|
*::-webkit-scrollbar { width: 6px; height: 6px; }
|
|
*::-webkit-scrollbar-track { background: var(--scrollbar-track); }
|
|
*::-webkit-scrollbar-thumb { background: var(--scrollbar-thumb); border-radius: 3px; }
|
|
*::-webkit-scrollbar-thumb:hover { background: #45475a; }
|
|
|
|
/* Smooth selection highlight */
|
|
::selection { background: rgba(137, 180, 250, 0.3); }
|
|
|
|
/* Textarea — no resize handle */
|
|
textarea { resize: none; }
|
|
|
|
/* Pre block in document view */
|
|
#doc-content {
|
|
user-select: text;
|
|
cursor: text;
|
|
}
|
|
|
|
/* Inline popup fade-in */
|
|
#inline-popup {
|
|
animation: fadeIn 120ms ease;
|
|
}
|
|
@keyframes fadeIn {
|
|
from { opacity: 0; transform: scale(0.97) translateY(-4px); }
|
|
to { opacity: 1; transform: scale(1) translateY(0); }
|
|
}
|
|
|
|
/* Chat bubble animations */
|
|
#messages > div {
|
|
animation: slideIn 150ms ease;
|
|
}
|
|
@keyframes slideIn {
|
|
from { opacity: 0; transform: translateY(6px); }
|
|
to { opacity: 1; transform: translateY(0); }
|
|
}
|
|
|
|
/* Fix Tailwind's accent color for checkboxes */
|
|
input[type="checkbox"] {
|
|
cursor: pointer;
|
|
width: 14px;
|
|
height: 14px;
|
|
}
|
|
|
|
/* Sidebar resize handle (visual only) */
|
|
#sidebar {
|
|
transition: width 200ms ease;
|
|
}
|
|
|
|
/* Flash messages */
|
|
.flash-msg {
|
|
animation: fadeIn 200ms ease, fadeOut 300ms 3700ms ease forwards;
|
|
}
|
|
@keyframes fadeOut {
|
|
to { opacity: 0; transform: translateY(-8px); }
|
|
}
|
|
|
|
/* Remove default focus outline on editor mount */
|
|
#editor-mount:focus { outline: none; }
|
|
|
|
/* Markdown rendering inside assistant chat bubbles */
|
|
.markdown-body { line-height: 1.6; }
|
|
.markdown-body p { margin-bottom: 0.6em; }
|
|
.markdown-body p:last-child { margin-bottom: 0; }
|
|
.markdown-body ul, .markdown-body ol { padding-left: 1.4em; margin-bottom: 0.6em; }
|
|
.markdown-body ul { list-style: disc; }
|
|
.markdown-body ol { list-style: decimal; }
|
|
.markdown-body li { margin-bottom: 0.2em; }
|
|
.markdown-body h1, .markdown-body h2, .markdown-body h3,
|
|
.markdown-body h4, .markdown-body h5, .markdown-body h6 {
|
|
font-weight: 600;
|
|
margin-top: 0.8em;
|
|
margin-bottom: 0.4em;
|
|
color: #cdd6f4;
|
|
}
|
|
.markdown-body h1 { font-size: 1.2em; }
|
|
.markdown-body h2 { font-size: 1.1em; }
|
|
.markdown-body h3 { font-size: 1em; }
|
|
.markdown-body code {
|
|
background: #181825;
|
|
border: 1px solid #313244;
|
|
border-radius: 4px;
|
|
padding: 0.1em 0.35em;
|
|
font-family: ui-monospace, monospace;
|
|
font-size: 0.875em;
|
|
}
|
|
.markdown-body pre {
|
|
background: #181825;
|
|
border: 1px solid #313244;
|
|
border-radius: 8px;
|
|
padding: 0.75em 1em;
|
|
overflow-x: auto;
|
|
margin-bottom: 0.6em;
|
|
}
|
|
.markdown-body pre code {
|
|
background: none;
|
|
border: none;
|
|
padding: 0;
|
|
font-size: 0.875em;
|
|
}
|
|
.markdown-body blockquote {
|
|
border-left: 3px solid #89b4fa;
|
|
padding-left: 0.75em;
|
|
color: #6c7086;
|
|
margin-bottom: 0.6em;
|
|
}
|
|
.markdown-body strong { font-weight: 600; color: #cdd6f4; }
|
|
.markdown-body em { font-style: italic; }
|
|
.markdown-body a { color: #89b4fa; text-decoration: underline; }
|
|
.markdown-body hr { border-color: #313244; margin: 0.8em 0; }
|
|
.markdown-body table { border-collapse: collapse; width: 100%; margin-bottom: 0.6em; font-size: 0.875em; }
|
|
.markdown-body th, .markdown-body td { border: 1px solid #313244; padding: 0.3em 0.6em; }
|
|
.markdown-body th { background: #181825; font-weight: 600; }
|