/* 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; }
