/* The map stays beside, or immediately above, the learner's active decision. */
.shakey-workbench{display:grid;grid-template-columns:minmax(116px,.72fr) minmax(0,1fr);gap:16px;align-items:start}
.shakey-map-panel{position:sticky;top:0;z-index:2;background:#101a26;padding:6px;border:1px solid #8793a63d;border-radius:6px}
.shakey-map-panel .discovery-caption{margin:0;font-size:11px;line-height:1.4}
.shakey-map-panel .discovery-map{margin:7px 0;gap:3px}
.shakey-map-panel .discovery-map>span{aspect-ratio:1.15;min-height:27px}
.shakey-map-panel .discovery-map>span b{font-size:16px;padding-top:7px}
.shakey-map-panel .discovery-map>span small{font-size:8px;left:2px}
.shakey-map-panel .discovery-map-key{gap:2px 8px;font-size:10px}
.shakey-decision{min-width:0}.shakey-decision .shakey-options{margin-top:0;margin-bottom:12px}
.shakey-decision .shakey-options legend{padding-bottom:5px}
.shakey-decision .shakey-options label{padding:6px 7px;gap:7px}
.shakey-decision #discovery-shakey-result{margin-top:8px;scroll-margin-block:12px;font-size:13px}
.shakey-execution-controls{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.shakey-execution-controls #shakey-primary{margin:0}
#shakey-run{min-height:44px;padding:9px 13px;border:1px solid #e9da94;border-radius:6px;background:#182838;color:#f6e6b2;font:inherit;cursor:pointer}
#shakey-run:focus-visible,#shakey-trace summary:focus-visible{outline:2px solid #e9da94;outline-offset:3px}
#shakey-run[hidden],#shakey-trace[hidden]{display:none}
#shakey-trace{border-top:1px solid #8793a64d;padding-top:8px;font-size:12px;color:#cfdae6}
#shakey-trace h3{margin:0;font-size:13px;font-weight:500}#shakey-trace p{margin:5px 0}
#shakey-trace summary{cursor:pointer;min-height:32px;padding-top:7px}#shakey-trace ol{padding-left:20px}
#shakey-inspect-failure{min-height:44px;padding:9px 13px;border:1px solid #e9da94;border-radius:6px;background:#182838;color:#f6e6b2;font:inherit;cursor:pointer}
#shakey-inspect-failure:focus-visible{outline:2px solid #e9da94;outline-offset:3px}
#shakey-inspect-failure[hidden],#shakey-failure-inspection[hidden]{display:none}
#shakey-failure-inspection{border-top:1px solid #e9da9480;margin-top:8px;padding-top:7px;color:#f6e6b2;font-size:12px;line-height:1.45}
#shakey-failure-inspection h3{font-size:12px;margin:0 0 5px}#shakey-failure-inspection p{margin:4px 0}
.discovery-map>span.is-inspected-current{outline:2px solid #bbe2f1;outline-offset:-2px}
.discovery-map>span.is-inspected-obstacle{outline:2px solid #ffa184;outline-offset:-2px}
.is-inspected-trace{border-left:3px solid #ffa184;padding:5px 8px;background:#402d27;color:#ffe0d4}
#shakey-builder{margin:0 0 14px;padding:10px;border:1px solid #c4b37380;border-radius:6px;background:#152431}
#shakey-builder h3{font-size:14px;margin:0 0 6px;color:#f5e4b7}
#shakey-builder p{margin:7px 0;font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.shakey-build-buttons{display:flex;gap:6px;flex-wrap:wrap}
.shakey-build-buttons button,#shakey-build-another{min-height:44px;padding:8px 10px;border:1px solid #d8c891;border-radius:5px;background:#182838;color:#f6e6b2;font:inherit;cursor:pointer}
.shakey-build-buttons button:disabled{opacity:.45;cursor:default}
.shakey-build-buttons button:focus-visible,#shakey-build-another:focus-visible{outline:2px solid #e9da94;outline-offset:3px}
#shakey-builder[hidden],[data-shakey-builder-prediction][hidden],#shakey-build-another[hidden],#shakey-committed-program[hidden]{display:none}
.shakey-committed-program{padding:9px;border-left:3px solid #c4b373;background:#152431;font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.discovery-map>span[data-failed-edge="up"]{border-top:4px solid #ffa184}
.discovery-map>span[data-failed-edge="right"]{border-right:4px solid #ffa184}
.discovery-map>span[data-failed-edge="down"]{border-bottom:4px solid #ffa184}
.discovery-map>span[data-failed-edge="left"]{border-left:4px solid #ffa184}
@media(max-width:700px){
 .shakey-workbench{display:block}
 .shakey-map-panel{margin:0 0 12px;padding:5px 7px;top:0}
 /* The expanded explanation must scroll with the map, not cover the next control. */
 .shakey-map-panel:has(#shakey-failure-inspection:not([hidden])){position:static}
 .shakey-map-panel .discovery-map{max-width:none;gap:2px;margin:4px 0}
 .shakey-map-panel .discovery-map>span{aspect-ratio:auto;height:24px;min-height:24px}
 .shakey-map-panel .discovery-map>span b{font-size:14px;padding-top:5px}
 .shakey-map-panel .discovery-map>span small{font-size:8px}
 .shakey-map-panel .discovery-map-key{font-size:9px;gap:2px 11px}
 .shakey-decision #discovery-shakey-result{scroll-margin-top:150px}
 .shakey-options label{min-height:44px}
}
