:root{
  --bg:#0f172a;        /* dark slate */
  --panel:#0b1220;
  --border:#1e293b;
  --muted:#9db2d1;
  --text:#e5e7eb;
  --accent:#2563eb;
  --accent-2:#1d4ed8;
}

#dhunt-shell{
  max-width:1200px;
  margin:32px auto;
  display:grid;
  grid-template-columns: 340px 1fr;
  gap:18px;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--text);
}

#dhunt-panel, #dhunt-output{
  background: var(--bg);
  border:1px solid var(--border);
  border-radius:14px;
  box-shadow: 0 8px 26px rgba(0,0,0,.35);
}

#dhunt-panel{ padding:18px; }
#dhunt-panel h2{ margin:0 0 8px; color:#f8fafc; font-size:22px; }
#dhunt-panel label{ display:block; margin-top:10px; color: var(--muted); font-size:14px; }

#dhunt-panel input[type="text"],
#dhunt-panel textarea{
  width:100%;
  margin-top:6px;
  padding:10px 12px;
  border-radius:10px;
  border:1px solid #334155;
  background:#0f172a;
  color:var(--text);
}

.options{ margin-top:10px; display:flex; flex-direction:column; gap:6px; }
.options input{ margin-right:6px; }

.actions{ margin-top:14px; display:flex; gap:10px; }
.actions button{
  padding:10px 14px; border-radius:10px; border:none; cursor:pointer;
}
#dhunt-clear{ background:#1f2937; color:#cbd5e1; border:1px solid #374151; }
#dhunt-clear:hover{ background:#111827; }
#dhunt-run{ background:var(--accent); color:#fff; }
#dhunt-run:hover{ background:var(--accent-2); }

#dhunt-output{ padding:16px; }
#dhunt-log{
  height: 760px;
  overflow:auto;
  background: var(--panel);
  border-radius:10px;
  padding:18px;
}

/* Messages */
.user-msg, .bot-msg{
  border-radius: 12px;
  padding: 14px;
  margin: 12px 0;
}
.user-msg{ background: #1d4ed8; color: #fff; }
.bot-msg{  background: #0f172a; border: 1px solid #233048; }
.bot-msg.error{ background:#3b0d0d; border-color:#7f1d1d; color:#fecaca; }
.msg-header{ margin-bottom:8px; color:var(--muted); }

/* Markdown defaults */
.markdown-body{ font-size:16px; line-height:1.6; color:var(--text); }
.markdown-body h2{ font-size:1.4rem; margin:1.1rem 0 .6rem; border-bottom:1px solid #24324a; padding-bottom:.25rem; }
.markdown-body h3{ font-size:1.2rem; margin:.9rem 0 .4rem; }
.markdown-body p{ margin:.6em 0; }
.markdown-body ul,.markdown-body ol{ padding-left:1.2rem; margin:.5em 0; }
.markdown-body li+li{ margin-top:.2rem; }
.markdown-body strong{ color:#fff; }

.markdown-body table{ width:100%; border-collapse:collapse; margin:1rem 0; font-size:15px; }
.markdown-body th,.markdown-body td{ border:1px solid #233048; padding:10px; }
.markdown-body th{ background:#0f1b33; text-align:left; color:#e2e8f0; }
.markdown-body tr:nth-child(even){ background:#0c1426; }

.markdown-body a{ color:#93c5fd; text-decoration:none; }
.markdown-body a:hover{ text-decoration:underline; }

/* Badges the model may output */
.badge{
  display:inline-flex; align-items:center; gap:6px;
  padding:2px 8px; font-size:.85rem; border-radius:999px;
  border:1px solid transparent; background:#1f2937; color:#e5e7eb;
}
.badge.success{ background:#0b3d2e; border-color:#167a5a; color:#b6f3d8; }
.badge.warning{ background:#3a2b0b; border-color:#8a6b1f; color:#fde68a; }
.badge.neutral{ background:#1f2937; border-color:#374151; color:#cbd5e1; }

/* TradingView chart container */
.tv-chart{
  width:100%;
  height:420px;
  background:#0b1220;
  border:1px solid #233048;
  border-radius:12px;
  margin:16px 0;
}
