/* Elementary comparison cards, following the approved Simple/Continuous layout. */
[data-grammar-topic="present-perfect-simple-vs-continuous"] .grammar-content { container-type:inline-size; container-name:present-contrast; }
.perfectcontrast-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.perfectcontrast-card.formula-card { display:flex; flex-direction:column; gap:12px; min-width:0; padding:20px; }
.perfectcontrast-card p { margin:0; line-height:1.55; }
.perfectcontrast-card .formula { display:flex; flex-wrap:wrap; gap:8px; align-items:center; min-height:84px; margin:0; }
.perfectcontrast-card .perfectcontrast-form-label { font-weight:800; font-size:.83rem; color:var(--muted); }
.perfectcontrast-card .example-stack { margin:0; gap:8px; }
@container present-contrast (max-width:700px) { .perfectcontrast-grid { grid-template-columns:minmax(0,1fr); } }
@media (max-width:760px) { .perfectcontrast-grid { grid-template-columns:minmax(0,1fr); } .perfectcontrast-card.formula-card { padding:16px; } }
[data-exercise-page="present-perfect-simple-vs-continuous"] [data-exercise-screen="matching"] { --plum:#246d63; }
[data-exercise-page="present-perfect-simple-vs-continuous"] [data-exercise-screen="matching"] .exercise-match-bank button.is-used { background:#e0eee8; border-color:#8eb6aa; color:#24574e; }
[data-exercise-page="present-perfect-simple-vs-continuous"] [data-exercise-screen="matching"] .exercise-match-drop { border-color:#82b6a9; background:#eaf6f1; color:#24574e; }
[data-exercise-page="present-perfect-simple-vs-continuous"] [data-exercise-screen="matching"] .exercise-match-card.is-selected { border-color:#3d9784; box-shadow:0 0 0 3px #3d978426; }
html[data-theme="dark"] [data-exercise-page="present-perfect-simple-vs-continuous"] [data-exercise-screen="matching"] .exercise-match-bank { background:#223f4d; border-color:#65808c; }
html[data-theme="dark"] [data-exercise-page="present-perfect-simple-vs-continuous"] [data-exercise-screen="matching"] .exercise-match-bank button { background:#304d5b; color:#edf3f5; border-color:#7696a3; }
html[data-theme="dark"] [data-exercise-page="present-perfect-simple-vs-continuous"] [data-exercise-screen="matching"] .exercise-match-bank button.is-picked { background:#28786b; color:#fff; border-color:#a5e5d0; }
html[data-theme="dark"] [data-exercise-page="present-perfect-simple-vs-continuous"] [data-exercise-screen="matching"] .exercise-match-card { background:#263f4d; color:#edf3f5; border-color:#65808c; }
html[data-theme="dark"] [data-exercise-page="present-perfect-simple-vs-continuous"] [data-exercise-screen="matching"] .exercise-match-card.is-correct { background:#254b45; border-color:#7cc6b3; }
html[data-theme="dark"] [data-exercise-page="present-perfect-simple-vs-continuous"] [data-exercise-screen="matching"] .exercise-match-card.is-wrong { background:#523a3b; border-color:#e7a095; }
html[data-theme="dark"] [data-exercise-page="present-perfect-simple-vs-continuous"] [data-exercise-screen="matching"] .exercise-match-card__sentence { color:#edf3f5; }
html[data-theme="dark"] [data-exercise-page="present-perfect-simple-vs-continuous"] [data-exercise-screen="matching"] .exercise-match-card__number { background:#355563; color:#edf3f5; }
html[data-theme="dark"] [data-exercise-page="present-perfect-simple-vs-continuous"] [data-exercise-screen="matching"] .exercise-match-card__status { color:#a5e5d0; }
html[data-theme="dark"] [data-exercise-page="present-perfect-simple-vs-continuous"] [data-exercise-screen="matching"] .exercise-match-card.is-wrong .exercise-match-card__status { color:#ffc0b4; }
html[data-theme="dark"] [data-exercise-page="present-perfect-simple-vs-continuous"] [data-exercise-screen="matching"] .exercise-match-drop { background:#1b303b; color:#edf3f5; border-color:#82b6a9; opacity:1; }
html[data-theme="dark"] [data-exercise-page="present-perfect-simple-vs-continuous"] [data-exercise-screen="matching"] .exercise-match-drop.is-filled { background:#235e57; color:#fff; border-color:#a5e5d0; }
html[data-theme="dark"] [data-exercise-page="present-perfect-simple-vs-continuous"] [data-exercise-screen="matching"] .exercise-match-result.is-correct { background:#235e57; color:#edf3f5; border-color:#82b6a9; }
html[data-theme="dark"] [data-exercise-page="present-perfect-simple-vs-continuous"] [data-exercise-screen="matching"] .exercise-match-result.is-wrong { background:#523a3b; color:#edf3f5; border-color:#e7a095; }
html[data-theme="dark"] [data-exercise-page="present-perfect-simple-vs-continuous"] [data-exercise-screen="matching"] .exercise-match-result :is(p,strong) { color:inherit; }

/* Dialogue cards grow when their reason is opened; they must not overlap. */
.exercise-page[data-exercise-page="present-perfect-simple-vs-continuous"] [data-exercise-screen="matching"] .exercise-match-contexts { grid-auto-rows:max-content; align-content:start; }
.exercise-page[data-exercise-page="present-perfect-simple-vs-continuous"] [data-exercise-screen="matching"] .exercise-match-card { min-height:max-content; }
.exercise-page[data-exercise-page="present-perfect-simple-vs-continuous"] { --plum:#246d63; }
html[data-theme="dark"] .exercise-page[data-exercise-page="present-perfect-simple-vs-continuous"] { --plum:#8ee0ca; }

/* Optional Polish meaning must follow the exercise theme too. */
html[data-theme="dark"] .exercise-page[data-exercise-page="present-perfect-simple-vs-continuous"] .edu-context[open] > p {
 background:#243e4b; color:#edf5f8; border-color:#88cfbc;
}

/* The explanation must remain readable during a streak celebration. */
body[data-exercise-page="present-perfect-simple-vs-continuous"]:has([data-exercise-feedback]:not([hidden])) #exercise-streak-fire-burst { display:none; }

/* Speaker labels and authored line breaks are part of the English dialogue. */
.exercise-page[data-exercise-page="present-perfect-simple-vs-continuous"] [data-exercise-dialogue] .exercise-sentence__line {
 display:block; align-content:center; line-height:1.7;
}
.exercise-page[data-exercise-page="present-perfect-simple-vs-continuous"] [data-exercise-dialogue] .exercise-sentence__line > span {
 white-space:pre-line;
}
body[data-exercise-page="present-perfect-simple-vs-continuous"] :is(#cafe-question-title,.adventure-sentence,.adventure-question-reveal__sentence) {
 white-space:pre-line;
}

.exercise-page[data-exercise-page="present-perfect-simple-vs-continuous"] .exercise-gap { width:min(340px,100%);max-width:100%; }
.exercise-page[data-exercise-page="present-perfect-simple-vs-continuous"] .exercise-gap-wrap { max-width:calc(100% - 20px); }
