
:root{--q-blue:#176287;--q-light:#edf6fb;--q-border:#d7e5ed;--q-ink:#173a50}
[hidden]{display:none!important}html{scroll-behavior:smooth}button,input{font:inherit}button,a,input{touch-action:manipulation}.q-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.q-button{display:inline-flex;align-items:center;justify-content:center;padding:12px 17px;min-height:44px;border:1px solid var(--q-blue);border-radius:9px;background:var(--q-blue);color:white;text-decoration:none;font-weight:700;cursor:pointer;line-height:1.25}.q-button.secondary{background:white;color:var(--q-blue);border-color:var(--q-border)}.q-button:disabled{opacity:.55;cursor:not-allowed}.q-button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #efab38;outline-offset:3px}.q-intro{background:white;border:1px solid var(--q-border);border-radius:14px;padding:22px;margin-bottom:22px}.q-intro h2{margin:0 0 9px;color:var(--q-ink)}.q-intro p{margin:8px 0}.q-stats{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.q-chip{font-size:.88rem;display:inline-block;border-radius:999px;padding:7px 11px;background:var(--q-light);color:var(--q-blue);font-weight:700}.q-cat-card{display:flex;flex-direction:column;min-width:0}.q-cat-card .q-actions{margin-top:auto;padding-top:18px}.q-cat-card .q-button{font-size:.88rem;flex:1}.q-cat-card a.q-cat-title{text-decoration:none}.q-cat-card h3{margin-top:8px}.q-cat-card p{margin-bottom:10px}.q-note{font-size:.9rem;color:#526878}.q-sticky{position:sticky;top:0;z-index:8;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;background:#fff;border:1px solid var(--q-border);box-shadow:0 3px 10px #173a5010;border-radius:12px;padding:13px 18px;margin:0 0 20px}.q-sticky p{margin:0}.q-progress{height:7px;accent-color:var(--q-blue);max-width:170px;width:100%}.q-card{min-width:0;background:white;border:1px solid var(--q-border);border-radius:14px;margin:0 0 18px;padding:22px;scroll-margin-top:120px}.q-card legend{float:left;width:100%;padding:0;font-weight:700;font-size:1.12rem;color:var(--q-ink);line-height:1.5}.q-card legend+.q-required{clear:both;padding-top:9px}.q-card legend span{font-size:.86rem;display:block;color:#566c7a;margin-bottom:5px}.q-required{font-size:.9rem;margin:0 0 14px;color:#536977}.q-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.q-option{display:flex;gap:11px;align-items:flex-start;border:1px solid #d4e0e9;background:#fbfdfe;border-radius:10px;padding:15px;cursor:pointer;min-width:0;overflow-wrap:anywhere;line-height:1.4}.q-option input{flex:none;width:20px;height:20px;margin:1px 0 0;accent-color:var(--q-blue)}.q-option:has(input:checked){background:#eaf5fc;border-color:var(--q-blue)}.q-option.q-right{background:#edf8f0;border-color:#2d7a49}.q-option.q-wrong{background:#fff1ee;border-color:#b34637}.q-feedback{font-weight:700;margin:14px 0 0}.q-explanation{margin:12px 0 0;line-height:1.6}.q-result{border:1px solid var(--q-border);background:#fff;border-radius:14px;padding:24px;margin:20px 0}.q-score{font-size:2.3rem;font-weight:800;color:var(--q-ink);margin:0}.q-error{color:#923d1c;font-weight:700}.q-footer-controls{padding:20px;background:white;border:1px solid var(--q-border);border-radius:14px;margin:20px 0}.q-dual-note{font-size:.9rem;margin-top:12px;padding-top:10px;border-top:1px dashed #cbdce8;line-height:1.6}.q-dual-note p{margin:4px 0}.q-index-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 16px}.q-index-tools input{flex:1;min-width:210px}.q-index-count{font-weight:700;color:var(--q-blue)}.q-badge-new{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;display:inline-block;color:#26643d;background:#ecf8ef;padding:4px 7px;border-radius:5px;margin-left:6px}.q-coverage{background:#fff;border:1px solid var(--q-border);border-radius:12px;padding:16px;margin:24px 0}.q-coverage summary{font-weight:700;cursor:pointer}.q-top-links{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:18px}.q-top-links .map-back{margin:0}.q-launch{margin:20px 0;display:flex;justify-content:space-between;gap:18px;align-items:center;padding:18px;background:#eaf5fb;border:1px solid #ccdfeb;border-radius:12px}.q-launch p{margin:4px 0}.q-launch h2{font-size:1.1rem;margin:0}.q-listen{text-align:left;font-size:.87rem;background:none;color:var(--q-blue);border:1px solid var(--q-border);border-radius:6px;min-height:36px;cursor:pointer;margin-top:9px;padding:5px 9px}.q-save-note{font-size:.82rem;color:#526878}.q-card.invalid{border-color:#b34637}.q-review-link{font-size:.9rem;color:var(--q-blue)}.map-theme-practice{margin-top:32px;border-top:1px solid #d7e5ed;padding-top:22px}.map-theme-grid{display:grid;gap:15px}.map-theme-card{background:#fff;border:1px solid #d7e5ed;border-radius:14px;padding:20px}.map-theme-card h3{margin:0 0 5px;color:#173a50}.theme-english{color:#176287}.map-theme-actions{display:flex;gap:10px;flex-wrap:wrap}.map-theme-actions a{padding:10px 15px;background:#edf6fb;color:#176287;border-radius:8px;text-decoration:none;font-weight:bold}.q-catalogue-grid .map-tile h2{font-size:1.22rem}.q-catalogue-grid .map-tile{min-width:0}.map-main{max-width:1180px}.q-layout{max-width:940px;margin:auto}.q-review .map-vocab-grid{margin-top:20px}.q-review .map-english{overflow-wrap:anywhere}
.q-inline-confirm{margin-top:14px;padding:14px 16px;border:1px solid #d6e3eb;border-radius:10px;background:#f7fbfd}.q-inline-confirm p{margin:0 0 10px;line-height:1.5}.q-confirm-actions{display:flex;gap:10px;flex-wrap:wrap}.q-confirm-actions .q-button{min-height:42px}.q-confirm-yes{background:#173a50;border-color:#173a50}@media(max-width:680px){.q-options{grid-template-columns:1fr}.q-card{padding:17px 14px}.q-card legend{font-size:1.03rem}.q-option{padding:14px 12px}.q-sticky{padding:11px 13px}.q-progress{max-width:100px}.q-sticky span{font-size:.85rem}.q-intro,.q-result{padding:18px}.q-launch{align-items:flex-start;flex-direction:column}.q-cat-card .q-actions{flex-direction:column}.q-catalogue-grid{grid-template-columns:1fr}.map-set-grid{grid-template-columns:1fr}.q-cat-card .q-actions{flex-direction:row}.map-hero{padding:24px 18px}.q-hero h1{font-size:1.75rem}.q-save-note{line-height:1.5}}@media(min-width:681px) and (max-width:1000px){.map-set-grid,.q-catalogue-grid{grid-template-columns:1fr 1fr}}@media(min-width:1001px){.map-set-grid,.q-catalogue-grid{grid-template-columns:repeat(4,1fr)}}@media print{.map-shell-header,.map-site-footer,.q-sticky,.q-footer-controls,.q-actions,.q-listen,.q-launch{display:none!important}.q-card{break-inside:avoid;box-shadow:none}.map-hero{background:none;color:black}.q-options{grid-template-columns:1fr 1fr}}
/* V13 — feedback visible after each verification, like the grammar exercises. */
.q-card.q-checked-correct{border-color:#2d7a49}
.q-card.q-checked-wrong{border-color:#b34637}
.q-card.q-checked-incomplete{border-color:#c88416}
.q-feedback.q-good{color:#2d7a49}
.q-feedback.q-bad{color:#b34637}
.q-feedback.q-warn{color:#8a5a00}

/* V15 catalogue: sentence exercises visible on /vocabulaire/ */

.q-domain-card{display:flex;flex-direction:column;min-width:0}
.q-domain-card:hover{transform:none}
.q-domain-title{text-decoration:none;display:block}
.q-domain-title h2{transition:color .15s}
.q-domain-title:hover h2{text-decoration:underline;text-underline-offset:3px}
.q-sentence-note{margin-top:12px!important;padding:9px 10px;border-radius:8px;background:#edf6fb;color:#176287!important;font-weight:700;font-size:.88rem;line-height:1.35}
.q-domain-actions{margin-top:auto!important;padding-top:12px;display:grid;grid-template-columns:1fr;gap:8px}
.q-domain-actions .q-button{width:100%;font-size:.82rem;min-height:40px;padding:9px 10px}
.q-chip-sentences{background:#edf8f0;color:#276a43}
@media(max-width:680px){.q-domain-actions{grid-template-columns:1fr 1fr}.q-domain-actions .q-button:first-child{grid-column:1/-1}}
