/* © 2026 Dennis Andres */
.card, .symbol-card, .team-card, .timeline-item, .faction-item, .journey-intro, .journey-step, .journey-final, .ccard, .cc-form, .legal, .status-board, .stat-card, .empty-note, .notice-box, .law, .wanted-card, .hearing, .news-item, .faction-public, .about-name, .about-community-final, .cr-group-head, .cr-rules-list, .character-card {
  position: relative;
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: var(--cc-r);
  color: var(--cc-snow);
  background: var(--cc-card-solid);
  transition: border-color var(--cc-dur) ease;
}
.card { padding: clamp(22px, 2.4vw, 34px); }
.card-tight { padding: clamp(18px, 1.8vw, 24px); }
.faction-item, .team-card, .journey-intro, .ccard, .about-name, .cr-rules-list { overflow: hidden; }
:is(.card, .symbol-card, .team-card, .timeline-item, .journey-step, .ccard, .news-item, .faction-public, .wanted-card, .hearing):has(a[href]):hover { border-color: rgba(255, 255, 255, .24); }
:is(.card, .ccard, .news-item, .faction-public, .team-card):has(a:focus-visible, button:focus-visible) { outline: 2px solid var(--cyan); outline-offset: 3px; }

.card-icon { display: inline-grid; place-items: center; width: auto; height: auto; color: var(--cc-pink-soft); }
.card-icon svg { width: 30px; height: 30px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.card-kicker { color: var(--cc-pink-soft); font-size: .8125rem; font-weight: 800; letter-spacing: .04em; }
.card-title { margin: 0; color: var(--cc-snow); font-size: var(--cc-fs-h3); letter-spacing: -.03em; line-height: 1.08; }
.card-text { color: var(--cc-snow-soft); font-size: 1rem; line-height: 1.65; }
.card-meta { color: var(--cc-snow-mute); font-size: .8125rem; font-weight: 700; }
