/* Event blocks. DESIGN.md rules. Archivo only, sentence case, flat, light only.
   No boxes, no shadows, no uppercase. Scoped under .ev- classes. */
.ev-card, .ev-lore, .ev-series {
  font-family: Archivo, system-ui, sans-serif;
  color: #1a1a1a;
  background: #ffffff;
}
.ev-card { padding: 12px 0; border-bottom: 1px solid #e7e7e2; }
.ev-card-title, .ev-heading {
  margin: 0 0 4px;
  font-weight: 800;
  font-stretch: 78%;
  letter-spacing: 0;
  line-height: 1.15;
}
.ev-card-title { font-size: 1.25rem; }
.ev-heading { font-size: 1.1rem; }
.ev-card-title a, .ev-row-title { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.ev-card-title a:hover, .ev-row-title:hover { opacity: 0.7; }
.ev-what, .ev-felt, .ev-date { margin: 4px 0 0; font-size: 0.95rem; line-height: 1.4; }
.ev-felt { color: #8a6200; }
.ev-date { color: #555555; font-size: 0.85rem; }
.ev-list { list-style: none; margin: 0; padding: 0; }
.ev-row { display: flex; flex-wrap: wrap; gap: 4px 12px; padding: 6px 0; border-bottom: 1px solid #e7e7e2; }
.ev-row-date { min-width: 6.5rem; color: #555555; font-size: 0.85rem; }
.ev-row-felt { flex-basis: 100%; color: #8a6200; font-size: 0.85rem; }
@media (min-width: 640px) {
  .ev-row-felt { flex-basis: auto; }
}

/* Story page and front door. */
.ev-page { max-width: 44rem; margin: 0 auto; padding: 16px; font-family: Archivo, system-ui, sans-serif; color: #1a1a1a; background: #ffffff; }
.ev-title { margin: 8px 0; font-size: 2rem; font-weight: 800; font-stretch: 78%; line-height: 1.1; }
.ev-crumbs { margin: 0; font-size: 0.85rem; color: #555555; }
.ev-crumbs a { color: inherit; }
.ev-section { margin: 24px 0 0; }
.ev-facts { margin: 0; padding: 0; list-style: none; }
.ev-fact { padding: 6px 0; border-bottom: 1px solid #e7e7e2; line-height: 1.4; }
.ev-src { color: #555555; font-size: 0.85rem; }
.ev-src a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.ev-links a { color: #1d68a3; }
.ev-footer { max-width: 44rem; margin: 32px auto 0; padding: 16px; font-family: Archivo, system-ui, sans-serif; font-size: 0.85rem; color: #555555; }
.ev-footer a { color: inherit; }

/* Marks, lead story, felt meter, front-door columns. Flat, no team color, no boxes. */
.ev-mark { width: 20px; height: 20px; object-fit: contain; vertical-align: -4px; margin-right: 8px; }
.ev-row .ev-mark { align-self: center; margin-right: 0; }
.ev-lead { margin: 24px 0 0; padding: 0 0 20px; border-bottom: 1px solid #e7e7e2; }
.ev-lead-kicker { margin: 0 0 4px; font-size: 0.85rem; color: #555555; }
.ev-lead-title { margin: 0 0 8px; font-size: 2.25rem; font-weight: 800; font-stretch: 78%; line-height: 1.05; }
.ev-lead-title .ev-mark { width: 32px; height: 32px; vertical-align: -6px; }
.ev-lead-title a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.ev-lead-title a:hover { opacity: 0.7; }
.ev-lede { font-size: 1.1rem; }
.ev-meter { margin: 8px 0 0; max-width: 24rem; }
.ev-meter-bar { height: 8px; background: #f1f1ec; border-radius: 3px; overflow: hidden; }
.ev-meter-bar span { display: block; height: 100%; background: #1a1a1a; }
.ev-meter-words { margin: 6px 0 0; font-size: 0.95rem; color: #8a6200; }
.ev-seasons { margin: 0; display: flex; flex-wrap: wrap; gap: 4px 16px; }
.ev-seasons a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.ev-seasons a:hover { opacity: 0.7; }
@media (min-width: 760px) {
  .ev-cols { column-count: 2; column-gap: 32px; }
  .ev-cols .ev-row { break-inside: avoid; }
  .ev-cols .ev-row-date { min-width: 0; flex: 1 1 0; }
  .ev-cols .ev-row .ev-row-title { flex-basis: 100%; }
}
.ev-brief li { padding: 6px 0; border-top: 1px solid #e7e7e2; font-size: 15px; }
.ev-brief .ev-when { color: #6b6b66; margin-right: 8px; font-variant-numeric: tabular-nums; }

/* Polish pass: links, hero, stepped felt meter, search, mobile. */
.ev-page a { color: inherit; text-decoration: underline; text-underline-offset: 2px; text-decoration-color: #b9b9b2; }
.ev-page a:hover { opacity: 0.7; }
.ev-hero { display: flex; align-items: center; gap: 16px; margin: 12px 0 4px; }
.ev-hero-mark { width: 56px; height: 56px; object-fit: contain; flex: none; }
.ev-hero-text { min-width: 0; }
.ev-kicker { margin: 0 0 2px; font-size: 0.9rem; color: #555555; }
.ev-hero .ev-title { margin: 0; font-size: 2.4rem; overflow-wrap: anywhere; text-wrap: balance; }
.ev-hero + .ev-section .ev-what, .ev-hero ~ .ev-lede { font-size: 1.1rem; line-height: 1.5; }
.ev-meter-bar { display: flex; gap: 4px; height: 10px; background: none; border-radius: 0; overflow: visible; }
.ev-meter-bar span { flex: 1; height: 100%; background: #f1f1ec; border-radius: 2px; }
.ev-meter-bar span.on { background: #b7851a; }
.ev-meter-words { font-weight: 700; color: #8a6200; }
.ev-brief a { text-decoration: none; }
.ev-brief li { padding: 8px 0; }
.ev-row { align-items: center; }
.ev-row .ev-mark { width: 24px; height: 24px; }
.ev-row-felt { color: #8a6200; }
.ev-list a.ev-row-title { font-weight: 600; }
.ev-deeper p { margin: 0; }
.ev-find { margin: 16px 0 0; }
.ev-find label { display: block; font-size: 0.85rem; color: #555555; margin-bottom: 4px; }
.ev-find input { width: 100%; max-width: 24rem; box-sizing: border-box; padding: 8px 10px; font: inherit; border: 1px solid #d6d6d0; border-radius: 3px; background: #ffffff; color: #1a1a1a; }
.ev-lead-title .ev-mark { width: 40px; height: 40px; }
.ev-lead { border-top: 2px solid #1a1a1a; padding-top: 14px; }
@media (max-width: 560px) {
  .ev-page { padding: 12px 16px; }
  .ev-hero { gap: 12px; }
  .ev-hero-mark { width: 40px; height: 40px; }
  .ev-hero .ev-title { font-size: 1.7rem; }
  .ev-lead-title { font-size: 1.7rem; }
  .ev-title { font-size: 1.7rem; }
  .ev-row-date { min-width: 0; flex: 1 1 0; }
  .ev-row .ev-mark { width: 20px; height: 20px; }
  .ev-row .ev-row-title { flex-basis: 100%; }
  .ev-find input { max-width: none; }
}

.ev-lead-title { display: flex; align-items: flex-start; gap: 14px; }
.ev-lead-title .ev-mark { flex: none; margin: 4px 0 0; }
.ev-lead-title a { text-wrap: balance; }
.ev-lead .ev-what { max-width: 60ch; }
.ev-mark-none { width: 24px; height: 24px; flex: none; }
@media (max-width: 560px) { .ev-mark-none { width: 20px; height: 20px; } }

/* Silhouette: how coverage rose and faded */
.ev-sil { margin: 4px 0 0; }
.ev-sil svg { display: block; width: 100%; height: auto; max-height: 190px; background: #ffffff; }
.ev-sil-base { stroke: #e7e7e2; stroke-width: 1; }
.ev-sil-area { fill: #b7851a; fill-opacity: 0.88; }
.ev-sil-edge { fill: none; stroke: #8a6200; stroke-width: 1.5; stroke-linejoin: round; }
.ev-sil-ghost { fill: none; stroke: #b9b9b0; stroke-width: 1.5; stroke-dasharray: 4 3; }
.ev-sil-end { stroke: #8a6200; stroke-width: 2; }
.ev-sil-mark { fill: #1d68a3; cursor: pointer; outline: none; }
.ev-sil-mark:hover, .ev-sil-mark:focus { fill: #14507f; stroke: #1d68a3; stroke-width: 6; stroke-opacity: 0.25; }
.ev-sil-label { font-size: 12px; fill: #555555; font-family: inherit; }
.ev-sil-glabel { fill: #8a8a82; }
.ev-sil-peak { fill: #8a6200; stroke: #fff; stroke-width: 1.5; }
.ev-sil-plabel { fill: #1a1a1a; font-weight: 700; }
.ev-sil-cap { min-height: 1.4em; margin: 4px 0 0; font-size: 0.9rem; color: #1a1a1a; }
@media (max-width: 560px) { .ev-sil-label { font-size: 22px; } .ev-sil-mark { r: 7px; stroke: transparent; stroke-width: 18px; } .ev-sil svg { max-height: none; } }

.ev-sil-words { margin: 6px 0 0; font-size: 1rem; color: #1a1a1a; }
.ev-sil-words strong { color: #8a6200; font-weight: 700; }
.ev-sims { display: grid; gap: 0; }
.ev-sim { border-bottom: 1px solid #e7e7e2; }
.ev-sim-link { display: flex; align-items: center; gap: 14px; padding: 8px 0; text-decoration: none !important; }
.ev-sim-title { font-weight: 600; text-decoration: underline; text-underline-offset: 2px; text-decoration-color: #b9b9b2; }
.ev-mini { flex: none; width: 96px; height: 29px; }
.ev-mini path { fill: #b7851a; fill-opacity: 0.88; }

.ev-rarity { margin: 0 0 6px; font-weight: 700; color: #8a6200; }
.ev-river { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 0 28px; grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); }
.ev-river-item { border-top: 1px solid #e7e7e2; }
.ev-page a.ev-river-link { display: flex; flex-direction: column; gap: 4px; padding: 12px 0 14px; text-decoration: none; }
.ev-river-fig { width: 100%; height: 48px; }
.ev-river-title { display: flex; align-items: center; gap: 6px; font-weight: 700; line-height: 1.2; }
.ev-river-link:hover .ev-river-title { text-decoration: underline; text-underline-offset: 2px; }
.ev-river-felt { font-size: 0.85rem; color: #8a6200; }
.ev-river-title .ev-mark { margin-right: 0; flex: none; }

.ev-actions { margin: 6px 0 0; font-size: 0.95rem; color: #555555; }
.ev-share { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; text-decoration: underline; text-underline-offset: 2px; text-decoration-color: #b9b9b2; }
.ev-share:hover { opacity: 0.7; }
.ev-actions { display: flex; flex-wrap: wrap; align-items: center; column-gap: 6px; }
.ev-actions a, .ev-share { display: inline-flex; align-items: center; min-height: 44px; padding: 0 4px; }

.ev-status { font-weight: 700; color: #8a6200; }
.ev-context { margin: 0 0 16px; font-size: 16px; line-height: 1.45; color: #333; max-width: 60ch; }

.ev-sim-text { display: flex; flex-direction: column; min-width: 0; }
.ev-sim-why { font-size: 0.8rem; color: #555555; }

/* Timeline rows: date, headline, and the outlet that reported it */
.ev-timeline .ev-tl { position: relative; display: flex; gap: 4px 14px; align-items: baseline; }
.ev-timeline .ev-when { flex: none; width: 6.5rem; }
.ev-tl-body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ev-tl-title { font-weight: 600; overflow-wrap: anywhere; }
.ev-page .ev-tl-src { display: inline-flex; align-items: center; gap: 2px; font-size: 0.85rem; color: #1d68a3; text-decoration: none; }
.ev-page .ev-tl-src:hover { opacity: 1; text-decoration: underline; text-underline-offset: 2px; }
.ev-tl-linked:hover .ev-tl-title { text-decoration: underline; text-underline-offset: 2px; text-decoration-color: #b9b9b2; }
.ev-tl-linked .ev-tl-src::after { content: ""; position: absolute; inset: 0; }
.ev-sil-cap a { color: #1d68a3; margin-left: 4px; }
.ev-timeline .ev-tl-end .ev-tl-title { font-weight: 400; color: #555555; }
@media (max-width: 560px) {
  .ev-timeline .ev-tl { flex-direction: column; }
  .ev-timeline .ev-when { width: auto; }
}
