/* Worked solutions with one focused interaction and a visual explanation. */
.challenge-mount{--challenge-original:var(--strong,#087b89);--challenge-result:var(--plot-pink,#c42c79)}
.mistake-challenge{color:var(--ink);padding-top:24px}
.challenge-heading{display:flex;gap:18px;align-items:start;justify-content:space-between}
.challenge-kicker,.challenge-feedback-label{display:block;font-size:.66rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase;color:var(--ink2)}
.mistake-challenge h3{margin:8px 0 12px;font-size:clamp(1.3rem,2.8vw,1.9rem);letter-spacing:-.035em;line-height:1.15}
.mistake-challenge h3:focus{outline:none}
.challenge-count{flex-shrink:0;font-size:.8rem;font-variant-numeric:tabular-nums;color:var(--ink2);padding:8px 10px;border:1px solid var(--line);border-radius:7px}
.math-lab .challenge-prompt{font-size:1rem;line-height:1.65;max-width:76ch;color:var(--ink);margin:0 0 12px}
.math-lab .challenge-instruction{font-size:.8rem;color:var(--ink2);margin:0 0 20px}
.challenge-stage{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,1fr);gap:24px;align-items:start}
.challenge-lines{margin:0;padding:0;list-style:none;display:grid;gap:9px}
.challenge-lines button{width:100%;min-height:66px;display:flex;align-items:center;gap:15px;text-align:left;border:1px solid var(--line);border-radius:12px;padding:16px;background:var(--tile);color:var(--ink);font:inherit;font-size:.96rem;line-height:1.5;cursor:pointer;box-shadow:0 3px 12px #00000003}
.challenge-lines button>span:nth-child(2){flex:1;min-width:0;overflow-wrap:anywhere}
.challenge-line-number{font:650 .67rem ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--ink2);align-self:start;margin-top:5px}
.challenge-lines button.is-tried{background:var(--hub-soft,var(--bg));border-color:var(--ink2)}
.challenge-lines button.is-found{background:color-mix(in srgb,var(--challenge-result) 7%,var(--tile));border-color:var(--challenge-result);box-shadow:inset 3px 0 var(--challenge-result)}
.challenge-lines button[aria-disabled=true],.challenge-lines button:disabled{cursor:default;opacity:1}
.challenge-found-label{font-size:.63rem;font-weight:750;color:var(--challenge-result);flex-shrink:0}
.challenge-insight{min-height:280px;padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--hub-soft,var(--bg));overflow:hidden}
.challenge-insight.is-revealed{padding:20px 20px 15px}
.math-lab .challenge-feedback p{font-size:.85rem;line-height:1.6;color:var(--ink2);margin:10px 0 0;max-width:45ch}
.challenge-insight.is-revealed .challenge-feedback-label{color:var(--challenge-result)}
.challenge-correction{margin-top:12px;font:500 clamp(1.05rem,2.2vw,1.4rem)/1.45 Georgia,'Times New Roman',serif;color:var(--ink);overflow-wrap:anywhere}
.challenge-review-symbol{display:flex;gap:12px;align-items:center;justify-content:center;padding:40px 0 18px;color:var(--ink2);opacity:.7}
.challenge-review-symbol span{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:10px;font:600 .8rem ui-monospace,SFMono-Regular,monospace}
.challenge-review-symbol span:last-child{border-color:var(--challenge-result);color:var(--challenge-result)}
.challenge-review-symbol i{width:22px;height:1px;background:var(--line)}
.challenge-insight figure{padding:18px 0 0;margin:18px 0 0;border-top:1px solid var(--line)}
.challenge-insight figcaption{font-size:.8rem;font-weight:750;line-height:1.45;margin:0 0 12px}
.challenge-svg{display:block;width:100%;height:auto;aspect-ratio:22/15;overflow:visible;max-height:400px;background:var(--tile);border:1px solid var(--line);border-radius:10px}
.challenge-svg .challenge-grid{stroke:var(--line);stroke-width:.65;opacity:.65}
.challenge-svg .challenge-axis{stroke:var(--ink2);stroke-width:1.1;opacity:.75}
.challenge-svg .challenge-original{fill:none;stroke:var(--challenge-original);stroke-width:2.5}
.challenge-svg .challenge-result{fill:none;stroke:var(--challenge-result);stroke-width:2.5}
.challenge-svg .challenge-original-fill{fill:var(--challenge-original)}
.challenge-svg .challenge-result-fill{fill:var(--challenge-result)}
.challenge-svg .challenge-guide{stroke:var(--ink2);stroke-width:1;stroke-dasharray:4 4}
.challenge-svg .challenge-dot-original{fill:var(--challenge-original);stroke:var(--tile);stroke-width:2;cursor:default}
.challenge-svg .challenge-dot-result{fill:var(--challenge-result);stroke:var(--tile);stroke-width:2;cursor:default}
.challenge-svg .challenge-hole{fill:var(--tile);stroke:var(--challenge-original);stroke-width:2.5;cursor:default}
.challenge-svg .challenge-square-original{fill:color-mix(in srgb,var(--challenge-original) 13%,transparent);stroke:var(--challenge-original);stroke-width:1.5}
.challenge-svg .challenge-square-result{fill:color-mix(in srgb,var(--challenge-result) 17%,transparent);stroke:var(--challenge-result);stroke-width:2}
.challenge-labels{fill:var(--ink);font:11px system-ui,sans-serif}
.challenge-legend{display:flex;gap:8px 15px;flex-wrap:wrap;margin-top:10px;font-size:.68rem;line-height:1.5}
.challenge-legend span{display:flex;align-items:center;gap:6px;color:var(--challenge-original)}
.challenge-legend span:last-child{color:var(--challenge-result)}
.challenge-legend span:before{content:'';width:12px;height:2px;background:currentColor;flex-shrink:0}
.math-lab .challenge-visual-caption{font-size:.74rem;line-height:1.55;color:var(--ink2);margin:12px 0 0}
.challenge-number-check{display:grid;gap:14px;padding:24px 14px;background:var(--tile);border:1px solid var(--line);border-radius:10px;font:500 clamp(.95rem,2.2vw,1.3rem)/1.5 Georgia,serif;overflow-wrap:anywhere}
.challenge-number-result{color:var(--challenge-result);font-size:1.25em}
.challenge-navigation{display:flex;gap:10px;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;margin-top:24px}
.challenge-navigation button{min-height:44px;padding:10px 14px;font:inherit;font-size:.77rem;font-weight:650;line-height:1.3;border:1px solid var(--line);border-radius:9px;background:var(--tile);color:var(--ink);cursor:pointer}
.challenge-navigation button:last-child{background:var(--accent-ink,var(--ink));color:var(--accent,var(--tile));border-color:transparent}
.challenge-navigation button:disabled{opacity:.4;cursor:default}
.challenge-navigation>span{font-size:.67rem;color:var(--ink2);text-align:center}
.challenge-lines button:focus-visible,.challenge-navigation button:focus-visible{outline:3px solid var(--challenge-result);outline-offset:3px}
@media(hover:hover){.challenge-lines button:not(:disabled):not([aria-disabled=true]):hover{border-color:var(--challenge-original);background:color-mix(in srgb,var(--challenge-original) 5%,var(--tile))}.challenge-navigation button:not(:disabled):hover{box-shadow:0 0 0 2px color-mix(in srgb,var(--challenge-original) 25%,transparent)}}
@media(max-width:760px){.challenge-stage{grid-template-columns:1fr;gap:16px}.challenge-insight{min-height:0}.challenge-insight:not(.is-revealed) .challenge-review-symbol{display:none}.challenge-insight:not(.is-revealed){padding:16px}.challenge-svg{max-height:none}.challenge-navigation>span{display:none}}
@media(max-width:480px){.challenge-lines button{padding:13px;gap:11px;font-size:.88rem;flex-wrap:wrap}.challenge-found-label{margin-left:27px}.challenge-insight{padding:16px}.challenge-insight.is-revealed{padding:16px}.challenge-number-check{padding:18px 12px}.challenge-navigation button{padding:10px;font-size:.74rem}}
@media(prefers-reduced-motion:no-preference){.challenge-lines button{transition:background .15s,border-color .15s,box-shadow .15s}.challenge-insight.is-revealed figure{animation:challenge-reveal .24s ease-out}@keyframes challenge-reveal{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}}
