/* Copilot — custom styles on top of Tailwind CDN. */
body { font-family: 'Inter', system-ui, sans-serif; }
code, pre, .font-mono { font-family: 'JetBrains Mono', ui-monospace, monospace; }

/* 16px inputs stop iOS focus-zoom; keep readable text everywhere. */
input, select, textarea { font-size: 16px; }
@media (min-width: 768px) {
  .text-base { font-size: 1rem; }
}

/* Sidebar drawer (mobile) */
#sidebar.open { transform: translateX(0) !important; box-shadow: 0 0 60px rgba(0,0,0,.6); }

/* Chat bubbles */
.msg { max-width: 52rem; }
.msg-body { line-height: 1.65; word-wrap: break-word; overflow-wrap: anywhere; }
.msg-body p { margin: 0 0 .6em; }
.msg-body p:last-child { margin-bottom: 0; }
.msg-body ul, .msg-body ol { margin: .3em 0 .7em 1.2em; }
.msg-body ul { list-style: disc; }
.msg-body ol { list-style: decimal; }
.msg-body li { margin: .15em 0; }
.msg-body a { color: #38bdf8; text-decoration: underline; }
.msg-body strong { color: #fff; }
.msg-body .md-h { display: block; font-weight: 700; color: #fff; margin: .5em 0 .3em; }
.msg-body pre {
  background: #020617; border: 1px solid #1e293b; border-radius: .6rem;
  padding: .8rem .9rem; overflow-x: auto; margin: .5em 0; position: relative;
}
.msg-body pre code { font-size: .82rem; line-height: 1.55; color: #e2e8f0; }
.msg-body code.inline {
  background: #1e293b; border-radius: .3rem; padding: .05em .35em; font-size: .85em;
}
.copy-btn {
  position: absolute; top: .45rem; right: .45rem; font-size: 11px;
  background: #1e293b; color: #cbd5e1; border: 1px solid #334155;
  border-radius: .4rem; padding: .2rem .5rem; cursor: pointer;
}
.copy-btn:hover { background: #334155; color: #fff; }

/* Typing indicator pulse */
.typing-dot { display: inline-block; animation: pulse-dot 1.1s ease-in-out infinite; }
@keyframes pulse-dot { 0%,100% { opacity: .25; } 50% { opacity: 1; } }

/* Slim scrollbars */
::-webkit-scrollbar { width: 9px; height: 9px; }
::-webkit-scrollbar-thumb { background: #334155; border-radius: 6px; }
::-webkit-scrollbar-track { background: transparent; }

/* Conversation list item */
.conv-item { border: 1px solid transparent; }
.conv-item:hover { background: #1e293b; }
.conv-item.active { background: #1e293b; border-color: #334155; }
