/* 候选列表：完整宽度、五段结构与 30ms 间隔进入反馈 */
.as25-results { min-width: 0; width: 100%; }
.as25-summary { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 52px; padding: 4px 12px; border: var(--hairline) solid var(--color-divider); border-radius: var(--radius-card); background: var(--color-surface); }
.as25-summary h2 { font-size: var(--font-size-meta); font-weight: var(--font-weight-regular); white-space: nowrap; min-width: 0; }
.as25-adjust { display: inline-flex; align-items: center; gap: 4px; min-height: 44px; flex: none; padding: 0; color: var(--color-text-primary); font-size: var(--font-size-meta); }
.as25-adjust > span { font-size: var(--font-size-label); }
.as25-list { display: grid; gap: 12px; margin-top: 12px; }
.as25-candidate { border: var(--hairline) solid var(--color-divider); border-radius: var(--radius-card); background: var(--color-surface); padding: 16px; margin: 0; min-width: 0; }
.as25-person { display: flex; align-items: center; gap: 12px; }
.as25-avatar { width: 40px; height: 40px; flex: none; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--color-surface); color: var(--color-text-primary); font-size: var(--font-size-title); font-weight: var(--font-weight-medium); }
.as25-person > div { min-width: 0; flex: 1; }
.as25-person h3 { font-size: var(--font-size-body); font-weight: var(--font-weight-medium); }
.as25-person p { font-size: var(--font-size-meta); color: var(--color-text-secondary); margin: 2px 0 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.as25-reason { margin-top: 12px; border-radius: 8px; background: var(--color-surface); padding: 10px 12px; }
.as25-reason-heading { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.as25-reason-heading h4 { color: var(--color-text-primary); font-size: var(--font-size-caption); font-weight: var(--font-weight-medium); white-space: nowrap; }
.as25-reason-heading > span { color: var(--color-text-secondary); font-size: var(--font-size-caption); white-space: nowrap; }
.as25-reason p { margin: 4px 0 0; font-size: var(--font-size-meta); line-height: 18px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.as25-reason strong { color: var(--color-text-primary); font-weight: var(--font-weight-medium); }
.as25-states { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.as25-state { display: inline-flex; align-items: center; min-height: 24px; padding: 2px 8px; border-radius: 6px; font-size: var(--font-size-caption); background: var(--color-page); color: var(--color-text-secondary); }
.as25-state.is-ok { background: var(--color-ok-surface); color: var(--color-ok-text); }
.as25-state.is-warn { background: var(--color-warn-surface); color: var(--color-warn-text); }
.as25-details { margin: 4px 0; }
.as25-details > summary { list-style: none; display: flex; gap: 4px; align-items: center; min-height: 44px; font-size: var(--font-size-meta); color: var(--color-text-secondary); cursor: pointer; }
.as25-details > summary::-webkit-details-marker { display: none; }
.as25-open-label { display: none; }
.as25-details[open] .as25-open-label { display: inline; }
.as25-details[open] .as25-closed-label { display: none; }
.as25-details[open] .as25-detail-chevron { transform: rotate(180deg); }
.as25-timeline { list-style: none; padding: 0; margin: 0 0 16px; }
.as25-timeline li { display: grid; grid-template-columns: 68px minmax(0,1fr); gap: 16px; padding-bottom: 16px; position: relative; }
.as25-timeline li::before { content: ''; position: absolute; left: 75px; top: 8px; width: 4px; height: 4px; border-radius: 50%; background: var(--color-brand); }
.as25-timeline li:not(:last-child)::after { content: ''; position: absolute; left: 76.5px; top: 16px; bottom: -4px; width: var(--hairline); background: var(--color-divider); }
.as25-timeline-date { font-size: var(--font-size-caption); color: var(--color-text-tertiary); }
.as25-timeline h4, .as25-sources h4, .as25-contributions h4 { font-size: var(--font-size-label); font-weight: var(--font-weight-medium); }
.as25-timeline p, .as25-contributions p, .as25-detail-note { font-size: var(--font-size-meta); color: var(--color-text-secondary); margin: 4px 0; overflow-wrap: anywhere; }
.as25-timeline a, .as25-sources a { display: flex; align-items: center; min-height: 44px; font-size: var(--font-size-caption); color: var(--color-text-primary); overflow-wrap: anywhere; }
.as25-contributions { margin: 0 0 16px; }
.as25-sources a { padding: 8px 0; }
.as25-actions { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.3fr); gap: 8px; border-top: var(--hairline) solid var(--color-divider); padding-top: 12px; }
.as25-actions .btn { padding: 0 10px; }
.as25-list-note { font-size: var(--font-size-caption); color: var(--color-text-secondary); margin: 12px 4px 0; }
.as25-empty { padding: 16px; margin-top: 12px; background: var(--color-surface); border-radius: var(--radius-card); }
.as25-empty p { font-size: var(--font-size-label); color: var(--color-text-secondary); }
.as25-candidate.as25-enter { animation: as25-enter var(--motion-list-duration) ease-out both; animation-delay: calc(var(--list-index, 0) * var(--motion-list-stagger)); }
@keyframes as25-enter { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 359px) { .as25-summary h2, .as25-adjust { font-size: var(--font-size-caption); } .as25-candidate { padding: 12px; } }
@media (prefers-reduced-motion: reduce) { .as25-candidate.as25-enter { animation: none; } }
