:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:13px;color:#243d3b;background:#fbfaf7}*{box-sizing:border-box}body{margin:0;padding:12px;min-height:350px;height:100dvh;display:flex;flex-direction:column;gap:10px}header{display:flex;justify-content:space-between;gap:12px;align-items:baseline;font-size:12px}header a{color:#466b63;text-underline-offset:3px}header strong{font-size:14px}.controls{display:flex;align-items:center;gap:14px}button,select{font:inherit;border:1px solid #bdcbc6;border-radius:6px;background:white;color:inherit;padding:7px 11px;cursor:pointer}button:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid #378477;outline-offset:3px}#apply-j{background:#255e56;color:white;border:1px solid #255e56;width:78px;min-height:67px;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:4px 7px;transition:background .15s}#apply-j>span{font-size:27px;line-height:1.1}#apply-j mjx-container{margin:0!important}#apply-j small{font-size:9px;white-space:nowrap}#apply-j:hover{background:#34786b}#apply-j.busy{box-shadow:0 0 0 3px #81b8a746}.settings{display:flex;flex-direction:column;gap:4px;font-size:11px}.settings select{min-width:126px}.cycle{margin-left:auto;color:#5e7770;font-size:15px}.stage{flex:1;min-height:160px;border:1px solid #dce1d7;border-radius:8px;overflow:hidden;background:#f6f6ee}canvas{display:block;width:100%;height:100%}.legend{display:flex;gap:12px;flex-wrap:wrap;font-size:10px;color:#62766e}.legend>span{display:flex;align-items:center;gap:5px}.legend i{width:15px;height:3px;display:inline-block}.family-a{background:#2d8a7c}.family-b{background:#d09140}.legend .tracked{background:#c96051;height:7px;width:7px;border-radius:50%}p{margin:0;line-height:1.4}#step-status{font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}.hint{color:#66766f;font-size:10px}details{font-size:10px;color:#64796f}summary{cursor:pointer}details p{margin-top:6px}details[open]{max-height:115px;overflow:auto;flex-shrink:0}@media(max-width:600px){body{padding:9px;gap:8px}.controls{gap:10px}header{font-size:11px}header strong{font-size:12px}#apply-j{min-height:60px;width:70px}.settings select{min-width:108px}.cycle{font-size:13px}.legend{gap:8px;font-size:9px}.stage{min-height:145px}}
