/* A quiet card table. The rule stays above every row of pictures. */
#zmp-game.zmp-odd{background:#f8f0df;color:#49392e;overflow-y:auto;scrollbar-gutter:stable;font-family:inherit}
.zmp-odd [hidden]{display:none!important}
.zmp-odd .zmp-g-top{max-width:54rem;position:sticky;top:0;flex-shrink:0;background:#f8f0df;gap:.4rem;padding:.65rem .7rem}
.zmp-odd .zmp-g-exit{background:#e9ddc4;color:#49392e;width:44px;height:44px}
.zmp-odd .zmp-g-exit svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
.zmp-odd .zmp-g-prog{min-width:0;gap:4px}
.zmp-odd-progress{display:block;width:9px;height:9px;flex-shrink:0;border-radius:50%;background:#d8cbb3}
.zmp-odd-progress.zmp-on{background:#6c8a62}
.zmp-odd .zmp-audio-repeat{font-size:.82rem;padding:.55rem .7rem;min-height:44px;color:#49392e;background:#e9ddc4;border-color:#cdbd9e}
.zmp-odd .zmp-audio-mute{min-width:44px;min-height:44px;color:#49392e;background:#e9ddc4;border-color:#cdbd9e}
.zmp-odd .zmp-g-start,.zmp-odd .zmp-g-done{position:relative;inset:auto;width:min(100%,42rem);flex:1;flex-shrink:0;background:none;justify-content:flex-start;gap:.9rem;padding:0 1rem 2rem;text-align:center}
.zmp-odd h2{color:#49392e;line-height:1.24;margin:0;font-size:clamp(1.55rem,4vw,2.15rem)}
.zmp-odd-welcome{display:block;width:min(100%,27rem);height:auto;max-height:23vh;object-fit:contain;border-radius:1rem}
.zmp-odd-note{margin:0;max-width:34rem;font-size:1rem;line-height:1.5;color:#665443}
.zmp-odd-note--small{font-size:.86rem}
.zmp-odd-setting{margin:0;padding:.7rem;border:1px solid #d5c6ac;border-radius:.8rem;width:100%;display:flex;flex-wrap:wrap;justify-content:center;gap:.45rem;min-width:0}
.zmp-odd-setting legend{padding:0 .5rem;font-weight:600;font-size:.9rem}
.zmp-odd-setting label{display:flex;align-items:center;justify-content:center;gap:.4rem;min-height:44px;flex:1 1 auto;cursor:pointer;background:#fffaf0;border:1.5px solid #d7c8ae;border-radius:.6rem;padding:.5rem .65rem;font-size:.92rem}
.zmp-odd-setting input{accent-color:#8a583d;width:18px;height:18px;margin:0;flex-shrink:0}
.zmp-odd-setting label:has(input:checked){border-color:#8a583d;background:#f5e4c5;box-shadow:inset 0 0 0 1px #8a583d}
.zmp-odd-primary,.zmp-odd-secondary{font:inherit;font-weight:600;min-height:48px;cursor:pointer;border-radius:.7rem;padding:.7rem 1.3rem;max-width:100%}
.zmp-odd-primary{background:#845236;border:2px solid #845236;color:#fff9ed}
.zmp-odd-secondary{background:#fff8e9;border:2px solid #b49b73;color:#49392e}
.zmp-odd button:disabled{cursor:default}
.zmp-odd button:focus-visible,.zmp-odd input:focus-visible{outline:3px solid #176b80!important;outline-offset:4px}
.zmp-odd .zmp-g-stage{max-width:56rem;flex-shrink:0;justify-content:flex-start;padding:clamp(1rem,5vh,3rem) 1rem 2rem;gap:0}
.zmp-odd-task{width:100%;text-align:center;background:#fffaf0;border:1px solid #ddceb3;border-radius:1.5rem;padding:clamp(1rem,3vw,2rem);box-shadow:0 8px 24px #73533812}
.zmp-odd .zmp-odd-question{font-size:clamp(1.4rem,4vw,1.9rem);max-width:40rem;margin:0 auto 1.25rem}
.zmp-odd-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.55rem,2vw,1rem)}
.zmp-odd-cards[data-choices="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}
.zmp-odd-card{font:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;min-width:0;min-height:44px;border:2px solid #dac9a9;border-radius:1rem;background:#f9edda;color:#49392e;padding:.8rem .5rem;cursor:pointer;position:relative;transition:border-color .15s,background .15s}
.zmp-odd-card:hover:not(:disabled){border-color:#9e7951;background:#f6e4c5}
.zmp-odd-card--correct{border:3px solid #5f8256;background:#e7edd9}
.zmp-odd-card--correct:after{content:'✓';position:absolute;right:.4rem;top:.2rem;color:#466e3d;font-size:1.5rem;font-weight:700}
.zmp-odd-card--retry{border-color:#bc875f;background:#f6e5d4}
.zmp-odd-picture{display:block;width:100%;max-width:9rem;aspect-ratio:1}
.zmp-odd-picture svg{display:block;width:100%;height:100%;overflow:visible}
.zmp-odd-card-caption{font-size:.95rem;line-height:1.2}
.zmp-odd-feedback{font-size:1rem;line-height:1.5;min-height:3em;max-width:36rem;margin:1rem auto .75rem;color:#665443}
.zmp-odd-medallion{width:8rem;height:8rem;margin-top:clamp(1rem,9vh,5rem)}
.zmp-odd-medallion svg{width:100%;height:100%}
@media(max-width:550px){.zmp-odd-cards[data-choices="4"]{grid-template-columns:repeat(2,minmax(0,1fr))}.zmp-odd .zmp-g-stage{padding:.7rem .7rem 1.5rem}.zmp-odd-task{padding:1rem .7rem;border-radius:1rem}.zmp-odd-picture{max-width:6.5rem}.zmp-odd-card{padding:.65rem .35rem}.zmp-odd-card-caption{font-size:.85rem}.zmp-odd .zmp-odd-question{font-size:1.4rem}.zmp-odd .zmp-g-start{gap:.7rem}.zmp-odd-setting:first-of-type label:first-of-type{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){.zmp-odd *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(forced-colors:active){.zmp-odd-card,.zmp-odd-setting label,.zmp-odd-primary,.zmp-odd-secondary{border:2px solid ButtonText}.zmp-odd-card--correct{outline:3px solid Highlight}.zmp-odd-setting label:has(input:checked){outline:2px solid Highlight}}
@media print{
 .zmp-odd-print{print-color-adjust:exact;-webkit-print-color-adjust:exact}
 .zmp-odd-print .zmp-print__page{font-family:Arial,sans-serif;box-sizing:border-box;min-height:0}
 .zmp-odd-print .zmp-print__t{font-size:15pt}
 .zmp-odd-print .zmp-print__s{font-size:9pt;line-height:1.3;margin-bottom:3mm}
 #zmp-odd-print-grid{display:grid;gap:1.5mm}
 .zmp-odd-print-task{border:1px solid #8d7e69;border-radius:2mm;break-inside:avoid;padding:1mm 2mm}
 .zmp-odd-print-task h2{font-size:9pt;font-weight:600;line-height:1.2;margin:0 0 1mm}
 .zmp-odd-print-pictures{display:grid;grid-template-columns:repeat(var(--odd-columns),minmax(0,1fr));gap:2mm}
 .zmp-odd-print-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5mm;min-width:0;font-size:7.5pt;line-height:1.1;text-align:center}
 .zmp-odd-print-card .zmp-odd-picture{width:18mm;height:18mm;max-width:100%;aspect-ratio:auto}
 .zmp-odd-print-card svg{width:100%;height:100%;max-width:100%;max-height:100%}
 #zmp-odd-print-answers{padding-left:6mm;font-size:10pt;line-height:1.4}
 #zmp-odd-print-answers li{margin:0 0 3mm;break-inside:avoid}
}
