/* Cached cross-platform totals. The shared popup lives outside the feed so
   scrolling cards never clip it; mobile uses a distinct modal state. */
.site-stat { display: inline-flex; max-width: 100%; }
.site-stat--views { margin-left: auto; }
.site-views.site-stat-trigger {
  min-height: 32px;
  padding: 6px 8px;
  margin: -6px -6px -6px 0;
  border: 0;
  border-radius: 9px;
  color: inherit;
  background: transparent;
  font: inherit;
  cursor: pointer;
  white-space: nowrap;
}
.site-views.site-stat-trigger .site-eye { width: 15px; height: 15px; }
.site-stat-trigger:hover,
.site-stat-trigger[aria-expanded="true"] { background: var(--site-quote-hover); color: var(--site-accent); }
.site-stat-trigger:focus-visible,
.site-stat-close:focus-visible { outline: 2px solid var(--site-accent); outline-offset: 3px; }
.site-reactions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px 6px;
  margin-top: 10px;
}
.site-reaction {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 36px;
  padding: 5px 11px;
  border: 1px solid var(--site-border);
  border-radius: 999px;
  background: var(--site-quote);
  color: var(--site-accent);
  font: inherit;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
  cursor: pointer;
}
.site-reaction-emoji { font-size: 19px; font-weight: 400; line-height: 1.2; }
.site-reaction-n,
.site-stat-total strong,
.site-stat-row-value { font-variant-numeric: tabular-nums; }
.site-metrics-overlay { position: fixed; z-index: 125; }
.site-metrics-overlay[hidden] { display: none; }
.site-metrics-overlay.is-popover { inset: 0; pointer-events: none; }
.site-stat-dialog {
  position: relative;
  width: 350px;
  max-width: calc(100vw - 24px);
  max-height: calc(100dvh - 24px);
  overflow-y: auto;
  overscroll-behavior: contain;
  border: 1px solid var(--site-border);
  border-radius: 20px;
  padding: 23px 20px 17px;
  color: var(--site-text);
  background: linear-gradient(var(--site-bubble), var(--site-bubble)), var(--site-bg);
  box-shadow: 0 12px 45px rgba(8, 17, 29, .2), 0 2px 8px rgba(8, 17, 29, .08);
  outline: none;
  font: 14px/1.45 -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
}
.is-popover .site-stat-dialog { position: fixed; pointer-events: auto; }
.site-stat-heading { display: flex; align-items: center; gap: 10px; margin-right: 26px; }
.site-stat-title { margin: 0; font-size: 18px; font-weight: 700; line-height: 1.3; }
.site-stat-heading-emoji { font-size: 27px; line-height: 1; }
.site-stat-close {
  position: absolute;
  top: 8px;
  right: 8px;
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--site-muted);
  cursor: pointer;
}
.site-stat-close:hover { background: var(--site-quote); color: var(--site-text); }
.site-stat-close svg { width: 19px; height: 19px; }
.site-stat-total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 0 15px;
  margin-top: 3px;
  border-bottom: 1px solid var(--site-border);
}
.site-stat-total > span { color: var(--site-muted); font-size: 12px; }
.site-stat-total strong { color: var(--site-text); font-size: 27px; line-height: 1.2; letter-spacing: -.5px; }
.site-stat-sources { padding: 8px 0; }
.site-stat-row { display: flex; align-items: center; gap: 10px; min-height: 43px; padding: 7px 0; }
.site-stat-row .site-social { width: 25px; height: 25px; }
.site-stat-row .site-social svg,
.site-stat-row .site-social-img { width: 25px; height: 25px; }
.site-stat-row .site-social--site { color: var(--site-accent); }
.site-stat-row-label { flex: 1; min-width: 0; font-size: 13px; font-weight: 500; }
.site-stat-row-note { display: block; color: var(--site-muted); font-size: 11px; font-weight: 400; margin-top: 2px; }
.site-stat-row-value { color: var(--site-text); font-size: 14px; font-weight: 600; white-space: nowrap; }
.site-stat-note { border-top: 1px solid var(--site-border); margin: 0; padding-top: 12px; color: var(--site-muted); font-size: 11px; line-height: 1.5; }
/* Comment totals live with the platform actions, so every visible count has
   a direct way to open its discussion. Unavailable links retain their count. */
.site-comments-dialog { background: linear-gradient(var(--site-bubble), var(--site-bubble)), var(--site-bg); }
.site-comments-heading-icon { margin-bottom: 12px; }
#site-comments-description { margin-bottom: 15px; }
#site-comments-list { gap: 0; }
.site-comments-total { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 0 12px; border-bottom: 1px solid var(--site-border); }
.site-comments-total > span { font-size: 13px; color: var(--site-muted); }
.site-comments-total strong { font-size: 28px; font-variant-numeric: tabular-nums; letter-spacing: -.4px; line-height: 1.2; }
.site-comments-stat-note { margin: 10px 0 16px; color: var(--site-muted); font-size: 11px; line-height: 1.45; }
.site-comment-platforms { display: flex; flex-direction: column; gap: 8px; }
.site-comment-option { gap: 9px; min-height: 62px; padding: 10px 11px; }
.site-comment-option .site-comment-copy { min-width: 0; font-size: 13px; line-height: 1.35; }
.site-comment-count-note { display: block; margin-top: 3px; color: var(--site-muted); font-size: 11px; font-weight: 400; line-height: 1.3; }
.site-comment-option > span.site-comment-count { flex: 0 0 auto; min-width: 27px; padding: 4px 5px; border-radius: 7px; background: var(--site-quote-hover); font-size: 14px; font-weight: 700; text-align: center; white-space: nowrap; font-variant-numeric: tabular-nums; }
.site-comment-option--readonly { background: transparent; border-style: dashed; }
.site-comment-option--readonly:hover { background: transparent; }
.site-comment-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.site-metrics-overlay.is-modal {
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: max(16px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right))
           max(16px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));
  background: rgba(8, 17, 29, .58);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  overscroll-behavior: contain;
}
.site-metrics-overlay.is-modal[hidden] { display: none; }
.is-modal .site-stat-dialog { width: 390px; max-width: 100%; max-height: 100%; padding: 28px 22px 20px; border-radius: 24px; }
.is-modal .site-stat-close { width: 44px; height: 44px; }
.is-modal .site-stat-row { min-height: 48px; }
.is-modal .site-stat-total strong { font-size: 30px; }
@media (max-width: 640px), (pointer: coarse) {
  .site-views.site-stat-trigger { min-height: 44px; margin-top: -11px; margin-bottom: -11px; padding-inline: 9px; }
  .site-reaction { min-height: 44px; padding-inline: 12px; }
}
@media (max-width: 350px) {
  .is-modal .site-stat-dialog { padding: 26px 17px 17px; }
  .site-stat-title { font-size: 17px; }
}
@media (prefers-reduced-motion: no-preference) {
  .site-stat-dialog { animation: site-stat-appear .12s ease-out; }
  @keyframes site-stat-appear { from { opacity: 0; } to { opacity: 1; } }
}
