/* -------------------------------------------------------------------------
   THE SMYTHE REPORT — old-web design system
   Deliberately old-school: system fonts only, default link colors,
   hard 1px borders, no radius, no shadow, table-based grid.
   Palette: #ffffff paper, #000 ink, #b30000 masthead red,
            #0000EE link blue (browser default), #551A8B visited (browser default)
   Type: Georgia/Times serif for headlines, Arial/Helvetica for body links,
         Courier New monospace for ticker + timestamps
   ---------------------------------------------------------------------- */

* { box-sizing: border-box; }

body {
  margin: 0;
  background: #d9d6ce;
  color: #000000;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 12px;
}

#page {
  max-width: 1000px;
  margin: 0 auto;
  background: #ffffff;
  padding: 8px 14px 20px;
  border-left: 1px solid #999;
  border-right: 1px solid #999;
}

a { color: #0000EE; }
a:visited { color: #551A8B; }
a:hover { color: #b30000; }

hr { border: none; border-top: 1px solid #999; margin: 8px 0; }
hr.thick { border-top: 3px double #000; margin: 6px 0 10px; }

/* ---------- Utility bar -------------------------------------------------- */

#utilitybar {
  font-family: "Courier New", Courier, monospace;
  font-size: 11px;
  color: #444;
  padding: 3px 0;
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

#utilitybar .sep { color: #bbb; }
#utilitybar a { color: #003399; text-decoration: none; }
#utilitybar a:hover { text-decoration: underline; }

#hitcounter-wrap {
  margin-left: auto;
  background: #000;
  color: #33ff33;
  font-family: "Courier New", Courier, monospace;
  padding: 1px 6px;
  letter-spacing: 1px;
}

/* ---------- Masthead ------------------------------------------------------ */

#masthead { text-align: center; padding: 6px 0 4px; }

#sitename {
  font-family: Georgia, "Times New Roman", Times, serif;
  font-weight: 700;
  font-size: 46px;
  letter-spacing: 1px;
  color: #b30000;
  margin: 0;
  line-height: 1;
}

#tagline {
  font-family: Georgia, "Times New Roman", Times, serif;
  font-size: 12px;
  letter-spacing: 2px;
  color: #333;
  margin-top: 4px;
}

/* ---------- Market ticker --------------------------------------------------- */

#tickerbar {
  display: flex;
  align-items: stretch;
  background: #000;
  border: 1px solid #000;
  height: 24px;
}

#tickerLabel {
  background: #b30000;
  color: #fff;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 700;
  font-size: 11px;
  display: flex;
  align-items: center;
  padding: 0 10px;
  white-space: nowrap;
}

#tickerScroll { flex: 1; overflow: hidden; display: flex; align-items: center; }

#tickerTrack {
  display: inline-block;
  white-space: nowrap;
  font-family: "Courier New", Courier, monospace;
  font-size: 12px;
  color: #33ff33;
  padding-left: 100%;
  animation: ticker-scroll-old 40s linear infinite;
}

#tickerbar:hover #tickerTrack { animation-play-state: paused; }

@keyframes ticker-scroll-old {
  from { transform: translateX(0); }
  to { transform: translateX(-100%); }
}

.tick-up { color: #33ff33; }
.tick-down { color: #ff5555; }

/* ---------- Banner headline ------------------------------------------------ */

#bannerHeadline {
  text-align: center;
  padding: 12px 10px;
  font-family: Georgia, "Times New Roman", Times, serif;
}

#bannerHeadline .tag {
  color: #b30000;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 1px;
  margin-right: 6px;
  vertical-align: middle;
}

#bannerHeadline a {
  font-size: 28px;
  font-weight: 700;
  color: #000;
  text-decoration: none;
  line-height: 1.2;
}

#bannerHeadline a:hover { color: #b30000; text-decoration: underline; }

/* ---------- News grid (table-based, old-school layout) ---------------------- */

#newsgrid { width: 100%; border-collapse: collapse; table-layout: fixed; }
.gridcol { width: 32%; }
.gridspacer { width: 2%; }

.catbox { margin-bottom: 14px; border: 1px solid #ccc; }

.catbox-header {
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.5px;
  color: #fff;
  padding: 4px 8px;
}

.catbox-body { padding: 6px 8px 8px; }

.catbox ul { list-style: none; margin: 0; padding: 0; }

.catbox li {
  padding: 5px 0;
  border-bottom: 1px dotted #ccc;
  line-height: 1.35;
}
.catbox li:last-child { border-bottom: none; }

.catbox li a {
  font-weight: 700;
  font-size: 12.5px;
  text-decoration: none;
}
.catbox li a:hover { text-decoration: underline; }

.catbox li .meta {
  display: block;
  font-family: "Courier New", Courier, monospace;
  font-size: 10px;
  color: #777;
  margin-top: 2px;
}

.catbox .state-msg {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 11px;
  color: #777;
  padding: 4px 0;
}
.catbox .state-msg.error { color: #b30000; }

/* ---------- Config banner --------------------------------------------------- */

.config-banner {
  background: #fff8e1;
  border: 1px solid #cc9900;
  color: #664400;
  padding: 8px 12px;
  font-size: 11.5px;
  margin: 10px 0;
  font-family: Arial, Helvetica, sans-serif;
}
.config-banner code { background: #00000014; padding: 1px 4px; }

/* ---------- Footer --------------------------------------------------------- */

#footer {
  text-align: center;
  font-size: 10.5px;
  color: #666;
  padding-top: 10px;
}
#footer .joke { font-style: italic; color: #999; margin-top: 4px; }
