.akos-contributions { margin-block: 24px; scroll-margin-top: 24px; min-width: 0; }
.akos-contributions-head h2 { margin: 0 0 6px; }
.akos-contributions-head p { margin: 0 0 16px; }
.akos-contrast { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line-1); padding: 14px 0 12px; margin: 0 0 14px; display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 24px; }
.akos-contrast > .akos-caps { margin: 0; }
.akos-contrast-facts, .akos-contrast-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 18px; min-width: 0; }
.akos-contrast-facts li { font-size: 12.5px; color: var(--text-secondary); }
.akos-contrast-facts strong { font: 500 13px/1 var(--mono); color: var(--text); }
.akos-contrast-chips { flex-basis: 100%; gap: 8px; }
.akos-contrast-chip { display: inline-flex; align-items: baseline; gap: 8px; padding: 4px 10px 4px 8px; border: 1px solid var(--line); border-left: 3px solid var(--persona); background: var(--bg); color: var(--text); text-decoration: none; font: 500 11px/1.3 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.akos-contrast-chip small { font-size: 10px; letter-spacing: .06em; color: var(--text-muted); text-transform: none; }
.akos-contrast-chip:hover { border-color: var(--line-4); border-left-color: var(--persona); }
.akos-contrast-chip:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.akos-contrast-chip.is-silent { color: var(--text-muted); border-style: dashed; border-left-style: solid; }
.akos-contribution-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 12px; align-items: start; }
.akos-contribution { border: 1px solid var(--line); border-top: 2px solid var(--persona); background: var(--bg-raised); padding: 18px; min-width: 0; overflow-wrap: anywhere; }
.akos-contribution-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 12px; }
.akos-contribution-head h3 { font-size: 14px; margin: 0; }
.akos-contribution-head [data-contribution-status] { flex-basis: 100%; }
.akos-contribution-assignment { font-size: 13px; line-height: 1.6; margin: 14px 0 0; }
.akos-contribution-assignment .muted { display: block; font-size: 11px; }
.akos-contribution-summary { font-size: 15px; line-height: 1.65; white-space: pre-wrap; margin: 16px 0; }
.akos-contribution-signals { color: var(--warn); font-size: 12px; line-height: 1.6; }
.akos-contribution-detail { border-top: 1px solid var(--line); padding-top: 12px; }
.akos-contribution-detail summary { cursor: pointer; color: var(--accent); font-size: 13px; padding-block: 6px; }
.akos-contribution-detail summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
.akos-contribution-output { font-size: 14px; line-height: 1.6; padding-block: 8px; }
.akos-contribution-output + .akos-contribution-output { border-top: 1px solid var(--line); }
.akos-contribution-output h4 { font-size: 13px; margin: 14px 0 6px; }
.akos-contribution-disagreement { border-left: 2px solid var(--warn); padding-left: 12px; }
.akos-contribution-judgment { margin-top: 16px; border-left: 2px solid var(--accent-mark); padding: 4px 18px; line-height: 1.65; }
.akos-contribution-judgment h3 { font-size: 15px; margin: 0; }
@media (prefers-reduced-motion: no-preference) {
    /* A card the panel has not shown before (first paint, or an output arriving on a live page) settles in once,
       staggered by its place in the plan; the panel decides `is-new`, so a refresh of the same personas never
       replays it. It never loops and never stands for runtime work: the record decides what is shown. */
    .akos-contribution.is-new { animation: contribution-enter 220ms ease-out both; }
    .akos-contribution.is-new:nth-child(2) { animation-delay: 45ms; }
    .akos-contribution.is-new:nth-child(3) { animation-delay: 90ms; }
    .akos-contribution.is-new:nth-child(4) { animation-delay: 135ms; }
    .akos-contribution.is-new:nth-child(5) { animation-delay: 180ms; }
    .akos-contribution.is-new:nth-child(n + 6) { animation-delay: 225ms; }
    @keyframes contribution-enter { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
    .akos-contribution-detail[open] .akos-contribution-output { animation: contribution-reveal 160ms ease-out; }
    @keyframes contribution-reveal { from { opacity: .5; transform: translateY(3px); } to { opacity: 1; transform: none; } }
}

.akos-reply-voices { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 10px; margin-top: 8px; }
.akos-reply-voices .akos-kind { margin-left: 0; }
.akos-reply-voice { padding: 1px 0 1px 8px; border-left: 2px solid var(--persona); color: var(--text-secondary); text-decoration: none; font: 500 11px/1.3 var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.akos-reply-voice:hover, .akos-reply-voice:focus-visible { color: var(--text); }
