/* Live checker progress states. Kept apart from styles.css so parallel edits there do not collide. */
.run-progress-wrap { margin: 0 0 var(--space-5); }
.run-progress { width: 100%; height: 8px; appearance: none; border: 0; border-radius: var(--radius-full); background: var(--color-white); overflow: hidden; }
.run-progress::-webkit-progress-bar { background: var(--color-white); border-radius: var(--radius-full); }
.run-progress::-webkit-progress-value { background: var(--color-blue); border-radius: var(--radius-full); transition: width .3s ease; }
.run-progress::-moz-progress-bar { background: var(--color-blue); border-radius: var(--radius-full); }
.result-status { color: var(--color-gray-600); margin: var(--space-2) 0 0; }
.is-queued .result-img-empty { color: var(--color-gray-400, #9ca3af); }
.is-running .result-img-empty { color: var(--color-gray-900); gap: var(--space-3); grid-auto-flow: row; align-content: center; justify-items: center; }
.check-spinner {
  width: 28px; height: 28px; border-radius: var(--radius-full);
  border: 3px solid var(--color-header-border); border-top-color: var(--color-blue);
  animation: check-spin .8s linear infinite;
}
@keyframes check-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .check-spinner { animation-duration: 2.4s; } }
.feed-run { margin-top: var(--space-10); }
.feed-run .result-status { margin-top: calc(-1 * var(--space-3)); margin-bottom: var(--space-4); }
.feed-run > summary { cursor: pointer; list-style: none; }
.feed-run > summary::-webkit-details-marker { display: none; }
.feed-run > summary .check-step-title::after { content: ""; width: 8px; height: 8px; margin-left: var(--space-1); border-right: 2px solid var(--color-gray-500); border-bottom: 2px solid var(--color-gray-500); transform: rotate(45deg) translateY(-3px); transition: transform .2s ease; flex: none; }
.feed-run[open] > summary .check-step-title::after { transform: rotate(-135deg) translateY(-1px); }
@media (min-width: 861px) {
  .feed-run .result-row { grid-template-columns: 150px repeat(var(--cols, 5), minmax(0, 1fr)); }
  .feed-run .result-row:not(.result-head) .result-cell::before { content: none; }
  .feed-run .result-verdict { font-size: var(--text-sm); line-height: 20px; }
}
.feed-run .result-cell::before { content: attr(data-model); display: block; padding: var(--space-2) var(--space-3) 0; font-size: var(--text-sm); color: var(--color-gray-500); }
.result-retry { margin-top: var(--space-3); padding: 6px 12px; font-size: var(--text-sm); min-height: 0; }
.result-said { color: var(--color-gray-500); margin-top: var(--space-2) !important; overflow-wrap: anywhere; }
.result-why { margin-top: var(--space-2); }
.result-why summary { cursor: pointer; color: var(--color-blue); list-style: none; display: inline-flex; align-items: center; min-height: 44px; }
.result-why summary::-webkit-details-marker { display: none; }
.result-why[open] summary { margin-bottom: var(--space-1); }
/* Live checks inside the Index pages */
.live-section { margin: var(--space-10) 0; }
.live-note { color: var(--color-gray-600); margin: var(--space-2) 0 var(--space-4); }
/* Live checks grid: one row per character, five levels */
.live-row { margin: 0 0 var(--space-6); }
.live-row-head { margin: 0 0 var(--space-3); color: var(--color-gray-900); }
.live-cards { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--space-3); }
.live-card .result-cap p { margin: 0; }
.live-card-level { color: var(--color-gray-500); margin-bottom: var(--space-1) !important; }
.live-card-top { color: var(--color-gray-600); margin-top: var(--space-1) !important; }
.live-card--empty .result-img-empty { color: var(--color-gray-400, #9ca3af); }
@media (max-width: 760px) {
  .live-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: visible; scroll-snap-type: none; padding-bottom: 0; }
  .live-card--empty { display: none; }
}
