.exam-tasks{max-width:1080px;margin:2rem auto}.exam-intro{max-width:780px}.exam-filters{display:flex;flex-wrap:wrap;gap:1rem;margin:1.5rem 0}.exam-filters label,.exam-field{display:grid;gap:.4rem}.exam-filters select,.exam-task input:not([type=checkbox]):not([type=radio]),.exam-task select{font:inherit;padding:.65rem;border:1px solid #aebbae;border-radius:8px;background:#fff;max-width:100%;min-width:70px}.exam-task{padding:clamp(16px,3vw,30px);border:1px solid #d6dfd0;border-radius:16px;margin:1.2rem 0;background:#fff}.exam-task h3{margin:.3rem 0 1rem}.exam-source,.exam-key-origin,.exam-session-note{font-size:.85rem;color:#526459;line-height:1.5;overflow-wrap:anywhere}.exam-tags{display:flex;gap:.4rem;flex-wrap:wrap}.exam-tags span{background:#edf2e7;padding:.25rem .55rem;border-radius:6px;font-size:.8rem}.exam-statement{margin:1.2rem 0}.exam-source-image{margin:1rem 0}.exam-source-image img{display:block;width:100%;height:auto;max-width:100%;background:white}.exam-source-image figcaption{font-size:.8rem;color:#526459}.exam-task form{display:grid;justify-items:start;gap:.7rem}.exam-task button{border:0;border-radius:8px;padding:.7rem 1.2rem;font:inherit;background:#345844;color:white;cursor:pointer}.exam-options,.exam-matching{border:0;padding:0;display:flex;gap:.8rem;flex-wrap:wrap}.exam-options legend,.exam-matching legend{margin-bottom:.6rem}.exam-options label{display:flex;align-items:center;gap:.4rem;padding:.55rem;border:1px solid #c1cfbb;border-radius:6px}.exam-matching label{display:grid;gap:.3rem}.exam-task details{margin:.8rem 0;padding:.75rem 0;border-top:1px solid #e1e6dd}.exam-task summary{cursor:pointer;font-weight:600}.exam-task li{margin:.65rem 0;line-height:1.65}.exam-result{min-height:1.5em;color:#875825;font-weight:600;line-height:1.5}.exam-result.is-correct{color:#275f3c}.exam-math,.exam-table-scroll{overflow-x:auto}.exam-table-scroll table{border-collapse:collapse}.exam-table-scroll td,.exam-table-scroll th{border:1px solid #bdc9b7;padding:.7rem}.exam-written-note{padding:.8rem;background:#fff1db;border-radius:8px}.exam-task :focus-visible{outline:3px solid #8c642e;outline-offset:3px}@media(max-width:560px){.exam-filters{display:grid}.exam-task{margin:1rem -.2rem}.exam-task ol{padding-left:1.4rem}.exam-task form>input{width:100%}}

.exam-source-image.is-diagram img{width:auto;max-width:100%;min-width:0}.exam-exclusions{margin-top:2rem;padding:1rem;background:#f4f4ee;border-radius:10px}.exam-exclusions li{margin:.65rem 0;font-size:.88rem}

.exam-statement p{line-height:1.75;overflow-wrap:anywhere}.exam-inline-math{white-space:nowrap}.exam-table-scroll{margin:1rem 0;max-width:100%}.exam-table-scroll th{font-weight:600;background:#f4f6ef}.exam-table-scroll td{vertical-align:top}.exam-table-scroll .katex{font-size:1.08em}.exam-source-image.is-diagram{display:table;max-width:100%}.exam-source-image.is-diagram figcaption{margin-top:.4rem}.exam-math{padding:.25rem 0}

.exam-statement>p+p{margin-top:.65rem}

.exam-source-graph{display:table;max-width:100%;margin:1rem 0}.exam-vector-graph{display:block;max-width:100%;height:auto;background:#fff}.exam-source-graph figcaption{font-size:.8rem;color:#526459;margin-top:.4rem}

/* Native radio groups: one click per quantity; checked state is not a verdict. */
.exam-matching{display:grid;width:100%;min-width:0;gap:1rem}.exam-matching-help{margin:0;color:#526459}.exam-match-group{border:0;margin:0;padding:0;min-width:0;width:100%}.exam-match-group legend{padding:0;margin-bottom:.55rem;font-weight:600;max-width:100%;overflow-wrap:anywhere}.exam-match-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:.55rem}.exam-matching .exam-match-option{display:block;position:relative;min-width:0;cursor:pointer}.exam-match-option input[type=radio]{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);margin:0;width:18px;height:18px;min-width:0;padding:0;accent-color:#405e9d;z-index:1}.exam-match-option-body{display:flex;align-items:center;gap:.65rem;min-height:64px;height:100%;padding:.7rem .7rem .7rem 2.4rem;border:2px solid #bdc9b7;border-radius:9px;background:#fff}.exam-match-number{font-weight:700;color:#526459;flex:none}.exam-match-content{min-width:0;overflow-wrap:anywhere}.exam-match-content .katex{font-size:1.08em}.exam-match-selected{margin-left:auto;color:#294e93;visibility:hidden;flex:none}.exam-match-option input:checked+.exam-match-option-body{border-color:#405e9d;background:#eef3ff;box-shadow:inset 0 0 0 1px #405e9d}.exam-match-option input:checked+.exam-match-option-body .exam-match-selected{visibility:visible}.exam-match-option input:focus-visible{outline:none}.exam-match-option input:focus-visible+.exam-match-option-body{outline:3px solid #8c642e;outline-offset:3px}@media(max-width:560px){.exam-match-options{grid-template-columns:1fr}.exam-match-option-body{min-height:60px}.exam-matching{gap:1.1rem}}

.exam-source-graph{display:block;width:fit-content;max-width:100%;padding:.65rem;border:1px solid #dbe5d9;border-radius:10px;background:#fff}.exam-graph-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}.exam-graph-scroll:focus-visible{outline:3px solid #8c642e;outline-offset:3px}.exam-source-graph figcaption{margin:.35rem .15rem 0}.exam-graph-scroll-hint{display:none}@media(max-width:560px){.exam-graph-scroll-hint{display:inline}}

/* Allow safe KaTeX relation breaks in longer solution chains; keep each formula atom intact. */
[data-exam-solution] .exam-inline-math{white-space:normal}

.exam-tags .exam-type-tag{background:#e7eef8;color:#344f76;font-weight:600}.exam-tags .exam-type-tag.is-additional{background:#f8eddc;color:#755727}.exam-alignment-note{margin:.65rem 0 0;color:#5c665b;font-size:.85rem;line-height:1.5}.exam-methodology{margin:1rem 0;color:#526459;font-size:.9rem}.exam-methodology summary{cursor:pointer;font-weight:600}.exam-methodology p{margin:.65rem 0}.exam-methodology a{text-decoration:underline}

.exam-pagination{display:flex;align-items:center;justify-content:space-between;gap:.7rem;margin:1rem 0;color:#526459;font-size:.9rem;flex-wrap:wrap}.exam-pagination button{border:1px solid #bdc9bf;border-radius:.6rem;background:#f1f5ef;color:#254735;padding:.65rem .9rem;font:inherit;cursor:pointer}.exam-pagination button:disabled{opacity:.45;cursor:default}.exam-pagination button:focus-visible{outline:3px solid #749985;outline-offset:3px}.exam-tags .exam-type-tag.is-source{background:#e9f2e8;color:#315b3d}

.exam-criteria-text{white-space:pre-wrap;line-height:1.65;font-size:.93rem;overflow-wrap:anywhere}.exam-original-criteria summary{font-weight:600}

/* Same-tab enlargement, with native dialog modality and vector SVG retained. */
.exam-task .exam-enlarge{display:block;border:0;border-radius:0;padding:0;background:transparent;color:inherit;cursor:pointer;max-width:100%;text-align:left}
.exam-task .exam-enlarge-link{padding:0;border:0;border-radius:0;background:none;color:#315b4b;text-decoration:underline;font:inherit;cursor:pointer}
.exam-lightbox{box-sizing:border-box;width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;margin:0;padding:64px 3vw 28px;border:0;background:transparent;overflow:auto;color:white}
.exam-lightbox[open]{display:grid;place-items:center}
.exam-lightbox::backdrop{background:rgba(20,35,29,.82)}
.exam-lightbox-media{display:flex;align-items:center;justify-content:center;max-width:100%;padding:clamp(12px,2vw,24px);background:#fff;border-radius:22px;box-shadow:0 8px 40px #0005;pointer-events:none}
.exam-lightbox-media>img,.exam-lightbox-media>svg{display:block;width:min(960px,75.2vw);height:auto;max-height:calc(80vh - 80px);max-height:calc(80dvh - 80px);object-fit:contain;background:white;border-radius:12px;pointer-events:auto}
.exam-lightbox-close{position:fixed;top:max(12px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));width:44px;height:44px;border:1px solid #ffffff99;border-radius:50%;background:#fff;color:#274b39;font:32px/1 sans-serif;cursor:pointer}
.exam-lightbox-close:focus-visible{outline:3px solid #edc57a;outline-offset:4px}
@media(prefers-reduced-motion:no-preference){.exam-enlarge:hover{filter:brightness(.98)}}

.exam-lightbox-media>svg{min-width:0!important}

@keyframes examZoomIn{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}
@keyframes examBackdropIn{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:no-preference){.exam-lightbox[open] .exam-lightbox-media{animation:examZoomIn 300ms cubic-bezier(.2,.8,.2,1) both}.exam-lightbox[open]::backdrop{animation:examBackdropIn 300ms ease both}}
@media(prefers-reduced-motion:reduce){.exam-lightbox-media,.exam-lightbox::backdrop{animation:none!important}}

.bank-home-link{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1.6rem 0;padding:1.3rem 1.5rem;border:1px solid #bed0bd;border-radius:16px;background:#eaf1e5;color:#294b36;text-decoration:none}.bank-home-link strong{display:block;font-size:1.3rem}.bank-home-link small{display:block;margin-top:.3rem;color:#526459}.bank-home-link>span:last-child{white-space:nowrap}.exam-scope{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-top:.75rem;font-size:.85rem;color:#526459}.exam-scope-status{padding:.25rem .5rem;border-radius:6px;background:#edf3e9;font-weight:600}.exam-scope-status.is-mixed{background:#f9efdf;color:#70532f}.exam-group-heading{margin:1.6rem 0 .5rem;padding-bottom:.5rem;border-bottom:2px solid #b8cdb4;color:#345844}.exam-intro a{color:#315b4b;text-decoration:underline}@media(max-width:560px){.bank-home-link{align-items:flex-start;flex-direction:column}}

.exam-editorial-note{margin:16px 0;padding:14px 16px;border-left:3px solid #b48239;border-radius:10px;background:#fff8e9;color:#51442e}.exam-editorial-note p:last-child{margin-bottom:0}

/* Long thematic workbook/section names stay inside narrow layouts. */
.exam-filters label{min-width:0;max-width:100%}.exam-filters select{min-width:0;width:100%}.exam-filters .exam-book-filter{flex:1 1 260px;max-width:36rem}.exam-tags .exam-type-tag{max-width:100%;overflow-wrap:anywhere}

/* A quiet companion cue on mapped task cards; no descendant math selectors. */
.exam-task.has-visual-solution{background:#f1faf9;border-color:#afd9d4}
.exam-tags>.exam-visual-badge{max-width:100%;box-sizing:border-box;background:#dcefeb;color:#145e63;font-weight:600;line-height:1.4;overflow-wrap:anywhere}

/* Reviewed projectile redraws. Keep styling away from KaTeX and other graphics. */
.exam-source-schematic{width:fit-content;max-width:100%;margin:1.2rem 0;padding:.65rem;border:1px solid #dbe6ed;border-radius:12px;background:#fff;box-sizing:border-box}
.exam-projectile-schematic{display:block;width:520px;min-width:280px;max-width:100%;height:auto}
.exam-projectile-schematic.is-horizontal{width:300px;min-width:240px}
.exam-source-schematic figcaption{margin:.45rem .15rem .15rem;font-size:.8rem;line-height:1.7;color:#526459}
.exam-lightbox-media>.exam-projectile-schematic.is-horizontal{width:min(560px,75.2vw)}

/* Keep precise figure labels legible; narrow screens scroll the SVG instead of shrinking its text. */
.exam-source-image.is-redrawn{display:block;max-width:100%}.exam-source-image.is-redrawn .exam-graph-scroll{width:100%;max-width:100%;overflow-x:auto}.exam-source-image.is-redrawn .exam-enlarge{max-width:none}

.exam-diagram-note{display:block;margin-top:.4rem;max-width:76ch;line-height:1.45}

.exam-filters [data-source-real-only][hidden]{display:none!important}
