/* Immediate feedback within the original course activity theme. */
:root{--rule:var(--line);--green:var(--brand-dark);--deep:var(--brand-deep);--heading:var(--font-display)}
.act .connect-activity{margin-top:28px}.act .connect-activity>h2{font-size:1.3rem;margin-bottom:24px}.act .connection-columns h2{font-size:1.15rem}.act .form-actions{margin-block:24px}.act .reflection-panel{border:1px solid var(--line);padding:24px;border-radius:12px;background:var(--tint);margin-top:32px}.act .reflection-panel h2{font-size:1.2rem}.act .reflection-panel h3{margin-bottom:12px}.act .write-reflection textarea{width:100%;min-height:120px;padding:12px;border:1px solid var(--line);border-radius:6px;font:inherit;background:var(--surface)}.act .write-reflection p{font-size:.85rem}.act .copy-note,.act .note-status{display:none}.act .source-note{font-size:.82rem;color:var(--muted);margin-top:24px}.act .button{padding:12px 20px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--brand-deep);font:600 15px var(--font-body)}
.connection-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;position:sticky;top:0;z-index:5;background:var(--surface);padding:16px 0;border-block:1px solid var(--rule);margin-bottom:24px}
.connection-toolbar p{font-size:14px;line-height:1.6;margin:0;color:var(--deep);font-weight:600}
.connection-toolbar button{flex-shrink:0;font-size:12px}
.connection-toolbar button:disabled{background:transparent;color:var(--muted);text-decoration:none;opacity:.7}
.connection-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.connection-columns h2{font-size:22px;margin-bottom:20px}
.connection-items{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.connect-item{width:100%;text-align:left;display:grid;grid-template-columns:24px minmax(0,1fr);gap:12px;padding:20px;border:1px solid var(--rule);border-radius:8px;background:var(--surface);color:var(--ink);font-size:15px;line-height:1.6;min-height:142px;align-content:start}
.connect-item:hover{border-color:var(--green);background:#f6f8f1}
.connect-item .item-id{font-family:var(--heading);font-size:18px;font-weight:700;color:var(--deep)}
.connect-item .pair-tag{grid-column:2;font-size:12px;font-weight:700;color:var(--muted);margin-top:4px}
.connect-item.is-connected{background:var(--pair-bg,#eef3e9);border-color:var(--pair-ink,#6b856f)}
.connect-item.is-connected .pair-tag{color:var(--pair-ink,var(--green))}
.connect-item[data-pair="1"]{--pair-bg:#eef3e9;--pair-ink:#345c3b}
.connect-item[data-pair="2"]{--pair-bg:#eef1f8;--pair-ink:#3e527a}
.connect-item[data-pair="3"]{--pair-bg:#f8f1e7;--pair-ink:#795521}
.connect-item[data-pair="4"]{--pair-bg:#f5edf3;--pair-ink:#764967}
.connect-item[data-pair="5"]{--pair-bg:#eaf4f3;--pair-ink:#285e5a}
.connect-item.is-selected{outline:2px solid var(--green);outline-offset:2px;background:#e1ecdc}
.connect-item:focus-visible{outline:3px solid var(--focus);outline-offset:4px}
.connection-feedback{grid-column:2;font-size:12px;font-weight:700;line-height:1.5}
.connection-feedback:empty{display:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.connect-item.is-correct{position:relative;background:#e1ecdc;border-color:#4c7c55;color:var(--ink);padding-right:38px;cursor:default}
.connect-item.is-correct::after{content:"";position:absolute;right:15px;top:23px;width:7px;height:13px;border-right:2px solid #24532e;border-bottom:2px solid #24532e;transform:rotate(45deg)}
.connect-item.is-wrong{border-color:#a04a3b;background:#fbefeb;animation:match-shake .38s ease-in-out}
@keyframes match-shake{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-5px)}40%,80%{transform:translateX(5px)}}
.connect-item[data-result=correct] .connection-feedback{color:#24532e}
.connect-item[data-result=different] .connection-feedback{color:#8c352a}
.connection-help{font-size:13px;color:var(--muted);margin:20px 0 8px}
@media(max-width:600px){.connection-columns{gap:12px}.connection-columns h2{font-size:17px;min-height:48px}.connect-item{grid-template-columns:1fr;gap:8px;padding:14px 12px;font-size:14px;line-height:1.55;min-height:0}.connect-item .pair-tag,.connection-feedback{grid-column:1}.connect-item .item-id{font-size:16px}.connection-toolbar{align-items:flex-start;flex-direction:column;gap:4px;padding:12px 0}.connection-toolbar p{font-size:13px}.connection-toolbar button{padding:6px 0}.connection-items{gap:12px}}
.match-layout .reading-section{margin-top:var(--space-8)}
.match-layout h2{font-size:22px}
.match-row{padding:var(--space-6) 0;border-top:1px solid var(--rule);counter-increment:match}
.match-row label{font-size:16px;font-weight:600;margin-bottom:16px}
.match-row label::before{content:counter(match) ". ";font-weight:700;color:var(--green)}
.match-row select{width:100%;padding:12px 36px 12px 14px;border:1px solid #8da58f;border-radius:6px;color:var(--ink);background:var(--surface);font-size:14px;min-height:46px}
.requirements-list{list-style:none;padding:0;margin:0}
.requirements-list li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:14px;border-top:1px solid var(--rule);padding:var(--space-6) 0}
.requirement-letter{font:700 18px var(--heading);color:var(--green)}
.requirements-list p{font-size:14px;line-height:1.7;margin:0}
.match-feedback,.matching-status{font-size:14px;line-height:1.5;margin:12px 0 0}
.match-feedback:empty{display:none}
.match-row[data-result=correct] select{border-color:var(--green);background:var(--soft)}
.match-row[data-result=incorrect] select{border-color:#9e3f30}
.match-row[data-result=incorrect] .match-feedback{color:#8c352a}
.match-row[data-result=correct] .match-feedback{color:var(--green)}
.form-actions{display:flex;gap:12px;flex-wrap:wrap;padding-top:16px}

@media(prefers-reduced-motion:reduce){.connect-item.is-wrong{animation:none}}