.topic-tag.purple { background: #e8ddf5; color: #69468f; }
.coral-card { background: var(--coral); border-color: var(--coral); }
.coral-card .card-number { color: rgba(7, 22, 37, .13); }
.topic-tag.inverse-light { background: rgba(255, 255, 255, .7); color: #7d261f; }
.impact-tag.dark-outline { border-color: rgba(7, 22, 37, .35); color: var(--navy); }
.coral-card > p, .coral-card .mini-meta { color: #652d2a; }
.coral-card .text-button { border-color: var(--navy); }
.source-button { display: inline-block; margin-top: 18px; color: var(--coral); font-weight: 700; font-size: .82rem; border-bottom: 1px solid currentColor; }
#article-dialog { max-width: 880px; max-height: 90vh; width: calc(100% - 32px); padding: 50px 56px; overflow-y: auto; }
#article-dialog h2 { margin-bottom: 8px; }
.review-meta { color: #7b898f; font-size: .78rem; padding-bottom: 22px; border-bottom: 1px solid var(--line); }
.quick-review { display: grid; grid-template-columns: 1fr 1fr; gap: 0 30px; margin-top: 8px; }
.quick-review section { padding: 22px 0; border-bottom: 1px solid var(--line); }
.quick-review section:nth-last-child(2), .quick-review section:last-child { border-bottom: 0; }
.quick-review h3 { margin: 0 0 8px; font: 700 .7rem/1.2 "DM Sans", sans-serif; color: var(--coral); letter-spacing: .1em; text-transform: uppercase; }
.quick-review p { margin: 0; color: #53626c; font-size: .92rem; line-height: 1.65; }
.quick-review .implication { background: #eef1f0; margin: 14px -15px; padding: 22px 15px; border: 0; }
.quick-review blockquote { margin: 16px 0 0; padding: 14px 18px; border-left: 3px solid var(--coral); background: #fff3f1; font: 600 1.05rem/1.45 "Newsreader", serif; }
.review-footer { margin-top: 24px; padding: 22px; background: var(--navy); color: white; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.review-footer div span { display: block; color: #91a5b3; font-size: .64rem; letter-spacing: .1em; }
.review-footer div strong { font-family: "Newsreader", serif; font-size: 1.2rem; }
.review-footer .source-button { margin: 0; white-space: nowrap; }
@media (max-width: 700px) {
  #article-dialog { padding: 42px 24px 24px; }
  .quick-review { grid-template-columns: 1fr; }
  .quick-review section:nth-last-child(2) { border-bottom: 1px solid var(--line); }
  .review-footer { align-items: flex-start; flex-direction: column; }
}
