/* CallitIQ — shared styles for generated market / archive / report pages */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --navy:#1b2d4f; --red:#c0392b; --green:#059669; --gold:#d97706;
  --yes:#059669; --no:#dc2626; --page:#f5f4f0; --card:#fff;
  --line:#e8e4dd; --line-md:#d4cfc7; --t1:#1a1a1a; --t2:#444; --t3:#777; --t4:#aaa;
  --r:14px; --r-sm:8px; --sh:0 2px 10px rgba(0,0,0,0.07),0 1px 3px rgba(0,0,0,0.04);
}
html { font-size:16px; -webkit-text-size-adjust:100%; }
body {
  font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
  background:var(--page); color:var(--t1); line-height:1.5; min-height:100vh;
}
a { color:var(--navy); }
.mk-c { max-width:760px; margin:0 auto; padding:0 24px; }

/* Header / footer */
.mk-top { background:var(--card); border-bottom:3px solid var(--navy); }
.mk-top .mk-c { display:flex; align-items:center; justify-content:space-between; height:58px; }
.mk-logo { font-family:Georgia,serif; font-weight:700; font-size:20px; color:var(--navy); text-decoration:none; letter-spacing:-0.3px; }
.mk-logo em { color:var(--red); font-style:normal; }
.mk-nav a { font-size:13px; font-weight:700; color:var(--t2); text-decoration:none; margin-left:18px; }
.mk-nav a:hover { color:var(--navy); }
.mk-foot { background:var(--card); border-top:1px solid var(--line); margin-top:40px; padding:24px 0; }
.mk-foot p { font-size:11px; color:var(--t3); line-height:1.6; margin-bottom:8px; }
.mk-foot nav a { font-size:12px; color:var(--t2); text-decoration:none; }

/* Main */
.mk-main { padding:30px 0 20px; }
.mk-crumbs { font-size:11px; font-weight:700; letter-spacing:0.4px; color:var(--t3); text-transform:uppercase; margin-bottom:14px; }
.mk-crumbs a { color:var(--t3); text-decoration:none; }
.mk-crumbs a:hover { color:var(--navy); }
.mk-head { display:flex; align-items:center; gap:10px; margin-bottom:8px; }
.mk-pill { font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:1px; padding:4px 9px; border-radius:20px; }
.mk-pill-live { background:#ecfdf5; color:var(--green); }
.mk-pill-resolved { background:#f3f4f6; color:var(--t3); }
.mk-cat { font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:1.5px; color:var(--red); }
.mk-q { font-family:Georgia,"Times New Roman",serif; font-size:30px; line-height:1.18; color:var(--navy); letter-spacing:-0.5px; margin:6px 0 16px; }
.mk-banner { background:#fff7ed; border:1px solid #fed7aa; color:#9a3412; font-size:13px; font-weight:600; padding:11px 14px; border-radius:var(--r-sm); margin-bottom:18px; }

/* Odds display */
.mk-odds { text-align:center; margin:10px 0 6px; }
.mk-pct { font-family:Georgia,serif; font-size:64px; font-weight:700; line-height:1; color:var(--gold); }
.mk-odds.mk-bull .mk-pct { color:var(--green); }
.mk-odds.mk-bear .mk-pct { color:var(--no); }
.mk-pct span { font-size:30px; }
.mk-pct-sub { font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:1.5px; color:var(--t3); margin-top:4px; }
.mk-yn { display:flex; height:34px; border-radius:var(--r-sm); overflow:hidden; margin:18px 0 14px; font-size:12px; font-weight:800; color:#fff; }
.mk-yn-yes { background:var(--yes); display:flex; align-items:center; padding:0 12px; min-width:52px; }
.mk-yn-no { background:var(--no); display:flex; align-items:center; justify-content:flex-end; padding:0 12px; min-width:52px; }
.mk-spark { width:100%; height:90px; display:block; margin:6px 0 12px; }
.mk-meta { display:flex; flex-wrap:wrap; gap:8px 16px; font-size:12px; font-weight:700; color:var(--t3); margin-bottom:14px; }
.mk-tags { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:20px; }
.mk-tag { font-size:11px; font-weight:700; color:var(--t2); background:var(--card); border:1px solid var(--line-md); border-radius:20px; padding:4px 10px; }

/* Headlines */
.mk-headlines { border-top:1px solid var(--line); padding-top:18px; margin-bottom:22px; }
.mk-headlines h2 { font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:1px; color:var(--navy); margin-bottom:10px; }
.mk-headlines ul { list-style:none; display:grid; gap:8px; }
.mk-headlines a { color:var(--navy); text-decoration:none; font-weight:600; font-size:14px; }
.mk-headlines a:hover { text-decoration:underline; }
.mk-src { color:var(--t4); font-size:12px; font-weight:500; }

/* CTA */
.mk-cta { margin:20px 0; }
.mk-btn { display:inline-flex; align-items:center; gap:6px; background:var(--navy); color:#fff; text-decoration:none; font-size:14px; font-weight:800; padding:12px 22px; border-radius:var(--r-sm); }
.mk-btn:hover { background:var(--navy-mid,#243d6a); }

/* Comments */
.mk-comments { border-top:1px solid var(--line); padding-top:22px; margin-top:8px; }
.mk-comments h2 { font-family:Georgia,serif; font-size:20px; color:var(--navy); margin-bottom:14px; }
.cmt-list { display:grid; gap:12px; margin-bottom:20px; }
.cmt { background:var(--card); border:1px solid var(--line); border-radius:var(--r-sm); padding:12px 14px; }
.cmt-head { display:flex; justify-content:space-between; font-size:12px; margin-bottom:5px; }
.cmt-name { font-weight:800; color:var(--navy); }
.cmt-time { color:var(--t4); }
.cmt-body { font-size:14px; color:var(--t2); line-height:1.55; white-space:pre-wrap; word-break:break-word; }
.cmt-empty { font-size:13px; color:var(--t3); }
.cmt-form { display:grid; gap:10px; background:var(--card); border:1px solid var(--line); border-radius:var(--r); padding:16px; }
.cmt-form input, .cmt-form textarea { font:inherit; font-size:14px; padding:10px 12px; border:1.5px solid var(--line-md); border-radius:var(--r-sm); width:100%; }
.cmt-form textarea { min-height:88px; resize:vertical; }
.cmt-form button { justify-self:start; background:var(--green); color:#fff; border:none; font-weight:800; font-size:14px; padding:11px 22px; border-radius:var(--r-sm); cursor:pointer; }
.cmt-form button:disabled { opacity:0.5; cursor:default; }
.cmt-note { font-size:11px; color:var(--t4); }
.cmt-error { font-size:12px; color:var(--no); font-weight:700; }

/* Archive */
.mk-arch-title { font-family:Georgia,serif; font-size:30px; color:var(--navy); margin-bottom:8px; }
.mk-arch-sub { font-size:14px; color:var(--t2); margin-bottom:22px; }
.mk-arch-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:12px; }
.mk-arch-card { display:flex; flex-direction:column; gap:4px; background:var(--card); border:1px solid var(--line); border-left:4px solid var(--gold); border-radius:var(--r-sm); padding:14px; text-decoration:none; transition:box-shadow .12s,transform .12s; }
.mk-arch-card.mk-bull { border-left-color:var(--green); }
.mk-arch-card.mk-bear { border-left-color:var(--no); }
.mk-arch-card:hover { box-shadow:var(--sh); transform:translateY(-2px); }
.mk-arch-pct { font-family:Georgia,serif; font-size:22px; font-weight:700; color:var(--navy); }
.mk-arch-q { font-size:13px; font-weight:600; color:var(--t1); line-height:1.35; }
.mk-arch-meta { font-size:11px; color:var(--t4); font-weight:700; text-transform:uppercase; letter-spacing:0.5px; }
.mk-pager { display:flex; align-items:center; justify-content:space-between; margin:28px 0 6px; font-size:13px; font-weight:700; }
.mk-pager a { color:var(--navy); text-decoration:none; }
.mk-page-n { color:var(--t3); }
.mk-empty { font-size:14px; color:var(--t3); padding:20px 0; }

/* Report */
.mk-rep-sec { border-top:1px solid var(--line); padding-top:16px; margin-top:18px; }
.mk-rep-sec h2 { font-size:13px; font-weight:800; text-transform:uppercase; letter-spacing:1px; color:var(--navy); margin-bottom:10px; }
.mk-rep-list { list-style:none; display:grid; gap:8px; }
.mk-rep-list li { display:flex; align-items:baseline; gap:10px; font-size:14px; }
.mk-rep-list a { flex:1; color:var(--navy); text-decoration:none; font-weight:600; }
.mk-rep-list a:hover { text-decoration:underline; }
.mk-rep-pct { font-family:Georgia,serif; font-weight:700; color:var(--navy); }
.mk-rep-delta { font-size:12px; font-weight:800; }
.mk-rep-delta.up { color:var(--green); }
.mk-rep-delta.down { color:var(--no); }
.mk-rep-cta { text-align:center; background:#fbfaf7; border:1px solid var(--line); border-radius:var(--r); padding:22px; margin-top:26px; }
.mk-rep-cta h2 { font-family:Georgia,serif; font-size:22px; color:var(--navy); margin-bottom:6px; }
.mk-rep-cta p { font-size:14px; color:var(--t2); max-width:440px; margin:0 auto 14px; }

/* Ads */
.ad-slot { margin:24px 0; text-align:center; }
.ad-slot:empty { display:none; margin:0; }
.ad-label { font-size:9px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:var(--t4); margin-bottom:4px; }

@media (max-width:620px) {
  .mk-c { padding:0 16px; }
  .mk-q { font-size:24px; }
  .mk-pct { font-size:52px; }
  .mk-nav a { margin-left:12px; }
  .mk-arch-grid { grid-template-columns:1fr 1fr; }
}
