/* Stock Analysis Report Styles — v1.0
   Provides clean typography and layout for generated Markdown reports
   when rendered in HTML (e.g., via GitHub, markdown preview, or PDF export). */

:root {
  --color-bg: #ffffff;
  --color-fg: #1a1a2e;
  --color-muted: #6b7280;
  --color-accent: #2563eb;
  --color-bullish: #059669;
  --color-bearish: #dc2626;
  --color-neutral: #d97706;
  --color-border: #e5e7eb;
  --color-table-stripe: #f9fafb;
  --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-mono: "SF Mono", "Fira Code", "Cascadia Code", monospace;
}

body {
  font-family: var(--font-sans);
  color: var(--color-fg);
  background: var(--color-bg);
  line-height: 1.7;
  max-width: 860px;
  margin: 0 auto;
  padding: 2rem 1.5rem;
}

h1 { font-size: 1.75rem; border-bottom: 2px solid var(--color-accent); padding-bottom: 0.5rem; }
h2 { font-size: 1.4rem; margin-top: 2rem; border-bottom: 1px solid var(--color-border); padding-bottom: 0.25rem; }
h3 { font-size: 1.15rem; margin-top: 1.5rem; }
h4 { font-size: 1rem; color: var(--color-muted); }

strong { color: var(--color-fg); }

/* Rating badges */
.rating-strong-buy  { color: var(--color-bullish); font-weight: 700; }
.rating-buy         { color: var(--color-bullish); }
.rating-hold        { color: var(--color-neutral); }
.rating-sell        { color: var(--color-bearish); }
.rating-strong-sell { color: var(--color-bearish); font-weight: 700; }

/* Source citations */
.source-citation {
  font-size: 0.8rem;
  color: var(--color-muted);
  font-family: var(--font-mono);
}

.source-fact            { border-left: 3px solid var(--color-accent); padding-left: 0.75rem; }
.source-interpretation  { border-left: 3px solid var(--color-neutral); padding-left: 0.75rem; }
.source-speculation     { border-left: 3px solid var(--color-bearish); padding-left: 0.75rem; }

/* Tables */
table {
  width: 100%;
  border-collapse: collapse;
  margin: 1rem 0;
  font-size: 0.9rem;
}
th, td {
  padding: 0.5rem 0.75rem;
  text-align: left;
  border-bottom: 1px solid var(--color-border);
}
th { background: var(--color-table-stripe); font-weight: 600; }
tr:nth-child(even) td { background: var(--color-table-stripe); }

/* Risk/Reward summary */
.bull-case  { color: var(--color-bullish); }
.bear-case  { color: var(--color-bearish); }
.base-case  { color: var(--color-fg); }

/* Conviction score */
.conviction-bar {
  display: inline-block;
  height: 8px;
  border-radius: 4px;
  background: linear-gradient(to right, var(--color-bearish), var(--color-neutral), var(--color-bullish));
}

/* Blockquotes for kill switch / alerts */
blockquote.warning {
  border-left: 4px solid var(--color-bearish);
  background: #fef2f2;
  padding: 0.75rem 1rem;
  margin: 1rem 0;
}

blockquote.kill-switch {
  border-left: 4px solid #7c3aed;
  background: #f5f3ff;
  padding: 0.75rem 1rem;
  margin: 1rem 0;
  font-family: var(--font-mono);
  font-size: 0.85rem;
}

/* Print optimizations */
@media print {
  body { max-width: 100%; padding: 0; font-size: 11pt; }
  h1, h2, h3 { page-break-after: avoid; }
  table { page-break-inside: avoid; }
}
